数据库习题课答案(sql,关系代数,权限管理)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
●根据下面所给的商品库,写出SQL语句
商品表1(商品代号char(8),分类名char(8),单价float数量int)
商品表2(商品代号char(8),产地char(8),品牌char(8) )
1)从商品库中查询出数量在10和20之间的商品种数
select count(*)
from 商品表1
where 数量between 10 and 20;
2)从商品库中查询出每类(即分类名相同)商品的总数量
select 分类名,sum(数量)
from 商品表1
group by 分类名
3)从商品库中查询出比所有商品单价的平均值要低的全部商品
select *
from 商品表1
where 单价< (select avg(单价)
from 商品表1)
4)从商品库中查询出所有商品的不同产地的总数
select count(distinct 产地)
from 商品表2
●设车辆管理数据库的数据模式如下:
车辆(车号,车名,车颜色,生产厂名)
工厂(厂名,厂长姓名,所在城市名)
城市(城市名,人口,市长姓名)
用关系代数写出如下查询:
1)查询车名为红旗牌轿车的所有车号
π车号(σ车名=‘红旗’(车辆))
2)查询红旗牌轿车的生产厂家及厂长姓名
Π厂名,厂长姓名(σ车名=‘红旗’(车辆工厂))
3)查询林肯牌轿车的生产厂家及所在城市的市长姓名
Π生产厂家,市长姓名(σ车名=‘林肯’(车辆工厂城市))
4)查询第一汽车制造厂生产的汽车的颜色
Π车颜色(σ生产厂名=’第一汽车制造厂’(车辆))
5)查询武汉生产哪些牌子的车
Π车名(σ所在城市名=’武汉’(车辆工厂))
●今有两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号);
部门(部门号,名称,经理名,地址,电话)。
请用SQL 的GRANT和REVOKE语句(加上视图机制),完成以下授权定义或存取控制功能。
1)用户王明对两个表有SELECT权力。
GRANT SELECT
ON 职工,部门
TO 王明
2)用户李勇对两个表有INSERT和DELETE权力。
GRANT INSERT,DELETE
ON 职工,部门
TO 李勇
3)用户刘星对职工表有SELECT权利,对工资字段具有更新权力。
GRANT SELECT,UPDATE(工资)
ON 职工
TO 刘星
4)用户张新具有修改这两个表的结构的权力。
GRANT ALTER TABLE
ON 职工,部门
TO 张新;
5)用户周平具有对两个表的所有权力(读、插、改、删数据),并具有给其他用户授权的权利
GRANT ALL PRIVILIGES
ON 职工,部门
TO 周平
WITH GRANT OPTION;