【文档说明】数据库系统原理1课件.ppt,共(230)页,1.033 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92492.html
以下为本文档部分文字说明:
课程名称:数据库系统概论课时:72任课教师:陈红内容安排1基础篇–第1章:绪论–第2章:关系数据库–第3章:关系数据库标准语言SQL设计篇–第4章:关系数据库设计理论–第6章:数据库设计内容安排2系统篇–第5章:数据库保护–第7章:关系数据库管理系统实例–第8章:数据
库技术新进展第1章绪论1.1引言1.2数据模型1.3数据库系统结构1.4数据库管理系统1.5数据库工程与应用1.6小结第1章绪论1.1引言1.2数据模型1.3数据库系统结构1.4数据库管理系统1.5数据库工程与应用1.6小结1.1引言1.1.1数据、数据库、数据库系统、数据库管理系统
1.1.2数据库技术的生产与发展1.1.3数据库技术的研究领域1.1引言1.1.1数据、数据库、数据库系统、数据库管理系统1.1.2数据库技术的生产与发展1.1.3数据库技术的研究领域数据库的地位•数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。•数据库技术是
信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。•数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。一、数据数据(Data)是数据库中存储的基本对象数据的定义–描述事物的符号记录组成数据的符号种类–
数字、字符串、日期、逻辑值、文本、图形、图象、声音数据的特点–数据与其语义是不可分的数据举例学生档案中的学生记录(李明,男,1972,江苏,计算机系,1990)数据的形式不能完全表达其内容数据
的解释–语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间–解释:李明是个大学生,1972年出生,男,江苏人,1990年考入计算机系二、数据库人们收集并抽取出一个应用所需要的大量数据之后,应将
其保存起来以供进一步加工处理,进一步抽取有用信息。数据库的定义–数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的数据集合。数据库(续)数据库的特征–数据按一定的数据模型组织、描述
和储存–可为各种用户共享–冗余度较小–数据独立性较高–易扩展三、数据库管理系统什么是DBMS–数据库管理系统(DatabaseManagementSystem,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。DBMS的用途–科学地组织和存储数据、高效地获取和
维护数据数据库管理系统(续)DBMS的主要功能–数据定义功能:提供数据定义语言(DDL),用于定义数据库中的数据对象。–数据操纵功能:提供数据操纵语言(DML),用于操纵数据实现对数据库的基本操作(查询、插入、删除和修改)。数据库管理系统(续)DBMS的主要功能(续)
–数据库的运行管理:保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。–数据库的建立和维护功能:提供实用程序,完成数据库数据批量装载,数据库转储,介质故障恢复,数据库的重组织和性能监视等四、数据库系统什么是数据库系统–数据库系统(DatabaseSystem,简称
DBS)是指在计算机系统中引入数据库后的系统构成。–在不引起混淆的情况下常常把数据库系统简称为数据库。数据库系统的构成–由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库系统(续)数据库系
统构成图示用户用户用户应用系统应用开发系统数据库管理系统操作系统数据库数据库管理员用系应统数据库系统(续)发工开具用软应件数据库系统在计算机系统中的位置图示BMDS编统译系作系操统硬件1.1引言1.1.1数据、数据库、数据
库系统、数据库管理系统1.1.2数据库技术的生产与发展1.1.3数据库技术的研究领域1.1.2数据管理技术的产生和发展什么是数据管理–对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。数据管理技术的发展过程–人工管理阶段(4
0年代中--50年代中)–文件系统阶段(50年代末--60年代中)–数据库系统阶段(60年代末--现在)数据管理技术的产生和发展(续)数据管理技术的发展动力–应用需求的推动–计算机硬件的发展–计算机软件的发展一、人工管理时期–40年代中--
50年代中产生的背景–应用需求科学计算–硬件水平无直接存取存储设备–软件水平没有操作系统–处理方式批处理人工管理(续)特点1–数据的管理者:应用程序,数据不保存。人工管理(续)特点2-数据面向的对象:某一
应用程序应用程序与数据的对应关系图应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…人工管理(续)特点3–数据的共享程度:无共享、冗余度极大–数据的独立性:不独立,完全依赖于程序–数据的结构化:无结构–数据
控制能力:应用程序自己控制二、文件系统时期–50年代末--60年代中产生的背景–应用需求科学计算、管理–硬件水平磁盘、磁鼓–软件水平有文件系统–处理方式联机实时处理、批处理文件系统(续)特点1–数据的管理者:文件系统,
数据可长期保存应用程序与数据的对应关系(文件系统)特点2-数据面向的对象:某一应用程序应用程序与数据的对应关系应用程序1文件1应用程序2文件2应用程序n文件n存取方法...…...…文件系统(续)特点3–数据的共享程度:共享性差、冗余度大文件系统(续)特点4-数据的结构化:记录内有结构,整体无
结构文件系统中数据的结构-记录内有结构学生人事记录-数据的结构是靠程序定义和解释的。学号姓名性别系别年龄政治面貌家庭出身籍贯家庭成员奖惩情况文件系统(续)-数据一般是定长的。可以间接实现数据变长要求,但访
问相应数据的应用程序复杂了。学生人事主记录学号姓名性别系别年龄政治面貌家庭出身籍贯家庭成员奖惩情况姓名与本人关系详细情况日期奖惩条目家庭成员记录奖惩情况记录文件系统(续)900201李明男计算机24共青团员工人江苏无锡李义山父子…李平兄弟…1991吴玉章奖
学金1991一等奖学金张玉母子…家庭成员记录奖惩情况记录-文件间是独立的,因此数据整体无结构。间接实现数据整体的有结构也比较困难。数据的最小存取单位是记录。文件系统(续)特点5–数据的独立性:独立性差,数据的逻辑结
构改变必须修改应用程序–数据控制能力:应用程序自己控制三、数据库系统时期–60年代末以来产生的背景–应用背景大规模管理–硬件背景大容量磁盘–软件背景有数据库管理系统–处理方式联机实时处理,分布处理,批处理数据库
系统(续)特点1–数据的管理者:DBMS数据库系统(续)特点2-数据面向的对象:现实世界应用程序与数据的对应关系DBMS应用程序1应用程序2数据库…数据库系统(续)特点3-数据的共享程度:共享性高数据的高共享性的好处-降低数据的冗余度,节省存储空间-避免数据间的不一致性-使系统易于扩充数据库
系统(续)特点4-数据的独立性:高度的物理独立性和一定的逻辑独立性数据的物理独立性–指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。数据的逻辑独立性–指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变
。数据库系统(续)特点5-数据的结构化:整体结构化数据结构化-整体数据的结构化是数据库的主要特征之一。-数据库中实现的是数据的真正结构化•数据的结构用数据模型描述,无需程序定义和解释。•数据可以变长。•数据的最小存取单位是数据项。数据库系统(续)特点6-数据
控制能力:由DBMS统一管理和控制DBMS对数据的控制功能数据的安全性(Security)保护–使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查–将数据控制在有效的范围内,或保证数据之间满足一定的关系。DB
MS对数据的控制功能(续)并发(Concurrency)控制–对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)–将数据库从错误状态恢复到某一已知的正确状态。1.1引言1.1.1数据、数据库、数据库系统、数据库管理系统1.1.2数据库技术的生产与
发展1.1.3数据库技术的研究领域1.1.3数据库技术的研究领域数据库管理系统软件的研制数据库设计数据库理论数据库管理系统软件的研制DBMS本身以DBMS为核心的一组相互联系的软件系统–工具软件–中间件数据
库设计数据库设计方法设计工具设计理论数据模型和数据建模数据库理论关系的规范化理论关系数据理论第1章绪论1.1引言1.2数据模型1.3数据库系统结构1.4数据库管理系统1.5数据库工程与应用1.6小结1.2数据
模型1.2.1数据模型的要素1.2.2概念模型1.2.3数据模型数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求–能比较真实地模拟现实世界–容易为人所理解–便于在计算机上实现数据模型(
续)数据模型分成两个不同的层次–(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模。–(2)数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。数据模型(续)客观对象的抽象过程---
两步抽象–现实世界中的客观对象抽象为概念模型;–把概念模型转换为某一DBMS支持的数据模型。概念模型是现实世界到机器世界的一个中间层次。1.2数据模型1.2.1数据模型的要素1.2.2概念模型1.2.3数据模型1.2.1数据模型的要素数据结构数据操
作数据的约束条件1.数据结构什么是数据结构–对象类型的集合两类对象–与数据类型、内容、性质有关的对象–与数据之间联系有关的对象数据结构是对系统静态特性的描述2.数据操作数据操作–对数据库中各种对
象(型)的实例(值)允许执行的操作及有关的操作规则数据操作的类型–检索–更新(包括插入、删除、修改)数据操作(续)数据模型对操作的定义–操作的确切含义–操作符号–操作规则(如优先级)–实现操作的语言数据操作是对
系统动态特性的描述。3.数据的约束条件数据的约束条件–一组完整性规则的集合。–完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。数据的约束条件(续)数据模型对约束条件的定义–反映和规定本数据模型必须
遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。–提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。1.2数据模型1.2.1数据模型的要素1.2.2概念模型1.2.3数据模
型1.2.2概念模型1.概念模型2.信息世界中的基本概念3.概念模型的表示方法1.概念模型概念模型的用途–概念模型用于信息世界的建模–是现实世界到机器世界的一个中间层次–是数据库设计的有力工具–数据库设计人员和用户之
间进行交流的语言对概念模型的基本要求–较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识–简单、清晰、易于用户理解2.信息世界中的基本概念(1)实体(Entity)–客观存在并可相互区别的事物称
为实体。–可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)–实体所具有的某一特性称为属性。–一个实体可以由若干个属性来刻画。(3)码(Key)–唯一标识实体的属性集称为码。信息世界中的基本概念(续)(4)域(Domain)–属性的取值范围称为该属性的域。(5
)实体型(EntityType)–用实体名及其属性名集合来抽象和刻画同类实体称为实体型。(6)实体集(EntitySet)–同型实体的集合称为实体集。信息世界中的基本概念(续)(7)联系(Relationship
)–现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。•实体内部的联系:组成实体的各属性之间的联系•实体之间的联系:不同实体集之间的联系–三类实体型间联系•一对一联系(1:1)•一对多联系(1:n)•多对多联系(m:n)两个实体型间的联系一对一联系–如果对
于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。–实例班级与班长之间的联系:一个班级只有一个正班长,而一个班长只在一个班中任职两个实体型间的联系(续)一对多联系–如果对于实
体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体B有一对多联系。记为1:n–实例班级与学生之间的联系:一个班级中有若干名学生,而每个学生
只在一个班级中学习两个实体型间的联系(续)多对多联系(m:n)–如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与
实体B具有多对多联系。记为m:n–实例课程与学生之间的联系:一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程联系的表示方法示例班级班级-班长班长111:1联系课程选修学生mnm:n联系班级组成学
生1n1:n联系实体型间联系(续)三类联系之间的关系m:n联系1:1联系1:n联系多个实体型间的联系多个实体型之间的联系–一对一联系–一对多联系–多对多联系多个实体型间的联系(续)多个实体型间的一对多联系–若实体集E1,E2,...,En存在联系,
对于实体集Ej(j=1,2,...,i-1,i+1,...,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,...,Ei-1,Ei+1,...,En之间的联系是一对多的。多个实体型间的联系(续)多个实体型间的一对多联系(续)–实例对于课程、教师与参考书三个实体
型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的多个实体型间的一对一联系多个实体型间的多对多联系联系的表示方法示例(续)职工领导1n同一实体型内部的1:n联系课程
讲授教师1m多个实体型间的1:n联系参考书n同一实体集内各实体间的联系一对多联系–实例职工实体集内部具有领导与被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系一对一联系多对多联系3.概念模型的表示方法概念模型的表示方法很多实
体-联系方法(E-R方法)–是最为常用的概念模型表示方法。–用E-R图来描述现实世界的概念模型。–E-R方法也称为E-R模型。E-R图实体型–用矩形表示,矩形框内写明实体名。学生教师E-R图(续)属性–用椭
圆形表示,并用无向边将其与相应的实体连接起来学生学号年龄性别姓名E-R图(续)联系–联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的表示方法实体型1联系名实体型2111:1联系实体型1联系名
实体型2mnm:n联系实体型1联系名实体型21n1:n联系联系的表示方法(续)实体型1联系名mn同一实体型内部的m:n联系实体型1联系名实体型21m多个实体型间的1:n联系实体型3n联系的表示方法示例班级班级-班长班长111:1联系课程选修学生mnm:n联系班级组成
学生1n1:n联系联系的表示方法示例(续)职工领导1n同一实体型内部的1:n联系课程讲授教师1m多个实体型间的1:n联系参考书nE-R图(续)联系–联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也
要用无向边与该联系连接起来。联系属性的表示方法课程选修学生mn成绩E-R图实例:某个工厂物资管理的概念模型物资管理涉及的实体:–仓库:属性有仓库号、面积、电话号码。–零件:属性有零件号、名称、规格、单价、描述。–供应商:属性
有供应商号、姓名、地址、电话号码、账号。–项目:属性有项目号、预算、开工日期。–职工:属性有职工号、姓名、年龄、职称。E-R图实例(续)实体之间的联系–一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。用库存量来表示某种零件在
某个仓库中的数量。–一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。–职工之间具有领导-被领导关系。即仓库主任领导若干保管员。–一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零
件,每种零件可由不同供应商供给。1.2数据模型1.2.1数据模型的要素1.2.2概念模型1.2.3数据模型1.2.3数据模型一、层次数据模型二、网状数据模型三、关系数据模型1.2.3数据模型非关系模型–种类•层次模型(Hierarch
icalModel)•网状模型(NetworkModel)–数据结构:以基本层次联系为基本单位•基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系数据模型(续)关系模型(Relation
alModel)–数据结构:表面向对象模型(ObjectOrientedModel)–数据结构:对象1.2.3数据模型一、层次数据模型二、网状数据模型三、关系数据模型层次模型1.层次数据模型的数据结构2.层次数据模型的数据操纵3.层次数据模型的完整性约束4.层次数据模型的存储结
构5.层次数据模型的优缺点6.典型的层次数据库系统1.层次数据模型的数据结构层次模型满足下面两个条件的基本层次联系的集合为层次模型。–1.有且只有一个结点没有双亲结点,这个结点称为根结点–2.根以外的其它结点有且只有一个双亲结点层次模型中的几
个术语–根结点,双亲结点,兄弟结点,叶结点层次数据模型的数据结构(续)R1根结点R2兄弟结点R3叶结点R4兄弟结点R5叶结点叶结点层次数据模型的数据结构(续)表示方法–实体型:用记录类型描述。每个结点表示一个记录类型。
–属性:用字段描述。每个记录类型可包含若干个字段。–联系:用结点之间的连线表示记录(类)型之间的一对多的联系。层次数据模型的数据结构(续)特点–结点的双亲是唯一的–只能直接处理一对多的实体联系–每个记录类型定义一个排序字段,也称为码字段–任何记录值只有按其路径查看时,才能显出它的全部
意义–没有一个子女记录值能够脱离双亲记录值而独立存在层次数据模型的数据结构(续)多对多联系在层次模型中的表示–用层次模型间接表示多对多联系–表示方法•将多对多联系分解成一对多联系–分解方法•冗余结点法•虚拟结点法2.层次模型
的数据操纵查询插入删除更新3.层次模型的完整性约束无相应的双亲结点值就不能插入子女结点值如果删除双亲结点值,则相应的子女结点值也被同时删除更新操作时,应更新所有相应记录,以保证数据的一致性4.层次数据模型的存储结构邻接法–按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过
物理空间的位置相邻来实现层次顺序。链接法–用指引元来反映数据之间的层次联系•子女-兄弟链接法P18•层次序列链接法P18D02R01E2101E1709E3501R02R03E1101E3102S63871S63874S638765.层
次模型的优缺点优点–层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解–性能优于关系模型,不低于网状模型–层次数据模型提供了良好的完整性支持层次模型的优缺点(续)缺点–多对多联系表示不自然–对插入和删除操作的限制多–查询子女结点必须通过双亲结点–层次命令趋
于程序化6.典型的层次数据库系统IMS数据库管理系统–第一个大型商用DBMS–1968年推出–IBM公司研制1.2.3数据模型一、层次数据模型二、网状数据模型三、关系数据模型网状模型1.网状数据模型的数据结构2.网状数据模型的数据操纵3
.网状数据模型的完整性约束4.网状数据模型的存储结构5.网状数据模型的优缺点6.典型的网状数据库系统1.网状数据模型的数据结构网状模型满足下面两个条件的基本层次联系的集合为网状模型。–1.允许一个以上的结点无双亲;–2.一个结点可以有多于一个的双亲。网状数据模型的数
据结构(续)表示方法(与层次数据模型相同)–实体型:用记录类型描述。每个结点表示一个记录类型。–属性:用字段描述。每个记录类型可包含若干个字段。–联系:用结点之间的连线表示记录(类)型之间的一对多的父子联系。网状数据模型的数据结构(续)特点–只能直接处理一对多的实体联系–每个记录类型定义一个
排序字段,也称为码字段–任何记录值只有按其路径查看时,才能显出它的全部意义网状数据模型的数据结构(续)网状模型与层次模型的区别–网状模型允许多个结点没有双亲结点–网状模型允许结点有多个双亲结点–网状模型允许两个结
点之间有多种联系(复合联系)–网状模型可以更直接地去描述现实世界–层次模型实际上是网状模型的一个特例网状数据模型的数据结构(续)R1R2R3L1L2R1R2L3L1L2R3L4R4R5网状数据模型的数据结构(续)R1L1L2R2网状数据模型的数据
结构(续)学生宿舍学生教研室系教师网状数据模型的数据结构(续)父亲人独生子女树种植砍伐养育赡养网状数据模型的数据结构(续)父亲关系男人网状数据模型的数据结构(续)多对多联系在网状模型中的表示–用网状模型间接表示多对多联系–表示方法•将多对多联系直接分解
成一对多联系2.网状模型的数据操纵查询插入删除更新3.网状数据模型的完整性约束完整性约束条件不严格–允许插入尚未确定双亲结点值的子女结点值–允许只删除双亲结点值网状数据模型的完整性约束(续)具体的网状数据库系统(如DBTG)对数据操纵加
了一些限制,提供了一定的完整性约束。–码–属籍类别•加入类别(自动的,手工的)•移出类别(固定的,必须的,随意的)4.网状数据模型的存储结构关键–实现记录之间的联系常用方法–单向链接–双向链接–环状链接–向首链接例:P2
95.网状模型的优缺点优点–能够更为直接地描述现实世界,如一个结点可以有多个双亲–具有良好的性能,存取效率较高网状模型的优缺点(续)缺点–结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握–DDL、DML语言复杂,
用户不容易使用6.典型的网状数据库系统DBTG系统,亦称CODASYL系统–由DBTG提出的一个系统方案–奠定了数据库系统的基本概念、方法和技术–70年代推出实际系统–CullinetSoftwareInc.公司的I
DMS–Univac公司的DMS1100–Honeywell公司的IDS/2–HP公司的IMAGE1.2.3数据模型一、层次数据模型二、网状数据模型三、关系数据模型关系模型1.关系数据模型的数据结构2.关
系数据模型的操纵3.关系数据模型的完整性约束4.关系数据模型的存储结构5.关系数据模型的优缺点6.典型的关系数据库系统关系模型最重要的一种数据模型。也是目前主要采用的数据模型1970年由美国IBM公司SanJose研究室的研究员E.F.Codd提出本课程的重点1.关系数
据模型的数据结构关系模型的基本数据结构关系模型的基本概念实体及实体间的联系的表示方法关系必须是规范化的关系数据模型的数据结构(续)关系模型的基本数据结构–在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。学生登记表学号姓名年令
性别系名年级95004王小明19女社会学9595006黄大鹏20男商品学9595008张文斌18女法律学95………………关系数据模型的数据结构(续)关系模型的基本概念–关系(Relation):•一个关系对应通常说的一张表。–元组(Tuple)•表中的一行即为一个元组
。–属性(Attribute)•表中的一列即为一个属性,给每一个属性起一个名称即属性名。关系数据模型的数据结构(续)关系模型的基本概念(续)–主码(Key)•表中的某个属性组,它可以唯一确定一个元组。–域(Domain)•属性的取值范围。–分量•元组中的一个属性值。关系
数据模型的数据结构(续)关系模型的基本概念(续)–关系模式•对关系的描述•表示方法关系名(属性1,属性2,…,属性n)例如:学生(学号,姓名,年龄,性别,系,年级)关系数据模型的数据结构(续)实体及实体间的联系的表示方法–实体型:直接用关系(表)表
示。–属性:用属性名表示。–一对一联系:隐含在实体对应的关系中。–一对多联系:隐含在实体对应的关系中。–多对多联系:直接用关系表示。关系数据模型的数据结构(续)例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)例
2系、系主任、系与系主任间的一对一联系关系数据模型的数据结构(续)例3学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩)关
系数据模型的数据结构(续)关系必须是规范化的,即必须满足一定的规范条件–最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。工资扣除职工号姓名职称基本工龄职务房租水电实发86051陈平讲师1059.515612115.5工资扣除职工号姓名职称基本工龄职务房租水电实发8605
1陈平讲师1059.515612115.5...........................2.关系模型的数据操纵查询、插入、删除、更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎
么干”3.关系模型的完整性约束实体完整性参照完整性用户定义的完整性4.关系数据模型的存储结构表以文件形式存储有的DBMS一个表对应一个操作系统文件,有的DBMS自己设计文件结构5.关系模型的优缺点优点–建立在严格的数学概念的基础上–概念单一。数据结构简单、清晰,用户易
懂易用•实体和各类联系都用关系来表示。•对数据的检索结果也是关系。–关系模型的存取路径对用户透明•具有更高的数据独立性,更好的安全保密性•简化了程序员的工作和数据库开发建立的工作关系模型的优缺点(续)缺点–存取路径对用户透明导致查询效
率往往不如非关系数据模型•为提高性能,必须对用户的查询请求进行优化•增加了开发数据库管理系统的难度6.典型的关系数据库系统–ORACLE–SYBASE–DB/2–SQLServer–INFORMIX–COBASE–PBASE–EasyBase–KingBase–小金灵–DM/4–OpenBase
第1章绪论1.1引言1.2数据模型1.3数据库系统结构1.4数据库管理系统1.5数据库工程与应用1.6小结1.3数据库系统结构1.3.1数据库系统的模式结构–从数据库管理系统角度看1.3.2数据库系统的体系结构–从数据库最终用户角度看1.3数据库系统结构1.3.1数据库系统的模式结构–
从数据库管理系统角度看1.3.2数据库系统的体系结构–从数据库最终用户角度看1.3.1数据库系统的模式结构数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性小结1.3.1数据库系统的模式结构数据库系统模式的概念数据库系统的三级模式结构数据库的二级
映象功能与数据独立性小结数据库系统模式的概念“型”和“值”的概念–型(Type)•对某一类数据的结构和属性的说明–值(Value)•是型的一个具体赋值例如:学生记录记录型:(学号,姓名,性别,系别,年龄,
籍贯)该记录型的一个记录值:(900201,李明,男,计算机,22,江苏)数据库系统模式的概念(续)模式的概念–模式(Schema)•数据库逻辑结构和特征的描述•是型的描述•反映的是数据的结构及其联系•模式是相对稳定的数据库系统模式的概念(续)模
式的概念(续)–模式的一个实例(Instance)•模式的一个具体值•反映数据库某一时刻的状态•同一个模式可以有很多实例•实例随数据库中的数据的更新而变动1.3.1数据库系统的模式结构数据库系统模式的概念数据库系统的三级模式结构数
据库的二级映象功能与数据独立性小结数据库系统的三级模式结构应用A应用B应用C应用D应用E外模式1外模式2外模式3外模式/模式映象模式模式/内模式映象内模式数据库数据库1.模式(Schema)模式(也称逻辑模式)–数据库中全体数据的逻辑结构和特征的描述–所有用户的公共数
据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层–与数据的物理存储细节和硬件环境无关–与具体的应用程序、开发工具及高级程序设计语言无关模式的定义–数据的逻辑结构(数据项的名字、类型、取值范围等)–数据之间的联系–数据有关的安全性、
完整性要求2.外模式(ExternalSchema)外模式(也称子模式或用户模式)–数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述–数据库用户的数据视图,是与某一应用有关的数
据的逻辑表示外模式(续)外模式的地位:介于模式与应用之间–模式与外模式的关系:一对多•外模式通常是模式的子集•一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求•对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同–外模式与应用的关系:一对
多•同一外模式也可以为某一用户的多个应用系统所使用,•但一个应用程序只能使用一个外模式。外模式(续)外模式的用途–保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据–保证数据独立性的一个有力措施。3.内模式(InternalSchema)内模式(也称
存储模式)–是数据物理结构和存储方式的描述–是数据在数据库内部的表示方式•记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)•索引的组织方式•数据是否压缩存储•数据是否加密•数据存储记录结构的规定一个数据库只有一个内模式1.3.1数据库系统的模式结构数据库系统模式的概念数
据库系统的三级模式结构数据库的二级映象功能与数据独立性小结三级模式与二级映象三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换二级映象功能1.外模式/模式映象2.模式/内模式映象1.外模式/模式映象什么是外模式/模式
映象–定义外模式与模式之间的对应关系–每一个外模式都对应一个外模式/模式映象–映象定义通常包含在各自外模式的描述中外模式/模式映象(续)外模式/模式映象的用途:保证数据的逻辑独立性–当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保
持不变–应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。2.模式/内模式映象什么是模式/内模式映象–模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的–数据
库中模式/内模式映象是唯一的–该映象定义通常包含在模式描述中模式/内模式映象(续)模式/内模式映象的用途:保证数据的物理独立性–当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式
/内模式映象,使模式保持不变–应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。1.3.1数据库系统的模式结构数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数
据独立性小结小结应用A应用B应用C应用D应用E外模式1外模式2外模式3外模式/模式映象模式模式/内模式映象内模式数据库数据库小结(续)模式–是数据库的中心与关键–独立于数据库的其它层次–设计数据库模式结构时应首先确定数据库的逻辑模式小结(续)内模式–依赖于全局逻辑结构,但独
立于数据库的用户视图即外模式,也独立于具体的存储设备。–它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。小结(续)外模式–面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备–设计外模式时应充分考虑到应用的扩充性。当应用
需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动小结(续)应用程序–在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。–不同的应用程序有时可以共用同一个外模式。小结(续)二级映象–保证了数据库外模式的稳
定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。–数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。数据库特点与数据库的模式结构1.3
数据库系统结构1.3.1数据库系统内部的模式结构–从数据库管理系统角度看1.3.2数据库系统外部的体系结构–从数据库最终用户角度看1.3.2数据库系统外部的体系结构单用户结构主从式结构分布式结构客户/服务器结构1.单用户数据库系统整个数据库系统(应用
程序、DBMS、数据)都装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。早期的最简单的数据库系统2.主从式结构的数据库系统一个主机带多个终端的多用户结构–数据库系统,包括应用程序、DBMS、数据,都集中存放
在主机上,所有处理任务都由主机来完成–各个用户通过主机的终端并发地存取数据库,共享数据资源。主从式结构的数据库系统(续)优点–简单,数据易于管理与维护。缺点–当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能大幅度下降。–系统的可靠性不高,当主机出现
故障时,整个系统都不能使用。3.分布式结构的数据库系统数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。–网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用–同时也可以同
时存取和处理多个异地数据库中的数据,执行全局应用分布式结构的数据库系统(续)优点–适应了地理上分散的公司、团体和组织对于数据库应用的需求。缺点–数据的分布存放给数据的处理、管理与维护带来困难。–当用户需要经常访问远程数据时,系统效率会明显地受到网络交通的制约。4.客户/
服务器结构的数据库系统把DBMS功能和应用分开–网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器–其他结点上的计算机安装DBMS的外围应用开发工具,支持用户的应用,称为客户机客户/服务器结构的数据库系统(续)
客户/服务器数据库系统的种类–集中的服务器结构•在网络中仅有一台数据库服务器,而客户机是多台–分布的服务器结构•在网络中有多台数据库服务器•分布的服务器结构是客户/服务器与分布式数据库的结合客户/服务器结构的数据库系统(续)优点–客户端的用户请求被传送到数据
库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量–数据库更加开放•客户与服务器一般都能在多种不同的硬件和软件平台上运行•可以使用不同厂商的数据库应用开发工具•应用程序具有
更强的可移植性,同时也可以减少软件维护开销客户/服务器结构的数据库系统(续)缺点–在集中的服务器结构中,一个数据库服务器要为众多的客户服务,往往容易成为瓶颈,制约系统的性能(与主从式结构相似)–在分布的服务器结构中数据分布在不同的服务器
给数据的处理、管理与维护带来困难(与分布式结构相似)第1章绪论1.1引言1.2数据模型1.3数据库系统结构1.4数据库管理系统1.5数据库工程与应用1.6小结1.4数据库管理系统1.4.1数据库管理系统的功能与组成1.4.2数据库管理系统的工作过程1.4.3数据库管理系统的实现方法1.4数据
库管理系统1.4.1数据库管理系统的功能与组成1.4.2数据库管理系统的工作过程1.4.3数据库管理系统的实现方法1.4.1数据库管理系统的功能与组成1.数据定义2.数据操纵3.数据库运行管理4.数据组织、存储和管
理5.数据库的建立和维护6.数据通信接口1.数据定义定义构成数据库结构的模式、存储模式和外模式定义各个外模式与模式之间的映射定义模式与存储模式之间的映射定义有关的约束条件2.数据操纵检索插入修改删除3.数据库运行管理对数据库的运行管理是
DBMS运行时的核心部分,包括对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护等。所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发
使用。4.数据组织、存储和管理数据库中需要存放多种数据,如数据字典、用户数据、存取路径等。DBMS负责分门别类地组织、存储和管理这些数据,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、
增、删、改等操作的时间效率。5.数据库的建立和维护建立数据库包括数据库初始数据的输入与数据转换等。维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。6.数据通信接口DBMS需要提供与
其他软件系统进行通信的功能DBMS组成-数据定义的语言及其翻译处理程序-数据操纵语言及其编译(或解释)程序-数据库运行控制程序-使用程序1.4数据库管理系统1.4.1数据库管理系统的功能与组成1.4.2数据库管理系统的工作过程1.4.3数据库管理系统的实现方法1.4.2数据库管理系
统的工作过程存取数据库中数据时,应用程序、DBMS、操作系统、硬件等几个方面协同工作。这是一个较为复杂的过程,其中DBMS起关键作用1.4.2数据库管理系统的工作过程(续)应用程序(用户)从数据库中读取数据的步
骤:–应用程序A向DBMS发出从数据库读数据记录的命令–DBMS对该命令进行语法检查、语义检查,并调用应用程序A对应的子模式,检查A的存取权限,决定是否执行该命令。如果拒绝执行,则向用户返回错误信息–在决定执行该命令后,DBMS调用模式,依据模式/
模式映象的定义,确定应读入模式中的哪些记录1.4.2数据库管理系统的工作过程(续)–DBMS调用物理模式,依据模式/物理模式映象的定义,决定应从哪个文件、用什么存取方式、读入哪个或哪些物理记录–DBMS向操作系统发出执行读取所需物理记录的命
令–操作系统执行读数据的有关操作–操作系统将数据从数据库的存储区送至缓冲区1.4.2数据库管理系统的工作过程(续)–DBMS依据子模式/模式映象的定义,导出应用程序A所要读取的记录格式–DBMX将数据记录从系统缓冲区传送到应用程
序A的用户工作区–DBMS向应用程序A返回命令执行情况的状态信息1.4数据库管理系统1.4.1数据库管理系统的功能与组成1.4.2数据库管理系统的工作过程1.4.3数据库管理系统的实现方法1.4.3数据库管理系统的实现方法N方案2N方案M+N方案N+
1方案一、N方案DBMS与应用程序融合在一起,N个用户的系统中只有N个进程。DBMS基本成分通常设计成可重入代码用户使用DBMS时,调用的DBMS模块被加入到用户进程中,借助于操作系统的调度完成对用户程序的运行系统性
能较差N方案(续)AP1DBMSAP2DBMSAP3DBMSU1U2OSSGA文件DB二、2N方案一个DBMS进程对应一个用户进程,每个用户进程均有一个影子进程(shadow)的dbms进程为之服务。系统中
总进程数接近用户进程的2倍系统还有若干个后台进程负责读写数据库、监控、写日志等工作内存需求大,通信开销大,不适合大量用户的联机事务处理应用2N方案(续)AP1AP2AP3DBMSDBMSDBMSU1U2OSSGA文件DB三、M+N方案对2N方案的一种改进,
在N个用户进程中,有M个DBMS进程为之服务(M<N)DBMS进程的分派有专门的分派进程负责与2N方案比,M+N方案减少了系统中的进程数,提高了内存资源的利用率,也减少了通信开销,但没有克服2N方案的本质弱点M+N方案(续)AP1AP2AP3服务进程池DBM
SDBMSU1U2SGA四、N+1方案整个DBMS仅使用一个进程,多个数据库用户可以向其发消息以申请数据库服务,这些消息挂在DBMS进程的消息队列中DBMS进程完成一个用户进程的请求后,把结果作为消息发回给相应用户,然后执行下一个请求为了防止在用户数目
较多的情况下DBMS进程成为瓶颈,通常把DBMS进程内部设计成多线索结构,每一条线索都可以服务于一个用户请求一种较优的方案,但实现起来复杂,消息通信机制开销大N+1方案(续)AP1AP2AP3DBMSU1U2OSDB文件第1章绪论1.
1引言1.2数据模型1.3数据库系统结构1.4数据库管理系统1.5数据库工程与应用1.6小结1.5数据库工程与应用1.5.1数据库设计的目标与特点1.5.2数据库设计方法1.5.3数据库设计步骤1.5.4数据库应用1.5数据库工程与应用1.5.1数据库设计的
目标与特点1.5.2数据库设计方法1.5.3数据库设计步骤1.5.4数据库应用1.5.1数据库设计的目标与特点数据库设计的任务是在DBMS的支持下,按照应用的要求,为某一部门或组织设计一个结构合理、使用方便、效率较高的数据机器应用系统数据库设计包含两方面内容–结构(数
据)设计,也就是设计数据库框架或数据库–行为(处理)设计,即设计应用程序、事务处理等1.5数据库工程与应用1.5.1数据库设计的目标与特点1.5.2数据库设计方法1.5.3数据库设计步骤1.5.4数据库应用1
.5.2数据库设计方法使用工程化的规范设计方法核心与关键是设计逻辑数据库设计和物理数据库设计–逻辑数据库设计是根据用户要求和特定数据库管理系统的具体特点,以数据库设计理论为依据,设计数据库的全局逻辑结构和每个用户的局部逻辑结构。–物理数据库设计是在逻辑结构确定之后,设计数据库的存储结构
及其他实现细节数据库设计方法(续)各种设计方法在设计步骤上的划分上存在差异,各有自己的特点和局限–例如新奥尔良方法和S.B.Yao方法有一些为数据库设计不同阶段提供的具体实现技术与实现方法–例如基于E-R模型方法、基于3NF(第三范式)方法、基于抽象语法规范的方法规范设计法在具体
使用中分为两类–手工设计–计算机辅助数据库设计1.5数据库工程与应用1.5.1数据库设计的目标与特点1.5.2数据库设计方法1.5.3数据库设计步骤1.5.4数据库应用1.5.3数据库设计步骤需求分析概念结构设计数据库运行和维
护数据库实施数据库物理设计逻辑结构设计需求说明与数据说明概念结构逻辑结构物理结构数据库系统1.5数据库工程与应用1.5.1数据库设计的目标与特点1.5.2数据库设计方法1.5.3数据库设计步骤1.5.4数据库应用1.5.4数据库应用在DBMS上可以根据用户需求开发一个具体的应用系统,从
而形成一个完整的数据库系统一个数据库系统一般由三级模式组成,数据库中由多种用户,分别扮演不同角色承担不同任务,见下页图数据库应用(续)数据库管理员(DBA)负责全面管理和控制数据库系统,是数据库系统中最重要
的人员–设计与定义数据库系统–帮助最终用户使用数据库系统–监督与控制数据库系统的使用和运行–改进和重组数据库系统,调优数据库系统的性能–转储与恢复数据库–重构数据库第1章绪论1.1引言1.2数据模型1.3数据库系统结构1.4数据库管理系统1.5数据库工程与应用1.6小结小结数据
库系统概述–数据库的基本概念–数据管理的发展过程–数据库系统的研究领域数据模型–数据模型的三要素–概念模型,E-R模型–三种主要数据模型小结(续)数据库系统的结构–数据库系统三级模式结构–数据库系统的体系结构