实验一-关系数据库标准语言SQL.doc
《数据库技术》实验报告
PAGE1
实验一关系数据库标准语言SQL
班级:姓名:学号:
任课教师: 实验教师:上机时间:
【实验目的】
在给定的关系数据库管理系统MicrosoftSQLServer环境下,通过实验学生能够:
1、MSSQLSERVER认识及其环境熟悉,了解T-SQL对标准SQL的扩充。
2、掌握T-SQL环境下数据定义包括数据库、基本表、视图、索引定义。
3、掌握T-SQL环境下数据操纵包括数据插入、删除、修改。
4、掌握T-SQL环境下数据查询及其各种变化。
【实验性质】
验证性实验(学时数:4H)
【实验内容】
1、数据定义、数据操纵、数据查询语句。
(1)创建数据库,置为当前数据库;
(2)创建表(参看表结构),包括主码、外码及其它完整性约束;
Student表结构
列名
说明
数据类型
约束
Sno
学号
定长字符串,长度为7
主码
Sname
姓名
定长字符串,长度为10
非空
Ssex
性别
定长字符串,长度为2
取’男’或’女’
Sage
年龄
微整形(tinyint)
取值15~45
Sdept
所在系
不定长字符串,长度为20
默认为’计算机系’
Spec
专业
定长字符串,长度为10
Course表结构
列名
说明
数据类型
约束
Cno
课程号
定长字符串,长度为10
主码
Cname
课程名
不定长字符串,长度为20
非空
Ccredit
学分
小整数(smallint)
取值大于0
Semster
学期
小整数(smallint)
取值大于0
Periods
学时数
小整数(smallint)
取值大于0
Property
课程性质
定长字符串,长度为4
SC表结构
列名
说明
数据类型
约束
Sno
学号
定长字符串,长度为7
主码,引用Student的外码
Cno
课程号
定长字符串,长度为10
主码,引用Course的外码
Grade
成绩
小整数(smallint)
取值0~100
--Student表
--Course表
--SC表
(3)插入数据;说明:以下为样例数据,请自行补充完整插入数据代码。
(9512101,李勇,男,19,计算机系,软件工程)
(9512102,刘晨,男,20,计算机系,软件工程)
(9512103,王敏,女,20,计算机系,计算机应用)
(9521101,张立,男,22,信息系,财务管理)
(9521102,吴宾,女,21,信息系,财务管理)
(9521103,张海,男,20,信息系,财务管理)
(9531101,钱小平,女,18,数学系,组合数学)
(9531102,王大力,男,19,数学系,模糊数学)
(c01,计算机文化学,3,1,30,选修)
(c02,VB,2,3,45,必修)
(c03,计算机网络,4,7,45,必修)
(c04,数据库基础,6,6,35,必修)
(c05,高等数学,8,2,30,必修)
(c06,数据结构,5,4,35,必修)
(9512101,c01,90)
(9512101,c02,86)
(9512101,c06,null)
(9512102,c02,78)
(9512102,c04,66)
(9521102,c01,82)
(9521102,c02,75)
(9521102,c04,92)
(9521102,c05,50)
(9521103,c02,68)
(9521103,c06,null)
(9531101,c01,80)
(9531101,c05,95)
(9531102,c05,85)
(4)完成各种数据查询;
1、查询学生选课表中的全部数据
答:
2、查询计算机系学生的姓名、年龄
答:
3、查询成绩在70-80分之间的学生的学号、课程号和成绩
答:
4、查询计算机系年龄在18-20岁之间且性别为“男”的学生的姓名和年龄
答:
5、查询“C01”号课程成绩最高的分数
答:
6、查询计算机系学生的最大年龄和最小年龄
答:
7、统计每个系的学生人数
答:
8、统计每门课程的选课人数和考试最高分
答:
9、统计每个学生的选课门数和考试总成绩,并按选课门数的递增顺序显示结果
答:
10、查询总成绩超过200分的学生,要求列出学号、总成绩
答:
11、查询选修了“C02”号课程的学生的姓名和所在系
答:
12、查询成绩在80分以上的学生的学号、课程号和成绩,并按成绩的降序排列结果
答:
13、查询哪些课程没有人选修,要求列出课程号和课程名
答:
14、查询选修了“C01”号课程
答:
15、查询数学系成绩在80分以上的