数据库打印.docx
《数据库打印.docx》由会员分享,可在线阅读,更多相关《数据库打印.docx(26页珍藏版)》请在冰点文库上搜索。
数据库打印
第一章.绪论
(1)人工管理阶段:
1)数据不保存2)应用程序管理数据;3)数据不共享;4)数据不具有独立性。
2)文件系统阶段:
特点如下:
1)数据长期保存;2)文件系统管理数据;3)数据共享性差,冗余度大;4)数据独立性差;
(3)数据库系统阶段:
1)数据结构化;2)数据的共享性高,冗余度低,易扩充;3)数据独立性高;4)数据由DBMS统一管理和控制。
2、常用的三种数据模型的数据结构各有什么特点?
1,.层次模型数据结构的特点
(1)有且仅有一个节点无双亲,这个节点称为“根节点”。
(2)其他节点有且仅有一个双亲。
2.网状模型的数据结构——网状结构图
在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:
(1)允许一个以上的结点无双亲;
(2)一个结点可以有多于一个的双亲
3.关系模型——二维表
(1)关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
每一行称为一个元组,每一列称为一个属性(或字段)
(2)在关系模型中,实体以及实体间的联系都是用关系来表示
关系模型要求关系必须是规范化的,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有子表或子列。
3、试述数据库系统的特点。
解:
1)数据结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别
2)数据的共享性高,冗余度低,易扩充,数据不再面向某个应用而是面向整个系统
3)数据独立性高:
数据独立性包括了数据的物理独立性和数据的逻辑独立性两方面。
4)数据由DBMS(数据库管理系统)统一管理和控制,数据控制功能:
(1)数据的安全性控制;
(2)数据的完整性约束;(3)并发控制;(4)数据库恢复。
4、试述数据模型的概念、数据模型的作用和数据模型的三要素。
解:
1)数据模型的概念:
数据模型是模型中的一种,是现实世界数据特征的抽象,它描述了系统的三个方面:
静态特性、动态特性和完整性约束条件
2)数据模型的作用:
数据模型应满足三方面的要求:
一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现
3)数据结构,数据结构分为层次模型、网状模型、关系模型和面向对象模型,描述系统的静态特性
(2)数据操作:
包括对象的创建、修改和删除,对对象实例的检索和更新两大类操作及其它有关的操作等.,描述系统的动态特性,
(3)数据完整性约束
5、试述概念模型的作用。
数据模型应满足三方面的要求:
一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。
(1)概念模型,也称信息模型,它是按用户的观点来对数据和信息建模的,主要用于数据库设计。
(2)概念模型提供给我们从现实世界到信息世界模型化数据和信息手段与工具。
若没有概念模型现实世界的问题很难转化到机器世界的数据库系统中来处理。
6,(名词解释)
(1)实体:
实体是指客观存在并可以相互区别的事物
(2)实体型:
具有相同属性的实体必然具有共同的特征和性质。
。
(3)实体集:
实体集是指同型实体的集合。
(4)属性:
属性是指实体所具有的某一特性。
。
(5)码:
码是指唯一标识实体的属性集。
(6)联系:
联系是指实体型与实体型之间、实体集内实体与实体之间以及组成实体的各属性间的关系。
7、
8.
10、试述层次、网状和关系数据库的优缺点。
解:
(简答题)
1)层次模型的优缺点
层次模型的优点:
(1)层次模型本身比较简单。
(2)对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能较优。
(3)层次模型提供了良好的完整性支持。
层次模型的缺点主要有:
(1)现实世界中很多联系是非层次性的
(2)对插入和删除操作的限制太多,影响太大。
(3)查询子女结点必须通过双亲结点,缺乏快速定位机制。
(4)由于结构严密,层次命令趋于程序化。
2)网状模型的优缺点
网状模型的优点主要有:
(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲。
(2)具有良好的性能,存取效率较高。
网状模型的缺点主要有:
(1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
(2)其DDL、DML语言复杂,用户不容易使用。
3)关系模型的优缺点
关系模型具有下列优点:
(1)关系模型与非关系模型不同,它有较强的数学理论基础
(2)更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发和建立的工作。
关系模型的缺点:
关系模型具有查询效率不如非关系模型效率高的缺点
11、定义并理解关系模型中的以下术语:
(名词解释)
关系:
一个关系对应一张二维表
元组:
二维表中的一行称为一个元组。
属性:
二维表中的一列称为一个属性
主码:
如果二维表中的某个属性或是属性组可以唯一确定一个元组,
分量:
元组中的一个属性值。
。
12、数据库系统的三级模式结构是什么?
为什么要采用这样的结构?
(名词解释)
解:
(1)外模式(ExternalSchema):
外模式也称子模式(SubSchema)或用户模式,是三级模式的最外层,它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述。
(2)模式(Schema):
模式又称概念模式,也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据视图的全部。
(3)内模式(InternalSchema):
内模式也称为存储模式,一个数据库只有一个内模式。
它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式
13、数据独立性包括哪两个方面,含义分别是什么?
解:
数据独立性分为数据逻辑独立性与数据物理独立性两个方面。
1)数据逻辑独立性,当模式改变时,由数据库管理员对各个外模式/模式映象作相应改变,可以使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称为数据逻辑独立性。
‘
2)数据物理独立性
当数据库的存储结构等内模式改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,
14、数据库管理系统有哪些主要功能?
解:
(1)数据定义
(2)数据操纵,如查询,插入,删除和修改等等
(3)数据库的运行管理,DBMS通过对数据库在建立、运用和维护时提供统一管理和控制,以保证数据安全、正确、有效的正常运行。
数据库的建立和维护功能:
数据库的建立和维护功能包括数据库初始数据的输入、转换功能、数据库的转储、恢复功能、重组织功能和性能监视、分析功能等。
17
18
19
21
20
22
第二章,关系数据库
1、试述关系模型的三要素内容。
解:
1)关系模型的数据结构——关系,关系模型的数据结构.
2)关系模型的关系操作.查询(query)操作,更新操作两大部分,查询的表达能力是其中最主要的部分.
(1)关系代数:
用对关系的集合运算表达查询要求
A关系代数:
用对关系的集合运算表达查询要求
B)关系演算:
:
①元组关系演算②域关系演算
C)关系数据语言
3)关系模型的三类完整性约束,实体完整性、参照完整性和用户自定义的完整性
2,候选码,主码,外码(名词解释)
1)候选码:
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidatekey),关系至少含有一个候选码。
(候选码不止一个,而主码只有一个)
2)主码:
一个关系至少有一个候选码,则选定其中一个为主控使用者,称为主码(Primarykey)。
3)外码:
设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码(Foreignkey)。
3.1)关系模式:
关系的描述称为关系模式(RelationSchema)。
一个关系模式应当是一个五元组。
它可以形式化地表示为:
R(U,D,dom,F)。
(名词解释)
2)关系:
关系实际上就是关系模式在某一时刻的状态或内容。
也就是说,关系模式是型,关系是它的值(名词解释)
3)关系数据库:
在关系模型中,实体以及实体间的联系都是用关系来表示。
在一个给定的现实世界领域中,所有实体及实体之间的联系的关系的集合构成一个关系数据库。
(名词解释)
4、关系数据库的完整性规则有哪些?
试举例说明。
关系数据库(关系数据库模式,关系数据库
1)关系模型的完整性规则是对关系的某种约束条件。
关系模型中可以有三类完整性约束:
实体完整性、参照完整性和用户定义的完整性。
2)
(1)实体完整性,若属性组(或属性)K是基本关系R的主码(或称主关键字),则所有元组K的取值唯一,并且K中属性不能全部或部分取空值。
(2)参照完整性
(3)用户定义的完整性:
用户定义的完整性就是针对某一具体应用的关系数据库所制定的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
第三章,标准语言SQL
4、在对数据库进行操作的过程中,设置视图机制有什么优点?
它与数据表之间有什么区别?
解:
1)在关系数据库系统中,视图为用户提供了多种看待数据库数据的方法与途径,是关系数据库系统中的一种重要对象。
其优点有:
(1)视图能够简化用户的操作;
(2)视图使用户能以多种角度看待同一数据;(3)增加了数据的安全性;(4)视图对重构数据库提供了一定程度的逻辑独立性。
2)视图在概念上与基本表等同,一经定义,就可以和基本表一样被查询、被删除,我们也可以在一个视图上再定义新的视图,但对视图的更新(插入、删除、修改)操作相对于数据表来说,则有一定的限制。
即有些视图逻辑上是肯定不能修改的。
5.基本表,导出表,视图,索引(名词解释).
基本表:
基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
导出表:
在若基本表上定义的查询表。
视图:
视图是从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表。
索引:
在现实生活中我们经常借用索引的手段实现快速查找
视图的作用:
(1)视图能够简化用户的操作;
(2)视图使用户能以多种角度看待同一数据;(3)增加了数据的安全性;(4)视图对重构数据库提供了一定程度的逻辑独立性。
索引:
系统将自动使用索引进行查询优化,能明显加快对表数据的查询速度。
聚集:
聚集是一种数据组织方法,聚集索引是一类索引,由于索引信息与表记录的物理组织存放顺序一致,从而能减少定位索引信息的时间,能更快速地索引查找记录数据。
角色:
简化了数据库系统管理对权限的管理工作。
五题:
解:
(1)
CREATETABLES(SNOVARCHAR(5)NOTNULLPRIMARYKEY,
SNAMEVARCHAR(20)NOTNULL,
ADDRESSNVARCHAR(30),
TELVARCHAR(20))
INSERTINTOSVALUES(‘S1’,’SN1’,’上海南京路’,’68564345’)
……
CREATETABLEP(PNOVARCHAR(5)NOTNULLPRIMARYKEY,
PNAMEVARCHAR(20)NOTNULL,
SPECVARCHAR(20),
CITYNVARCHAR(20);
COLORNVARCHAR
(2))
INSERTINTOPVALUES(‘P1’,’PN1’,’8x8’,’无锡’,’红’)
……
CREATETABLEJ(JNOVARCHAR(5)NOTNULLPRIMARYKEY,
JNAMEVARCHAR(20)NOTNULL,
LEADERVARCHAR(10),
BGINT)
INSERTINTOJVALUES(‘J1’,’JN1’,’王总’,10)
……
CREATETABLESPJ(SNOVARCHAR(5)NOTNULL,
PNOVARCHAR(5)NOTNULL,
JNOVARCHAR(5)NOTNULL,
QTYINT,
CONSTRAINTPR_SPJPRIMARYKEY(SNO,SPNO,JNO))
INSERTINTOSPJVALUES(‘S1’,’P1’,’J1’,200)
……
(2)
1)找出所有供应商的姓名和地址、电话。
SELECTSNAME,ADDRESS,TELFROMS
2)找出所有零件的名称、规格、产地。
SELECTONAME,SPEC,CITYFROMP
3)找出使用供应商代码为S1供应零件的工程号。
SELECTDISTINCTJNOFROMSPJWHERESNO=’S1’
4)找出工程代码为J2的工程使用的所有零件名称、数量。
SELECTPNAME,QTY
FROMSPJ,P
WHERESPJ.PNO=P.PNOANDJNO=’J2’
5)找出产地为上海的所有零件代码和规格。
SELECTPNO,SPECFROMPWHERECITY=’上海’
6)找出使用上海产的零件的工程名称。
SELECTJNOFROMFROMP,SPJ,J
WHEREP.CITY=’上海’ANDP.PNO=SPJ.PNOANDSPJ.JNO=J.JNO
7)找出没有使用天津产的零件的工程号。
SELECTJNO
FROMJ
WHEREJNONOTIN
(SELECTJNO
FROMSPJ,P
WHERESPJ.PNO=P.PNOANDP.CITY=’天津’)
8)求没有使用天津产的红色零件的工程号。
SELECTJNO
FROMJ
WHEREJNONOTIN
(SELECTJNO
FROMSPJ,P
WHERESPJ.PNO=P.PNOANDP.CITY=’天津’ANDP.COLOR=’红’)
9)取出为工程J1和J2提供零件的供应商代号。
SELECTSNO
FROMSPJ
WHEREJNO=’J1’ORJNO=’J2’
10)找出使用供应商S2供应的全部零件的工程号。
SELECTJNO
FROMJ
WHERENOTEXISTS
(SELECT*
FROMSPJX
WHEREX.SNO=’S1’ANDNOTEXISTS
(SELECT*
FROMSPJY
WHEREY.JNO=J.JNOANDY.PNO=X.PNO))
(3)
1)把全部红色零件的颜色改成蓝色;
UPDATEPSETCOLOR=’蓝’WHERECOLOR=’红’
2)由S10供给J4的零件P6改为由S8供应,请作必要的修改。
UPDATESPJSETSNO=’S8’WHERESNO=’S10’ANDPNO=’P6’ANDJNO=’J4’
若不能直接修改主码,则可如下操作:
先添加新记录,再删除老记录
Insertintospj
select’S8’,jno,pno,qty
fromspj
whereSNO=’S10’ANDPNO=’P6’ANDJNO=’J4’
deletefromspjwhereSNO=’S10’ANDPNO=’P6’ANDJNO=’J4’
3)从供应商关系中删除S2的记录,并从供应零件关系中删除相应的记录。
Deletefromspjwheresno=’s2’
Deletefromswheresno=’s2’
4)请将(S2,J8,P4,200)插入供应零件关系。
Insertintospjvalues(’S2’,’J8’,’P4’,200)
5)将工程J2的预算改为40万元。
UpdateJSETBG=40WHEREJNO=’J2’
6)删除工程J8订购的S4的零件。
题意为:
删除工程J8订购的S4提供零件的供应关系记录。
DELETEFROMSPJWHEREJNO=’J8’ANDSNO=’S4’
(4)
CREATEVIEWP_SPJ_VIEWASSELECTP.*,SPJ.SNO,SPJ.JNO,QTY
FROMP,SPJ
WHEREP.PNO=SPJ.PNO
1)找出工程代码为J2的工程使用的所有零件名称、数量。
SELECTPNAME,QTYFROMP_SPJ_VIEWWHEREJNO=’J2’
2)找出使用上海产的零件的工程号。
SELECTJNO
FROMP_SPJ_VIEW
WHERECITY=’上海’
9题:
(1)SELECTSNO,SN
FROMS
WHEREAGE>16ANDSEX='女';
(2)方法一(联接查询方式):
SELECTCN,TH
FROMS,SC,C
WHERES.SNO=SC.SNOANDSC.CNO=C.CNOANDSNlike'刘%';
方法二(嵌套查询方式):
SELECTCN,TH
FROMC
WHERECNOIN
(SELECTCNO
FROMSC
WHERESNOIN
(SELECTSNO
FROMS
WHERESNlike'刘%'));
(3)SELECTSNO,SN
FROMS
WHERESNONOTIN
(SELECTSNO
FROMS
WHERESNOIN
(SELECTSNO
FROMSC
WHERECNOIN
(SELECTCNO
FROMC
WHERECN='数据库')));
或
SELECTSNO,SN
FROMS
WHERESNONOTIN
(SELECTSNOFROMS,SC,CWHERES.SNO=SC.SNOANDSC.CNO=C.CNOANDCN='数据库');
(4)方法一:
SELECTDISTINCTX.SNO
FROMSCX
WHERESNOIN
(SELECTSNO
FROMSCY
WHEREX.SNO=Y.SNOANDX.CNO<>Y.CNO);
方法二:
SELECTDISTINCTX.SNO
FROMSCX,SCY
WHEREX.SNO=Y.SNOANDX.CNO<>Y.CNO);
方法三:
SELECTSNO
FROMSC
GROUPBYSNOHAVINGCOUNT(*)>=2;
(5)SELECTDISTINCTSX.SNO,SN
FROMSCX,SSX
WHERENOTEXISTS
(SELECT*
FROMC
WHERETHLIKE'张%'
ANDNOTEXISTS
(SELECT*
FROMSCY
WHEREX.SNO=Y.SNOANDC.CNO=Y.CNO))ANDX.SNO=SX.SNO;
或
SELECTDISTINCTX.SNO,X.SN
FROMSX
WHERENOTEXISTS
(SELECT*
FROMC
WHERETHLIKE'张%'ANDNOTEXISTS
(SELECT*
FROMSCY
WHEREX.SNO=Y.SNOANDC.CNO=Y.CNO));
(6)DELETEFROMSC
WHERESNO=
(SELECTSNO
FROMS
WHERESN='王非');
DELETEFROMSWHERESN='王非';
(7)INSERTINTOCVALUES('C8','信息系统概论','孙力')
(8)INSERTINTOSC(SNO,CNO,SCORE)SELECTSNO,'C8',60FROMS
(9)UPDATESC
SETSCORE=0
WHERECNO='C8'ANDSNOIN
(SELECTSNO
FROMS
WHERESEX='男')
或
UPDATESC
SETSCORE=0
WHERECNO='C8'AND'男'=
(SELECTSEX
FROMS
WHERESNO=SC.SNO)
或
--最好为如下表示
UPDATESC
SETSCORE=0
WHERESNOIN
(SELECTSNO
FROMS
WHERESEX='男')ANDCNOIN
(SELECTCNO
FROMC
WHERECN='数据库')
或
UPDATESC
SETSCORE=0
WHERE'男'=
(SELECTSEX
FROMS
WHERESNO=SC.SNO)AND'数据库'=
(SELECTCN
FROMC
WHERECNO=SC.CNO)
第四章,关系数据库设计理论
1.1)函数依赖:
设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y是U的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体的值与之对应,则称X函数决定Y,或Y函数依赖于X,记X→Y。
2)平凡函数依赖:
当属性集Y是属性集X的子集时,则必然存在着函数依赖X→Y,这种类型的函数依赖称为平凡的函数依赖。
3)非平凡函数依赖:
如果Y不是X子集,则称X→Y为非平凡的函数依赖。
记作X
Y。
如果对X的某个真子集X',有X'→Y,则称Y对X部分函数依赖(PartialFunctionalDependency),记作X
Y。
4)传递函数依赖:
设有关系模式R(U),U是属性全集,X,Y,Z是U的子集,若X→Y(Y
X),但Y
X,又Y→Z,则称Z对X传递函数依赖(TransitiveFunctionalDependency),记作:
X
Z。
5)范式:
在关系数据库的规范化过程中,为不同程度的规范化要求设立的不同的标准或准则称为范式(NormalForm)
6)一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。
3、什么叫关系模式分解?
为什么要做关系模式分解?
模式分解要遵循什么准则?
解:
1)关系模式分解(名词解释):
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫关系模式分解又叫关系模式规范化。
2)做关系模式分解是因为:
不好的关系往往内容“包罗万象”,内容太杂了。
实现了信息的某种程度的分离,必须把“包罗万象”的关系模式,分解为若干内容单一,结合紧密的关系模式,才能使关系表现出更好的操作性能,避免出现各种异常问题的产生。
3)模式分解要按需遵循模式分解的无损连接性或模式分解的依赖保持性。
5.1)关系模式为:
系({系号,系名,系办公室地点,宿舍区,人数},{系号→系名,系号→系办公室地点,系名→系办公室地点,系号→宿舍区})
班级({班号,专业名,系号,人数,入校年份},{班号→专业名,班号→系号,班号→入校年份,(专业名,入校年份)→班号})
学生({学号