数据库课后答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P90
一、简答题
1.名词解释
( 1 ) 实体,实体型,属性,键,联系,联系型,二元联系和三元联系;(P55-58)实体:是现实世界或客观世界中有别于其他对象的对象
实体型:是同类实体的集合
属性:是实体型的特征或者性质
键:具有唯一标识的一个或一组属性
联系:是两个或多个的实体间的关联
联系型:相似的一组联系
二元联系:两个实体间的联系
三元联系:三个实体间的联系
( 2 ) 1:1联系型,1:n联系型和m:n联系型;P59
设联系型R关联实体A和B,如果A中的一个实体只与B中的一个实体关联,反过来,B中的一个实体也只与A中的一个实体关联,称R为一对一联系型。
( 3 ) 键约束和参与约束。P61-62
键约束:一个联系R的实例中,一个关联的实体A最多只出现在一个联系实例中;
参与约束:是实体和联系之间的约束,即实体型中的实体如何参与到联系中。
( 4 ) 子类,超类,演绎,归纳和聚集;P67-69
将实体分成子类,最上层为超类,下层即为子类;
先定义子类,再定义超类,特殊到一般的方法为归纳
先定义超类,再定义子类,一般到特殊的方法为演绎
将联系和该联系所关联的实体一起作为一个高层实体来对待,该高层实体就是聚集2.简述属性按结构的分类,以及按取值的分类。P55
按结构分:简单属性、复合属性、子属性
按取值分:单值属性、多值属性、导出属性、空值属性
3.一般情况下,联系用什么来唯一标识?P57
由所参与实体的键共同唯一确定
4.在开发较大型的数据库应用系统中,为什么会涉及到多种数据模型?P53
因为目前商用化DBMS没有一个能够同时满足3项要求,为此,人们不得不走折中路线,设计一些中间的数据模型。
P153
4、SQL-92标准支持的完整性约束是否一定会在SQL Server中实现?举例说明。P99
不一定,例如:断言是SQL-92标准支持的,但SQL Server 就不支持断言;触发器是SQL-92标准不支持的,但SQL Server 支持断言;
5、SQL Server中规则的目的。P103
当该列值变化时,RDBMS将检查变化的值是否在该规则规定的范围内,如是的,则接受新列值,否则,拒绝该列值,并返回该列值违反的规则名称及相关信息。
6、SQL Server中在定义某些约束时分列级与表级,其分类的原则是什么?
针对的是表中的一列还是多列
7、简述外键约束定义的条件。P106-107
定义外键约束的列,必须是另一个表中的主键或者候选键
8、一张表上可定义的触发器个数是多少?P109
主表只需2个触发器:‘删除’和‘修改’触发器
从表也只需2个触发器:‘插入’和‘修改’触发器
9、简述关系代数的基本操作符。P132
SELECTION(选择),PROJECTION(投影),UNION(并或者联合),INTERSECTION(交), DIFFERENCE(差),CROSS PRODUCT(积)
10、关系代数中对结果有重复元组时,如何处理?P134
去掉重复元组,SQL中用DISTINCT
11、简述联结的分类。P137
条件联结(condition join)、等联结(equijoin)
自然联结(natural join)、外联结(outer join)
12、简述关系运算的种类。P148
TRC(tuple relational calculus)元组关系运算
DRC(domain relational calculus)域关系运算
四、设有如下3个关系:
S(Sid(学号),Sname(姓名),Age(年龄),Sex(性别))
SC(Sid(学号),Cid(课程号),Score(成绩))
C(Cid(课程号),Cname(课程名),Teacher(教师))
试用关系代数式表达下列查询,并且写出前4个的SQL查询语句:
1、检索LIU老师所授课程的课程号和课程名。
select Cid, Cname from C where Teacher = ‘LIU’
2、检索年龄大于23岁的男学生的学号和姓名。
select Sid, Sname from S where Age>23 and Sex =‘male’
3、检索学号为S3学生所学课程的课程名与任课教师名。
select C. Cname, C. Teacher from C,SC where C.Cid = SC.Cid and S.Sid = ‘S3’
4、检索至少选修LIU老师所授课程中一门课的女学生的姓名。
select Sname from S where Sid in (select Sid from SC where Cid in (select Cid from C whereTeacher=‘LIU’))
S(Sid(学号),Sname(姓名),Age(年龄),Sex(性别))
SC(Sid(学号),Cid(课程号),Score(成绩))
C(Cid(课程号),Cname(课程名),Teacher(教师))
P215
1、简述SQL语言的使用方式。P13
一般有两种方式:SQL的交互式使用;用户通过开发应用系统与RDBMS交互。
2、完整的SQL包括哪三个子语言分类?P157
数据定义子语言(DDL)、数据操纵子语言(DML)、数据控制子语言(DCL)
3、简述SQL语言中定义的数据库与第一章中的数据库概念之异同。P159
SQL语言定义的是指存储空间,用于存放相关数据集合,这个是理论概念具体化,与第1章的应用概念上的有差别
4、简述标准的SQL语言与实际数据库产品中的SQL数据库语言的关系。P157-158
绝大多数RDBMS产品不是完全支持SQL-92标准的;
RDBMS产品的SQL语言,也有可能是SQL-92中所没有的功能或特性。
5、SQL语言对数据库对象的定义使用哪3个SQL命令关键字?P158
CREATE(创建),DROP(删除),ALTER(修改)
6、简述定义索引的目的。P166-167
利用索引,系统可以较快地在磁盘上定位所需数据,从而加快了数据查询速度。
8、简述T-SQL中游标的作用。P191
既为SQL Server 的存储过程、触发器和函数提供了按行处理查询结果集合的途径,也为高级编程语言提供了按行处理查询结果集合的途径。
9、简述T-SQL中存储过程的好处。P194
1)执行速度快
2)可用于实现经常使用的数据操作
3)实现较复杂的完整性约束
4)可在程序中被反复调用,有助于程序的模块化
5)有助于提供安全性
6)实现复杂、敏感事务的自动化
7)减少网络流量