集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)
数据库上机实验
附录C 上机实验
C.1 第4章上机实验
下列实验均使用SQL Server 的SSMS工具实现。
1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A):
数据库名为:库
主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D:盘中无此文件夹,请先建立此文件夹,然后再创建数据库。),初始大小为:5MB,增长方式为自动增长,每次增加1MB。
日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大小为:2MB,增长方式为自动增长,每次增加10%。
2.选用已建立的“库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。(注:“说明”部分不作为表定义内容)
表C-1 Student表结构
列名 | 说明 | 数据类型 | 约束 |
Sno | 学号 | 普通编码定长字符串,长度为7 | 主键 |
Sname | 姓名 | 普通编码定长字符串,长度为10 | 非空 |
Ssex | 性别 | 普通编码定长字符串,长度为2 | 取值范围:{男,女} |
Sage | 年龄 | 微整型(tinyint) | 取值范围:15-45 |
Sdept | 所在系 | 普通编码不定长字符串,长度为20 | 默认值为“计算机系” |
Sid | 身份证号 | 普通编码定长字符串,长度为10 | 取值不重 |
Sdate | 入学日期 | 日期 | 默认为系统当前日期 |
表C-2 Course表结构
列名 | 说明 | 数据类型 | 约束 |
Cno | 课程号 | 普通编码定长字符串,长度为10 | 主键 |
Cname | 课程名 | 普通编码不定长字符串,长度为20 | 非空 |
Credit | 学时数 | 整型 | 取值大于0 |
Semester | 学分 | 小整型 | |
表C-3 SC表结构
列名 | 说明 | 数据类型 | 约束 |
Sno | 学号 | 普通编码定长字符串,长度为7 | 主键,引用Student的外键 |
Cno | 课程号 | 普通编码定长字符串,长度为10 | 主键,引用Course的外键 |
Grade | 成绩 | 小整型 | 取值范围为0-100 |
表C-4 Teacher表结构
列名 | 说明 | 数据类型 | 约束 |
Tno | 教师号 | 普通编码定长字符串,长度为8 | 非空 |
Tname | 教师名 | 普通编码定长字符串,长度为10 | 非空 |
Salary | 工资 | 定点小数,小数点前4位,小数点后2位 | |
3. 写出实现如下功能的SQL语句,并执行所写代码,查看执行结果。
(1)在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。
(2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。
(3)将Course表中Credit列的类型改为:tinyint。
(4)删除Student表中的Sid和Sdate列。
(5)为Teacher表添加主键约束,其主键为:Tno。
C.2 第5章上机实验
本实验均在SQL Server 的SSMS工具中实现。首先在已创建的“库”中创建本章表5-1~5-3所示的Student、Course和SC表,并插入表5-4~5-6所示数据,然后编写实现如下操作的SQL语句,执行所写的语句,并查看执行结果。
1.查询SC表中的全部数据。
2.查询计算机系学生的姓名和年龄。
3.查询成绩在70~80分的学生的学号、课程号和成绩。
4.查询计算机系年龄在18~20岁的男生姓名和年龄。
5.查询C001课程的最高分。
6.查询计算机系学生的最大年龄和最小年龄。
7.统计每个系的学生人数。
8.统计每门课程的选课人数和最高成绩。
sql server两种身份验证模式9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。
10.列出总成绩超过200的学生的学号和总成绩。
11.查询选了C002课程的学生姓名和所在系。
12.查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果。
13.查询与VB在同一学期开设的课程的课程名和开课学期。
14.查询与李勇年龄相同的学生的姓名、所在系和年龄。
15.查询哪些课程没有学生选修,列出课程号和课程名。
16.查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号。
17.查询计算机系哪些学生没有选课,列出学生姓名。
18.查询计算机系年龄最大的三个学生的姓名和年龄。
19.列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩。
20.查询选课门数最多的前2位学生,列出学号和选课门数。
21.查询计算机系学生姓名、年龄和年龄情况,其中年龄情况为:如果年龄小于18,则显示“偏小”;如果年龄在18-22,则显示“合适”;如果年龄大于22,则显示“偏大”。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论