河北鸡毛大学
数据库原理实验五
实验名称 | 视图和数据控制 | ||
实验目的 | 1.掌握分别用 SQL Server 企业管理器和查询分析器创建、删除、查询、更新视图的方法。 2.熟练掌握创建、删除、查询和更新视图的 SQL 语句的用法,加深理解视图的四种用途。 3. 熟练掌握数据控制方法, 学习实体完整性的建立,以及实践违反实体完整性的结果。 | ||
实验仪器 | PC | ||
实验内容 | 1.(1)打开查询分析器,在查询窗格中输入下列SQL语句,然后运行,输出结果。 CREATE VIEW CS_Student AS SELECT Sno,Sname,Ssex,Sage FROM Student WHERE Sdept='CS' WITH CHECK OPTION 以下操作只需写出查询分析器方法的SQL操作语句。 (2) 建立计算机系选修了1号课程的学生的视图CS_S1。 CREATE VIEW CS_S1 AS SELECT CS_STUDENT.Sno,Sname,Sage,Cno,Grade FROM CS_STUDENT,SC WHERE CS_STUDENT.Sno=SC.Sno AND Cno='1';
DROP VIEW CS_S1; (4) 在计算机系学生视图CS_Student中找出选修了“数据库”课程且成绩在90分以上的学生。 SELECT CS_Student.Sno FROM CS_Student,SC,COURSE WHERE CS_Student.Sno=SC.Cno AND SC.Cno=COURSE.Cno AND Cname='数据库' AND Grade>=90; (5) 向计算机系学生视图CS_Student中插入一个新生记录,其中学号为95030,姓名为张三,年龄为20,男生。 INSERT INTO CS_Student(Sno,Sname,Sage,Ssex) VALUES ('95030','张三',20,'M') (6) 在计算机系学生视图CS_Student中,将学号为95030的学生姓名改为“李四”。 UPDATE CS_Student SET Sname='李四' WHERE Sno='95030' (7) 删除计算机系学生视图CS_Student中学号为95030的学生记录。 DELETE FROM CS_Student WHERE Sno='95030'; 2.在供应系统 GYXT 数据库中进行如下操作: (1) 创建视图 VSJ,它记录了给“三建”工程项目的供应零件的情况,包括供应商号、零件号和零件数量。 CREATE VIEW VSJ AS SELECT SNO, PNO,QTY FROM J,SPJ WHERE J.JNO=SPJ.JNO AND JNAME='三建'; (2) 对 VSJ 视图查询 S1 供应商的供货情况。 SELECT * FROM VSJ WHERE SNO='S1'; 思考题:视图的四种用途是什么?
3. 数据控制 (1)在数据库tempdbforintegrity中建立表Stu_Union,包括sno(char(5)),sname(char(8)),ssex(char(1)),sage(int),sdept(char(20)) 五个列,对 sno 进行主键约束,并且在没有违反实体完整性的前提下插入并更新一条记录 CREATE TABLE Stu_Union(sno char(5), sname char(8) PRIMARY KEY, ssex char(1), sage int, sdept char(20)); INSERT INTO Stu_Union(sno,sname,ssex,sage,sdept) VALUES ('1001','张三','M',19,'CS'); UPDATE Stu_Union SET sage='20' WHERE sno='1001'; (2)创建登录名 work 的用户,为其赋予数据库 | ||
实验结论 | CREATE VIEW 视图名 [(<列名>[,<列名>]…)]AS <子查询>[ WITH CHECK OPTION] | ||
成绩评定 | 教师签字 | 年 月 日 |