欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

设职工一社团数据库有三个基本表:职工(职工号,姓名,年龄,性别);社会团体(编号,名称,负责人,活动

时间:2018-01-22

设职工一社团数据库有三个基本表:

职工(职工号,姓名,年龄,性别);

社会团体(编号,名称,负责人,活动地点);

参加(职工号,编号,参加日期)。

其中:

1)职工表的主码为职工号。

2)社会团体表的主码为编号,外码为负责人,被参照表为职工表,对应属性为职工号。

3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。

试用SQL语句表达下列操作:

1)定义职工表、社会团体表和参加表,并说明其主码和参照关系。

2)建立下列两个视图。

社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);

参加人情况(职工号,姓名,社团编号,社团名称,参加日期)

3)查找没有参加任何团体的职工情况。

4)查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。

5)把对社会团体和参加两个表的数据查看、插人和删除数据的权力赋给用户张三,并允许他将此权力授予其他用户。

答案说明:本题目答案来自网络整理或转载,最终答案请以官网为准。


答 案:1)CREATE TABLE 职工(职工号CHAR(8) NOT NULL UNIQUE姓名 CHAR(8) NOT NUI.L年龄 SMALLINT性别 CHAR(2)CONsl’RAINq’cl CHECK(性别IN(‘男’‘女’)));CREATE rrABLE 社会团体(编号 CHAR(8)NOT NUIL UNIQUE名称CHAR(12)NOT NULL负责人CHAR(8)活动地点V.ARCHAR(50)CON—STRAINT c2 FOREIGN KEY(负责人)REFERENC-ES职工(职工号));cREATE FABLE 参加(职工号CHAR(8)编号CHAR(8)参加日期DATA.CONSTRAI~I’C3 PRI—MARY KEY(职工号编号)CONSTRAIN C3 FOREIGNKEY(职工号)REFERENCES职工(职工号));2)CREATE VIEW社团负责人(编号.名称负责人职工号负责人姓名负责人性别) AS SEI.~C3’编号.名称负责人姓名性别 FROM 社会团体职工WHERE社会团体.负责人=职工.职工号;CREATE VIEW参加人情况(职工号.姓名社团编号.参加日期) AS SELECT参加.职员号姓名社会团体.编号名称参加日期FROM职lT社会团体参加 WHERE 职工职T号=参加.职T号AND参加.编号:社会团体.编号;3)SELECT*FROM职工WHERE NOT EXISTS(SELECT*FORM参加WHERE参加职工号=职工职工号);4)SELECT职工号 FROM 职工 WHERE.NOT EXISTS(SELECT* FROM参加 参加WHERE参加1.职工号=‘100l’AND N03’ EXISTS (SELECT*FROM参加 WHERE 参加2.编号=社会团体.编号AND参加2.职工号=职工.职工号));5)GRANT。 SELECTINSERTDELETE ON 社会团体参加1D张三WHERE GRAM’OVFION;
1)CREATE TABLE 职工(职工号CHAR(8) NOT NULL UNIQUE,姓名 CHAR(8) NOT NUI.L,年龄 SMALLINT,性别 CHAR(2),CONsl’RAINq’cl CHECK(性别IN(‘男’,‘女’)));CREATE rrABLE 社会团体(编号 CHAR(8)NOT NUIL UNIQUE,名称CHAR(12)NOT NULL,负责人CHAR(8),活动地点V.ARCHAR(50),CON—STRAINT c2 FOREIGN KEY(负责人)REFERENC-ES职工(职工号));cREATE FABLE 参加(职工号CHAR(8),编号CHAR(8),参加日期DATA.CONSTRAI~I’C3 PRI—MARY KEY(职工号,编号),CONSTRAIN C3 FOREIGNKEY(职工号)REFERENCES职工(职工号));2)CREATE VIEW社团负责人(编号.名称,负责人职工号,负责人姓名,负责人性别) AS SEI.~C3’编号.名称,负责人,姓名,性别 FROM 社会团体,职工WHERE社会团体.负责人=职工.职工号;CREATE VIEW参加人情况(职工号.姓名,社团编号.参加日期) AS SELECT参加.职员号,姓名,社会团体.编号,名称,参加日期FROM职lT,社会团体,参加 WHERE 职工,职T号=参加.职T号AND参加.编号:社会团体.编号;3)SELECT*FROM职工WHERE NOT EXISTS(SELECT*FORM参加WHERE参加,职工号=职工,职工号);4)SELECT职工号 FROM 职工 WHERE.NOT EXISTS(SELECT* FROM参加 参加WHERE参加1.职工号=‘100l’AND N03’ EXISTS (SELECT*FROM参加 WHERE 参加2.编号=社会团体.编号AND参加2.职工号=职工.职工号));5)GRANT。 SELECT,INSERT,DELETE ON 社会团体,参加1D张三WHERE GRAM’OVFION; 解析:主要考查了SQL的数据查询功能、数据定义功能和数据操纵功能。这类问题主要是考查对SELECT FROM WHERE语句的掌握。
相关文章

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。