数据库的关系代数问题

设有一个公司产品销售数据库,其关系模式如下(其中中文为解释,英文为表名字段名):
顾 客C ( 编号cid, 姓名cname, 城市city, 折扣discnt )
供应商
A ( 编号aid, 名称aname, 城市city )
商 品
P ( 编号pid, 名称pname, 库存数量quantity, 单价price )
订 单
O ( 编号ordno, 年份year, 月份month, 顾客编号cid, 供应商编号aid,
商品编号pid, 订购数量qty, 销售金额dols )
请用SQL语句表示下述的操作请求。
1) 创建表C,要求其主键为CID,折扣取值范围在0到1之间(字段类型可自定)
2) 创建一个视图,要求给出所有南京的顾客姓名和折扣。
3) 将表P中的字段Price的修改权限赋予用户TOM。
4) 用单个SQL语句将顾客编号为10的顾客折扣值改为0.98,所在城市改为南京。
5) 查询居住有公司客户的城市数量。
6) 查询每个供应商单笔销售最高金额的平均值
7) 查询购买过产品名称中包含“茶”字的产品的顾客数量。
8) 查询所享受的折扣(discnt)最高的客户的编号。
9) 统计查询每个供应商在每一种商品上的销售总数量,只返回销售总数超过1000的统计结果(返回商品编号、商品名称,供应商编号,供应商名称及其销售总数量)。
10) 至少被三个供应商卖出过的商品的编号。
11) 查询销售金额最高的订单的订单编号。
12) 向C表中增加一个顾客,编号为1,姓名为’TOM’,所在城市为南京,折扣为空值;
13) 删除顾客编号为10的顾客;

第1个回答  2014-06-20
1,πsno,sname(σ height>‘1.8米’ (S))

2,πcon,credit(σ dept='计算机系' ∧semester=‘秋季’ (C))
3,πsname(σ dept=‘计算机系’∧gender=‘女生’ (C(连接符怎么打?我用join代替)join SC join S))
4,πsno,sname(σ grade>=‘90’ (S join SC))
5πsname(σ credit>‘3’(C join S)

家庭作业吗? 根据书本比葫芦画瓢都能做出来
相似回答