数据库总复习题(新)新 有答案

2.保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的完整性。(F) 2.触发器可用于保证数据的完整性。(T )

3.SQL语言的CRANT和REMOVE语句主要是用来维护数据库的安全性。(T) 4.数据库安全控制的目的是防止非法对数据库的使用和对数据库的恶意破坏。(T) 5.存储过程独立于表,它只能存放在客户端,不能看成是数据库对象。(F)

7.若希望某数据库中的全体用户都具有某个权限,较好的做法是创建一个角色并将此权限授给该角色。(F) 8.日志文件是用于数据库恢复的重要文件。(T)

24

综合练习第1套

设有如下所示的三个关系模式:

商店Shop(Sno,Sname,City)//Sno (商店编号)、Sname (商店名)、City (所在城市) 商品Product(Pno,Pname,Price)//Pno (商品编号)、Pname (商品名称)、Price (价格) 商店所售商品SP(Sno,Pno,Qty),//Qty (商品数量) 其中带下划线的字段为主键

ShopSP

Sno 101 204 256 345 620

Product Pno 1 2 3 4 Pname 钢笔 羽毛球 复读机 书包 Price 21 5 300 76 Sname 百货商店 长安商场 西单商场 铁道商店 太平洋百货 City 长沙 北京 北京 长沙 上海 Sno 101 101 101 101 204 256 256 345 345 345 620 Pno Qty 1 2 3 4 3 1 2 1 2 4 4 105 42 25 104 61 241 91 141 18 74 125 (1)用Create语句创建商店表Shop,要求创建主键,商店名不允许为空,各属性的数据类型根据表中所给数据选定。 Create table Shop (

Sno int primary key, Sname char(10) not null, city char(10))

(2)检索所有商店的商店名和所在城市。 Select sname,city from shop

(3)检索价格低于50元的所有商品的商品名和价格。 Select Pname,price From Product

25

Where price<50

(4)检索位于“北京”的商店的商店编号,商店名,结果按照商店编号降序排列。 Select sno,sname From Shop

where city=‘北京’ order by sno desc

(5)检索供应“书包”的商店名称。 SELECT Shop.Sname from Shop,Product,SP

WHERE Shop.Sno=SP.Sno and Product.Pno = SP.Pno and Pname=‘书包’ (6)检索所有商场中各种商品的平均数量。 Select avg(qty) 平均数量 from SP group by sno

(7)将商品“复读机”的价格修改为350。 Update Product Set price=350

Where Pname=‘复读机’

(8)将“百货商店”的商店名修改为“百货商场”。 Update Shop

Set Sname=‘百货商场’ Where Sname=‘百货商店’

(9)创建视图:“铁道商店”所售商品的商品编号,商品名和数量。 Create view tdsd As

Select Product.pno, Product.pname,qty From Shop,Product,SP

Where Shop.Sno=SP.Sno and Product.Pno=SP.Pno and sname=‘铁道商店’ (10)将查询和更新SP表的权限赋给用户U1。 Grant select,update on SP to U1

26

综合练习第2套

某大学的运动会比赛项目管理数据库包括如下三张表:

Student(xh,xm,xb,nl,szx)// 学号、姓名、性别、年龄、所在系 Sports(xmh,xmm,dw) //运动项目的编号、名称、项目的计分单位 SS(xh,xmh,cj) //学号、运动项目的编号、成绩 根据上述情况,完成如下操作:

(1)使用SQL语言,创建student表,并定义xh为主键。

Create table Student (

xh char(10) primary key, xm char(20), xb char(2), nlint,

szx char(50) )

(2)在Student表xh属性列上建立名称为xh的聚簇索引。

Create clustered index xh on student(xh)

(3)使用SQL语言从表Student中删除学生“张三”的记录。

Delete from Student where xm=’张三’

(4)使用SQL语言为SS表添加一条记录:学号为“xh001”的学生参与了编号为“xm001”的运动项目,但还没成绩。

Insert into SS (xh,xmh) values ('xh001', 'xm001')

(5)使用SQL语言,将Student表学号为“xh001”的学生的姓名改为“李明”。 Update student set xm='李明' where xh='xh001'

(6)查询“计算机”系的学生参加了哪些运动项目,只把运动项目名称列出,去除重复记录。 SELECT DISTINCT xmm FROM Sports WHERE xmh IN

(SELECT xmh FROM SS WHERE xh IN

(SELECT xh FROM Student WHERE szx='计算机'))

27

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4