《第三数据库系统结构课件.ppt》由会员分享,可在线阅读,更多相关《第三数据库系统结构课件.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三数据库系统结构第1页,此课件共47页哦3.1数据模型 模型模型对客观事物、现象、过程或系统的简化描述所有的数据库系统都为它所要描述的世界建立了模型:数据建模:描述了组织数据的框架结构。如:楼房住户-数据;房间规格-数据模型数据建模最后发展成为数据的存储方式(数据字典中的定义)第2页,此课件共47页哦n 业务功能建模:用户的最终需求。n 业务功能建模最后发展成为应用程序n 产生高效的应用程序的前提是良好的数据模型。(正如10 平米的房间无法成为会议厅一样,一个糟糕的数据模型也无法产生高质量的应用。第3页,此课件共47页哦3.1数据模型为什么要建立数据模型(DataModel):象盖大楼的设计
2、图一样,DM可使所有的项目参与者都有一个共同的数据标准 避免出现问题再解决(边干边改的方式)可及早发现问题 加快应用开发速度第4页,此课件共47页哦3.1.1 数据模型的三要素数据模型的三要素 1数据结构 描述数据的静态特征,包括对数据结构和数据联系的描述。通常按照数据结构的类型来命名数据模型:层次结构层次模型 网状结构网状模型 关系结构关系模型第5页,此课件共47页哦n2数据操作n描述数据的动态特征:一组定义在数据上的操作(包括操作的含义、操作符、运算规则及其语言等)n主要操作:检索与更新(插入、删除、修改)3.1.1 数据模型的三要素数据模型的三要素 第6页,此课件共47页哦3.1.1 数
3、据模型的三要素数据模型的三要素 3数据的约束条件完整性规则的集合,数据库中的数据必须满足这组规则。约束条件的主要目的是使数据库与它所描述的现实系统相符合。设计时:时数据模型正确、真实、有效地反映现实 运行时:保证数据库中的数据值真实地体现现实世界的状态 第7页,此课件共47页哦3.1.2 常见数据模型常见数据模型根据数据模型应用目的不同,数据模型有以下几种:概念(数据)模型(概念(数据)模型(Conceptual Data Model)面向现实世界建模主要用来描述现实世界的概念化结构,与具体的DBMS无关;第8页,此课件共47页哦n-现实世界的事物经过人脑的抽象加工,提取出对用户有用的信息,经
4、过组织整理加工形成结余现实世界和计算机世界之间的中间模型;n -CDM只关心现实世界中的事物、事务特征、联系,完全没有与具体及其相关的任何概念;第9页,此课件共47页哦3.1.2常见数据模型常见数据模型 nCDM是系统分析员、程序设计员、维护人员、用户 之间相互理解的共同语言;-CDM能时数据库的设计人员在设计的初始阶段摆脱 计算机系统及DBMS的具体技术问题,集中精力分析 数据、数据之间的联系;-概念模型必须转换成逻辑模型,才能在DBMS中实现;-最常用的概念模型是E-R模型第10页,此课件共47页哦3.1.2常见数据模型常见数据模型 逻辑(数据)模型(逻辑(数据)模型(Logical Da
5、ta Model)面向用户建模用户从数据库所看到的数据模型;-是具体的DBMS所支持的数据模型(网状/层次/关系/面向对象);-既要面向用户,也要面向系统;-LDM表示数据建联系的方法-一般的DBMS支持一种LDM(特殊的DBMS支持多种LDM)第11页,此课件共47页哦3.1.2常见数据模型 物理(数据)模型(物理(数据)模型(Physical Data Model)面向具体的DBMS,面向机器描述数据在存储介质上的组织结构-PDM不仅与具体的DBMS有关,还与操作系统 和硬件有关-每一种逻辑模型在实现时都有其对应的物理模型-PDM加入了概念模型中为考虑的因素:触发器、存储过程、主键、外键、
6、索引等-DBMS为保证其独立性和可以执行,大部分PDM的实现工作由系统自动完成,而设计者只设计索引、聚簇等特殊结构第12页,此课件共47页哦3.1.3概念模型 实体实体-联系(联系(Entity-Relationship)概念模型)概念模型 1实体、实体型、实体集实体、实体型、实体集实体(实体(Entity)客观存在并能相互区分的事物第13页,此课件共47页哦3.1.3概念模型实体型(EntityType)用实体名及属性名集合来抽象刻画同类实体实体集(EntitySet)同型的实体组成的集合。2属性(属性(Attribute)指实体所具有的某一方面的特性,一个实体可由若干个属性来刻划。-属性取
7、值在一定的范围,称为该属性的值域/域(Domain)-唯一标识实体的属性集称为码(Key)第14页,此课件共47页哦3.1.3概念模型3联系(联系(Relationship)实体集合间存在的相互关系为了建立现实世界的完整模型,常常需要对联系分类,根据一个实体集合的实体可以和多少个另一类实体集合的实体相联系,可将联系分为如下几种:(1)一对一联系(1:1)系系主任(2)一对多联系(1:n)班级学生(3)一对一联系(m:n)课程学生第15页,此课件共47页哦不同实体集的实体间联系不同实体集的实体间联系一对一联系(:)、一对多联系(:一对一联系(:)、一对多联系(:N)、)、多对多联系(:)多对多联
8、系(:)校长校长任职任职学校学校11第16页,此课件共47页哦学生学生学习学习学校学校n1学生学生选修选修课程课程nm1:nn:m第17页,此课件共47页哦3.1.3概念模型4实体实体-联系图联系图(1)确定所有实体集合 用矩形方框表示实体集合,方框内标明实体集合名称;(2)选择实体集应包含的属性 用椭圆框表示属性,通过无向边连接到实体集。只有一个属性的实体集可用属性代替,附加到它参加的联系上;(3)确定实体集之间的联系用菱形框表示,框内标明联系的名称,通过无向边(或有向边)连接到参加联系的每个实体集合;第18页,此课件共47页哦3.1.3概念模型(4)确定实体集的关键字用下划线在属性上标明关
9、键字的属性集合;(5)确定联系的类型在用无向边连接联系到实体集时,在边上注明1或n(多)来知名联系的类型。(在用有向边连接联系到实体集时,让边的箭头指向1的实体集的一方,多对多因为都是多方,故无箭头)第19页,此课件共47页哦n实体联系模型(模型)实体联系模型(模型)模型的三要素:模型的三要素:实体实体、属性属性、实体间的联实体间的联系系表示属性表示属性表示实体间联系表示实体间联系表示实体表示实体第20页,此课件共47页哦班号班级名称班级人数班级学号组成姓名性别年龄籍贯人数学生第21页,此课件共47页哦 例例1 假设一个学生可选多门课程,而一门假设一个学生可选多门课程,而一门课程又有多个学生选
10、修,每个学生每选课程又有多个学生选修,每个学生每选一门课只有一个成绩,一门课只有一个成绩,一个教师只能讲一个教师只能讲一门课程,一门课程也可有多个教师讲一门课程,一门课程也可有多个教师讲授,一门课使用多本参考书。画出授,一门课使用多本参考书。画出ER第22页,此课件共47页哦教师课程学生参考书讲授选修课程号学号姓名性别年龄成绩课程名学分职工号姓名职称性别书号书名价格摘要教学教学E-R图图1nmnm使用1第23页,此课件共47页哦3.1.4三种主要的逻辑数据模型 目前最常用的数据模型有层次模型、网状模型和关系模型。其中层次模型和网状模型统称为非关系模型。第24页,此课件共47页哦3.1.4三种主
11、要的逻辑数据模型 一、一、层次模型(层次模型(Hierarchical Model)用树型结构来表示实体之间联系的模型。支持层次模型的典型系统诞生于1970年前后,是IBM公司的IMS(InformationManagementSystem)系统。1.层次模型的数据结构(1)有且仅有一个节点无双亲,这个节点称为“根节点”。(2)其他节点有且仅有一个双亲。若用图来表示,层次模型是一棵倒立的树。节点层次(Level)从根开始定义,根为第一层,根的孩子称为第二层,根称为其孩子的双亲,同一双亲的孩子称为兄弟。结点(记录)是实体,树枝是联系。结点间是一对多联系。第25页,此课件共47页哦3.1.4 三种
12、主要的逻辑数据模型三种主要的逻辑数据模型特点:有且仅有一个根结点,其记录值与下属结点1:n联系。其它结点与一个父结点、多个子结点相联系。查询、访问从根结点开始,按父子关系依次访问。只能反应一对多的关系,不能多对多的关系。系教研室教师学生第26页,此课件共47页哦 2.层次数据模型(树形)层次数据模型(树形)电话电话地址地址校长校长校名校名室号室号处长处长处名处名系主任系主任系名系名系号系号院主任院主任院名院名院号院号室号室号科长科长科名科名职务职务姓名姓名工号工号室主任室主任室名室名室号室号职称职称姓名姓名工号工号班主任班主任班长班长编号编号入学分入学分姓名姓名学号学号学校行政机构的层次模型层
13、次模型的优缺点优点:结构简单缺点:插入、删除限制多第27页,此课件共47页哦2.1.4三种主要的逻辑数据模型n二、网状模型(二、网状模型(Network Model)n在数据库中,对满足以下两个条件的数据模型称为网状模型:n(1)允许一个以上的节点无双亲。n(2)一个节点可以有多于一个的双亲。n典型代表:DBTG(Data Base Task Group)数据库任务组n网状模型的优缺点n 优点:更能直接描述世界n 缺点:结构复杂 系教研室教师学生住处第28页,此课件共47页哦任何两个实体间可有任意的基本联系。特别是,任何实体向上可与几个实体相联系;一般地,每一联系都是一对多的联系。若为多对多的
14、联系,常要演变成一对多的联系。2.网状数据模型网状数据模型特点特点:可有可有0 0个或多个结点无双亲个或多个结点无双亲 允许结点有多个双亲允许结点有多个双亲 允许结点间有允许结点间有2 2种以上的联系种以上的联系 存取、访问须从指定点出发,按指存取、访问须从指定点出发,按指定路径进行。定路径进行。学生选学生选课的网课的网状模型状模型学分学分时数时数课名课名课号课号职称职称性别性别姓名姓名工号工号班级班级性别性别姓名姓名学号学号分数分数课名课名学号学号第29页,此课件共47页哦3.1.4三种主要的逻辑数据模型三、三、关系模型(关系模型(Relational Model)1970,IBM,E.F.
15、Codd关系模型源于数学,它把数据看成是二维表(关系)中的元素。用关系表示(不需用指针)实体和实体之间联系的模型称为关系模型。一个关系定义一个实体集,联系也用关系表示。不同关系间联系还可通过共同属性表现。第30页,此课件共47页哦 3.关系数据模型关系数据模型典型RDBMS(关系数据库管理系统):VFP、Oracle、Sybase、DB/2、Informix、Access等。厂号厂号 厂名厂名 状态状态 厂址厂址S1S1YLYL2020咸阳咸阳S2S2XQXQ1010西安西安S3S3XTXT3030西安西安零件号零件号 零件名零件名 颜色颜色 重量重量 存放存放点点P1P1螺帽螺帽红红1212
16、咸阳咸阳P2P2螺栓螺栓绿绿1717西安西安P3P3螺钉螺钉黑黑1010宝鸡宝鸡P4P4螺钉螺钉蓝蓝1414咸阳咸阳厂号厂号 零件号零件号 存量存量S1S1P1P1300300S1S1P2P2200200S1S1P3P3400400S2S2P1P1300300S2S2P2P2400400S3S3P2P2200200关系关系S S关系关系P P关系关系SPSP第31页,此课件共47页哦3.2数据库系统的结构3.2.1 数据库系统模式的概念数据库系统模式的概念 当设计数据库时,对数据库的结构感兴趣;即模模式式(Schema):数据库中数据的逻辑结构和特征的描述当应用数据库时,关心的是数据库中存在的
17、数据实例(Instance)。数据库中的数据经常变化,而数据库的结构在一定时间范围内不会改变。数据库中结构的定义可以在多个抽象级别进行,形成多个级别的数据库模式。第32页,此课件共47页哦3.2.2数据库系统的三级模式结构数据库系统的三级模式不仅可以使数据具有独立性,而且还可以使数据达到共享,使同一数据满足更多用户的不同要求。一、内模式(InternalSchema)存储模式是数据在数据库系统的内部表示,即对数据的物 理结构/存储方式的描述,是低级描述,一般由 DBMS提供的语言或工具完成;第33页,此课件共47页哦3.2.2数据库系统的三级模式结构要修改存储数据库的结构(例如,用倒排文件代替
18、多 链表),那么仅仅需要把这些修改反映在存储模式中;通常我们不关心内模式的具体技术实现,而是从一般组织的观点(即概念模式)或用户的观点(外模式)来讨论数据库的描述。但我们必须意识到基本的内模式和存储数据库的存在。第34页,此课件共47页哦3.2.2数据库系统的三级模式结构二、模式(Schema)逻辑模式是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图;DBMS提供数据定义语言DDL来描述逻辑模式,严格定义数据的名称、特征、相互关系、约束等。第35页,此课件共47页哦3.2.2数据库系统的三级模式结构三、外模式(ExternalSchema)用户模式(视图)是模式的子集或变形,
19、是与某一应用有关的数据的逻辑表示;不同用户需求不同,看待数据的方式也可以不同,对数据保密的要求也可以不同,使用的程序设计语言也可以不同,因此不同用户的外模式的描述可以使不同的。第36页,此课件共47页哦3.2.2数据库系统的三级模式结构举例:民航售票系统包括处理航班程序和处理旅客程序。-程序的使用人员不必知道关于人事档案、丢失的行李、飞行员的航行分配等信息;-调度员可能需要知道关于航班、飞机和人事档案等 信息(如那些飞行员有资格驾驶747),但不必知道雇员的工资、旅客等信息。所以可以为订票部门建立一个数据库视图,为调度部门建立另一个完全不同的视图。第37页,此课件共47页哦3.2.2数据库系统
20、的三级模式结构Note:视图处理的数据并不实际存储在数据库中,而仅可以从逻辑数据库中构造出来。视图比(逻辑)模式的抽象级别更高。举例:“年龄”在人事部门数据库中,但(逻辑)模式重金包含出生年月。当用户希望通过访问视图得到年龄时,DBMS翻译这个要求,在从物理数据库上取出的数据完成计算。注:一个数据库只有一个模式,一个内模式,但可以注:一个数据库只有一个模式,一个内模式,但可以有多个外模式。有多个外模式。第38页,此课件共47页哦3.2.3数据库的二级映象 三级模式中提供了两级映象,保证了数据库系统的数据独立性,既物理独立性与逻辑独立性。一、外模式/模式映象数据库系统投入使用后,可能有必要修改模
21、式(如增加新关系、属性、改变类型),这时:重新定义外模式/模式映象=现存外模式不变=应用程序不变第39页,此课件共47页哦3.2.3数据库的二级映象二、模式/内模式映象当内模式发生变化时:重新定义模式/内模式映象=模式保持不变=外模式保持不变=建立在外模式上的应用程序保持不变第40页,此课件共47页哦内模式内模式外模式外模式外模式外模式外模式外模式数据库用户视图用户视图用户用户模式模式外模外模式式模式模式映像映像模式模式内内模式模式映像映像数据独数据独立性立性第41页,此课件共47页哦2.3 数据库系统结构分类n1单用户数据库系统单用户数据库系统n单用户数据库系统是一种早期的最简单的数据库系统
22、。在这种系统中,整个数据库系统(包括应用程序、DBMS、数据)都装在一台计算机上,由一个用户独占,不同机器之间不能共享数据。第42页,此课件共47页哦2主从式结构主从式结构n主从式结构是指一个主机带多个终端的多用户结构。在这种结构中,数据库系统(包括应用程序、DBMS、数据)都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发地存取数据库,共享数据资源。第43页,此课件共47页哦3分布式结构分布式结构分布式结构是指数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同节点上。网络中的每个节点都可以独立处理本地数据库中的数据,执行局部应用;同时也可以同时存取和处理
23、多个异地数据库中的数据,执行全局应用。第44页,此课件共47页哦4客户客户/服务器结构服务器结构n主从式数据库系统中的主机和分布式数据库系统中的每个节点机是一个通用计算机,既执行DBMS功能又执行应用程序。随着工作站功能的增强和广泛使用,人们开始把DBMS功能和应用分开,网络中某个(些)节点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器;其他节点上的计算机安装DBMS的外围应用开发工具,支持用户的应用,称为客户机,这就是客户/服务器结构的数据库系统。第45页,此课件共47页哦作业题:n学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教师,每个教师只教一门课,每门课可由多个教师教;每个班有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。用E-R图画出该学校的概念模型。第46页,此课件共47页哦填空题n1数据库就是长期储存在计算机内_、_的数据集合。n2数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库在_、_和_时由数据库管理系统统一管理、统一控制。n3数据库应用系统是由_、_、_、_和_构成。n4数据库技术经历了_、_和_三个发展阶段。n5数据模型通常都是由_、_和_三个要素组成。第47页,此课件共47页哦
限制150内