- 21
- 0
- 约6.51千字
- 约 13页
- 2017-02-28 发布于湖北
- 举报
实验五
实验目的:
掌握数据库表之间的永久关联及参照完整性的设置;掌握使用表设计器设计查询文件;掌握使用SELECT语句设计查询。
实验内容(按顺序做,第3题中的单号题写到实验报告中。注意将所有题存到自己的盘上)
1. 设置自己的文件夹为默认文件夹。打开“学生管理”项目。
2. 创建数据库表之间的永久关联及设置参照完整性。
(1)打开“学生-课程”数据库设计器,用鼠标左键拖动学生表中的主索引xh到选课表的普通索引xh(注意这两个索引都应是按学号字段进行排序的索引),两个表之间出现一条连线,该连线即为两表间按学号相等的一个的永久关联。
(2)按上面同样的方法创建课程表和选课表之间的按课程号相等的永久关联。
(3)设置如下参照完整性:
使用“数据库”菜单中的“编辑参照完整性”或右单击永久关系连线选“编辑参照完整性”,打开“参照完整性生成器”
要求更新学生表中的某一学号时选课表中的相同学号也相应更新。
(提示:将学生与选课间的“更新规则”设为“级联”)
要求删除课程表中的某门课时选课表中该课的有关记录也相应删除。
(提示:将课程与选课间的“删除规则”设为“级联”)
③要求在选课表中插入一条学生的选课记录时,如果学生表中没有该学生或课程表中没有该课则禁止插入。
(提示:将学生与选课间的“插入规则”设为“限制”)
(4)测试(3)中的设置,理解参照完整性的含义。
3. 在项目中设计如下查询,单号题用select命令(写到程序中),双号题用查询设计器:
注意:查询前先打开“学生-课程”数据库,并且设为当前库
(1)创建程序文件Q1,用select命令查询“计算机”系的学生的学号、姓名、和出生日期,结果按学号升序排。 运行程序查看运行结果。
使用设计器设计:
添加表:学生表
“字段”选项卡:学号、姓名、出生日期
“筛选”选项卡:所在系=’计算机’
“排序”选项卡:学号升序
使用命令:
SELECT 学号,姓名,出生日期;
FROM学生;
WHERE所在系 = 计算机;
ORDER BY学号
查询结果如下:
(2)创建查询文件Q2,查询“计算机”系的学生的姓名、性别、年龄,结果按年龄升序排。 运行查询文件查看运行结果。
使用设计器设计:
添加表:学生表
“字段”选项卡:姓名、性别、YEAR(DATE())-YEAR(学生.出生日期) AS 年龄
“筛选”选项卡:所在系=’计算机’
“排序依据”选项卡:YEAR(DATE())-YEAR(学生.出生日期) AS 年龄
使用命令:
SELECT姓名,性别, YEAR(DATE())-YEAR(学生.出生日期) AS 年龄;
FROM学生;
ORDER BY 3
查询结果如下:
(3)创建程序文件Q3,用select命令查询都有哪些系,要求系不能重复。 运行程序查看运行结果。
使用设计器设计:
添加表:学生表
“字段”选项卡:所在系
“杂项”选项卡:选中“无重复记录”复选框
使用命令:
SELECT DISTINCT 所在系 FROM学生
查询结果如下:
(4)创建查询文件Q4,查询选了“001”号课的学生的姓名和成绩,结果按成绩降序排,结果放到表“成绩001号课”表中。 运行查询文件,将存放查询结果的文件添加到项目的自由表中,浏览该自由表从而查看查询结果。
使用设计器设计:
添加表:学生表、选课表
“字段”选项卡:姓名、成绩
“联接”选项卡:inner join 学生.学号=选课.学号
“筛选”选项卡:课程号=’001’
“排序依据”选项卡:成绩降序
“查询去向”:表“成绩001号课”
使用命令:
SELECT姓名,成绩;
FROM学生 INNER JOIN选课 ON 学生.学号 = 选课.学号;
WHERE课程号 = 001;
ORDER BY成绩 DESC
INTO TABLE 成绩001号课
查询结果如下:
(5)创建程序文件Q5,用select命令查询“计算机”系学生选了“001”号课学生的姓名、成绩,结果按成绩降序排。 运行程序查看运行结果。
使用设计器设计:
添加表:学生表、选课表
“字段”选项卡:姓名、成绩
“联接”选项卡:inner join 学生.学号=选课.学号
“筛选”选项卡:所在系=’计算机’ and课程号=’001’
“排序依据”选项卡:成绩降序
使用命令:
SELECT姓名,成绩;
FROM 学生 INNER JOIN选课 ON 学生.学号 = 选课.学号;
WHERE所在系 = 计算机 AND课程号 = 001;
ORDER BY成绩 DESC
查询结果如下:
(6)创建查询文件Q6,查询成绩在80及80分以上的学生的
原创力文档

文档评论(0)