南京工程学院 数据库复习(数据库系统概论复习 及 数据库原理与应用样题)

一.数据库系统概论

1.1

    百度文库 复习文档(需下载券)

《数据库系统概论》(王珊.第五版

第一章   绪论

本章内容:数据库系统概述、数据模型、数据库系统结构

本章主要考点: 数据、数据库、数据库管理系统的概念、概念模型、ER、三种数据模型、数据库的三级模式结构

1、试述数据、数据库、数据库系统、数据库管理系统的概念

1)数据(Data) :描述事物的符号记录称为数据。

2)数据库(Data Base ,简称 DB ):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。

3)数据库系统(Data Base System ,简称 DBS ) :数据库系统是指在计算机系统中 引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、 数据库管理员+用户构成。

4数据库管理系统DataBase Management System,简称 DBMS ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。

2对于DBDBSDBMS的关系,下列哪一种描述是正确的B

ADB包括DBSDBMS           BDBS包括DBDBMS

CDBMS包括DBSDB           D、以上都不对

3模型中术语实体属性、码、域、实体实体集

实体客观存并可以互区分事物叫

体所具的某一一个实体由若干属性来

惟一标识体的属集称为

域:域是一组具有相同数据类型的值的集合。

具有相同性的实具有相的特征和性质实体名其属性集合抽象和类实体实体型

实体集同型实、体的集合为实体

4目前数据库领域中最常用的逻辑数据模型有 层次模型、网状模型、关系模型 等。

5、数据库管理系统的主要功能有哪些?(冷叶顷)

1)数据库定义功能(2)数据存取功能(3)数据库运行管理(4)数据库的建立和维护功能。

★6、实体联系图(E— R图)

实体型:用矩形表示,矩形框内写明实体名;

属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;

联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(111nm:n)。

例:假设教学管理规定:

一个学生可选修多门课,一门课有若干学生选修;

一个教师可讲授多门课,一门课只有一个教师讲授;

一个学生选修一门课,仅有一个成绩。

学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型;

解:根据以上规则画出对于的E—R图如下

 

 

7、数据库系统的三级模式结构:

 

外模式:亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局 部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻 辑表示。

模式:亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。

内模式:亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。

数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

8对数据库中进行增加记录类型或增加数据项,通过调整下列哪一级映像,可以使应用程序尽可能保持不变,便达到了哪一种数据的独立性A

A、外模式/模式映像,逻辑数据独立性

B、外模式/模式映像,物理数据独立性

C、模式/内模式映像,逻辑数据独立性

D、模式/内模式映像,物理数据独立性

9据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是D

A.外模式    B.内模式    C.存储模式    D.模式       

10层次模型不能直接表示C

A1 1关系    B1 m关系       Cm n关系     D1 11 m关系   

第二章   关系数据库(重点

本章内容:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数 

本章主要考点:概念、关系的完整性★★关系代数

1关系数据库管理系统应能实现的专门关系运算包括B

A.排序、索引、统  B.选择、投影、连接  C.关联、更新、排序   D.显示、打印、制表

2自然连接是构成新关系的有效方法。一般情况下,当对关系RS使用自然连接时,要求R S含有一个或多个共有的D

    A.元组    B.行    C.记录    D.属性                     

3关系运算中花费时间可能最长的运算是C

A.投影    B.选择    C.笛卡尔积    D.除           

4关系模式的任何属性A

A.不可再分      B.可再分    C.命名在该关系模式中可以不惟一    D.以上都不是    

5在关系代数运算中,五种基本运算为C

A.并、差、选择、投影、自然连接   B.并、差、交、选择、投影    

C.并、差、选择、投影、乘积        D.并、差、交、选择、乘积      

6要求学生的年龄在1540岁之间,是关系模型的哪一种完整性规则C

A.参照完整性     B.实体完整性    C.用户定义的完整性规则    D.以上都不是

7关系R的元数为5,关系S的元数是4,则Rwv S可以等价于下列哪一种B

                                          23

As23R×S)     Bs27R×S)   CRwv S    Ds62R×S

8、关系的三类完整性约束:

实体完整性规则:

若属性A是基本关系R的主属性,则属性A不能取空值 

参照完整性规则:

若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对   应(基本关系RS不一定是不同的关系),则对于R中每个元组在F上的值必须为: ●或者取空值(F的每个属性值均为空值) ●或者等于S中某个元组的主码值

用户定义的完整性:

针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据 必须满足的语义要求

★★9、关系代数(冷叶顷)

 

1R∪S仍为n目关系,由属于R或属于S的元组组成

                

2R - S 仍为n目关系,由属于R而不属于S的所有元组组成    

        

3R∩S仍为n目关系,由既属于R又属于S的元组组成    

         

4)笛卡尔积:

R×S 列:

n+m)列元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组,行:k1×k2个元组

   


    

5选择:

 选择运算符的含义:

在关系R中选择满足给定条件的诸元组          

σF(R) = {t|tÎR∧F(t)= ''} 

F:选择条件,是一个逻辑表达式

例如:查询信息系(IS系)全体学生   

σSdept = 'IS' (Student)

6投影:

投影运算符的含义:

R中选择出若干属性列组成新的关系

πA(R) = { t[A] | t ÎR }        

AR中的属性列

例如:查询学生的姓名和所在系,即求Student关系上学生姓名和所在系两个属性上的投影    

πSnameSdept(Student)

7连接:

连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组


分为等值连接、一般连接、自然连接

例如:关系R和关系S 如下所示: 




8)除:

给定关系R (XY) S (YZ),其中XYZ为属性组。R中的YS中的Y可以有不同的属性名,但必须出自相同的域集。RS的除运算得到一个新的关系P(X)PR中满足下列条件的元组在 X 属性列上的投影:元组在X上分量值x的象集Yx包含SY上投影的集合,记作:       

R÷S = {tr [X] | tr ÎR∧πY (S) Í Yx }


例如:设关系RS分别为下图的(a)(b)R÷S的结果为图(c)


例:设有一个SPJ数据库,包括SPJSPJ四个关系模式:

 S( SNOSNAMESTATUSCITY)

 P(PNOPNAMECOLORWEIGHT)

 J(JNOJNAMECITY)

 SPJ(SNOPNOJNOQTY)

供应商表S由供应商号码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY

  试用关系代数完成如下查询:

  (1) 求供应工程J1零件的供应商号码SNO

  (2) 求供应工程J1零件P1的供应商号码SNO

  (3) 求供应工程J1零件为红色的供应商号码SNO

  (4) 求没有使用天津供应商生产的红色零件的工程号JNO

5) 求至少用了供应商S1所供应的全部零件的工程号JNO

:

1)求供应工程J1零件的供应商号码SNO

πSnoJno=‘J1’SPJ)

2)求供应工程J1零件P1的供应商号码SNO

πSnoJno=‘J1’Pno=‘P1‘(SPJ))

3)求供应工程J1零件为红色的供应商号码SNO

πSnoJno=‘J1‘σCOLOR=’Pwv SPJ)

πSnoJno=‘J1‘SPJwvσCOLOR=’P)

4)求没有使用天津供应商生产的红色零件的工程号JNO

πJno(SPJ)- πJNOσcity=‘天津Color=‘Swv SPJwv P))或

πJno(SPJ)- πJNOσcity=‘天津Swv  SPJ wv  σColor=‘P))

5)求至少用了供应商S1所供应的全部零件的工程号JNO

πJnoPno(SPJ)÷ πPnoσSno=‘S1‘SPJ))

第三章   关系数据库标准语言SQL(重点)

本章内容:SQL概述、数据定义、数据查询、数据更新、视图

本章主要考点:基本概念、★★数据查询的基本语句操作、数据更新语句 

1SQL语言是C语言。

    A.层次数据库    B.网络数据库    C.关系数据库    D.非数据库    

2SQL语言具有两种使用方式,分别称为交互式SQLC

    A.提示式SQL    B.多用户SQL    C.嵌入式SQL    D.解释式SQL  

3假定学生关系是S(S#SNAMESEXAGE),课程关系是C(C#CNAMETEACHER),学生选课关系是SC(S#C#GRADE)。要查找选修“COMPUTER”课程的学生姓名,将涉及到关系D

    AS             BSCC         CSSC         DSCSC   

4如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作B不能执行。

A.从职工表中删除行(‘025’王芳‘03’720)

    B.将行(‘005乔兴‘04’750)插入到职工表中

C.将职工号为,‘001’的工资改为700   

 D.将职工号为,’038’的部门号改为‘03’            

5SQL语言中,用来测试一个集合里是否有重复元组存在,使用下列哪一个关键字A

  AUNIQUE             BDISTINCT        CEXISTS        DNOT IN   

★★6SQL数据查询语句(冷叶顷)

SELECT语句格式:       SELECT [ALL|DISTINCT] <目标列表达式> [<目标列表达式>] …  FROM <表名或视图名>[<表名或视图名> ] …  [ WHERE <条件表达式> ]  [ GROUP BY <列名1> [ HAVING <条件表达式> ] ]  [ ORDER BY <列名2> [ ASC|DESC ] ];   (注:SQL语句中不区分大小写)单表查询

1)选择表中的若干列:

查询指定列:

例:查询全体学生的学号与姓名

SELECT SnoSnameFROM Student 

   查询所有列:(将<目标列表达式>指定为 *

   例:查询全体学生的详细记录。

SELECT  *FROM Student

   查询结果计算的值:

   例:查全体学生的姓名及其出生年份。

SELECT Sname2012-Sage    /*假定当年的年份为2012年,减去年龄即得出生年份*/FROM Student

2)选择表中的若干元组

   取消取值重复的行:(指定DISTINCT关键词,去掉表中重复的行)

   例:查询选修了课程的学生号码

SELECT DISTINCT Sno  (使用DISTINCT关键词取消了重复学号的行)   

FROM SC   

查询满足条件的行:(WHERE语句

 

  例:查询计算机科学系全体学生的名单。(比较)      

SELECT Sname      

FROM Student      

WHERE Sdept =‘CS’  

例:查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄(确定范围)      

SELECT SnameSdeptSage      

FROM     Student      

WHERE   Sage BETWEEN 20 AND 23  

例:查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。(确定集合)      

SELECT SnameSsex      

FROM  Student      

WHERE Sdept IN ( 'IS''MA''CS' );  

例:查询学号为200215121的学生的详细情况。(字符匹配)      

SELECT *          

FROM  Student        

WHERE  Sno  LIKE ‘200215121'  

例:某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩

的学生的学号和相应的课程号。(空值)      

SELECT SnoCno      

FROM  SC      

WHERE  Grade IS NULL   /*不能用’=’代替IS*/  

例:查询计算机系年龄在20岁以下的学生姓名。(多重条件)       

SELECT Sname       

FROM  Student       

WHERE Sdept= 'CS' AND Sage<20

3ORDER BY子句

可以按一个或多个属性列排序。

升序:ASC;降序:DESC;缺省值为升序

例:查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。        

SELECT SnoGrade        

FROM  SC        

WHERE  Cno= ' 3 '        

ORDER BY  Grade  DESC

4)聚集函数

COUNT[DISTINCT|ALL] *)       统计元组个数COUNT[DISTINCT|ALL] <列名>) 统计一列中值的个数

SUM[DISTINCT|ALL] <列名>)    计算一列值的总和 AVG[DISTINCT|ALL] <列名>)    计算一列值的平均值

MAX[DISTINCT|ALL] <列名>)    求一列中的最大值MIN[DISTINCT|ALL] <列名>)     求一列中的最小值

  例:计算1号课程的学生平均成绩。 

SELECT AVG(Grade) 

FROM SC 

WHERE Cno= ' 1 '

多表查询

1)等值查询

例:查询每个学生及其选修课程的情况 

SELECT  Student.*SC.* 

FROM     StudentSC 

WHERE  Student.Sno = SC.Sno

2)嵌套查询

  带有IN谓词的子查询:

例:查询与刘晨在同一个系学习的学生

SELECT SnoSnameSdept 

FROM Student 

WHERE Sdept  IN                

                 (SELECT Sdept                 

                    FROM Student                 

                    WHERE Sname=‘ 刘晨 ’)

带有比较运算符的子查询:(当内查询的结果是一个值时,可以用=代替IN

例:查询与刘晨在同一个系学习的学生

SELECT SnoSnameSdept 

FROM Student 

WHERE Sdept  =                 

                    (SELECT Sdept                 

                        FROM Student                

                         WHERE Sname=‘ 刘晨 ’)

  带有ANYALL谓词的子查询

 

例:查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄    

SELECT SnameSage    

FROM  Student    

WHERE Sage < ANY 

                (SELECT  Sage                       

                    FROM    Student                       

                    WHERE Sdept= ' CS ')   

                        AND 

                        Sdept <> ‘CS ' ;           /*这句是父查询块中的条件 */

带有EXISTS谓词的子查询:

相当于存在量词带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”

例:查询所有选修了1号课程的学生姓名。

SELECT Sname

FROM Student

WHERE EXISTS        (SELECT *         FROM SC         WHERE Sno=Student.Sno AND Cno= ' 1 ')

3)集合查询(冷叶顷)

集合操作的种类:并操作UNION,交操作INTERSECT,差操作EXCEPT

例:查询计算机科学系的学生及年龄不大于19岁的学生。(并)        

SELECT *        

FROM Student        

WHERE Sdept= 'CS'        

UNION        

SELECT *        

FROM Student        

WHERE Sage<=19

例:查询计算机科学系的学生与年龄不大于19岁的学生(交)    

SELECT *    

FROM Student    

WHERE Sdept='CS'    

INTERSECT    

SELECT *    

FROM Student    

WHERE Sage<=19 

例:查询计算机科学系的学生与年龄不大于19岁的学生。(差)    

SELECT *   

 FROM Student    

WHERE Sdept='CS'    

EXCEPT    

SELECT  *    

FROM Student    

WHERE Sage <=19;

例题:设学生课程数据库中有三个关系:

学生关系SS#SNAMEAGESEX

学习关系SCS#C#GRADE

课程关系CC#CNAME

其中S#(学号)、C#(课程号)、SNAME(姓名)、AGE(年龄)、SEX(性别)、GRADE(成绩)、CNAME(课程名)

SQL语句表达下列操作

1)检索选修课程名称为“MATHS”的学生的学号与姓名

2)检索至少学习了课程号为“C1”“C2”的学生的学号

3)检索年龄在1820之间(含1820)的女生的学号、姓名和年龄

4)检索平均成绩超过80分的学生学号和平均成绩

5)检索选修了全部课程的学生姓名

6)检索选修了三门课以上的学生的姓名

解:1SELECT SNAME,S#

          FROM S,SC,C

          WHERE  S.S#=SC.S#

          AND  C.C#=SC.C#

          AND  CNAME=’ MATHS’

2SELECT S#

      FROM SC

      WHERE CNO=’C1’ AND S# IN( SELECT S#

                                 FROM SC

                                 WHERE CNO=’C2’)

  3SELECT S#,SNAME,AGE

       FROM S

       WHERE AGE BETWEEN 18 AND 20

  4SELECT S# ,AVG(GRADE)

        FROM SC

        GROUP BY S#

        HAVING AVG(GRADE)>80

5

SELECT  SNAME

FROM  S

WHERE  NOT  EXISTS

              (SELECT  *

               FROM  C

               WHERE NOT  EXISTS

                  (SELECT  *

                   FROM  SC

                   WHERE S#=S.S#  AND C#=C.C# )

)

  6SELECT SNAME

        FROM S,SC

        WHERE S.S#=SC.S#

        GROUP BY SNAME

        HAVING COUNT(*)>3         

第四章   数据库安全性

本章内容:计算机安全性概述、数据库安全性控制、审计、数据加密 

本章主要考点:基本概念、数据库安全性控制

1下面哪个不是数据库系统必须提供的数据控制功能B

A.安全性B.可移植性C.完整性D.并发控制      

2数据库的B是指数据的正确性和相容性。

A.安全性B.完整性C.并发控制D.恢复            

3在数据系统中,对存取权限的定义称为B

A.命令    B.授权    C.定义    D.审计     

4数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的D

A.可靠性B.一致性C.完整性D.安全性                 

5保护数据安全性的一般方法是设置用户标识和存取权限控制

6安全性控制的一般方法有用户标识鉴定、存取控制、审计、数据加密和视图的保护五级安全措施。

第六章   关系数据理论(冷叶顷

本章内容:规范化、数据依赖的公里系统、模式分解 

本章主要考点:函数依赖、多值依赖的概念、范式判定Armstrong公理系统 

1设计性能较优的关系模式称为规范化,规范化主要的理论依据是A

    A.关系规范化理论    B.关系运算理论   C.关系代数理论      D.数理逻辑         

2规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及C的缺陷。

A.数据的不一致性    B.结构不合理     C.冗余度大         D.数据丢失        

3当关系模式R(AB)已属于3NF,下列说法中B是正确的。

A.它一定消除了插入和删除异常  B.仍存在一定的插入和删除异常  

C.一定属于BCNF              DAB都是  

4在关系DB中,任何二元关系模式的最高范式必定是D

    A1NF     B2NF     C3NF     DBCNF                                                 

5在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是C

    A2NF     B3NF     C4NF     DBCNF                                     

6根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面部门关系中,因哪个属性而使它不满足第一范式?B

    部门(部门号,部门名,部门成员,部门总经理)

    A.部门总经理    B.部门成员       C.部门名        D.部门号         

7、函数依赖的概念

函数依赖的定义:R(U)是一个属性集U上的关系模式,XYU的子集。若对于R(U)的任意一个可能的关系rr中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” “Y函数依赖于X”,记作X→Y即只要 X 的属性相等Y 上的值一定相等

平凡的函数依赖

在关系模式R(U)中,对于U的子集XY

如果X→Y,但Y Í X,则称X→Y是平凡的函数依赖

非平凡的函数依赖

在关系模式R(U)中,对于U的子集XY

X→Y,但YX,则称X→Y是平凡的函数依赖

例:

在关系SC(Sno, Cno, Grade)中,            

    非平凡函数依赖: (Sno, Cno) → Grade            

    平凡函数依赖:   (Sno, Cno) → Sno                              

                                        (Sno, Cno) → Cno

部分函数依赖:若X→Y,但Y不完全依赖于X,则称YX部分函数依赖。

记作

完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有XY, 则称YX完全函数依赖。记作

例:学校教务的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程号(Cno成绩(Grade U ={Sno, Sdept, Mname, Cno, Grade  (Sno,Cno) →Grade是完全函数依赖, (Sno,Cno)→Sdept是部分函数依赖 因为Sno →Sdept成立,且Sno是(SnoSanme)的真子集

传递函数依赖:在R(U)中,如果X→Y,(YX) ,YX, Y→ZZ不属于Y 则称Z对X传递函数依赖。

例:在关系Std(Sno, Sdept, Mname)中,

有:   

Sno SdeptSdept Mname  

Mname传递函数依赖于Sno

 

:简单记忆

 都是第一范式

第二范式要消去传递

第三范式要求所有的都是码

考到第三范式就不考了

BC范式选择题:。。。都是决定子()

应付考试的话,下面的这个不用看

8第一范式~BCNF

第一范式1NF若关系模式R每一个分量是不可再分的数据项,则关系模式R属于第一范式。

第二范式(2NF):若关系模式 R1NF,且每一个非主属性完全函数依赖于码,则关系模式 R2NF 。(即 1NF 消除了非主属性对码的部分函数依赖则成为2NF)。

例:关系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade)   

 Sloc为学生住处,假设每个系的学生住在同一个地方

函数依赖包括     

(Sno, Cno) Grade      

Sno Sdept      

(Sno, Cno)  Sdept      

Sno Sloc     

(Sno, Cno)  Sloc      

Sdept Sloc

(虚线表示部分函数依赖)

由于非主属性SdeptSloc并不完全函数依赖于码(Sno, Cno),所以不是2NF解决方法:

     S-L-C分解为两个关系模式,以消除这些部分函数依赖,这就属于2NF    

         SCSnoCnoGrade                   

         S-LSnoSdeptSloc            

第三范式(3NF):关系模式 R<U,F>  中若不存在这样的码 X、属性组 Y 及非主属性 Z(Z 不是Y的子集)使得 X → Y,YX,Y→Z 成立,则称 R<U,F>∈3NF

(每一个非主属性既不部分依赖于码有人不传递依赖于码)

例:上例中,在S-L中存在非主属性对码的传递函数依赖,所以不属于3NF

解决方法:采用投影分解法,把S-L分解为两个关系模式,以消除传递函数依赖:S-DSnoSdept)码为Sno      D-LSdeptSloc) 码为Sdept

BCNF关系模式 R<U,F>∈1NF 。若 X→Y 且 Y 不是 X 的子集时,X必含有码,则

 R<UF>BCNF(即每一个决定属性因素都包含码)

BCNF性质:若RBCNF 

①所有非主属性对每一个码都是完全函数依赖

②所有的主属性对每一个不包含它的码,也是完全函数依赖

③没有任何属性完全函数依赖于非码的任何一组属性

例:在关系模式STJSTJ)中,S表示学生,T表示教师,J表示课程。

每一教师只教一门课。每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称

函数依赖: (SJ)T(ST)JTJ   (SJ)(ST)都是候选码   

                 

STJ3NF   (SJ)(ST)都可以作为候选码,STJ都是主属性,没有任何非主属性对码传递依赖或部分依赖。但STJ不是BCNF,因为T是决定因素,T不包含码解决方法:将STJ分解为二个关系模式: ST(ST) BCNFTJ(TJ)BCNF

 

关于第四范式和多值依赖的内容,大家按书复习

例题:设有如下关系R

课程名

教师名

  教师地址

    C1

刘爽英

   D1

    C2

  乔志伟

   D2

    C3

  于得水

   D2

    C4

   井超

   D2

1它为第几范式? 为什么?

2是否存在删除操作异常?若存在,则说明是在什么情况下发生的?

3将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?

 

: 1它是2NF。 因为R的候选关键字为课程名。依赖关系: 课程名教师名,教师名 课程名,教师名教师地址,所以课程名教师地址。即存在非主属性教师地址对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R2NF

2存在。当删除某门课程时会删除不该删除的教师的有关信息。

3分解为高一级范式如图所示。

R1(课程名,教师名)    R2(教师名,教师地址)

 

 

课程号

  教师名

    C1

刘爽英

    C2

  乔志伟

    C3

  于得水

    C4

   井超

R1                                     

教师名

  教师地址

刘爽英

   D1

  乔志伟

   D2

  于得水

   D2

   井超

   D2

      

R2                             

分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不

会丢失教师方面的信息。

第七章   数据库设计(冷叶顷)

本章内容:数据库设计概述、数据库设计的6个步骤

本章主要考点:数据库设计的6个步骤 、ER图合并出现的冲突与解决方法、★ER

               转换成关系模式

★1、简述数据库设计的主要步骤。

1)需求分析(2)概念结构设计(3)逻辑结构设计(4)数据库物理设计

5)数据库实施(6)数据库运行和维护。

2ER图合并汇总会出现什么冲突?怎么解决冲突?

出现的冲突有:属性冲突、命名冲突、结构冲突

属性冲突和命名冲突通常用讨论、协商等行政手段解决。结构冲突通常根据应用语义对实体联系的类型进行综合或调整。

3在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的B阶段。

A.需求分析    B.概念设计  C.逻辑设计    D.物理设计         

4在关系数据库设计中,设计关系模式是C的任务。

A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段     

5数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是B

A.建立库结构B.扩充功能    C.加载数据    D.系统调试                       

6E-R模型关系向关系模型转换时,一个MN联系转换为关系模型时,该关系模式的关键字是C

AM端实体的关键字                    BN端实体的关键字   

CM端实体关键字与N端实体关键字组合D.重新选取其他属性  

7当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是B

A.属性冲突   B.语法冲突   C.结构冲突    D.命名冲突                      

8数据流程图(DFD)是用于描述结构化方法中C阶段的工具。

A.可行性分析B.详细设计C.需求分析D.程序编码

★9设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期。试画出E-R图,并注明属性和联系,并将其转换为关系模型。

解:E-R

 

关系模型:顾客(顾客编号,姓名,地址,年龄,性别)

          商店(商店编号,商店名,地址,电话)

购物(顾客编号,商店名称,日期,消费金额)

第十章   数据库恢复技术(冷叶顷)

本章内容:事务的基本概念、故障的种类、恢复策略 

本章主要考点:基本概念、恢复策略 

1CDBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。

A.程序    B.命令    C.事务     D.文件            

2事务的原子性是指A

A.事务中包括的所有操作要么都做,要么都不做

 B.事务一旦提交,对数据库的改变是永久的

C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的

 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态

3若数据库中只包含成功事务提交的结果,则此数据库就称为处于B状态。

A.安全    B.一致    C.不安全    D.不一致                     

4若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为B

A.事务故障B.系统故障C.介质故障D.运行故障      

5B用来记录对数据库中数据进行的每一次更新操作。

A.后援副本B.日志文件C.数据库D.缓冲区              

6用于数据库恢复的重要文件是C

A.数据库文件B.索引文件C.日志文件D.备注文件          

7数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括C

A.数据字典、应用程序、审计档案、数据库后备副本    

B.数据字典、应用程序、日志文件、审计档案

C.日志文件、数据库后备副本     D.数据字典、应用程序、数据库后备副本  

8事务的特性为原子性、隔离性、一致性、持续性

9数据库系统中的故障包括事务内部的故障、系统故障、介质故障、计算机病毒

第十一章   并发控制

本章内容:并发控制的概述、封锁、活锁和死锁、两段锁协议 

本章主要考点:封锁中读锁和写锁的概念、活锁和死锁的概念、两段锁协议

T1

T2

A=10

A=A-5写回

 

A=10

 

A=A-8写回

1设有两个事务T1T2,其并发操作如右图所示,下面评价正确的是B

A.该操作不存在问题B.该操作丢失修改  

  C.该操作不能重复读  D.该操作读数据     

2解决并发操作带来的数据不一致性总是普遍采用A

A.封锁B.恢复C.存取控制D.协商              

3若事务T对数据R已经加X锁,则其他事务对数据RD

A.可以加S锁不能加XB.不能加S锁可以加X

    C.可以加S锁也可以加XD.不能加任何锁    

4并发操作会带来哪些数据不一致性D

A.丢失修改、不可重复读、脏读、死锁   B.不可重复读、脏读、死锁  

 C.丢失修改、脏读、死锁        D.丢失修改、不可重复读、脏读  

5、什么是封锁?

封锁就是事务T在对某个数据对象操作之前,先向系统发出请求,对其加锁6、什么是活锁?什么是死锁?

活锁:事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……T2有可能永远等待,这就是活锁的情形。避免方法:采用先来先服务的策略。

死锁:事务T1封锁了数据R1T2封锁了数据R2T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁,接着T2又申请封锁R1,因T1已封锁了R1T2也只能等待T1释放R1上的锁,这样T1在等待T2,而T2又在等待T1T1T2两个事务永远不能结束,形成死锁。

7预防死锁的方法有一次性封锁法、顺序封锁法

8死锁的诊断与解除方法有超时法、等待图法

9、试述两段锁协议的概念

所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。

获得封锁:在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁释放封锁:在释放一个封锁之后,事务不再申请和获得任何其他封锁若并发事务都遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的若并发事务的一个调度是可串行化的,不一定所有事务都符合两段锁协议                                                

1.2

个人整理 

二.数据库原理及应用样题

数据库原理及应用历年考题

《数据库原理及应用》试题1

选择题

1、数据库系统的基本特征是_________。 

A、数据的统一控制                 B、数据共享性和统一控制

C、数据共享性、独立性和冗余度小   D、数据共享性和数据独立性

(难度系数C)正确答案:C

2、DBDBMS和DBS三者之间的关系是_________。

      A、DBS与DB和DBMS无关         B、DBMS包括DBSDB

      C、DB包括DBMSDBS            DDBS包括DBDBMS

(难度系数B)正确答案:D

3、设有关系RS,关系代数  表示的是_________。

AR∩S                            BR―S

CR÷S                            DR∪S 

(难度系数B)正确答案:A

  4、自然连接是构成新关系的有效方法。一般情况下,当对关系RS使用

     自然连接时,要求RS含有一个或多个共有的__________。

   A、行     B、属性        C、记录      D、元组

(难度系数C)正确答案:B

5、以下是信息世界的模型,且实际上是现实世界到机器世界的一个中间层次的是_________。

A、数据模型                          B、概念模型

C、关系模型                          DE-R

(难度系数C)正确答案:C

6、构成E—R模型的三个基本要素是_________。

A、实体、属性值、关系;         B、实体、属性、联系;

C、实体、实体集、联系;         D、实体、实体集、属性;

(难度系数C)正确答案:B

7、在关系代数运算中,五种基本运算为_________。

    A、并、差、选择、投影、连接      

B、并、交、选择、投影、笛卡尔积
      C、并、差、选择、投影、笛卡尔积

D、并、除、投影、笛卡尔积、选择

(难度系数B)正确答案:C

8、在下列关于规范化理论的叙述中,不正确的是_________。

A、任何一个关系模式一定有键。

B、任何一个包含两个属性的关系模式一定满足3NF

C、任何一个包含两个属性的关系模式一定满足BCNF

D、任何一个包含三个属性的关系模式一定满足2NF

(难度系数B)正确答案:D

9、设有关系模式R(A,B,C)S(C,D)。与SQL语句“SELECT A,B,D FROM R,S WHERE R.C=S.C”等价的关系代数表达式为_________。

A       B

C     D

(难度系数A)正确答案:A

10、SQL的视图是从_________中导出的。

A、基本表 B、视图

C、数据库 D、基本表或视图

(难度系数C)正确答案:D

11、用如下的SQL语句创建一个Teacher表 

CREATE TABLE Teacher ( TNO  Char(6)  NOT NULL,

NAME Char(8)  NOT NULL,

SEX  Char(2),  SAL  INT, 

SDETP char(12) check (SDEPT IN(‘IS’,’MA’,’CS’)))

可以插入到Teacher表中的元组是_________。

A、(‘T0203’,‘刘刚’,NULLNULL‘IS’

B、(  NULL王芳’,‘女’,‘1200’,‘CS’)

C、(‘T0111’,NULL,‘男’,23,‘MA’)

D、(‘T0101’,‘李华’,男,2100,EN’)

(难度系数A)正确答案:A

12SQL语言中,条件年龄 BETWEEN 18 AND 30表示年龄在1830之间,且_________

A、包括30岁但不包括18岁       B、包括18岁和30岁

C、包括18岁但不包括30岁       D、不包括18岁和30岁

(难度系数B)正确答案:B

13、允许取空值但不允许出现重复值的约束是_________。

 ANULL                      BPRIMARY KEY

CUNIQUE                    DFOREIGN KEY

(难度系数B)正确答案:C

14、数据库的完整性是指数据的________和________。

 (1)正确性 (2)合法性 (3)不被非法存取   (4)相容性   (5)不被恶意破坏

A(1)和(3)                     B(2)和(5)

C(2)和(4)                     D(1)和(4)

(难度系数A)正确答案:D

15、SQLGRANTREVOKE语句主要用来维护数据库的_________。

A、安全性                         B、完整性

C、可靠性                         D、一致性

(难度系数B)正确答案:A

16、在数据库设计中数据流图(DFD)和数据字典(DD)主要用来描述结构化方法中的_________阶段的工具。

A、逻辑结构设计                    B、概念结构设计

C、可行性分析                      D、需求分析

(难度系数C)正确答案:D

17E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的码是_________。

    A、M端实体的码                     B、N端实体的码

  C、M端实体码与N端实体码组合       D、重新选取其他属性

(难度系数B)正确答案:C

18、SQL的集合处理方式与宿主语言单记录的处理方式之间用_______来协调。

    A、SQLCA                          B、游标

C、存储过程                         D、触发器

(难度系数B)正确答案:B

19、当将局部E-R图集成为全局E-R图时,如果同一对象在一个局部E-R图中作为实体,而在另一个局部E-R图中作为属性,这种现象称为_________。

A、结构冲突   B、命名冲突    C、属性冲突    D、语义冲突

(难度系数A)正确答案:A

20下面关于关系数据库范式的描述中,错误的是_________

A) 关系满足的范式越低,则更新操作的代价就越高

B) 关系满足的范式越高,则更新操作的代价就越低

C) 关系满足的范式越高,则查询操作的代价就越高

D) 关系满足的范式越低,则查询操作的代价就越高

(难度系数A)正确答案:D

二、填空(每空1分,共20分)

1.关系模型和网状模型的数据结构分别是_____________和_____________。

(难度系数B)正确答案:二维表           有向图

2.数据模型是由______________、____________、和____________三部分组成的。

(难度系数C)正确答案:数据结构      数据操作       完整性约束

3.关系数据语言可以分为三类:_____________、_____________和关系演算语言。

(难度系数C)正确答案:SQL语言     关系代数语言

4.删除基本表用______________语句,删除基本表的元组用_____________语句

(难度系数B)正确答案:ALTER       UPDATE

5.规范化数据库设计分为以下六个设计阶段:需求分析阶段、_____________、_____________、___________、数据库实施阶段、数据库运行和维护阶段。

(难度系数B)正确答案:概念结构设计   逻辑结构设计   物理结构设计阶段

6.事务的特性有:_____________、原子性、_____________和持久性。

(难度系数C)正确答案:一致性      隔离性

7. 当对视图进行 UPDATE、INSERTDELETE 操作时,为了保证被操作的行满足视图定义中子查询语句的谓词条件,应在视图定义语句中使用可选择项________________________________。

(难度系数A)正确答案:WITH CHECK OPTION

8. SQL中,表有三种: ____________、临时表(虚表)____________。

(难度系数B)正确答案:视图、基本表

9. 在关系数据库规范化理论的研究中,在函数依赖的范畴内,___________范式达到了最高的规范化程度。

(难度系数B)正确答案:BC范式

10.在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的函数依赖和________________________。

(难度系数A)正确答案:无损连接

11.如果一个关系模式R是1NF,并且关系的每个决定因子都是候选码,那么R至少应该是_____________________范式。

(难度系数A)正确答案:BC范式

三、简答题:(共15分)

1、数据库系统中有哪三层模式结构?采用三层模式结构有什么好处?(5分)

(难度系数B)正确答案:

答:数据库系统三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。                                                      (1分)

    数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:

     外模式/模式映象,     模式/内模式映象               3分)

正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。                                                  (1分)

2、什么是数据库的安全性?DBMS有哪些安全性措施?正确答案:

:数据库的安全性是保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。(2分)

DBMS主要通过以下方法来保护数据库的安全的:通过定义用户标识对用户身份进行鉴定,只允许合法的用户才能进入系统;通过定义用户的访问权限,对于合法的用户只能访问它有权访问的数据;通过定义视图,屏蔽掉用户不能访问的数据;通过对数据加密以及通过审计的功能等方法来保护数据库中的安全性的.(3分)  

3、在数据库设计过程中将E-R模型转换为关系数据模型的转换原则是什么?5分) (难度系数B)正确答案:

答:E-R图中的每个实体,对应一个关系,该关系具有属性为实体的全部属性,关键字为实体的关键字。E-R图中的一个联系对应一个关系,该关系具有属性为联系的属性以及该联系相关的实体的关键字。考虑到数据库优化,根据联系类型不同在转换为关系模式时具体处理不同:                              (2分)

1)联系类型为1:1时,-先将两个实体分别转换两个关系模式,然后在任意一个关系模式中加入另一个关系模式的键和联系类型的属性。           (1分)                        

21N-先将两个实体分别转换为两个关系模式,然后在N端实体转换的关系模式中加入1端实体转换的关系模式的键和联系类型的属性。       (1分)

3MN-先将两个实体分别转换为两个关系模式,然后将联系类型转换为第三个关系模式,其属性由两端实体的键和联系类型的属性构成。   (1分)

四、T-SQL综合题(35分)

1、有学生-课程关系数据库,各关系表描述如下:

        Student

列名

说明

数据类型

约束

Sno

学号

字符(8

主键

Sname

姓名

字符(12

非空,唯一

Ssex

性别

字符(2)

取‘男’或‘女’, 默认值 ‘男’

Sage

年龄

整型

取值1536,默认值22

Sdept

院系

字符(20)

默认 ‘计算机系’

  Course

列名

说明

数据类型

约束

Cno

课程号

字符(8)

主键

Cname

课程名

字符(8)

非空

Teacher

教师名

字符(10)

唯一

SC

列名

说明

数据类型

约束

Sno

学号

字符(8

主键,参照Student表,级联更新和删除

Cno

课程号

字符(8

主键,参照Course表,级联更新,拒绝删除

Grade

成绩

短整型

取值0100

 

(1)用关系代数表达式表示下列问题

1)检索选修了课程号为C5的学生学号、年龄和院系;        2分)

(难度系数B)正确答案:

学号, 年龄,院系Student(s课程号=‘C5 (SC) )

  ∏学号, 年龄,院系 s课程号=‘C5 SC    Student))

2)检索选修了教师‘李华’所授课程的学生姓名和学号    3分)

(难度系数B)正确答案:

姓名, 学号Student    SC     (s授课教师=‘李华 (Course) )  

  ∏姓名, 学号 s授课教师=‘李华 Student     SC Course))

(2)用SQL语句实现下列问题

1)写出创建Student表的T-SQL语句 ;                       (5分)

(难度系数A)正确答案:

CREATE TABLE Student

(  Sno     CHAR(8)   PRIMARY KEY,

   Sname  CHAR(12) NOT NULL UNIQUE

,

   Ssex    CHAR(2)  CHECK(Ssex in('','')) DEFAULT '',

   Sage    INT   CHECK(Sage>=15 AND Sage<=36) DEFAULT 22,

   Sdept   CHAR(20)  DEFAULT ‘计算机系

);

2)检索课程名以"DB_"开头,且倒数第3个字符为 k的课程的详细情况;

4分)

(难度系数A)正确答案:

SELECT  *

FROM  Course

WHERE Cname LIKE 'DB\_%k_ _ _' ESCAPE ' \ '  

3)向学生选修课程表中插入元组“学生S10选修课程号C4”。    (2分)

(难度系数C)正确答案:

INSERT                                              

INTO  SC (Sno, Cno)

VALUES( ‘S10’,’ C4’ )

4) 删除选课成绩在55分以下的学生记录;                   (4分)

(难度系数A)正确答案:

DELETE

     FROM Student

WHERE  SNO IN

            (SELECT  SNO

             FROM     SC

             WHERE GRADE<55)

       

DELETE

          FROM Student

WHERE Student.SNO = SC.SNO AND SC.GRADE<55  ;

5) 把“高等数学”课程成绩提高8                      3分)

(难度系数B)正确答案:

UPDATE  SC

SET   Grade=Grade*1.08

WHERE Cno IN

            (SELECT  Cno

             FROM   Course

WHERE  Cname=‘高等数学’)

6)求出女同学的每一年龄组(超过3人)有多少人?要求查询结果按人数降序排列,人数相同的按年龄升序排列;                                (5分)

(难度系数A)正确答案:

SELECT Sage, COUNT(Sno)

FROM Student

WHERE Ssex=‘

 

GROUP BY  Sage  HAVING  COUNT(Sno)>3

ORDER BY  2 DESC, Sage ASC                   //其中ASC也可以省略不写

7)定义视图S_age,其中包括学生学号以及每个学生选修课程的门数(要求成绩非空)和平均成绩;                                   (5分)

(难度系数A)正确答案:

CREATE VIEW  S_age  (Sno, Cno_num, Avg_grade)

AS  SELECT Sno,COUNT(Cno),AVG(grade)

     FROM SC  

     WHERE grade IS NOT NULL

GROUP BY Sno10alter table student

add

jiguan char(20),

 

8)在Course表中增加一个类型为char(10)的职称(pro)列;    (2分)

(难度系数C)正确答案:

alter table Course

add   pro char(10)

 

 

 

 

 

 

 

 

五、综合应用题(10分)

假设某商业集团数据库有一关系模式R如下:10分)

   R(商店编号,商品编号,数量,部门编号,负责人)

现规定:(1)每个商店的每种商品只在一个部门销售。

        (2)每个商店的每个部门只有一个负责人。

        (3)每个商店的每种商品只有一个库存数量。

回答下列问题:

①写出R中的存在的基本函数依赖3分)

         ②找出关系模式R的候选键3分)

         ③关系模式R最高能不能达到第3范式,若不能如何分解? 4分)

(难度系数B)正确答案: 

(商店编号,商品编号)®部门编号                           1分)

                                         

(商店编号,部门编)®号负责人                             1分)

(商店编号,商品编号)®数量                                1分)

(难度系数A)正确答案:

L类属性:商店编号,商品编号;

LR属性类:部门编号;

R属性类:负责人,数量。                                     1分)

因为:(商店编号,商品编号)U                              1分)

所以:关系模式R的候选键为: (商店编号,商品编号)            1分)

判断R属于第几范式:

(难度系数B)正确答案:

非主属性为:部门编号,负责人,数量。

它们对候选键都是完全函数依赖关系,所以R属于2NF         2分)

但是:

(商店编号,商品编号)→(部门编号,商店编号)

(商店编号,部门编号)→(负责人)

所以非主属性负责人对候选键传递依赖,那么R不满足第三范式,因此R最高满足第二范式。2分)

 

 

 

《数据库原理及应用》试题2

选择题(每题1分,共20分)

1、在数据库中存储的是_________。

A、数据                           B、数据模型

C、信息                           D、数据以及数据之间的联系

(难度系数C)正确答案:D

2、DBDBMS和DBS三者之间的关系是_________。

      A、DBS与DB和DBMS无关        B、DB包括DBMSDBS

      C、DBS包括DBDBMS           DDBMS包括DBSDB

(难度系数B)正确答案:C

3在数据库中,产生数据不一致的根本原因是____。

A.数据存储量太大;          B.没有严格保护数据

C.未对数据进行完整性控制   D.数据冗余

(难度系数B)正确答案:D

  4、自然连接是构成新关系的有效方法。一般情况下,当对关系RS使用

     自然连接时,要求RS含有一个或多个共有的__________。

   A、属性      B、行        C、记录      D、元组

(难度系数A)正确答案:A

5、以下是信息世界的模型,且实际上是现实世界到机器世界的一个中间层次的是_________

A、数据模型                  BE-R

C、关系模型                  D、概念模型

(难度系数C)正确答案:D

6、构成E—R模型的三个基本要素是_________。

A、实体、属性、联系;           B、实体、属性值、关系;

C、实体、实体集、联系;         D、实体、实体集、属性;

(难度系数B)正确答案:A

7、SQL语言中的“视图(VIEW)”对应于数据库系统三级模式结构中的_________。

A、内模式                   B、外模式

C、 模式                    D、都不对应

(难度系数B)正确答案:B

8、SQLGRANTREVOKE语句主要用来维护数据库的_________。

A、可靠性                      B、完整性

C、安全性                      D、一致性

(难度系数C)正确答案:C

9在下列关于函数依赖的叙述中,不正确的是_______。

A      B

C   D

(难度系数A)正确答案:D

10、设有关系模式R(A,B,C)S(C,D)。与SQL语句“SELECT A,B,D FROM R,S WHERE R.C=S.C”等价的关系代数表达式为_________。

A       B

C     D

(难度系数A)正确答案:A

11、在数据库设计中数据流图(DFD)和数据字典(DD)主要用来描述结构化方法中的_________阶段的工具。

A、概念结构设计                     B、需求分析

C、可行性分析                       D、逻辑结构设计

(难度系数C)正确答案:B

12E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的码是_________。

    A、M端实体的码                      B、N端实体的码

  C、M端实体码与N端实体码组合        D、重新选取其他属性

(难度系数B)正确答案:C

13、用如下的SQL语句创建一个Teacher表 

CREATE TABLE Teacher ( TNO  Char(6)  NOT NULL,

NAME Char(8)  NOT NULL,

SEX  Char(2),  

SAL  INT, 

SDETP char(12) check (SDEPT IN(‘IS’,’MA’,’CS’)))

可以插入到Teacher表中的元组是_________。

A、(‘101’,‘李梅’,女,100,EN’)

B、(  NULL李红’,‘女’,‘200’,‘CS’)

C、(‘111’,NULL,‘女’,23,‘MA’)

D、(‘203’,‘刘刚’,NULLNULL‘IS’)

(难度系数A)正确答案:D

14、SQL的集合处理方式与宿主语言单记录的处理方式之间用_________来协调。

    A、游标                            B、SQLCA

C、存储过程                        D、触发器

(难度系数B)正确答案:A

15、关于BC范式下列说法正确的是_________。

A、如果R∈3NF ,则R一定是BCNF

B、若R∈3NF,且不存在主属性对非码的函数依赖,则其是BCNF

C、如果R∈BCNF,则R∈3NF

D、以上说法都不对

(难度系数B)正确答案:B

16、下面有关各种范式之间的包含关系的描述中,正确的是_____________。

A、BCNF4NF3NF2NF1NF      

B、1NF2NF3NF4NFBCNF

C、4NFBCNF3NF2NF1NF

D、1NF2NF3NFBCNF4NF

(难度系数B)正确答案:C

17、数据库的_________是指数据的正确性和相容性。

   A、恢复      B、安全性        C、并发控制    D、完整性

(难度系数C)正确答案:D

18、一个事务执行过程中,其正在访问的数据被其他事务所修改,导致处理结果不正确,这是由于违背了事务的何种特性而引起的

A、隔离性     B、 一致性      C、原子性     D、 持久性

(难度系数A)正确答案:A

19、当对视图进行 UPDATE  INSERT DELETE 操作时,为了保证被操作的元组满足视图定义中子查询语句的谓词条件,应在视图定义语句中使用可选择项_________。

A、With Revoke Option                  B、With Check Option

C、With Role Option                     D、With Grant Option

(难度系数B)正确答案:B

20、当将局部E-R图集成为全局E-R图时,如果同一对象在一个局部E-R图中作为实体,而在另一个局部E-R图中作为属性,这种现象称为_________。

A、属性冲突    B、命名冲突     C、结构冲突  D、语义冲突

(难度系数B)正确答案:C

二、填空(每空1分,共20分)

1.关系模型和层次的数据结构分别是_____________和_____________。

(难度系数C)正确答案:二维表           有向树

2.数据模型是由_____________、_____________、和___________三部分组成的。

(难度系数C)正确答案:数据结构      数据操作       完整性约束

3.关系数据语言可以分为三类:___________、___________和关系代数语言。

(难度系数C)正确答案:SQL语言     关系演算语言

4.基本表结构修改用_____________语句,基本表内容修改用___________语句

(难度系数C)正确答案: ALTER       UPDATE

5.规范化数据库设计分为以下六个设计阶段:需求分析阶段、_____________、_____________、___________、数据库实施阶段、数据库运行和维护阶段。

(难度系数C)正确答案:概念结构设计、逻辑结构设计、物理结构设计阶段

6. 关系代数是一种关系操纵语言,它的操作对象和操作结果均为_________。

(难度系数C)正确答案:关系

7. 如果一个关系模式R是1NF,并且关系的每个决定因子都是候选码,那么R至少应该是_____________范式。

(难度系数C)正确答案:BC范式

8. SQL中,表有三种: ____________、临时表(虚表)____________。

(难度系数C)正确答案:视图、基本表

9. 数据库中术语英文缩写有“RDBMS”和DML等,其中文的意思分别为_______________和_______________。

(难度系数C)正确答案:关系数据库管理系统  数据操纵语言

10.在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的函数依赖和________________________

(难度系数C)正确答案:无损连接

11.在 SQL 语言中,如果要为一个基本表增加列和完整性约束条件,应该使用 SQL 语句 __________________________

(难度系数C)正确答案:ALTER TABLE

三、简答题:(本题15分)

1、数据库管理系统的主要功能                                (5分)

(难度系数B)正确答案:

答:数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它主要功能包括以下几个方面:                              (2分)

    数据定义功能  DBMS提供数据描述语言(DDL),用户可通过它来定义数据。        

    数据操纵功能  DBMS还提供数据操纵语言(DML),实现对数据库的基本操作:查询、插入、删除和修改。                                (1分)

    数据库的运行管理 这是DBMS运行时的核心部分,它包括开发控制,安全性检查,完整性约束条件的检查和执行,数据库的内容维护等。      (1分)

    数据库的建立和维护功能 它包括数据库初始数据的输入及转换,数据库的转储与恢复,数据库的重组功能和性能的监视与分析功能等。        (1分)

2、DBA的职责是什么?                                           (5分)

(难度系数C)正确答案:

1)参与数据库设计,决定数据库的结构和内容;                        (1分)  

2)定义数据的安全性、完整性,负责分配用户对数据库的使用权限和口令管理(3分) 

3)监督控制数据库的使用和运行,改进或重新构造数据库系统;              (1分)

4)帮助终端用户使用数据库。   

3、在数据库设计过程中将E-R模型转换为关系数据模型的转换原则?  5分)

(难度系数A)正确答案:

答:E-R图中的每个实体,对应一个关系,该关系具有属性为实体的全部属性,关键字为实体的关键字。E-R图中的一个联系对应一个关系,该关系具有属性为联系的属性以及该联系相关的实体的关键字。考虑到数据库优化,根据联系类型不同在转换为关系模式时具体处理不同:        (2分)

1)联系类型为1:1时,-先将两个实体分别转换两个关系模式,然后在任意一个关系模式中加入另一个关系模式的键和联系类型的属性。                 (1分)

21N-先将两个实体分别转换为两个关系模式,然后在N端实体转换的关系模式中加入1端实体转换的关系模式的键和联系类型的属性。            (1分)

3MN-先将两个实体分别转换为两个关系模式,然后将联系类型转换为第三个关系模式,其属性由两端实体的键和联系类型的属性构成。              (1分)

四、T-SQL综合题(35分)

1、有学生-课程关系数据库,各关系表描述如下:

        student

列名

说明

数据类型

约束

Sno

学号

字符(8

主键

Sname

姓名

字符(12

非空,唯一

Ssex

性别

字符(2)

取‘男’或‘女’, 默认值 ‘女’

Sage

年龄

整型

取值1640,默认值21

Sdept

院系

字符(20)

默认 ‘电子系’

列名

说明

数据类型

约束

Cno

课程号

字符(8)

主键

Cname

课程名

字符(8)

非空

Teacher

教师名

字符(10)

唯一

  Course

SC

列名

说明

数据类型

约束

Sno

学号

字符(8

主键,参照Student表,级联更新和删除

Cno

课程号

字符(8

主键,参照Course表,级联更新,拒绝删除

Grade

成绩

短整型

取值0100

 

(1)用关系代数表达式表示下列问题

1)检索选修了教师‘王敏’所授课程的学生姓名和学号    2分)

(难度系数B)正确答案:

姓名, 学号Student    SC     (s授课教师=‘王敏 (Course) )  

  ∏姓名, 学号 s授课教师=‘王敏 Student     SC Course))

2)检索选修了课程号为C3或者C5的学生学号和成绩 ;      3分)

(难度系数B)正确答案:

学号,成绩 s课程号=‘C3 SC学号 s课程号=‘C5 SC

(2)用SQL语句实现下列问题

1)写出创建S表的T-SQL语句 ;                           (5分)

(难度系数A)正确答案:

CREATE TABLE S

(  Sno CHAR(8)   PRIMARY KEY,

   Sname  CHAR(12) NOT NULL UNIQUE

,

   Ssex  CHAR(2)  CHECK(Ssex in('','')) DEFAULT '',

   Sage  INT   CHECK(STage>=16 AND STage<=40) DEFAULT 21,

   Sdept CHAR(20)  DEFAULT ‘电子系

);

2) 检索姓"李"且倒数第2个字为"华"或"涛"字的学生的姓名和学号;

4分)

(难度系数A)正确答案:

SELECT SnameSno

FROM Student

WHERE Sname LIKE '% [华涛] _ _'

3)向学生选修课程表中插入元组“学生S6选修课程号C2”。     (2分)

(难度系数B)正确答案:

INSERT                                              

INTO  SC (Sno, Cno)

VALUES( ‘S6’,’ C2’ )

4) 删除选课成绩在60分以下的学生记录;                  4分)

(难度系数A)正确答案:

DELETE

     FROM Student

WHERE  SNO IN

            (SELECT  SNO

             FROM     SC

             WHERE GRADE<60)

       

DELETE

          FROM Student

WHERE Student.SNO = SC.SNO AND SC.GRADE<60  ;

5) 把“大学英语”课程成绩提高5                     3分)

(难度系数B)正确答案:

UPDATE  SC

SET   Grade=Grade*1.05

WHERE Cno IN

            (SELECT  Cno

             FROM   Course

WHERE  Cname=‘大学英语’)

6)求出男同学的每一年龄组(超过4人)有多少人?要求查询结果按人数降序排列,人数相同的按年龄升序排列;                                (5分)

(难度系数A)正确答案:

SELECT Sage, COUNT(Sno)

FROM Student

WHERE Ssex=‘

 

GROUP BY  Sage  HAVING  COUNT(Sno)>4

ORDER BY  2 DESC, Sage ASC                       //其中ASC也可以省略不写

7)定义视图S_age,其中包括学生学号以及每个学生选修课程的门数(要求成绩非空)和平均成绩;                                   (5分)

(难度系数A)正确答案:

CREATE VIEW  S_age  (Sno, Cno_num, Avg_grade)

AS  SELECT Sno,COUNT(Cno),AVG(grade)

     FROM SC  

     WHERE grade IS NOT NULL

GROUP BY Sno10alter table student

add

jiguan char(20),

8)在S表中删除院系字段列。                              2分)

(难度系数C)正确答案:

alter table student

drop column Sdept

五、综合应用题(10分)

现有如下关系模式:

借阅(图书编号,书名,作者名,出版社,读者编号,读者姓名,借阅日期,归还日期)。其中规定:图书编号唯一;读者编号唯一;读者在归还某一本书后还可以其他时间再次借阅。回答下列问题

①写出该关系模式中存在的函数依赖                   (2分)

(难度系数C)正确答案

图书编号→(书名,作者名,出版社)

读者编号→(读者姓名,借阅日期,归还日期)

②求出该关系模式的候选键                           (4分)

(难度系数C)正确答案

L类属性:图书编号读者编号;                                  1分)

因为:(图书编号读者编号)U                                 2分)

所以:关系模式R的候选键为: 图书编号读者编号)              4分)

③该关系模式最高满足第几范式?为什么?             (4分)

(难度系数C)正确答案

非主属性为:书名,作者名,出版社,部分函数依赖主码图书编号

非主属性为:读者姓名,借阅日期,归还日期,部分函数依赖主码读者编号

它们对候选键都是完全函数依赖关系,所以R属于2NF              2分)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

《数据库原理及应用》试题3

选择题(每题1分,共20分)

1、数据库系统的特点是_________、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。

A、数据共享                 B、数据存储

C、数据应用                 D、数据保密

(难度系数C)正确答案:A

2、在数据库中存储的是_________。

A、数据                    B、数据模型

C、信息                    D、数据以及数据之间的联系

(难度系数C)正确答案:D

3、数据库系统的数据独立性是指_________。   

     A、不会因为数据的变化而影响应用程序

     B、不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序

     C、不会因为存储策略的变化而影响存储结构

     D、不会因为某些存储结构的变化而影响其他的存储结构

(难度系数C)正确答案:B

4、DBDBMSDBS三者之间的关系是_________。

     ADBSDBDBMS无关        BDBMS包括DBSDB

     CDBS包括DBDBMS          DDB包括DBMSDBS

(难度系数B)正确答案:C

5、数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作.这种功能称为_________。

A、数据操纵功能                    B、数据管理功能   

C、数据定义功能                    D、数据控制功能

(难度系数A)正确答案:A

6、关系数据库中,实现表与表之间的联系是通过_________。

A、实体完整性规则                B、值域

C、用户自定义完整性              D、参照完整性规则

(难度系数B)正确答案:D

7、设关系RK1个元组,关系SK2个元组,则关系RS进行笛卡尔积操作后的结果关系中的元组数目是_________。

AK1+K2                             B、≥K1+K2

CK1×K2                            D、≤K1×K2

(难度系数A)正确答案:C

8、对关系的完整性约束通常包括_________三种。

A、实体完整性、属性完整性、关系完整性;

B、实体完整性、参照完整性、用户定义完整;

C、实体完整性、属性完整性、用户定义完整;

D、实体完整性、属性完整性、参照完整性;

(难度系数A)正确答案:B

9、SQL中,建立视图用的命令是_________。

A、CREATE VIEW B、CREATE TABLE

C、CREATE SCHEMA D、CREATE INDEX

(难度系数B)正确答案:A

10、数据库的完整性是指数据的________和________。

 (1)正确性 (2)合法性 (3)不被非法存取   (4)相容性   (5)不被恶意破坏

A(1)和(3)                     B(2)和(5)

  C(1)和(4)                     D(2)和(4) 

(难度系数B)正确答案:C

11、数据库设计的概念结构设计阶段,表示概念结构的常用方法和描述工具是_________。

A、数据流程分析法和数据流图    B、实体-联系方法和E-R图

C、结构分析法和模块结构图      D、层次分析法和层次结构图

(难度系数B)正确答案:B

12、应用数据库的主要目的是为了_________。

A、解决保密问题                  B、解决数据完整性问题

C、共享数据问题                  D、解决数据量大的问题

(难度系数C)正确答案:C

13“一个事务中的诸操作要么全做,要么都不做”,这是事务的什么特性____。A、原子性                         B、一致性

C、隔离性                         D、持久性

(难度系数A)正确答案:A

14、采用数据库镜像技术,主要是为了有效解决_________的问题。

A、复制故障                       B、系统故障

C、事务故障                        D、介质故障

(难度系数B)正确答案:D

15、用如下的SQL语句创建一个Student 

CREATE TABLE Student  ( SNO Char(4)  NOT NULL,

NAME Char(8)  NOT NULL, 

SEX Char(2),   AGE INT  )

可以插入到Student表中的元组是_________。

A、(‘0731’,‘李大明’,男,23

B、(‘0731’,‘李大明’,23,男)

C、(  NULL,‘李大明’,‘男’,‘23’)

D、(‘0731’,NULL,‘男’,23

(难度系数A)正确答案:A

16、在关系代数运算中,五种基本运算为_________。

   A、并、差、选择、投影、连接
   B、并、交、选择、投影、笛卡尔积
   C、并、差、选择、投影、笛卡尔积 
   D、并、除、投影、笛卡尔积、选择

(难度系数B)正确答案:C

17、SQL Server安装程序创建4个系统数据库,下列哪个不是_________系统数据库。

A、master       B、model        C、pub D、msdb

(难度系数C)正确答案:D

18、下列SQL语句中,修改表结构的是_________。

AALTER        BCREATE     CUPDATE     DINSERT

(难度系数C)正确答案:A

19、若事务T对数据 R已加 S锁,则对数据R_________。 

    A、不能加S锁可以加X锁           B、可以加S锁不能加X锁

C、可以加S锁也可以加X锁         D、不能加任何锁

(难度系数B)正确答案:B

20.设有两个事务T1T2,其并发操作如图1所示,下面描述正确的是_______。

    A、该操作不存在问题            B、该操作不能重复读

C、该操作丢失修改              D、该操作读“脏”数据

(难度系数A)正确答案:D

时刻

事务T1

事务T2

数据库A的值

T0

read (A)

A=10

T1

A=A*A

T2

write(A)

A=100

T3

read (A)

A=100

T4

rollback

     

                 1    事务并发操作图

二、填空(每空1分,共20分)

1. 数据库常用的数据模型有__________、层次模型、__________。

(难度系数C)正确答案:  关系模型        网状模型

2、数据模型是由__________、__________、和__________三部分组成的。

(难度系数B)正确答案:数据结构        数据操作     完整性约束

3、在数据库的三级模式结构中,用来描述数据库中全体数据的全局逻辑结构和特征的是__________。

(难度系数B)正确答案:    模式

4、数据库系统的核心是____________________。

(难度系数C)正确答案:数据库管理系统或DBMS 

5、规范化数据库设计分为以下六个设计阶段:需求分析阶段、____________________、物理结构设计阶段、数据库实施阶段、数据库运行和维护阶段。

(难度系数B)正确答案:概念结构设计        逻辑结构设计

6、删除表中记录用_____________语句,修改表结构用___________语句。

(难度系数A)正确答案:Delete               Alte

7、数据库系统中可能发生各种各样的故障,引起故障的原因大致可以分为几类,分别为:____________、计算机病毒、____________和介质故障。

(难度系数A)正确答案:事务内部故障        系统故障

8、在数据库概念结构设计中,各分E-R模型之间的冲突主要有:属性冲突、__________和结构冲突。

(难度系数B)正确答案: 命名冲突

9、SQL中,表有三种:____________、____________和____________。

(难度系数C)正确答案:基本表(实表)  视图(虚表) 导出表(临时表)

10、数据库中术语英文缩写有“RDBMS”和DML等,其中文的意思分别为_______________和_______________。

(难度系数B)正确答案:   关系数据库管理系统  数据操纵语言

11、二级封锁协议除了可以防止丢失修改,还可以防止________________。

(难度系数B)正确答案:“脏”数据

三、简答题:(3个小题共15分)

1、什么是数据库?(4分)

(难度系数C)正确答案:

答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。           2分)

数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。          2分)

2、DBA的职责是什么?(4分)

(难度系数B)正确答案:

答:1)参与数据库设计,决定数据库的结构和内容;                  (1分)

2)定义数据的安全性、完整性,负责分配用户对数据库的使用权限和口令管理;(1分) 

3)监督控制数据库的使用和运行,改进或重新构造数据库系统;       (1分)

4)帮助终端用户使用数据库。                                    (1分)

3、在数据库设计过程中将E-R模型转换为关系数据模型的转换原则? (7分)

(难度系数A)正确答案:

答:E-R图中的每个实体,对应一个关系,该关系具有属性为实体的全部属性,关键字为实体的关键字。E-R图中的一个联系对应一个关系,该关系具有属性为联系的属性以及该联系相关的实体的关键字。考虑到数据库优化,根据联系类型不同在转换为关系模式时具体处理不同:        (2分)

1)联系类型为1:1时,-先将两个实体分别转换两个关系模式,然后在任意一个关系模式中加入另一个关系模式的键和联系类型的属性。                  (1分)

21N-先将两个实体分别转换为两个关系模式,然后在N端实体转换的关系模式中加入1端实体转换的关系模式的键和联系类型的属性。              (2分)

3MN-先将两个实体分别转换为两个关系模式,然后将联系类型转换为第三个关系模式,其属性由两端实体的键和联系类型的属性构成。               (2分)

 

四、T-SQL语言编程题(33分)

有学生-课程关系数据库,各关系表描述如下,并用T-SQL语句实现下列问题:     

列名

说明

数据类型

约束

Sno

学号

字符(8

主键

Sname

姓名

字符(12

非空,唯一

Ssex

性别

字符(2)

取‘男’或‘女’, 默认值 ‘女’

Sage

年龄

短整型

取值1640,默认值21

Sdept

院系

字符(20)

默认 ‘电子系’

  

Cno

Cname

Teacher

C1

操作系统

李明

C2

大学物理

赵华

C3

电子商务

周亮

……

……

……

Sno

Cno

Grade

S07001

C1

76

S07002

C2

82

S07003

C3

65

……

……

……

①用语句创建Student表 ;                               (6分)

(难度系数C)正确答案:

CREATE TABLE Student

(  Sno CHAR(8)   PRIMARY KEY,

   Sname  CHAR(12) NOT NULL UNIQUE

,

   Ssex  CHAR(2)  CHECK(Tsex in('','')) DEFAULT '',

   Sage  INT   CHECK(Tage>=16 AND Tage<=40) DEFAULT 21,

   Sdept CHAR(20)  DEFAULT ‘电子系

);

②检索姓"李"且倒数第2个字为"华"或"涛"字的学生的姓名和学号;

5分)

(难度系数C)正确答案:

SELECT SnameSno

FROM Student

WHERE Sname LIKE '% [华涛] _ _'

③向Student表中插入元组“S07060,王梅”,并写出该记录的详细信息。(3分)

(难度系数C)正确答案:

INSERT                                              

INTO  Student (Sno, Sname)

VALUES( ‘S07060,’ 王梅’ )

该记录详细信息如下:

S07060

王梅

21

计算机系

 

 

④删除选课成绩在45分以下的学生记录。                   4分)

(难度系数C)正确答案:

DELETE

     FROM Student

WHERE  SNO IN

            (SELECT  SNO

             FROM     SC

             WHERE GRADE<45)

⑤把“网络工程”课程成绩提高8%。                         4分)

(难度系数C)正确答案:

UPDATE  SC

SET   Grade=Grade*1.08

WHERE Cno IN

            (SELECT  Cno

             FROM   Course

WHERE  Cname=‘网络工程’)

求出女同学的每一年龄组(超过4人)有多少人?要求查询结果按人数升序排列,人数相同的按年龄降序排列。                          6分)

(难度系数C)正确答案:

SELECT Sage, COUNT(Sno)

FROM Student

WHERE Ssex=‘

 

GROUP BY  Sage  HAVING  COUNT(Sno)>4

定义视图S_AVG,其中包括学生学号以及每个学生选修课程的门数(要求成绩非空)和平均成绩。                                    5分)

(难度系数C)正确答案:

CREATE VIEW  S_age  (Sno, Cno_num, Avg_grade)

AS  SELECT Sno,COUNT(Cno),AVG(grade)

     FROM SC  

     WHERE grade IS NOT NULL

GROUP BY Sno   

五、综合应用题(12分)

1、某高校教务处教务管理中需要如下信息:

教师:教师编号、姓名、性别、职务、职称、电话、E-mail

学生:学号,姓名、性别、年龄、所学专业、籍贯

课程:课程号、课程名、开课学期、所属类别

院系:系名、系主任、办公地点、办公电话

其中:①一个系可以有多个学生,一个学生可以选修多门课程,而一门课程可以为多个学生选修;②一个单位(系)可以有多个教师,一个教师只能在一个单位(系)工作,一个教师可以讲授多门课程,一门课程可以为多个教师讲授,完成如下设计:

1)根据院系,教师,课程,学生等实体,设计该教务管理系统局部E-R模型;(7分)

(难度系数A)正确答案:

2)将该E-R图转换为关系模型结构,并用下划线标明各关系中的主关键字;(5分)

(难度系数B)正确答案:

学生(学号,姓名,性别,出生年月,籍贯)

     课程(课程号,课程名,课程类别,开课学期)

     教师(教师编号,姓名,性别,职称,电话,E-Mail

     系(系名,办公地点,系主任,联系电话)

     选修(学号,课程号,成绩,学分)


猜你喜欢

转载自blog.csdn.net/qq_38313246/article/details/80921008