数据库原理实验指导书

2026/1/17 9:16:46

第1部分 实验内容介绍

启动查询分析器,运行下面的代码创建教材P75页习题5中的数据库及其相应表,用SQL完成下列操作。

创建SPJ数据库

(1) (2) (3) (4)

查询天津供应商的姓名和城市;

查询重量大于14的零件的名称、颜色和重量; 查询供应工程J1零件P1的供应商号码SNO;

查询供应数量大于200小于等于400的供应商姓名;

13

(5) 求供应工程J1零件为红色的供应商号码SNO

(6) 查询没有使用天津供应商生产的红色零件的工程号JNO;

(7) 查询至少用了供应商S1所供应的全部零件的工程号JNO(参考p111例47); (8) 找出使用供应商S1供应的所有零件的工程号码; (9) 找出工程项目J2使用的各种零件的名称和重量; (10) 找出上海厂商供应的所有零件号码; (11) 找出使用上海产的零件的工程名称; (12) 找出没有使用天津产的零件的工程号码; (13) 把全部红色零件的颜色改为蓝色;

(14) 由S5供给J4的零件P6改为由S3供应,请做出必要的修改。 (15) 请将(S2,J6,P4,200)插入供应情况关系表中。

(16) 从供应商关系中删除S2的记录,并从供应情况关系中删除响应的记录; 3.实验思考

(1)查询所有没有选修课程的学生信息,返回结果包括学号、姓名、性别。 (2)在student_info表和grade表之间实现交叉连接。

(3)查询每个学生的所选课程的成绩,并列出学号生成分组汇总行(总成绩)和明细行(各课成绩)。

提示:使用SELECT语句的COMPUTE选项。

(4)在查询语句中SELECT、FROM和WHERE选项分别实现什么运算?

(5)在查询的FROM子句中实现表与表之间的连接有哪几种方式?对应的关键字分 别是什么?

14

数据库原理与应用实践教程——SQL Server 2000

实验4 索引和视图(2学时)

1.实验目的

(1)掌握使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引的方法。

(2)掌握使用SQL Server管理平台查看索引的方法。

(3)掌握使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引的 方法。

(4)掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。 (5)掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 (7)了解删除视图的Transact-SQL语句DROP VIEW的用法。

2.实验内容及步骤

(1)使用Transact-SQL语句按curriculum表的课程编号列创建唯一性索引。

(2)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。

CREATE INDEX grade_index ON grade(分数)

(3)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。

CREATE UNIQUE INDEX grade_id_c_ind ON grade(学号,课程编号)

(4)使用SQL Server管理平台对grade表创建一个聚集索引和唯一索引。 (5)使用系统存储过程sp_rename将索引grade_index更名为grade_ind。

sp_rename 'grade.grade_index','grade_ind','INDEX'

(6)分别使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引grade_ind。

DROP INDEX grade.grade_ind

(7)在studentsdb数据库中,以student_info表为基础,使用SQL Server管理平台建立名为v_stu_i的视图,使视图显示学生姓名、性别、家庭住址。

(8)在studentsdb数据库中,使用Transact-SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况。

(9)基于student_info表、curriculum表和grade表,建立一个名为v_stu_g的视图,视图中具有所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g查询学号为0001的学生的所有课程与成绩,如图1-9所示。

第1部分 实验内容介绍

15

图1-9 学号为0001的学生的视图信息

(10)分别使用SQL Server管理平台和Transact-SQL语句修改视图v_stu_c,使之显示学号、姓名、每个学生所学课程数目。

(11)使用Transact-SQL语句ALTER VIEW修改视图v_stu_i,使其具有列名学号、姓名、性别。

ALTER VIEW v_stu_i(学号,姓名,性别)

AS SELECT 学号,姓名,性别 FROM student_info

(12)使用系统存储过程sp_rename将视图v_stu_i更名为v_stu_info。

sp_rename v_stu_i,v_stu_info

(13)利用视图v_stu_i为student_info表添加一行数据:学号为0015、姓名为陈婷、性别为女。

(14)利用视图v_stu_i删除学号为0015的学生记录。

(15)利用视图v_stu_g修改姓名为刘卫平的学生的高等数学的分数为84。 (16)使用Transact-SQL语句DROP VIEW删除视图v_stu_c和v_stu_g。

3.实验思考

(1)是否可以通过视图v_stu_g修改grade表中学号列数据? (2)比较视图和基表操作表中数据的异同。 (3)可更新视图必须满足哪些条件?

(4)什么是索引?SQL Server 2000中有两种形式的索引:聚集索引和非聚集索引,简单叙述它们的区别?

(5)能否在视图上创建索引?

实验5 数据完整性(2学时)

一、实验目的

1、掌握数据完整性的基础知识;

2、学会使用约束来实施数据完整性的保护; 3、掌握使用默认值实现数据完整性的方法; 4、熟练使用规则实施数据完整性的保护; 5、能够识别违反完整性约束的数据;

16

数据库原理与应用实践教程——SQL Server 2000

二.实验内容及步骤

1、创建教材所示的 SPJ 数据库。

启动查询分析器,运行下面的代码创建数据库。 创建SPJ数据库 其中要求:

① S 表中的 Sno 为主码,Sname 取值唯一并且非空;

② P 表中的 Pno 为主码,pname 取值非空,Color 的值只能取'红','绿','蓝', weight 的值大于零;

③ J 表中的 Jno 为主码;

④ SPJ 的主码为(sno,pno,jno),sno 参照 s 表中的 sno, pno 参照 p 表中的 sno, jno 参照 j 表中的 jno。 2、验证完整整性约束: ①运行“示例数据.sql”;

②往表 S 中插入数据('S6?,?东方红?,30,?上海?,),观察运行结果; ③往表 P 中插入数据('P7?,?螺母?,?兰?,0),观察运行结果; ④往表 SPJ 中插入数据('S4?,?P5?,?J8?,),观察运行结果; ⑤为以上表设计不违反完整性规则的数据。 3、使用 T_SQL 语句实施约束

① 为 s 表的 “City”字段创建一个缺省约束,缺省值为“上海”; Alter table s Add constraint default_city Default '上海' for city

② 为 “City”字段创建一个检查约束,使得所在城市必须是'北京'、'上海'、'天津'或'重庆'之一; Alter table s Add constraint ck_S_City Check (city in ('北京','上海','天津','重庆')) ③ 为 J 表的“Jname”字段增加一个唯一性约束;

Alter table j Add constraint Unique_Jname unique (Jname)

④ 为 spj 表建立依赖于 S 表的外键约束,约束名为fk_S_P_J。

Alter table spj Add constraint fk_S_P_J Foreign key(Sno)References S(Sno) ⑤ 禁用 S 表的“City”的 CHECK 约束 ck_S_City; Alter table s Nocheck constraint ck_S_City

⑥ 启用 S 表的“City”的 CHECK 约束 ck_S_City。 Alter table s check constraint ck_S_City 4、使用 T_SQL 语句进行默认值操作

① 设定默认值:为表 P 创建一个名为 Default_wieght,值为 0 的默认值。 CREATE DEFAULT Default_wieght AS 0 ② 将默认值绑定到列

sp_bindefault Default_wieght,'p.weight' ③ 解除默认绑定

sp_unbindefault 'p.weight'


数据库原理实验指导书.doc 将本文的Word文档下载到电脑
搜索更多关于: 数据库原理实验指导书 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219