1、一、数据结构化 数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。二、数据的共享性高,冗余度低,易扩充 数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。三、数据独立性高 数据独立性包括数据的物理独立性和数据的逻辑独立性。数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。四、数据由 DBMS统一管理和控制 数据库的共享是并发的共享,即多
2、个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。为此, DBMS必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。数据库管理系统的主要功能有哪些?数据库定义功能;数据存取功能;数据库运行管理;数据库的建立和维护功能。试述数据模型的概念、数据模型的作用和数据模型的三个要素。数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。数据结构:
3、是所研究的对象类型的集合,是对系统的静态特性的描述。数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。试述概念模型的作用。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。定义并解释概念模型中以下术语:
4、实体,实体型,实体集,属性,码,实体联系图( E-R图) 实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:唯一标识实体的属性集称为码。实体联系图: E-R图提供了表示实体型、属性和联系的方法: 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型( 1 : 1,
5、1 : n或m : n)。第二章 关系数据库 (教材81页) 1.试述关系模型的三个组成部分。答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。2.试述关系数据语言的特点和分类。关系数据语言可以分为三类: 关系代数语言 例如 ISBL 关系演算语言 (元组关系演算语言 例如 APLHA,QUEL 和 域关系演算语言 例如QBE) 具有关系代数和关系演算双重特点的语言 例如 SQL 这些关系数据语言的共同特点是,具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。3. 定义并理解下列术语,说明它们之间的联系与区别:( 1)域,关系,元组,属性 域:域是
6、一组具有相同数据类型的值的集合。关系:在域 D1,D2,Dn上笛卡尔积D1D2Dn的子集称为关系,表示为 R(D1,D2,Dn) 元组:关系中的每个元素是关系中的元组。关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性( Attribute)。( 2)主码,候选码,外部码 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码( Candidate key)。主码:若一个关系有多个候选码,则选定其中一个为主码( Primary key)。外部码:设 F是基本关系R的一个或一组属性,但不是关系R的码,如果
7、F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码(Foreign key),简称外码。基本关系 R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。关系R和S可以是相同的关系。(3)关系模式,关系,关系数据库 关系模式:关系的描述称为关系模式( Relation Schema)。它可以形式化地表示为:R(U,D,dom,F) 其中 R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。关系是关
8、系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。4.试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。参见教材 在参照完整性中
9、,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的 “学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。其语义是,该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 而在下面的 “选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以不能为空。因为关系模型必须满足实体完整性。课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 5等值连接与自然连接的区别是什么?答:自然连接( Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量
10、必须是相同的属性组,并且要在结果中把重复的属性去掉。第三章 关系数据库标准语言 SQL (教材148页) 1. 试述SQL语言的特点。( 1)综合统一。 SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。( 2)高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。( 3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。( 4)以同一种语法结构提供两种使用方式。SQ
11、L语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。( 5)语言简捷,易学易用。2. 试述SQL的定义功能。SQL的数据定义功能包括定义表、定义视图和定义索引。SQL语言使用CREATE TABLE语句定义建立基本表,;ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;建立索引使用CREATE INDEX语句建立索引, DROP INDEX语句删除索引表;SQL语言使用CREATE VIEW命令建立视图,DROP VIEW语句删除视图。3. 用SQL语句建立第3章习题3中的四个
12、表。 对于 S表:S( SNO,SNAME,STATUS,CITY); 建 S表 CREATE TABLE S (SNO CHAR(3), SNAME CHAR(10), STATUS CHAR(2), CITY CHAR(10);P(PNO,PNAME,COLOR,WEIGHT); 建 P表、 建J表、建SPJ表略。4. 针对上题中建立的四个表试用SQL语言完成第3章习题3中的查询。( 1) 求供应工程J1零件的供应商号码SNO;SELECT SNO FROM SPJ WHERE JNO=J1;( 2) 求供应工程J1零件P1的供应商号码SNO;AND PNO=P1( 3) 求供应工程J1零
13、件为红色的供应商号码SNO;AND PNO IN (SELECT PNO FROM P WHERE COLOR=红);( 4) 求没有使用天津供应商生产的红色零件的工程号JNO;略, 注意:从 J 表入手,以包含那些尚未使用任何零件的工程号。5. 针对习题3中的四个表试用SQL语言完成以下各项操作: ( 1)找出所有供应商的姓名和所在城市。 ( 2)找出所有零件的名称、颜色、重量。 ( 3)找出使用供应商S1所供应零件的工程号码。 ( 4)找出工程项目J2使用的各种零件的名称及其数量。 ( 5)找出上海厂商供应的所有零件号码。 ( 6)找出使用上海产的零件的工程名称。 ( 7)找出没有使用天津
14、产的零件的工程号码。 ( 8)把全部红色零件的颜色改成蓝色。 ( 9)由S5供给J4的零件P6改为由S3供应,请作必要的修改。 ( 10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。 ( 11)请将 (S2,J6,P4,200) 插入供应情况关系。 答:(1) 找出所有供应商的姓名和所在城市。SELECT SNAME, CITY FROM S;(2) 找出所有零件的名称、颜色、重量。SELECT PNAME, COLOR, WEIGHT FROM P;(3) 找出使用供应商S1所供应零件的工程号码。SELECT JNO WHERE SNO=S1;(4) 找出工程项目J2使用
15、的各种零件的名称及其数量。SELECT P.PNAME, SPJ.QTY FROM P, SPJ WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2(5) 找出上海厂商供应的所有零件号码。SELECT DISTINCT PNO WHERE SNO IN ( SELECT SNO FROM S WHERE CITY=上海);(6) 找出使用上海产的零件的工程名称。SELECT JNAME FROM J, SPJ, S WHERE J. JNO=SPJ. JNO AND SPJ. SNO=S.SNO AND S.CITY=(7) 找出没有使用天津产的零件的工程号码。 略 (8)
16、把全部红色零件的颜色改成蓝色。UPDATE P SET COLOR=蓝WHERE COLOR=红 ;(9) 由S5供给J4的零件P6改为由S3供应,请作必要的修改。UPDATE SPJ SET SNO=S3WHERE SNO=S5 AND JNO=J4 AND PNO=P6(10) 从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。解析:注意删除顺序,应该先从 SPJ表中删除供应商S2所供应零件的记录,然后从从S表中删除S2。(11) 请将 (S2,J6,P4,200) 插入供应情况关系。INSERT INTO SPJ(SNO, JNO, PNO, QTY) VALUES (S2
17、,J6,P4,200);6. 什么是基本表?什么是视图?两者的区别和联系是什么?基本表是本身独立存在的表,在 SQL中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。7. 试述视图的优点。 (1)视图能够简化用户的操作。(2)视图使用户能以多种角度看待同一数据。(3)视图对重构数据库提供了一定程度的逻辑独立性。(4)视图能够对机密数据提供安全保护。8. 所有的视图是否都可以更新?
18、为什么?不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的。9. 哪类视图是可以更新的,哪类视图是不可更新的? 各举一例说明。基本表的行列子集视图一般是可更新的。如教材 3.5.3中的例1。若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。如教材 3.5.3中的S_G视图。11. 请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件 代码( PNO)、供应数量(QTY)。针对该视图完成下列查询: ( 1)找出三建工程项目使用的各种零件代码及其
19、数量。 ( 2)找出供应商S1的供应情况。建视图:CREATE VIEW V_SPJ AS SELECT SNO, PNO, QTY WHERE JNO= ( SELECT JNO FROM J WHERE JNAME=三建 对该视图查询:(1) 找出三建工程项目使用的各种零件代码及其数量。SELECT PNO, QTY FROM V_SPJ;(2) 找出供应商S1的供应情况。SELECT PNO, QTY /* S1供应三建工程的零件号和对应的数量*/ FROM V_SPJ S1第五章 关系数据理论 (教材 196页) 1理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、候选码
20、、主码、 外码、全码。函数依赖:设 R (U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R (U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同, 而在Y上的属性值不同, 则称X函数确定Y或Y函数依赖于X,记作XY。完全函数依赖、部分函数依赖:在 R(U)中,如果XY,并且对于X的任何一个真子集X,都有XY,则称Y对X完全函数依赖;若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖;候选码、主码: 设 K为R(U,F)中的属性或属性组合,若K U则K为R的候选码。若候选码多于一个,则选定其中的一个为主码。外码:关系模式 R中属性或属性组X并非R的码,但
21、X是另一个关系模式的码,则称X是R的外部码也称外码。全码:整个属性组是码,称为全码( All-key)。2建立一个关于系、学生、班级、学会等诸信息的关系数据库。描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。描述班级的属性有:班号、专业名、系名、人数、入校年份。描述系的属性有:系名、系号、系办公室地点、人数。描述学会的属性有:学会名、成立年份、地点、人数。有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指
22、出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。 指出各关系的候选码、外部码,有没有全码存在? 学生 S(S#,SN,SB,DN,C#,SA) 班级 C(C#,CS,DN,CNUM,CDATE) 系 D(D#,DN,DA,DNUM) 学会 P(PN,DATE1,PA,PNUM) 学生 -学会SP(S#,PN,DATE2) 其中, S#学号,SN姓名,SB出生年月,SA宿舍区 C#班号,CS专业名,CNUM班级人数,CDATE入校年份 D#系号,DN系名,DA系办公室地点,DNUM系人数 PN学会名,DATE1成立年月,PA地点,PNUM学会人
23、数,DATE2入会年份 每个关系模式的极小函数依赖集:S:S#SN,S#SB,S#C#,C#DN,DNSA C:C#CS,C#CNUM,C#CDATE,CSDN,(CS,CDATE)C# D:D#DN,DND#,D#DA,D#DNUM P:PNDATE1,PNPA,PNPNUM SP:(S#,PN)DATE2 S中存在传递函数依赖: S#DN, S#SA, C#SA C中存在传递函数依赖:C#DN ( S#,PN)DATE2 和(CS,CDATE)C# 均为SP中的函数依赖,是完全函数依赖 关系 候选码 外部码 全码 S S# C#,DN 无 C C#,(CS,CDATE) DN 无 D D#
24、和DN 无 无 P PN 无 无 SP (S#,PN) S#,PN 无 4. 试举出三个多值依赖的实例。( 1)关系模式MSC(M,S,C)中,M表示专业,S表示学生,C表示该专业的必修课。假设每个专业有多个学生,有一组必修课。设同专业内所有学生的选修的必修课相同,实例关系如下。按照语义对于M的每一个值M i,S有一个完整的集合与之对应而不问C取何值,所以MS。由于C与S的完全对称性,必然有MC成立。M S C M 1 S1 C1 M 1 S1 C2 M 1 S2 C1 M 1 S2 C2 ( 2)关系模式ISA(I,S,A)中,I表示学生兴趣小组,S表示学生,A表示某兴趣小组 的活动项目。假设每个兴趣小组有多个学生,有若干活动项目。每个学生必须参加所 在兴趣小组的所有活动项目,每个活动项目要求该兴趣小组的所有学生参加。按照语义有 IS,IA成立。( 3)关系模式RDP(R,D,P)中,R表示医院的病房,D表示责任医务人员,P表示病人。假设每个病房住有多个病人,有多个责任医务人员负责医治和护理该病房的所有病人。按照语义有RD,RP成立。第六章 数据库设计 (教材241页) 1. 试述数据库设计过程。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1