收藏 分销(赏)

华东师大数据库系统概论作业.doc

上传人:天**** 文档编号:4916272 上传时间:2024-10-20 格式:DOC 页数:25 大小:531.50KB
下载 相关 举报
华东师大数据库系统概论作业.doc_第1页
第1页 / 共25页
华东师大数据库系统概论作业.doc_第2页
第2页 / 共25页
华东师大数据库系统概论作业.doc_第3页
第3页 / 共25页
华东师大数据库系统概论作业.doc_第4页
第4页 / 共25页
华东师大数据库系统概论作业.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、数据库系统概论作业第一章 概述1. 层次模型的数据结构是_树形_结构;网状模型的数据结构是 网状 结构;关系模型的数据结构是_二维表_结构。2数据库系统具有“数据独立性”特点的原因是因为在数据库系统中( B )(A)、采用磁盘作为外存(B)、采用三级模式结构(C)、使用OS来访问数据(D)、用宿主语言编写应用程序3. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是( A )。 (A)、 DBS包括DB和DBMS (B)、 DBMS包括DB和DBS(C)、 DB包括DBS和DBMS(D)、 DBS就是DB,也就是DBMS4数据库系统的数据独立性体现在( B )

2、(A)、不会因为数据的变化而影响到应用程序 (B)、不会因为系统数据存储结构和数据逻辑结构的变化而影响应用程序 (C)、不会因为存储策略的变化而影响存储结构 (D)、不会因为某些存储结构的变化而影响其他的存储结构5要保证数据库的数据独立性,需要修改的是( A ) (A)、模式与外模式 (B)、模式与内模式 (C)、三层之间的两种映射 (D)、三层模式6下述( D )不是DBA(数据库管理员)的职责。(A)、完整性约束说明 (B)、定义数据库模式(C)、数据库安全 (D)、数据库管理系统设计7( B )是按照一定的数据模型组织的,长期储存在计算机内,可为多个用户共享的数据的集合。 (A)、数据库

3、系统 (B)、数据库 (C)、关系数据库 (D)、数据库管理系统 8数据模型的三要素是( D )。(A)、外模式、模式、内模式 (B)、关系模型、层次模型、网状模型(C)、实体、联系、属性(D) 、数据结构、数据操作、完整性约束9. 简述数据库系统的主要特点。(1)、数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。(2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。(4)数据由DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同

4、时存取数据库中的数据甚至可以同时存取数据库中同一个数据。10.简述数据库系统的三级模式和两级映像。答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。(2分)模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式实际上是数据库数据在逻辑级上的视图,一个数据库只有一个模式,数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。(1分)外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有

5、关的数据购逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。(1分)内模式也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。第二章关系数据库1. 设有如下图所示的关系R,W和D:计算下列代数表达式的结果:(1)R1=Y,T(R) (2)R2=p5T=e(R) (3)R3=(RW)(4)R4=RD2、 设有如下图所示的关系S,SC,C:关系SS#SNAMEAGESEX1李强23男2刘丽22女3张友22男关系CC#CNAMETEACHERK1C语言王华K5数据库原理程军K8编译原理程军关系SCS#C#GRADE1K1832K1853

6、K1922K5903K5843K880请用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。(2)检索“李强”同学不学课程的课程号。(3)检索既选修了K1课程,也选修了K5课程的学生学号(S#)。(4)检索选修了课程表中的全部课程的学生姓名(SNAME)。(5)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。3在关系中,“元数”(arity)是指( 列数 )(A)行数 (B)元组个数 (C)关系个数 (D)属性个数4在关系中,“基数”(cardinality)是指( 行数 )(A)列数 (B)元组个数 (C)关系个数 (D)

7、属性个数ij5设W = R S,且W、R、S的元组个数分别为p、m、n,那么三者之间满足( D)(A)p(m+n) (B)p(m+n) (C)p(mn) (D)p(mn)6下列式子中,不正确的是( D )(A)RS=R(RS)(B)R=(RS)(RS)(C)RS=S(SR)(D)RS = S(RS)7如果两个关系没有公共属性,那么其自然联接操作( A )(A)转化为笛卡尔积操作(B)转化为联接操作(C)转化为外部并操作(D)结果为空关系8.一个关系只有一个( D)(A)、候选码(B)、外码(C)、超码 (D)、主码9.下面的选项不是关系的基本特征(A)(A)、不同的列有不同的数据类型(B)、不

8、同的列有不同的列名(C)、与行的次序无关(D)、与列的次序无关第三章 SQL语言有两个基本表:表EMP(ENO,ENAME,SALARY,DNO)其属性分别表示职工的工号、姓名、工资和所在部门的编号表DEPT(DNO,DNAME)其属性分别表示部门的编号和部门名1. 有一SQL语句:SELECT DNO,COUNT(DISTINCT ENO)FROM EMP GROUP BYDNO; 该SQL语句实现了以下哪个功能?( C )(A)统计职工的总人数(B)统计每一部门的职工人数(C)统计职工服务的部门数目(D)统计每一职工服务的部门数目2有一个SQL语句: SELECT ENO,ENAME FR

9、OM EMP WHERE DNO NOT IN(SELECT DNO FROM DEPT WHERE DNAME=金工车间;其等价的关系代数表达式是:( C )(A)ENO,ENAME(DNAME 金工车间(EMPDEPT)DNAME金工车间(B)ENO,ENAME(EMP DEPT)(C)ENO,ENAME(EMP)ENO,ENAME(DNAME=金工车间(EMPDEPT)(D)ENO,ENAME(EMP)ENO,ENAME(DNAME金工车间(EMPDEPT)3有一个SQL语句:UPDATE EMPSET SALARY=SALARY*1.05WHERE DNO=D6AND SALARY(S

10、ELECT AVG(SALARY)FROM EMP);其等价的修改语句为( C )(A)为工资低于D6部门平均工资的所有职工加薪5%(B)为工资低于整个企业平均工资的职工加薪5%(C)为在D6部门工作、工资低于整个企业平均工资的职工加薪5%(D)为在D6部门工作、工资低于本部门平均工资的职工加薪5%4SQL中,谓词EXISTS可用来测试一个集合是否( C )(A)有重复元组(B)有重复的列名(C)为非空集合(D)有空值5SQL中,与“NOT IN”等价的操作符是( B )(A)=SOME (B)SOME (C)=ALL (D)ALL6. 下列关于索引的叙述,正确的是( A )。(A)、可以根据

11、需要在基本表上建立一个或多个索引,从而提高系统的查询效率。(B)、一个基本表最多只能有一个索引。(C)、建立索引的目的是为了给数据表中的元素指定别名,从而使别的表也可以引用这个元素。(D)、一个基本表至少要存在一个索引。7. 下面列出的关于视图的条目中,不正确的是( C )。(A)、视图是外模式(B)、视图是虚表(C)、使用视图可以加快查询语句的执行速度(D)、使用视图可以简化查询语句的编写8. 设数据库中有三个关系:职工表EMP(E#,ENAME,AGE,SEX,ECITY),其属性分别表示职工工号、姓名、年龄、性别和籍贯。工作表WORKS(E#,C#,SALARY),其属性分别表示职工工号

12、、工作的公司编号和工资。公司表COMP(C#,CNAME,CITY),其属性分别表示公司编号、公司名称和公司所在城市。请写出完成下列操作的SQL语句: 用CREATE TABLE语句创建上述三个表,需定义出各表的主键和外键。 检索超过50岁的男职工的工号和姓名。 假设每个职工只能在一个公司工作,检索工资超过1000元的男性职工工号和姓名。 假设每个职工可在多个公司工作,检索在编号为C4和C8公司兼职的职工工号和姓名。 检索在“联华公司”工作、工资超过1000元的男性职工的工号和姓名。 假设每个职工可在多个公司工作,检索每个职工的兼职公司数目和工资总数,查询结果显示为(E#,NUM,SUM_SA

13、LARY),分别表示工号、兼职的公司数目和工资总数。 工号为E6的职工在多个公司工作,试检索至少在E6职工兼职的所有公司工作的职工工号。 检索联华公司中低于本公司平均工资的职工工号和姓名。 在每一公司中为50岁以上职工加薪100元(若职工为多个公司工作,可重复加)。 在EMP表和WORKS表中删除年龄大于60岁的职工有关元组。解:CREATETABLEEMP(E#CHAR(4)NOTNULL,ENAMECHAR(8)NOTNULL,AGESMALLINT,SEXCHAR(1),ECITYCHAR(20),PRIMARYKEY(E#);CREATETABLECOMP(C#CHAR(4)NOTNU

14、LL,CNAMECHAR(20)NOTNULL,CITYCHAR(20),PRIMARYKEY(C#);CREATETABLEWORKS(E#CHAR(4)NOTNULL,C#CHAR(4)NOTNULL,SALARYSMALLINT,PRIMARYKEY(E#,C#),FOREIGNKEY(E#)REFERENCESEMP(E#),FOREIGNKEY(C#)REFERENCESCOMP(C#);SELECTE#,ENAMEFROMEMPWHEREAGE50ANDSEX=M;SELECTEMP.E#,ENAMEFROMEMP,WORKSWHEREEMP.E#=WORKS.E#ANDSALAR

15、Y1000;SELECTA.E#,A.ENAMEFROMEMPA,WORKSB,WORKSCWHEREA.E#=B.E#ANDB.E#=C.E#ANDB.C#=C4ANDC.C#=C8;SELECTA.E#,A.ENAMEFROMEMPA,WORKSB,COMPCWHEREA.E#=B.E#ANDB.C#=C.C#ANDCNAME=联华公司ANDSALARY1000ANDSEX=M;SELECTE#,COUNT(C#)ASNUM,SUM(SALARY)ASSUM_SALARYFROMWORKSGROUPBYE#;SELECTX.E#FROMWORKSXWHERENOTEXISTS(SELECT

16、*FROMWORKSYWHEREE#=E6ANDNOTEXISTS(SELECT*FROMWORKSZWHEREZ.E#=X.E#ANDZ.C#=Y.C#);SELECTA.E#,A.ENAMEFROMEMPA,WORKSB,COMPCWHEREA.E#=B.E#ANDB.C#=C.C#ANDCNAME=联华公司ANDSALARY50);DELETEFROMWORKSWHEREE#IN(SELECTE#FROMEMPWHEREAGE60);DELETEFROMEMPWHEREAGE60; 第四章 数据库安全性1以下( D )不属于实现数据库安全性的主要技术和方法。 (A)、存取控制技术 (B)

17、、视图技术 (C)、审计技术 (D)、出入机房登记和加锁2把对关系SC的GRADE属性的修改权授予用户ZHAO的SQL语句是( C )。 (A)、GRANT GRADE ON SCTO ZHAO (B)、GRANT UPDATE ON SC TO ZHAO (C)、GRANT UPDATE(GRADE) ON SC TO ZHAO(D)、GRANT UPDATE ON SC(GRADE) TO ZHAO3保护数据库、防止未经授权的或不合法的使用造成的数据泄露、更改破坏。这是数据库的( A )。(A)、安全性 (B)、完整性 (C) 、并发控制 (D)、恢复4今有两个关系模式:(1)职工(职工号

18、,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门号为外码; (2)部门(部门号,名称,经理名,地址,电话),其中部门号是主码; 请用SQL语言的GRANT语句(加上视图机制)完成以下授权定义: 用户杨兰具有SELECT每个部门的职工最高工资,最低工资,平均工资的权力,但他不能查看每个人的工资。CREATEVIEW部门工资AS SELECT部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM职工,部门 WHERE职工.部门号=部门.部门号 GROUPBY职工.部门号 GRANTSELECTON部门工资 TO杨兰;第五章 数据库完整性1关于主码约束以下说法错误的是( C

19、) A一个表中只能设置一个主码约束 B允许空值的字段上不能定义主码约束 C允许空值的字段上可以定义主码约束 D可以将包含多个字段的字段组合设置为主码 2在SQL Server中,可以使用( C )语句创建存储过程。ACreate Trigger BInstall ProcedureCCreate Procedure DCreate View3SQL Server为每个触发器创建了两个临时表,它们是( B )。AUpdated和Deleted BInserted 和Deleted CInserted 和Updated DSeleted和Inserted 4设有供应商关系S和零件关系P,如下图所示

20、,S和P的主码分别是“供应商号”和“零件号”,P的外码是“供应商号”。 分析下列4个操作能否被正确执行,并说明理由。 (1)在P中插入元组(P2,白,A2) (2)在P中插入元组(NULL,绿,A1) (3)在P中插入元组(P4,白,A5) (4)在P中插入元组(P4,绿,A2)(1)不能正确执行,插入操作破坏了实体完整性约束,待插入的元组的“零件号”属性值“P2”,在P表中已经存在。“零件号”作为主键,其值不能重复,必须唯一。(2)不能正确执行,插入操作破坏了实体完整性约束,待插入的元组的“零件号”属性值为空,“零件号”作为主属性,其值不能为空。(3)不能正确执行,插入操作破坏参照完整性约束

21、,待插入的元组的“供应商号”属性值“A5”,在S中找不到没有相应的主键值。(4)能正确执行,因为满足数据库的实体完整性和参照完整性。5假设有下面两个关系模式: 职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门号为外码。 部门(部门号,名称,经理名,电话),其中部门号为主码,经理名为外码请用SQL语言定义这两个关系模式,要求在关系模式中完成以下完整性约束条件的定义:(1)定义每个模式的主码;(2)定义参照完整性;职工关系模式中的部门号属性参照部门关系模式中的主码部门号;部门关系模式中的经理名属性参照职工关系模式中的姓名属性。(3)定义职工年龄不超过60岁。答:CREATET

22、ABLEDEPT(DeptnoNUMBER(2), DeptnameVARCHAR(10), ManagerVARCHAR(10), PhoneNumberChar(12), CONSTRAINTPK_SCRIMARYKEY(Deptno) );CREATETABLEEMP(EmpnoNUMBER(4), EnameVARCHAR(10), AgeNUMBER(2) CONSTRAINTC1CHECK(Age日营业额职工编号-部门编号部门名-部门经理R的关键码为(职工编号,日期)(2)R中有两个这样的FD:(职工编号,日期)-(部门名,部门经理)职工编号-(部门名,部门经理)可见前一个FD是部

23、分依赖,关系模式中存在非主属性对码的部分函数依赖,所以R不是2NF模式。R应分解成R1(职工编号,部门名,部门经理)R2(职工编号,日期,日营业额)此处,R1和R2都是2NF。(3)R2已是3NF模式。在R1中,存在两个FD:职工编号-部门名部门名-部门经理因此,“职工编号-部门经理”是一个传递依赖,R1不是3NF模式。R1应分解成R11(职工编号,部门名)R12(部门名,部门经理)这样,=(R11,R12,R2)是一个3NF模式集第七章 数据库设计1. 数据库设计中,将E-R图转换成关系数据模型的过程属于( B ) (A)、需求分析阶段 (B)、逻辑设计阶段 (C)、概念设计阶段 (D)、物

24、理设计阶段2. 数据库设计的概念设计阶段,表示概念结构的常用方法和描述工具是( C )。 (A)、层次分析法和层次结构图 (B)、数据流程分析法和数据流程图 (C)、实体联系法和实体联系图 (D)、结构分析法和模块结构图3. 在E-R模型向关系模型转换时,M:N的联系转换为关系模式时,其关键字是( C )。 (A)、M端实体的关键字 (B)、N端实体的关键字 (C)、M,N端实体的关键字组合 (D)、重新选取其他属性4. 在E-R模型中,如果有3个不同的实体集,3个M:N联系,根据E-R模型转换为关系模型的规则,转换为关系的数目是( C )。(A)、4 (B)、5 (C)、6 (D)、75.

25、进行数据库系统需求分析时,数据字典的内容和作用是什么?答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括: ( l )数据项; ( 2 )数据结构; ( 3 )数据流; ( 4 )数据存储; ( 5 )处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储 的逻辑内容。数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充 实、完盖。6设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;

26、二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。(1) 试画出E-R图,并在图上注明属性、联系的类型。(2) 将E-R图转换成关系模型,并注明主键和外键。第八章 数据库编程1 SQL的集合处理方式与宿主语言单记录处理方式之间如何协调?由于SQL语句处理的是记录集合,而宿主语言语句一次只能处理一个记录,因此需要用

27、游标(cousor)机制,把集合操作转换成单记录处理方式.2 SQL有两种使用方式:_ _交互式SQL _和_嵌入式SQL _。3 SQL语句嵌入在C语言程序中时,必须加上前缀标识_EXEC SQL_和结束标志_ END_EXEC_。4 有关嵌入式SQL的叙述,不正确的是( B )A宿主语言是指C一类高级程序设计语言B宿主语言是指SQL语言C在程序中要区分SQL语句和宿主语言语句DSQL有交互式和嵌入式两种使用方式5 嵌入式SQL实现时,采用预处理方式是( C )A把SQL语句和主语言语句区分开来B为SQL语句加前缀标识和结束标志C识别出SQL语句,并处理成函数调用形式D把SQL语句编译成二进

28、制码6 允许在嵌入的SQL语句中,引用宿主语言的程序变量,在引用时( C )A直接引用B这些变量前必须加符号“*”C这些变量前必须加符号“:”D这些变量前必须加符号“&”7 如果嵌入的SELECT语句的查询结果肯定是单元组,那么嵌入时( C )A肯定不涉及游标机制B必须使用游标机制C是否使用游标,由应用程序员决定D是否使用游标,与DBMS有关第九章 关系查询优化1为什么要对关系代数表达式进行优化?有哪三条启发式规则?对优化起什么作用? 关系代数表达式由关系代数操作组合而成。操作中,笛卡尔积和连接操作最费时。如果直接按表达式书写的顺序执行,必将花费很多时间,并生成大量的中间结果, 效率较低。如果

29、在执行前,由DBMS的查询子系统先对关系代数表达式进行优化,尽可能先执行选择和投影操作,则进行笛卡尔积或连接时可以减少中间结果,并 节省时间。 优化工作是由DBMS做的,用户在写关系代数表达式时不必关心优化一事,仍以简练的形式书写。 3条启发式优化规则是:尽可能早地执行选择运算,尽可能早地执行投影运算,把笛卡尔积与附近的一连串选择和投影合并起来做。 使用这3条启发式优化规则,可以使计算时尽可能减少中间关系的数据量。2假设教学数据库中有3个关系:S(S#,SNAME,AGE,SEX)C(C#,CNAME,TEACHER)SC(S#,C#,GRADE)其中:学生关系S的属性分别表示:学号、姓名、年

30、龄、性别 课程关系C的属性分别表示:课程号、课程名、任课教师 选修关系SC的属性分别表示:学号、课程号、分数 用户有一查询语句:检索女同学所选修的课程的课程名和任课教师。(1) 试写出该查询的关系代数表达式。(2) 画出查询表达式的语法树。(3) 使用启发式优化算法,对关系代数语法树进行优化,画出优化后的语法树。解:关系代数表达式为:CNAME,TEACHER(SEX=F(SSCCT)上述的关系代数表达式为:CNAME,TEACHER(SEX=F(L(S.S#=SC.S#SC.C#=C.C#(SSC)C)此处L为S、SC、C中全部属性(公共属性只取一次)。上述关系代数表达式的语法树如图2.2所

31、示。图2.2上述的关系代数表达式为:优化后的语法树如图2.3所示。图2.3第十章 数据库恢复技术1 数据库恢复的重要依据是( D )A数据库管理员 B数据字典C文档 D事务日志2 事务(transaction)是一个( C )A程序 B进程 C操作序列 D完整性规则3 一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列,这是事务的( A ) A. 原子性 B. 一致性 C. 独立性 D. 持久性4 在具有检查点的故障恢复技术中,下面哪个事务不需要REDO( A )。(A)、 T1 (B)、T2 (C)、T3 (D)、 T4Tc检查点Tf系统故障T

32、1T2T3T45 “检查点机制”的主要思想是什么?COMMIT语句与检查点时刻的操作如何协调?答:“检查点机制”的主要思想是在检查点时刻才真正做到把对DB的修改写到磁盘。在DB恢复时,只有那些在最后一个检查点到故障点之间还在执行的事务才需要恢复。事务在COMMIT时,事务对DB的更新已提交,但对DB的更新可能还留在内存的缓冲区,在检查点时刻才真正写到磁盘。因此事务的真正结束是在COMMIT后还要加上遇到检查点时刻。6 什么是UNDO操作和REDO操作?为什么要这样设置?答:undo操作是反向扫描日志文件,撤销对数据库的更新操作,使数据库恢复到更新前的状态;Redo操作正向扫描日志文件,重新做一

33、次更新,使数据库恢复到更新后的状态。第十一章 并发控制1 如果有n个事务串行调度,那么不同的有效调度有( D )An2 B2n C4n Dn!2 在事务依赖图中,如果两个事务的依赖关系形成一个循环,那么就会( B )A出现活锁现象B出现死锁现象C事务执行成功D事务执行失败3 如果事务T获得了数据项Q上的排他锁,则T对Q( C )A只能读不能写 B只能写不能读 C既可读又可写 D不能读也不能写4 设事务T1和T2对数据库中的数据A进行操作,可能有如下几种情况,请问哪一种不会发生冲突操作( D )A. T1正在写A,T2要读A B. T1正在写A,T2也要写AC. T1正在读A,T2要写AD. T1正在读A,T2也要读A5 试叙述“串行调度”与“可串行化调度”的区别。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服