数据库原理第三章作业
学号:20112730
姓名:陈佳宇
一. 简答题
1.简述表间数据完整性的实现方式?
⑴外键约束,即在从表上定义外键约束。
⑵利用触发器,即主表的触发器维护主表到从表方向的数据完整性,从表的触发器维护从表到主表方向的参照完整性。
2.简述主键约束的要求?
主键约束针对主键而言,并且值唯一,不能为空值。
3.简述唯一限制的要求?
唯一约束针对候选键而言,并且值唯一,允许有且只有一个空值。
4.SQL-92标准支持的完整性限制是否一定会在SQL SERVER中实现,举例说明?不一定。
比如SOL SERVER不支持“断言”,虽然SOL-92标准是支持的。
5.SQL SERVER中规则的目的?
指明表中某一列的取值范围。
6.SQL SERVER中在定义某些限制时,分列级与表级,其分类的原则是什么?列级方式是:在要定义约束的列本身定义完后,紧接其后定义其约束。
表级方式:表中所有的列都定义往后,再定义所要的约束。
7.简述外键约束限制定义的条件?
定义外键的列必须是另一个表中的主键或候选键。
8.一张表上可定义的触发器个数是多少个?
答:12个
9.关系代数的基本操作符?
selection(选择) :σ
projection(投影):π
union(并)
intersection(交)
difference(差)
cross-product(积)
10.关系代数中对结果有重复元组时,如何处理?
只保留其中一个,另外的被去掉。
11.简述联结的分类?
条件连接连接
自然连接
外连接:左外连接,右外连接,全外连接
12.简述关系运算的种类?
主要有两种,一:元组关系运算,二:域关系运算
二. 单项选择题
1. ( A )不是关系代数的基本操作。
ASelection BProjection CJoin DIntersection 2. ( C )用唯一限制来约束。
A主键B外键C候选键D简单键
3. ( B )与“列”不同义。
A字段B元组C域D属性
三. 判断题(正确打√,错误打×)
1. (√)关系代数中的改名操作既可用于改名也可用于存放临时关系模式结果。
2. (×)对主表,插入操作可能会违背参照完整性限制,但删除和更新不会。
3. (×)等连接是自然连接的特例.
4. (√)关系代数是与关系模型有关的查询语言。
四. 设有三个关系
S(Sid(学号),Sname(姓名),Age(年龄),Sex(性别))
SC(Sid(学号),Cid(课程号),Score(成绩))
C(Cid(课程号),Cname(课程名),Teacher(教师))
试用关系代数表达式表示下列查询语句,并且写出前四个的SQL查询语句:
①检索LIU老师所授课程的课程号和课程名。
表达式:πCid,Cname(σTeacher=’LIU’(C))
对应SQL:select Cid as 课程号,Cname as 课程名from C
Where Teacher=’LIU’.
②检索年龄大于23岁的男学生的学号和姓名。
表达式:πSid,Sname(σAge>23(S))
对应SQL:select Sid as 学号,Sname as 姓名from S
Where Age>23.
③检索学号为S3学生所学课程的课程名与任课教师名。
表达式:πCid,Teacher(σSid=S3(S C) C )。
对应SQL:select Cid 课程名,Teacher 任课教师名from SC,C
Where SC.Sid=S3 and SC.Cid=C.Cid
④检索至少选修LIU老师所授课程中一门课的女学生姓名。
表达式:πSname (σTeacher=LIU(S C)σSex=’女’(S)C)。
⑤检索W ANG同学不学的课程的课程号。
表达式:πCid(SC-(σSname=’WANG’(S)SC))
⑥检索至少选修两门课的学生学号。
表达式:p(temp1,πCid,Sid,Sname(S SC))
P(temp2(1→sid1,2→Sname,3→Cid1,4→Sid2,5→Sname2,6→Cid2),temp1×temp1)
π,Sname1(σSid1=Sid2^Cid1≠Cid2(temp2))
⑦检索全部学生都选修的课程的课程号与课程名。
表达式:πCid,Cname(πCid,Sid(SC)/πCid(C)S)
⑧检索选修课程包含LIU老师所授全部课程的学生学号。