收藏 分销(赏)

数据库期末考试模拟试题(三).doc

上传人:w****g 文档编号:2228212 上传时间:2024-05-23 格式:DOC 页数:3 大小:59.27KB 下载积分:5 金币
下载 相关 举报
数据库期末考试模拟试题(三).doc_第1页
第1页 / 共3页
数据库期末考试模拟试题(三).doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
浙江万里学院 学年第 学期 《 数据库原理 》试卷(3)卷 标准答案 装 订 线 专业: 计算机科学技术 层次:本科 年级: 命题教师:杨爱民 一、单项选择题(本大题共10小题,每小题2分,共20分) 1 在客户机/服务器体系结构的DBS中,数据库功能分为前端和后端两部分,下列功能属于后端的是 ( B )   A).用户界面            B). 存取结构  C).数据输入         D). 报表输出 2.  实体集书店与图书之间具有( B )联系。 A) 一对一 B) 一对多 C) 多对多 D)多对一 3.  现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主码是( A ) A) 患者编号,医生编号,诊断日期 B)医生编号 C)诊断日期 D)患者编号 4.  任何一个三目关系都属于( A ) A )1NF B) 3NF C) BCNF D) 4NF 5.  相对于关系模型,层次数据模型的缺点之一是( A ) A) 数据维护困难 B) 数据结构复杂 C )数据独立性高 D )有严格的数学基础 6.  现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位) 医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是( A ) A) 患者编号 B) 患者姓名 C) 患者编号和患者姓名 D)医生编号和患者编号 7. 班长和学生是什么关系( B ) A)1:1 B)1:M C)M:N D)都不是 8.下面哪种数据模型只有一个根结点( B ) A)概念 B)层次 C)关系 D)网状 9.哪种模式不是数据库的模式( C ) A)模式 B)外模式 C)映像模式 D)内模式 10.视图定义是( D ) A)一个基表中导出的基表 B)一个基表中导出的虚表 C)一个或几个基表或视较中导出的基表 D)一个或几个基表或视较中导出的虚表 二、名词解释(本大题共5个小题,每小题3分,共15分) 实体、实体型、实体集、属性、码 1.答 ①实体:现实世界中存在的可以相互区分的事物或概念称为实体。例如,一个学生、一个工人、一台机器、一部汽车等是具体的事物实体,一门课、一个班级等称为概念实体。 ②实体型:现实世界中,对具有相同性质、服从相同规则的一类事物(或概念,即实体)的抽象称为实体型。实体型是实体集数据化的结果,实体型中的每一个具体的事物(实体)为它的实例。 ③实体集:具有相同特征或能用同样特征描述的实体的集合称为实体集。例如,学生、工人、汽车等都是实体集。 ④属性:属性为实体的某一方面特征的抽象表示。如学生,可以通过学生的“姓名”、“学号”、“性别”、“年龄”及“政治面貌”等特征来描述,此时,“姓名”、“学号”、“性别”、“年龄”及“政治面貌”等就是学生的属性。 ⑤码:码也称关键字,它能够惟一标识一个实体。例如,在学生的属性集中,学号确定后,学生的其他属性值也都确定了,学生记录也就确定了,由于学号可以惟一地标识一个学生,所以学号为码。 三、填空题(本大题共5个空,每空1分,共5分)    1. 标准的数据库三级模式是概念模式、内模式和(外模式)。 2. 在SQL中,用MODIFY命令可以修改表中的数据,用(ALTER)命令可以修改表的结构。 3. 在ER图中,矩形框表示(实体)。 4. 在SQL查询时,如果需要去掉查询结果中的重复组,应使用(DISTINCT)。  5. 封锁一般分为两种排他型封锁,X封锁和(共享型封锁,S封锁)  四、简答题(本大题共3小题,1-2小题6分,3小题8分,共20分)   1.试给出三个实际部门的E-R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系。 图5-2中:一个部门有一个负责人,一个负责人负责一个部门的工作,部门和负责人间的联系是一对一的联系:一个学生可以借阅多本书,一本书只能一个人借,学生和借阅间的联系为一对多的联系;一个学生可以参加多个社会团体,一个社会团体有多个学生参加,学生和社会团体间的联系为多对多的联系。     部门 学生 学生   参加 1 1 n 负责   借阅     1 n m 社团 图书 负责人 0     图5-2 三个部门的E-R图 2.试述数据设计过程 答: 数据库设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。各阶段的主要内容为: 3.  .下面的结论哪些是正确的?哪些是错误的?对于错误的请给出一个反例说明。 1)任何一个二目关系是属于3NF的。 2)任何一个二目关系是属于BCNF的。 3)任何一个二目关系是属于4NF的。 4)当且仅当函数依赖A→B在R上成立,关系R(A,B,C)等于投影R1(A,B)和R2(A,C)的连接。 5)若R.A→R.B,R.B→R.C,则R.A→R.C。 6)若R.A→R.B,R.A→R.C,则R.A→R.(B,C)。 7)若R.B→R.A,R.C→R.A,则R.(B,C) →R.A。 8)若R.(B,C) →R.A,则R.B→R.A,R.C→R.A。 12答: 1) 正确。 2) 正确。 3) 正确。 4) 不正确。 5) 正确。 6) 正确。 7) 正确。 8) 不正确。 五.应用题:设职工---社团数据库有三个基本表: 职工(职工号,姓名,年龄,性别); 社会团体(编号,名称,负责人,活动地点); 参加(职工号,编号,参加日期); 其中: 1)职工表的主码为职工号。 2)社会团体表的主码为编号;外码为负责人,被参照表为职工表,对应属性为职工号。 3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。试用SQL语句表达下列操作: (每小题4分共40分) 1)定义职工表、社会团体表和参加表,并说明其主码和参照关系。 2)建立下列两个视图。 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别); 参加人情况(职工号,姓名,社团编号,社团名称,参加日期) 3)查找参加唱歌队或篮球队的职工号和姓名。 4)查找没有参加任何团体的职工情况。 5)查找参加了全部社会团体的职工情况。 6)  查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。 7)  求每个社会团体的参加人数。 8)  求参加人数最多的社会团体的名称和参加人数。 9)  求参加人数超过100人的社会团体的名称和负责人。 10)把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户李平,并允许他将此权力授予其他用户。 答: 1)  CREAT TABLE 职工(职工号 CHAR(10)NOT NULL UNIQUE,              姓名 CHAR(8)NOT NULL,              年龄 SMALLINT,              性别 CHAR(2),      CONSTRAINT C1 CHECK(性别IN(‘男’,‘女’)));  CREAT TABLE 社会团体(编号 CHAR(8)NOT NULL UNIQUE,  名称 CHAR(12)NOT NULL, 负责人 CHAR(8), 活动地点 VARCHAR(50), CONSTRAINT C2 FOREIGN KEY(负责人)REFERENCES职工 (职工号)); CREAT TABLE 参加(职工号 CHAR(8), 编号 CHAR(8), 参加日期 DATA, CONSTRAINT C3 PRIMARY KEY(职工号,编号), CONSTRAIN C3 FOREIGN KEY(职工号)REFERENCES职工(职工号)); 2)CREAT VIEW 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别) AS  SELECT 编号,名称,负责人,姓名,性别 FROM 社会团体,职工 WHERE 社会团体.负责人=职工.职工号; CREAT VIEW参加人情况(职工号,姓名,社团编号,参加日期) AS SELECT参加.职员号,姓名,社会团体.编号,名称,参加日期 FROM 职工,社会团体,参加 WHERE 职工.职工号=参加.职工号AND 参加.编号=社会团体.编号; 3) SELECT 职工号,姓名      FROM 职工,社会团体,参加      WHERE 职工.职工号=参加.职工号 AND 参加.编号=社会团体.编号 AND 社会团体.名称 IN(‘唱歌队’,‘篮球队’);      4)SELECT*  FROM 职工 WHERE NOT EXISTS(SELECT*             FORM 参加             WHERE 参加.职工号=职工.职工号);   5) SELECT* FROM 职工 WHERE NOT EXISTS(SELECT* FROM 参加 WHERE NOT EXISTS (SELECT* FROM 社会团体 WHERE参加.职工号=职工.职工号 AND 参加.编号=社会团体.编));      6) SELECT 职工号 FROM 职工 WHERE NOT EXISTS(SELECT* FROM 参加 参加1            WHERE 参加1.职工号=‘1001’AND NOT EXISTS                 (SELECT*   FROM 参加 参加2       WHERE 参加2.编号=参加1.编号 AND 参加2.职工号=职工.职工号));  7)  SELECT COUNT(职员号)    FROM 参加    GROUP BY 编号; 8) SELECT 社会团体.名称,COUNT(参加.职工号)   FROM 社会团体 参加     WHERE 社会团体.编号=参加.编号    GROUP BY 参加编号    HAVING MAX (COUNT(参加.职工号))=COUNT(参加.职工号)); 9) SELECT 社会团体.名称,职工.姓名  FROM 职工,社会团体,参加   WHERE 社会团体.编号=参加.编号 AND 社会团体.负责人=职工.职工号   GROUP BY 参加.编号 HAVING COUNT(参加.编号)>100; 10)        GRANT SELECT,INSERT,DELECT ON 社会团体,参加 TO 李平 WHERE GRANT OPTION; 学年第 学期 专业计算机科学技术 年级 本科 《 数据库原理 》试卷 卷答案 第 3 页 共 3 页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服