2022-2023-2学期《数据库原理及应用》上机测评A卷
(时间:100分钟)
学号:__________ 姓名:_______________ 成绩:____________
说明:本测试为学生独立完成,请遵守学校考试规定,不得拷贝抄袭。一旦发现违规,抄袭学生和提供抄袭学生的实验成绩均为0分。
本上机测评完成一个“选课注册系统”的数据库开发,该数据库主要包括学生表(STUDENT)、教师表(TEACHER)、课程表(COURSE)、注册表(REGISTER)等基本数据库表, 其表结构如下:
STUDENT(StudentID,StudentName,Major)
TEACHER(TeacherID,TeacherName,College,Email)
COURSE(CourseID,CourseName,TeacherID)
REGISTER(StudentID,CourseID,RegDate)
上机测试任务包括数据库表创建、视图创建、数据插入、数据查询、数据统计、数据库角色与权限定义等实践内容。在上机测试答卷中,需要给出操作步骤说明和各个运行结果界面。最后,将本文档保存文件格式为:点名册序号-学号-姓名.doc,并通过成电学堂https://study.uestc.edu.cn/wlkt/mooclist.aspx提交给教师,自己序号见花名册。
- (得分: )采用SQL语句执行方式创建教师表,其表结构为:TEACHER_本人学号(TeacherID,TeacherName,College,Email),其中,TeacherID为主键。给出SQL语句运行结果界面(5分)及数据库表目录对象界面(5分)。
答:
- (得分: )采用SQL语句执行方式创建学生表,其表结构为:STUDENT_本人学号(StudentID,StudentName,Major)。其中,StudentID为主键。给出SQL语句运行结果界面(5分)及数据库表目录对象界面(5分)。
答:
- (得分: )采用SQL语句执行方式创建课程表,其表结构为:COURSE_本人学号(CourseID,CourseName,TeacherID)。其中CourseID为主键,TeacherID为外键,给出SQL语句运行结果界面(5分)及表目录对象界面(5分)。
答:
4. (得分: )采用SQL语句执行方式创建选课注册表,其表结构为:REGISTER_本人学号(StudentID,CourseID,RegDate)。其中,(StudentID,CourseID)为复合主键,同时也是外键,给出SQL语句运行结果界面(5分)及数据库表目录对象界面(5分)。
答:
5.(得分: )根据下表样本数据,编写SQL语句程序,分别实现学生表(STUDENT_本人学号)和教师表(TEACHER_本人学号)的数据插入,给出SQL运行结果界面(10分)。
StudentID(学号) | StudentName(姓名) | Major(专业) |
本人学号 | 本人姓名 | 软件工程 |
2021431001101 | 赵同学 | 软件工程 |
2021431001102 | 刘同学 | 软件工程 |
2021431001103 | 郝同学 | 软件工程 |
TeacherID(教师号) | TeacherName(姓名) | College(学院) | Email(邮箱) |
T001 | 张老师 | 软件学院 | Zhang@uestc.edu.cn |
T002 | 本人姓名 | 软件学院 | 本人学号@uestc.edu.cn |
答:
6.(得分: )根据下表样本数据,编写SQL语句程序,实现课程表数据插入与查询,给出该SQL插入语句程序运行结果界面(5分)及该表查询运行结果界面(5分)。
CourseID(课程编号) | CourseName(课程名称) | TeacherID(授课教师编号) |
C001 | 数据库原理 | T001 |
C002 | 程序设计 | T001 |
C003 | 软件测试-本人学号 | T002 |
答:
7.(得分: )根据下表样本数据,编写SQL程序,实现注册表数据插入与查询,给出该SQL插入语句程序运行结果界面(5分)及该表查询运行结果界面(5分)。
StudentID(学号) | CourseID(课程编号) | RegDate(注册日期) |
2021431001101 | C001 | 2023-05-15 |
2021431001102 | C002 | 2023-05-18 |
2021431001103 | C002 | 2023-05-18 |
本人学号 | C001 | 2023-05-15 |
本人学号 | C002 | 2023-05-18 |
本人学号 | C003 | 2023-05-20 |
答:
8.(得分: )编写一个视图(View_reg_本人学号)创建SQL程序,分组统计各门课程的学生注册人数,其输出列表包括课程编号、课程名称、选课人数。分别给出视图创建运行结果界面(5分)和视图查询运行结果(5分)。
答:
9.(得分: )在PostgreSQL数据库中,采用SQL编程方式创建学生用户(User_Student_本人学号)、教师用户(User_Teacher_本人学号)。这些用户具有登陆、连接、继承等系统权限。给出这些用户创建的SQL程序运行结果界面(5分)和用户目录列表界面(5分)。
答:
10.(得分: )在PostgreSQL数据库中,按照如下权限表编写SQL程序对学生用户(User_Student_本人学号)赋予数据库对象操作权限。给出权限赋予SQL程序运行结果界面(5分),也给出学生用户登录数据库服务器后对课程表(Course_本人学号)进行数据删除SQL操作的运行结果界面,验证其权限是否发挥作用。(5分)
数据库表 | 学生用户 |
Student_本人学号 | 查询、修改 |
Teacher_本人学号 | 查询 |
Course_本人学号 | 查询 |
Register_本人学号 | 查询、修改 |
答: