实验六 视图的创建、查询与更新
一、实验目的
1、学会使用CREATE、DROP等SQL语句创建和删除视图
2、学会使用SQL Server 2005的SQL Server Management Studio对视图进行查询和更新
二、实验内容
1、在数据库引擎查询文档中使用CREATE、DROP语句创建和删除视图 2、使用SELECT和UPDATE语句查询和更新视图
三、实验步骤
请为三建工程项目建立一个供应情况的视图,包括供应商代码、零件代码、供应数量。
SQL语句:
CREATE VIEW SJQTY AS
SELECT SNO,PNO,QTY FROM SPJ WHERE JNO IN( );
写出针对该视图完成下列查询所需的SQL语句:
⑴找出三建工程项目使用的各种零件代码及其数量 SELECT PNO,QTY FROM SJQTY; ⑵找出供应商S1的供应情况
SELECT * FROM SJQTY WHERE SNO=’S1’;
⑶删除三建视图中零件P1的记录,并观察基本表的变化情况。 DELETE FROM SJQTY WHERE PNO=’P1’;
⑷若向三建视图中插入一条新的记录,能不能插入?为什么? 不能,违背实体完整性。
⑸将三建视图中S5供应商供应的P3零件的数量改为800,并观察基本表的变化情况。
UPDATE SJQTY SET QTY=800 WHERE SNO=’S5’ AND PNO=’P3’;
SELECT JNO FROM J WHERE JNAME=’三建’
2、将SPJ中每个供应商供应某个工程的零件数大于他所供应的工程的零件数的平均值的元组定义成一个视图
Sql语句:
CREATE VIEW SQTY AS SELECT * FROM SPJ X WHERE QTY>(
SELECT AVG(QTY) FROM SPJ WHERE SNO=X.SNO );
实验七 数据库安全性
一、 实验目的
SQL的数据控制通过DCL(数据控制语言) 实现。DCL通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。
1、了解DCL语言的GRANT和REVOKE语句对数据库存取权限的控制 2、学会SQL Server 2005的数据库引擎查询文档中用DCL语言对数据库存取权限进行设定 二、实验内容
1、启动Microsoft SQL Server Manager管理器,用DBA身份连接数据库,新建一个数据库引擎查询文档,运用GRANT语句对数据库存取权限进行授权操作。 2、启动Microsoft SQL Server Manager管理器,用一般用户身份连接数据库,新建一个数据库引擎查询文档,验证该用户对数据的读写权限。 2、用REVOKE语句回收一般用户对数据库的操作权限。 三、实验步骤
描述实验步骤并给出相应的SQL语句:
1、以DBA身份连接数据库,创建用户USERA,并授予用户USERA对SPJ表的查询权限以及对属性QTY的更新权限。
先建立登录名USERA;CREATE USER USERA; GRANT SELECT,UPDATE(QTY) ON SPJ TO USERA;
3、以DBA身份连接数据库,创建用户USERB,并授予用户USERB对S表的增删改查的权限,并允许用户USERB将S表的查询权限授予其他用户。
先建立登录名USERB;CREATE USER USERB; GRANT UPDATE,DELETE,INSERT ON S TO USERB; GRANT SELECT ON S TO USERB WITH GRANT OPTION;
5、以DBA身份连接数据库,创建用户USERC,并授予用户USERC查询每个供应商供应的零件总数的权限。
先建立登录名USERC;CREATE USER USERC; CREATE VIEW SQTYSUM AS
SELECT SNO,SUM(QTY) NUM FROM SPJ GROUP BY SNO;
GRANT SELECT ON SQTYSUM TO USERC;
6、回收用户USERB对S表的查询权限,检验USERA是否还能查询S表的信息。
REVOKE SELECT ON S FROM USERB CASCADE;
SQL语言综合实验:图书馆借阅系统设计
一、实验目的
1、通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容;
2、提高学生分析能力和抽象能力的目的。
二、实验内容
1、设计一个简单的图书借阅系统的数据库。
2、用SQL实现数据库的设计,并在 SQL Server 2005上调试通过。
三、实验要求
1 不能删除已借出的图书的基本信息。 2 限定读者的年龄只能在18~60之间。 3 借书 4 还书
5 查看某读者的当前借阅信息以及借阅历史记录。 6 能查看某读者还能借阅的图书数。
7 读者有多种类型,不同类型的读者能借阅的图书数量不同。 8 统计图书借阅次数。 9 查看指定类型的图书情况。 10 查询当前未借阅图书的读者信息。 11 查看从没被借阅过的图书
12 查看书名包含相关信息的图书的信息。 13 查看借阅相关图书的读者的姓名。(两种方法) 14 统计某读者当前借阅的图书的总数及总价。 15 对数据库进行合理的完整性控制。
四、实验步骤
1、 图书管理系统的E-R图: