2015计算机三级数据库技术练习题和答案(2)
8[填空题]在SQL Server 2008中,只具有修改数据库中全部用户表数据权限的系统角色是【9】。
参考解析:
db_datawriter
【解析】数据库角色是被命名的一组与数据库操作的相关的权限,角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。SQL提供了9个内置的角色,以便在数据库级别授予用户特殊的权限集合,如下表:db OWIler具有在数据库中执行任何操作的权限,包括配置、维护数据库及删除数据库
db accessadmin该角色的成员可以从数据库中增加或者删除用户的权限
db_backupoperator该角色的成员允许备份数据库、备份日志的权限
db_datareader具有查询数据库中所有用户数据的权限
db_datawriter具有插入、删除和更新数据库中所有用户的权限
db_ddladmin具有执行数据定义语言的权限
db_denydatareader不允许具有查询数据库中所有用户数据的权限
db_denydatawriter不具有插入、删除和修改数据库中所有用户数据的权限
db_securityadmin具有管理数据库角色、角色成员以及数据库中语句和对象的权限
public默认角色
9[简答题]设某教学管理系统,其查询模块需要提供如下功能:
Ⅰ.查询系信息,列出各系编号、系名和系办公电话;
Ⅱ.查询某系教师的信息,列出教师号、教师名、工资和聘用日期;
Ⅲ.查询某教师讲授的课程信息,列出课程号、课程名和学分;
Ⅳ.查询讲授某门课程的教师信息,列出教师名和职称;
V.查询某门课程的先修课程信息,列出先修课程号和先修课程名。
系统有如下业务规则:
Ⅰ.一个系可聘用多名教师,一名教师只能受聘于一个系;
Ⅱ.一名教师可讲授多门课程,一门课程可由多名教师讲授;
Ⅲ.一门课程可以有多门先修课程,也可以没有先修课程。
(1)请根据以上查询功能与业务规则,用ER图描述该系统的概念模型。
(2)将ER图转换为满足3NF的关系模式,并说明每个关系模式的主码和外码。
参考解析:
(1)E-R图也称实体一联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。为了简化E-R图的处置,现实世界的事物能作为属性对待的则尽量作为属性对待。实体与属性的划分给出如下两条规则:①作为“属性”,不能再具有需要描述的性质,“属性”必须是不可分的数据项,不能包含其它属性。②“属性”不能与其它实体有联系,即E-R图中所表示的联系是实体之问的联系。本题中一个系可以聘用多名教师,一名教师只能受聘于一个系,所以系实体与教师实体有联系;一名教师可以讲授多门课程,一门课程可由多名教师讲授,所以教师实体与课程实体有联系,一门课程可以有多门先修课程,所以课程间也有联系。
【参考答案】
(2)要想使转换生成的关系模式满足3NF,则必须满足关系模式中每一个非主属性既不部分依赖于码也不传递依赖于码。
【参考答案】
系(系编号,系名,系办公电话),无外码
教师(教师号,教师名,工资,聘用日期,职称,系编号),外码:系编号
课程(课程号,课程名,学分,教师号),外码:教师号
先修(先修课程号,先修课程名,课程号),外码:课程号
10[简答题]设有高校选课系统,需要对学校的系信息、教师信息、课程信息、学生信息、学生选课信息进行管理。已知系(DEPT)信息包括系编号(DeptNO)、系名称(DeptName);教师(Teacher)信息包括教师号(TNO)、教师名(Tname);课程(Course)信息包括课程号(CNO)、课程名(CName)、课程学分(Credit);学生(Student)信息包括学号(SNO)、学生姓名(Sname)、学生性别(Sex)。
选课系统的管理规则如下:
Ⅰ.一个系可聘用多名教师,一个教师只受聘于一个系;
Ⅱ.一个系可有多名学生,一个学生只属于一个系;
Ⅲ.一名教师可讲授多门课程,一门课程可由多名教师讲授;
Ⅳ.一名学生可选修多门课程,一门课程可被多名学生选修;
V.学生选修完课程后,可获得相应课程的成绩。
针对以上描述,完成下列设计内容:
(1)构建选修课系统的ER图。(要求图中的实体集名用试卷中给出的英文名,联系所关联的实体集名的首字母,字母问用“一”或“_”连接,大小写不限)。
(2)根据所构建的ER图,设计满足3NF的关系模式,并标出每个关系模式的主码和外码。(要求关系模式名同实体集名或联系名,属性名用试卷中给出的英文名,大小写不限)
参考解析:
【解题思路】
(1)ER图的画法
建立相应的ER图的过程如下:
第一,确定实体类型。本题有四个实体类型,即Teacher实体,Course实体,Student实体和DEPT实体。
第二,确定联系类型。Teacher实体与Course实体之间是多对多关系,即T-C关系,Student实体与Course实体之间是多对多关系,即S-C关系。DEPT实体与Teacher实体之间是一对多关系,即D-T关系。DEPT实体与Student实体之间是一对多关系,即D-S关系。
第三,把实体类型和联系类型组合成ER图。
第四,确定实体类型和联系类型的属性。
Teacher实体集属性:教师号、教师名
Course实体集属性:课程号、课程名、课程学分
Student实体集属性:学号、学生姓名、学生性别
DEPT实体集属性:系编号、系名称
(2)ER模型转换为关系模式的规则
①把ER模型中的每一个实体集转换为同名的关系,实体集的属性就是关系的属性,实体集的码就是关系的码。
②把ER模型中的每一个联系转换成一个关系,与该联系相连的各实体集的码以及联系的属性转换为关系的属性。关系的码根据下列情况确定。
若联系为1:1,则每个实体集码均是该关系的候选码。
若联系为1:n,则关系的码为n端实体集的码。
若联系为m:n,则为各实体集码的组合或其中一部分实体集码的组合。
③合并具有相同码的关系。根据规则,把一个ER模型转换为关系模式,一般经历下面两个步骤:
第一,标识ER模型中的联系。
第二,依次转换与每个联系相关联的实体集及联系。
【参考答案】
ER图如下所示:
设计3NF,如下:
DEFY(DeptNO,DeptName),主码:DeptNO,无外码
Teacher(TNO,TName,DeptNO),主码TNO,外码DeptNO
Student(SNO,SName,Sex,DeptNO),主码SNO,外码DeptNO
Course(CNO,CName,Credit),主码CNO,无外码
T-C(TNO,CNO),主码(TNO,CNO),外码TNO,CNO
S-C(SNO,CNO,成绩),主码(SNO,CNO),外码SNO,CNO