西华大学数据库系统概论重点(共11页)_第1页
西华大学数据库系统概论重点(共11页)_第2页
西华大学数据库系统概论重点(共11页)_第3页
西华大学数据库系统概论重点(共11页)_第4页
西华大学数据库系统概论重点(共11页)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上 第一章 绪论(1)DB、DBMS和DBS的定义(2)数据管理技术的发展阶段人工管理阶段、文件系统阶段、数据库系统阶段的特点。(3)数据描述概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中实体间二元联系的描述(1:1,1:N,M:N)。(4)数据模型数据模型的定义,两类数据模型,逻辑模型的形式定义,ER模型,层次模型、网状模型、关系模型和面向对象模型的数据结构以及联系的实现方式。(5)DB的体系结构三级结构,两级映像,两级数据独立性(6)DBMS DBMS的工作模式、主要功能和模块组成。(7)DBSDBS的组成,DBA,DBS的全局结构,DBS结构的分

2、类。小结l 数据管理技术经历了人工管理、文件系统、数据库三个阶段。数据库系统是在文件系统的基础上发展而成的,同时又克服了文件系统的三个缺陷:数据的冗余、不一致性和联系弱。l 在数据库领域,应该准确使用术语,深刻了解实体间1:1、1:N和M:M三种联系的意义。数据库系统的特点1. 面向全组织的复杂的数据结构2. 数据的冗余度小,易扩充3. 具有较高的数据和程序的独立性4. 统一的数据控制功能,数据共享程度高 实体-联系模型基本概念实体、联系、属性、码、超码、候选码、主码一对一联系,一对多联系,多对多联系特殊化、概括、聚集E-R图表示方法E-R图向关系模式的转换数据模型是对现实世界进行抽象的工具,

3、用于描述现实世界的数据、数据联系、数据语义和数据约束等方面内容。数据模型分成概念模型和逻辑模型两大类。前者的代表是实体联系模型,后者的代表是层次、网状、关系和面向对象模型。关系模型是当今的主流模型,面向对象模型是今后发展的方向。数据库是存储在一起集中管理的相关数据的集合。数据库的体系结构是对数据的三个抽象级别。它把数据的具体组织留给DBMS去做,用户只需抽象地处理逻辑数据,而不必关心数据在计算机中的存储,减轻了用户使用系统的负担。由于三级结构之间往往差别很大,存在着两级映象,因此使DBS具有较高的数据独立性:物理数据独立性和逻辑数据独立性。数据独立性是指在某个层次上修改模式而不影响较高一层模式

4、的能力。DBMS是位于用户与OS之间的一层数据管理软件。数据库语言分成DDL和DML两类。DBMS主要由查询处理器和存储管理器两大部分组成。DBS是包含DB和DBMS的计算机系统。DBS的全局结构体现了DBS的模块功能结构。第2章 关系数据库重要概念 (1)基本概念关系模型,关键码(主键和外键),关系的定义和性质,三类完整性规则(2)关系代数选择、投影、笛卡儿积、集合并、差、交、自然连接、除小结(1)一般规则·对于只涉及到选择、投影、联接的查询可用下列表达式表示:(R×S) 或者(RS)·对于否定的操作,一般要用差操作表示,例如“检索不学C2课的学生姓名”。

5、83;对于检索具有“全部”特征的操作,一般要用除法操作表示,例如“检索学习全部课程的学生姓名”。(2)“检索不学C2课的学生姓名”,决不能用下式表示: SNAME,AGE(C#'C2'(SSC)一定要用“差”的形式: SNAME,AGE(S)SNAME,AGE(C#='C2'(SSC)(3)“检索学习全部课程的学生学号”,要用S#,C#(SC)÷C#(C)表示, 而不能写成S# (SC÷C#(C)形式。这是因为一个学生学的课程的成绩可能是不一样的。 第3章 SQL重要概念(1)SQL数据库的体系结构,SQL的组成。(2)SQL的数据定义:SQ

6、L模式、基本表和索引的创建和撤销。(3)SQL的数据查询;SELECT语句的句法,SELECT语句的三种形式及各种限定,基本表的联接操作,SQL3中的递归查询。(4)SQL的数据更新:插入、删除和修改语句。(5)视图的创建和撤消,对视图更新操作的限制。小 结 l SQL的数据定义部分包括对SQL模式、基本表、视图、索引的创建和撤消。l SQL的数据操纵分成数据查询和数据更新两部分。l SQL的数据查询是用SELECT语句实现,兼有关系代数和元组演算的特点。l SQL的数据更新包括插入、删除和修改等三种操作,在视图中只有行列子集视图是可以更新的。SELECT语句是SQL的核心内容,对于该语句考生

7、应掌握下列内容。1SELECT语句的来历在关系代数中最常用的式子是下列表达式:A1,An(F(R1××Rm) 这里R1、Rm为关系,F是公式,A1、An为属性。针对上述表达式,SQL为此设计了SELECTFROMWHERE句型:SELECT A1,AnFROM R1,RmWHERE F这个句型是从关系代数表达式演变来的,但WHERE子句中的条件表达式F要比关系代数中公式更灵活。2SELECT语句中出现的基本表名,应理解为基本表中的元组变量,而列名应理解为元组分量。 3SELECT语句的语义有三种情况,下面以学生表S(S#,SNAME,AGE,SEX)为例说明。第一种情况:S

8、ELECT语句中未使用分组子句,也未使用聚合操作,那么SELECT子句的语义是对查询的结果执行投影操作。譬如:SELECT S#,SNAMEFROM SWHERE SEX='M';第二种情况:SELECT语句中未使用分组子句,但在SELECT子句中使用了聚合操作,此时SELECT子句的语义是对查询结果执行聚合操作。譬如:SELECT COUNT(*),AVG(AGE)FROM SWHERE SEX='M'; 该语句是求男同学的人数和平均年龄。 第三种情况:SELECT语句使用了分组子句和聚合操作(有分组子句时必有聚合操作),此时SELECT子句的语义是对查询结果

9、的每一分组去做聚合操作。譬如:SELECT AGE,COUNT(*)FROM SWHERE SEX='M'GROUP BY AGE;该语句是求男同学每一年龄的人数。 4SELECT语句中使用分组子句的先决条件是要有聚合操作。但执行聚合操作不一定要用分组子句。譬如求男同学的人数,此时聚合值只有一个,因此不必分组。 但同一个聚合操作的值有多个时,必须使用分组子句。譬如求每一年龄的学生人数。此时聚合值有多个,与年龄有关,因此必须分组。 第六章 关系数据理论重要概念 (1)理解概念函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、多值依赖 主码、主属性、全码 (2)关系模式的冗余和异

10、常问题。(3)FD的定义(4)关系模式的范式:1NF,2NF,3NF,BCNF。分解成2NF、3NF模式集的算法。关系数据库的规范化设计是指面对一个现实问题,如何选择一个比较好的关系模式集合。规范化设计理论主要包括三个方面的内容:数据依赖、范式和模式设计方法。其中数据依赖起着核心的作用。数据依赖研究数据之间的联系,范式是关系模式的标准,模式设计方法是自动化设计的基础。规范化设计理论对关系数据库结构的设计起着重要的作用。小结本章讨论如何设计关系模式问题。关系模式设计得好与坏,直接影响到数据冗余度、数据一致性等问题。要设计好的数据库模式,必须有一定的理论为基础。这就是模式规范化理论。在数据库中,数

11、据冗余是指同一个数据存储了多次,由数据冗余将会引起各种操作异常。通过把模式分解成若干比较小的关系模式可以消除冗余。函数依赖XY是数据之间最基本的一种联系,在关系中有两个元组,如果X值相等那么要求Y值也相等。范式是衡量模式优劣的标准,范式表达了模式中数据依赖之间应满足的联系。范式的级别越高,其数据冗余和操作异常现象就越少。关系模式的规范化过程实际上是一个“分解”过程:把逻辑上独立的信息放在独立的关系模式中。分解是解决数据冗余的主要方法,也是规范化的一条原则:“关系模式有冗余问题就分解它”。第七章 数据库设计重要概念(1)DBS生存期及其7个阶段的任务和工作,DBD过程的输入和输出。(2)概念设计

12、的重要性、主要步骤。逻辑设计阶段的主要步骤。(3)ER模型的基本元素,属性的分类,联系的元数。采用ER方法的概念设计步骤。(4)ER模型到关系模型的转换规则。采用ER方法的逻辑设计步骤。小结l 数据库的生命周期l 数据库设计的步骤l ER模型n 基本概念和引进对象后的扩展n ER模型的设计方法n ER模型向关系模型的转换对ER模型的理解 ER模型是人们认识客观世界的一种方法、工具。ER模型具有客观性和主观性两重含义。ER模型是在客观事物或系统的基础上形成的,在某种程度上反映了客观现实,反映了用户的需求,因此ER模型具有客观性。但ER模型又不等同于客观事物的本身,它往往反映事物的某一方面,至于选

13、取哪个方面或哪些属性,如何表达则决定于观察者本身的目的与状态,从这个意义上说,ER模型又具有主观性。 ER模型的设计过程,基本上是两大步:·先设计实体类型(此时不要涉及到“联系”);·再设计联系类型(考虑实体间的联系)。具体设计时,有时“实体”与“联系”两者之间的界线是模糊的。数据库设计者的任务就是要把现实世界中的数据以及数据间的联系抽象出来,用“实体”与“联系”来表示。 另外,设计者应注意,ER模型应该充分反映用户需求,ER模型要得到用户的认可才能确定下来。系统篇小结 (1)事务的定义,COMMIT和ROLLBACK的语义,事务的ACID性质。(2) 恢复的定义、基本原则

14、和实现方法,故障的类型,检查点技术,REDO和UNDO操作,运行记录优先原则。 (3) 并发操作带来的三个问题,X锁、S锁、活锁、死锁,并发调度,串行调度,并发调度的可串行化,两段封锁法。(4) 完整性的定义,完整性子系统的功能,完整性规则的组成。SQL中的三大类完整性约束,SQL3中的触发器技术。(5) 安全性的定义、级别,权限,SQL中的安全性机制,几种常用的安全性措施,自然环境的安全性。 小结1. 事务以及事务的四个性质2. 数据库数据的恢复原理、常用技术、故障类型和恢复方法3. 检查点技术4. 封锁操作以及封锁带来的问题5. 并发操作和可串行化6. 数据库的完整性以及SQL中相应的语句

15、例题讲解设教学数据库有三个表:学生表:S(S#,SNAME,AGE,SEX)选课表:SC(S#,C#,GRADE)课程表:C(C#,CNAME,TEACHER)(1)试写出下列查询语句的关系代数表达式检索不学课程号为C8课程的学生学号和姓名(2)试写出(1)的SELECT语句表达形式(3)假设S和C已建立,试用CREATE语句创建表SC(需建立主键和外键)。表中字段类型、长度按常规定义。(4)试写出下列删除操作的SQL语句从SC表中把课程名为“PASCAL”女学生选课元组全部删除(1)S#,SNAME(S)S#,SNAME(sC# = C8 (S SC)(2)select S#,SNAME f

16、rom S where S# not in (select S# from SC where C# = C8)专心-专注-专业(3)CREATE TABLE SC(S# CHAR(4), C# CHAR(4), GRADE SAMLLINT, PRIMARY KEY (S#,C#), FOREIGN KEY (S#)REFERENCES S(S#), FOREIGN KEY (C#)REFERENCES C(S#));(4)delete from SCwhere C# in (select C# from C where CNAME = PASCAL)and S# in (select S#

17、from S where SEX = F ); 设某商业集团数据库中有三个实体。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。公司与仓库间存在“隶属”联系,每个公司管辖若干个仓库,每个仓库只能属于一个公司管辖;仓库与职工之间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。(1)试画出ER图,并在图上注明属性、联系的类型(2)将ER图转换成关系模型,并注明主键和外键。(1) ER图1隶属1N公司公司编号公司名地址仓库仓库编号仓库名地址聘用聘期

18、工资N职工职工编号姓名性别(2)关系模型有三个表(带下划线的为主键,红色的为外键)公司(公司编号,公司名,地址)仓库(仓库编号,仓库名,地址,公司编号)职工(职工编号,姓名,性别,仓库编号,聘期,工资)设关系模式R(S#,C#,GRADE,TNAME,TADDR),其属性分别表示学生学号、选修课程的编号、成绩、任课教师姓名、教师地址等意义。如果规定,每个学生每学一门课只有一个成绩;每门课只有一个任课教师;每个教师只有一个地址(此处不允许教师同名同姓)。(1)试写出关系模式R基本的FD和候选码。(2)试把R分解成2NF模式集,并说明理由(3)试把R分解成3NF模式集,并说明理由(1) 根据“每个

19、学生每学一门课只有一个成绩”的语义,可写出FD(S#,C#)GRADE根据“每门课只有一个任课教师”的语义,可写出FD C#TNAME根据“每个教师只有一个地址”的语义,可写出FD TNAME TADDR候选码是(S#,C#),因为从(S#,C#)可函数决定全部属性。(2) 由于R中存在下列两个FD:(S#,C#)GRADE和C#TNAME因此,(S#,C#) TNAME是一个局部FD,即TNAME部分依赖候选码(S#,C#),所以R不是2NF。此时,R中就会存在数据冗余和数据异常,如果一门课程有50个学生选修,那么在关系中就会出现50个元组,即这门课程的任课教师姓名和地址就要重复出现50次。

20、这就是数据冗余,随之就会出现各种操作异常。如果把R分解成R1(S#,C#,GRADE)和R2(C#,TNAME,TADDR),就能消除上面提到的局部FD和数据冗余问题,并且R1和R2都是2NF模式。因此R分解成的2NF模式集是R1,R2。(3)前面R1已是3NF了,但R2还不是3NF。因为在R2中的候选码是C#,并且存在下列两个FD:C#TNAME 和 TNAME GRADE即TADDR传递依赖于候选码C#,所以R2不是3NF。此时,R2中也会出现数据冗余和操作异常。如果一个教师开设5门课,那么在关系中就会出现5个元组,即这个教师的地址就要重复出现5次。这也是数据冗余,随之也会产生各种操作异常

21、。如果把R2分解成R21(C#,TNAME)和R22(TNAME,TADDR),就会消除上面提到的传递依赖和数据冗余问题,并且R21和R22都是3NF模式。因此R分解成的3NF模式集是R1,R21,R22。(1) T1、T2、T3有如左图所示的调度,执行过程中数据不一致的类型有( ),在以下回答中选择正确的答案 答案: a 、c a、丢失修改数据 b、不可重读数据 c、读脏数据 (2) 要使数据一致,就必须对数据加锁,试说明解决办法 (3)写出一个可串行调度,并给出执行结果(3分)答:(2)的解决办法就是一个可串行调度 若T1、T2、T3三个事务允许并发执行,则有多少种可能正确的执行结果,并写

22、出调度情况和执行结果。(3分)答:共六种:T1T2T3 执行结果64 T1T3T2执行结果32 T2T1T3执行结果36T2T3T1执行结果18 T3T1T2执行结果12 T3T2T1执行结果10设有一教师工资管理系统的E-R图如图所示(回答问题时只用图中字符属性)1.请对下列数据库设计阶段排列先后顺序 a、概念结构设计、b.需求分析、c.数据库物理结构设计、 d.数据库逻辑结构设计、e.数据库的维护、f.数据库的实施 2.对一数据设计,E-R图应该在哪个阶段设计 3. 试使用E-R图转换为关系模型的原则,将教师工资管理系统的E-R图转换为关系模型 4.写出下列问题的SQL语句(1).将本题中

23、3小题的关系模型转换为数据库的基本表(2).查询教师姓名中有“中”字符的教师姓名、工资总额的记录(3).查询女副教授的姓名、工资总额的记录(4).在表中增加一教师记录“012 王中一 男 教授 计算机” (5).在表中删除一教师记录“012 王中一 男 教授 计算机” (6).将所有教师的姓名,工资总额按工资总额的降序排序 教师Teacher工资Wages发工资Pay编号Bh姓名Xm性别Xb职称Zc所在系Szm水电费Sd房租费Fz工资总额Gz补贴Bt福利Fl奖金Jj编号Bh111.答案:需求分析、概念结构设计、数据库逻辑结构设计、数据库物理结构设计、数据库的实施、数据库的维护。2.答案: E-R图应该在概念结构设计阶段设计 3.答案: 教师(编号、姓名、性别、职称、所在系)工资(编号、工资总额、补贴、福利、奖金、教师编号、水电费、房租费)或Teacher( Bh 、Xm 、Xb 、Zc 、Szm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论