某农场有多名饲养员(Worker),每名饲养员可以饲养多只动物(Animal),每只动物都有一个动物编号,每只动物只由一名饲养员饲养,其关系模式如下:
Worker(wID,wName,wSex,wAge,wPhone),分别表示(编号,姓名,性别,年龄,电话)
Animal(aID,wID,aType,aAge),分别表示(动物编号,饲养员编号,种类,年龄)
实现下列操作:
(1)用关系代数语言查询没有饲养过牛的饲养员的姓名和年龄。
(2)根据题36给出的关系模式,实现下列操作:
写出创建饲养员表的SQL语句,其中wID定义为主码。
(3)根据题36给出的关系模式,实现下列操作:
用SQL语言查询由姓吴的饲养员饲养的所有动物的个数。
(4)根据题36给出的关系模式,实现下列操作:
用SQL语言查询饲养过牛或者年龄大于40岁的饲养员的编号。
(5)根据题36给出的关系模式,实现下列操作:
用SQL语言创建视图VW:没有饲养过牛的饲养员的姓名和年龄。
(1)
(2)CREXTE TABLE Worker(
wID CHAR(4)NOT NULL,wName CHAR(8),wSex CHAR(2),wAge SMAIIINT,wPhone CHAR(20),
PRIMARY KEY(wID)
)
(3)SELECT COUNT(*)
FROM Worker,Animal
WHERE wName LIKE"吴%”AND Worker.wlD = Animal.wID
(4)(SELECT wID FROM Worker WHERE wAge>40)
UNION
(SELECT wID FROM Animal WHERE aType =“牛")
(5)CREATE VIEW VW AS
SELECT wName,wAge
FROM Worker
WHERE wID NOT IN(SELECT wID FROM Animal WHERE aType =“牛")
或者
CREATE VIEW VW AS
SELECT wNnme,wAge
FROM Worker w
WHERE NOT EXISTS SELECT*FROM Animol A WHERE A.wID= w.wID AND aType =“牛"