1.仓库业务中,一个仓库数据库包括如下三张表:
仓库表warehouses(wid,name,area),wid是主键
零件表compnents(cid,name,mode,unit,price),cid为主键
组装表stores(wid,cid,qrty),wid、cid是外键,分别参照仓库表的wid和零件表的cid
(1)创建以上表,写出创建语句;(6分)
(2)创建一个包含仓库号、仓库名、零件号、零件名、价格、库存量的视图VIEW1,写出创建语句;(4分)(3)创建零件表上的聚簇索引,写出创建语句;(4分)
(4)使用create user创建新用户“wangwu”,密码为“666666”,写出创建语句;(2分)(5)授予wangwu@localhost用户在视图view1在列库存量上的select权限,并且限定该用户此种select访问权限的每小时最多访问次数为20次,写出授权语句;(4分)

答案
(1)创建以上表,写出创建语句;(6分)
答案:
CREATE TABLE warehouses
(wid char(11),
Name char(30)
Area numerirc(4,1)
PRIMRY KEY wid);
CREATE TABLE compnents
(cid char(11),
Name char(50),
mode char(50),
unit char(8),
price numerirc(4,1)
PRIMRY KEY cid);
CREATE TABLE stores
(wid char(11),
cid char(11)
qrty numerirc(4,1)
FOREIGN KEY (wid) REFERENCES warehouses(wid)
FOREIGN KEY (cid) REFERENCES compnents(cid);
(2)创建一个包含仓库号、仓库名、零件号、零件名、价格、库存量的视图VIEW1,写出创建语句;(4分)
答案:
CREATE VIEW view1
AS SELECT wid,warehouse.name,cid,compnents.name,price,qrty
FROM warehouse,stores,compnents
WHERE warehouse.wid=stores.wid and stores.cid=compnents.cid;
(3)创建零件表上的聚簇索引,写出创建语句;(4分)
答案:
CREATE TABLE compnents
(cid int(11),
Name char(50),
PRIMRY KEY cid);
(4)使用create user创建新用户“wangwu”,密码为“666666”,写出创建语句;
答案:(2分)
CREATE USER “wangwu@localhost””666666”;
(5)授予wangwu@localhost用户在视图view1在列库存量上的select权限,并且限定该用户此种select访问权限的每小时最多访问次数为20次,写出授权语句;(4分)
答案:
mysql>GRANT SELECT(qrty ) ON view TO wangwu@localhost WITH MAX_QUERIES_PER_HOUR 20;