题目
设数据库中有三个关系: 职工表 EMP(E#,ENAME,AGE,SEX,ECITY), 其属性分别表示职工工号、姓名、年龄、性别和籍贯。 工作表 WORKS(E#,C#,SALARY), 其属性分别表示职工工号、工作的公司编号和工资。 公司表 COMP(C#,CNAME,CITY), 其属性分别表示公司编号、公司名称和公司所在城市。 用CREATE TABLE语句创建上述三个表,需指出主键和外键。
A、CREATE TABLE EMP (E# CHAR(4) NOT NULL, ENAME CHAR(8) NOT NULL, AGE SMALLINT, SEX CHAR(1), ECITY CHAR(20), PRIMARY KEY(E#)); CREATE TABLE COMP (C# CHAR(4) NOT NULL, CNAME CHAR(20) NOT NULL, CITY CHAR(20), PRIMARY KEY(C#)); CREATE TABLE WORKS (E# CHAR(4) NOT NULL, C# CHAR(4) NOT NULL, SALARY SMALLINT, PRIMARY KEY(E#, C#), FOREIGN KEY(E#,C#) REFERENCE EMP(E#),COMP(C#));
B、CREATE TABLE EMP (E# CHAR(4) NOT NULL, ENAME CHAR(8) NOT NULL, AGE SMALLINT, SEX CHAR(1), ECITY CHAR(20), PRIMARY KEY(E#)); CREATE TABLE COMP (C# CHAR(4) NOT NULL, CNAME CHAR(20) NOT NULL, CITY CHAR(20), PRIMARY KEY(C#)); CREATE TABLE WORKS (E# CHAR(4) NOT NULL, C# CHAR(4) NOT NULL, SALARY SMALLINT, PRIMARY KEY(E#, C#), FOREIGN KEY(E#) REFERENCE EMP(E#), FOREIGN KEY(C#) REFERENCES COMP(C#));
C、CREATE TABLE EMP (E# CHAR(4) NOT NULL, ENAME CHAR(8) NOT NULL, AGE SMALLINT, SEX CHAR(1), ECITY CHAR(20), ); CREATE TABLE COMP (C# CHAR(4) NOT NULL, CNAME CHAR(20) NOT NULL, CITY CHAR(20), PRIMARY KEY(C#)); CREATE TABLE WORKS (E# CHAR(4) NOT NULL, C# CHAR(4) NOT NULL, SALARY SMALLINT, PRIMARY KEY(E#, C#), FOREIGN KEY(E#) REFERENCES EMP(E#), FOREIGN KEY(C#) REFERENCES COMP(C#));
D、CREATE TABLE EMP (E# CHAR(4) NOT NULL, ENAME CHAR(8) NOT NULL, AGE SMALLINT, SEX CHAR(1), ECITY CHAR(20), PRIMARY KEY(E#)); CREATE TABLE COMP (C# CHAR(4) NOT NULL, CNAME CHAR(20) NOT NULL, CITY CHAR(20), PRIMARY KEY(C#)); CREATE TABLE WORKS (E# CHAR(4) NOT NULL, C# CHAR(4) NOT NULL, SALARY SMALLINT, PRIMARY KEY(E#, C#), FOREIGN KEY(E#) REFERENCES EMP(E#), FOREIGN KEY(C#) REFERENCES COMP(C#));
第1题
设某工厂数据库中有两个基本表:
车间基本表:DEPT(DNO,DNAME,MGR-NO),其属性分别表示车间编号、车间名和车间主任的职工号.
职工基本表:EMP(ENO,ENAME,SEX,SALARY,DNO),其属性分别表示职工号、姓名、性别、工资和所在车间的编号.
试用SQL语句完成下列操作:
检索“金工车间”的男职工的职工号和姓名.
第2题
设数据库中有两个基本表:
·职工表EMP(E,ENAME,AGE,SALARY,D),其属性分别表示职工工号,姓名,年龄,工资,工作部门的编号。
·部门表DEPA(Dgt,DNAME,MGR),其属性分别表示部门编号,部门名称,部门经理的工号。此处经理的工号,就是他自己的职工工号。
(1)在数据库中要求每个经理的工资大于2000元。试在定义DEPA表时,添加一个CHECK子句,以满足上述要求(只需写出CHECK子句,不必写出其他语句)。
(2)把年龄在50岁以上的经理全部免职(即把这些部门的MGR值置为空值)。
(3)创建一个年龄在50岁以上的职工视图,属性为(D,DNAME,E,ENAME,AGE,SALARY)。
第3题
第4题
第5题
设教学数据库中有三个基本表:
学生表S(SNO,SNAME,AGE,SEX),其属性分别表示学号、学生姓名、年龄、性别。
课程表C(CNO,CNAME,TEACHER),其属性分别表示课程号、课程名、上课教师名。
选修表SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。
请完成下列问题:
(1)写出查询张三同学没有选修的课程的课程号的SQL查询语句;
(2)用等价的关系代数表达式表示上述SQL查询语句。
第6题
第7题
第8题
设职工一社团数据库有三个基本表:
职工(职工号,姓名,年龄,性别);
社会团体(编号,名称,负责人,活动地点);
参加(职工号,编号,参加日期)。
其中:
1)职工表的主码为职工号。
2)社会团体表的主码为编号,外码为负责人,被参照表为职工表,对应属性为职工号。
3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。
试用SQL语句表达下列操作:
1)定义职工表、社会团体表和参加表,并说明其主码和参照关系。
2)建立下列两个视图。
社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);
参加人情况(职工号,姓名,社团编号,社团名称,参加日期)
3)查找没有参加任何团体的职工情况。
4)查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。
5)把对社会团体和参加两个表的数据查看、插人和删除数据的权力赋给用户张三,并允许他将此权力授予其他用户。
第9题
第10题
设学生---社团数据库有三个基本表:
学生(学号,姓名,年龄,性别);
社团(编号,名称,负责人,办公地点);
参加(学号,编号,参加日期);
其中:
学生表的主码为学号;社团表的主码为编号;外码为负责人,被参照表为学生表,对应属性为学号;参加表的学号和编号为主码;学号为外码,其被参照表为职工表,对应属性为学号;编号为外码,其被参照表为社团表,对应属性为编号。
试用SQL语句表达下列操作。
(1)定义社团表,说明其主码和参照关系
(2)建立视图:社团负责人(社团编号,名称,负责人学号,负责人姓名,负责人性别);
(3)查询参加科协的学生学号、姓名和性别。
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!