电工与电子技术电子商务电子课件数据库原理及应用教程(基于Linux的MySQL和NoSQL应用)第2章ppt_第1页
电工与电子技术电子商务电子课件数据库原理及应用教程(基于Linux的MySQL和NoSQL应用)第2章ppt_第2页
电工与电子技术电子商务电子课件数据库原理及应用教程(基于Linux的MySQL和NoSQL应用)第2章ppt_第3页
电工与电子技术电子商务电子课件数据库原理及应用教程(基于Linux的MySQL和NoSQL应用)第2章ppt_第4页
电工与电子技术电子商务电子课件数据库原理及应用教程(基于Linux的MySQL和NoSQL应用)第2章ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、电子课件数据库原理及应用教程(基于Linux的MySQL和NoSQL应用)第2章第2章 信息与数据模型数据库原理及应用教程(基于Linux的MySQL和NoSQL应用)CONTENTS信息的三种世界及描述1数据库系统的特点及组成2数据库系统结构3小结4信息的三种世界及描述12.1 信息的三种世界及描述将现实世界错综复杂联系的事物最后能以计算机所能理解和表现的形式反映到数据库中,这是一个逐步转化的过程,通常分为三个阶段,称之为三个世界,即现实世界、信息世界和计算机世界(也称数据世界)。数据库是模拟现实世界中某些事务活动的信息集合,数据库中所存储的数据,来源于现实世界的信息流。信息流用来描述现实世

2、界中一些事物的某些方面的特征及事物间的相互联系。在处理信息流前,必须先对其进行分析,并用一定的方法加以描述,然后将描述转换成计算机所能接受的数据形式。现实世界存在的客观事物及其联系,经过人们大脑的认识、分析和抽象后,用物理符号、图形等表述出来,即得到信息世界的信息,再将信息世界的信息进一步具体描述、规范并转换为计算机所能接受的形式,则成为机器世界的数据表示。1.1.1 数据库的基本概念现实世界、信息世界和计算机世界这3个领域是由客观到认识、由认识到使用管理的3个不同层次,后一领域是前一领域的抽象描述。1.1.1 数据库的基本概念现实世界的事物及联系,通过需求分析转换成为信息世界的概念模型,这个

3、过程是由数据库设计人员完成;然后再把概念模型转换为计算机上某个DBMS所支持的逻辑模型,这个转换过程是由数据库设计人员和数据库设计工具DBMS共同完成;最后逻辑模型再转换为最底层的物理模型,从而进行最终实现,这个过程是由DBMS自行完成。图 将客观对象抽象为数据模型的完整过程数据模型22.2.1 数据模型的概念数据模型(Data Model)是现实世界数据特征的抽象,用于描述一组数据的概念和定义。数据模型是数据库中数据的存储方式,是数据库系统的基础。数据模型在数据库中,数据的物理结构又称数据的存储结构,就是数据元素在计算机存储器中的表示及其配置;数据的逻辑结构则是指数据元素之间的逻辑关系,它是

4、数据在用户或程序员面前的表现形式,数据的存储结构不一定与逻辑结构一致。数据处理,又称为信息处理,是指对各种形式的数据进行收集、存储、传播和加工直至产生新信息输出的全过程。数据模型应满足三方面的要求:是容易为人所理解能比较真实地模拟现实世界便于在计算机上实现2.2.2 数据处理三层抽象描述不同的数据模型是提供给模型化数据和信息的不同工具。一种数据模型要很好地满足上述提到的三个方面的要求在目前尚很困难,在数据库系统中针对不同的使用对象和应用目的,通常采用逐步抽象的方法,在不同层次采用不同的数据模型。1、概念层概念层是数据抽象级别的最高层,其目的是按用户的观点来对现实世界建模。概念层的数据模型称为概

5、念数据模型,简称概念模型。概念模型独立于任何DBMS,但容易向DBMS所支持的逻辑模型转换。2、逻辑层逻辑层是数据抽象的中间层,描述数据库数据整体的逻辑结构。这一层的数据抽象称为逻辑数据模型,简称数据模型。2.2.2 数据处理三层抽象描述3、物理层物理层是数据抽象的最底层,用来描述数据物理存储结构和存储方法。这一层的数据抽象称为物理数据模型,它不但由DBMS的设计决定,而且与操作系统、计算机硬件密切相关。物理数据结构一般都向用户屏蔽,用户不必了解其细节。2、逻辑层它是用户通过DBMS看到的现实世界,是基于计算机系统的观点来对数据进行建模和表示。因此,它既要考虑用户容易理解,又要考虑便于DBMS

6、实现。不同的DBMS提供不同的逻辑数据模型。层次模型网状模型关系模型面向对象模型2.2.3 数据模型的要素数据结构描述数据库的组成对象以及对象之间的联系。描述的内容有两类:数据模型通常由数据结构、数据操作和完整性约束三部分组成。一类是与对象的类型、内容、性质有关的,例如网状模型中的数据项、记录,关系模型中的域、属性、关系等;一类是与数据之间联系有关的对象,例如网状模型中的系型。(1) 数据结构是描述数据模型最重要的方面,通常按数据结构的类型来命名数据模型。例如,层次结构即树结构的数据模型叫层次模型。(2) 数据对象类型的集合包括与数据类型、性质及数据之间联系有关的对象,如关系型中的域、属性、关

7、系、各种键等。(3) 表示数据之间的联系有隐式的和显式的两类。隐式联系是指通过数据本身关联相对位置顺序表明联系;显式联系是指通过附加指针表明联系或直接表示。1、数据结构2.2.3 数据模型的要素数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据模型通常由数据结构、数据操作和完整性约束三部分组成。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。是对系统动态特性的描述。2、数据操作数据的完整性约束条件是一组完整性规则。完整性规则主要描述数据结构中的数据之

8、间的语义联系、数据之间的制约和依存关系,以及数据动态变化规则。数据约束主要用于保证数据的完整性、有效性和相容性。3、数据的完整性约束条件2.2.3 数据模型的要素数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件(在关系数据库和数据库完整性等有关章节中详细讨论这两个完整性约束条件)。此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。例如,在某大学的数据库中规定学生的成绩如果有6门以上不及格将不能授予学士学位,教授的退休年龄是65周岁,男职工的退休年龄是6

9、0周岁等。2.3.4 数据模型与数据模式的区别数据模型和数据模式的主要区别在于数据模型是描述现实世界数据的手段和工具。数据模式是利用这个手段和工具对相互间的关系所进行的描述,是关于型的描述。它与DBMS和OS硬件无关。概念模式:是用逻辑数据模型对一个单位的数据的描述。外模式:外模式也称子模式或用户模式,是与应用程序对应的数据库视图,是数据库的一个子集,是用逻辑模型对用户所用到的那部分数据的描述。内模式:是数据物理结构和存储方式的描述,是数据的数据库内部表示方式。内模式也称存储模式数据模型和数据模式都分了三个层次,其对应对关系如下:概念模式、外模式和内模式都存于数据目录中,是数据目录的基本内容。

10、DBMS通过数据目录,管理和访问数据模式。一般数据库系统中用户只能看到外模式。概念模型32.3.1 基本概念从现实抽象过来的信息世界具有以下7大主要基本概念:(1)实体(Entity)(2)属性(Attribute)(3)实体型(Entity Type)(4)实体集(Entity Set)客观存在并互相区别的事物称为实体。可以是具体的人、事、物,也可以是抽象的概念或联系,如老师、学院、老师和学院之间的工作关系等实体所具有的某一特性称为属性。一个实体可以有若干属性来刻画。比如学生实体可以用学号、姓名、性别、出生年月间等属性描述。实体的具体取值称为熟悉值。用实体类型名和所有属性来共同表示同一类实体

11、,比如学生(学号、年龄)即同一类型实体的集合,如全体学生。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言2.2.3 数据模型的要素区分实体、实体型、实体集三个概念。实体是某个具体的个体,比如学生中的王明,而实体集是一个个实体的某个集合,比如王明所在的2015级计算机2班的所有学生。实体型则是实体的某种类型(该种类型的所有实体具有相同的属性而已),比如学生这个概念,王明是学生、王明所在班级的所有学生都是学生,显然学生是一个更大且更抽象的概念,王明和王明全班同学都比学生要更加具体。(5)码(6)域可

12、以唯一标识一个实体的属性集,比如学号和每个学生实体一一对应,则学号可以作为码。实体中属性的取值范围实体内部的联系(各属性之间的联系)和实体间的联系(7)联系2.3.2 E-R模型E-R图由实体、属性和联系三个要素构成。1.基本概念概念层数据模型是面向用户、面向现实世界的数据模型,它是对现实世界的真实、全面的反映,它与具体的DBMS无关。常用的概念层数据模型有实体-联系(Entity-Relationship,E-R)模型、语义对象模型。我们这里只介绍实体-联系模型。实体客观存在并可相互区别的事物称为实体。E-R图中的实体用于表示现实世界具有相同属性描述的事物的集合,它不是某一个具体事物,而是某

13、一种类别所有事物的统称。在E-R图中用矩形框表示具体的实体,把实体名写在框内。实体中的每一个具体的记录值(一行数据),比如学生实体中的每个具体的学生我们可称之为一个实体的一个实例。一个E-R图中通常包含多个实体,每个实体由实体名唯一标记。2.3.2 E-R模型属性E-R图中的属性通常用于表示实体的某种特征,也可表示实体间关系的特征。一个实体通常包含多个属性,每个属性由属性名唯一标记,画在椭圆内 。E-R图中实体的属性对应于数据库表的字段。在E-R图中,属性是一个不可再分的最小单元,如果属性能够再分,则可以考虑将该属性进行细分,或者可以考虑将该属性“升格”为另一个实体。图 学生实体属性实例2.3

14、.2 E-R模型联系联系是数据之间的关联集合,是客观存在的应用语义链。在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;。实体之间的联系通常是指不同实体集之间的联系。在E-R图中联系用菱形表示,框内写上联系名,并用连线将联系框与它所关联的实体连接起来。2.3.2 E-R模型联系在E-R图中,基数表示一个实体到另一个实体之间关联的数目。基数是针对关系之间的某个方向提出的概念,基数可以是一个取值范围,也可以是某个具体数值。从基数的角度可以将关系分为一对一(1:1)、一对多(1:n)、多对多(m:

15、n)关系。图 两个实体间的三类联系2.3.2 E-R模型1)一对一联系(1:1)如果实体集A中的每个实体,在实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B有一对一联系,记为1:1。例如,学校里一个系和正系主任(假设一个系只有一个正主任,一个人只能担任一个系的正系主任),则系和正系主任是一对一联系2.3.2 E-R模型2)一对多联系(1:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多的联系,记为1:n。例如,一个系有多名教师。而每个教师

16、只能在一个系工作,则系和教师之间是一对多联系2.3.2 E-R模型3)多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中有m个实体(m0)与之联系,则称实体集A与实体集B有多对多的联系,记为m:n。例如,一门课程同时有若干学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系2.3.2 E-R模型2.E-R模型设计原则与设计步骤1)E-R模型设计原则(1)属性应该存在于且只存在于某一个地方(实体或者关联)。该原则确保了数据库中的某个数据只存储于某个数据库表中(避免同一数据存储于多个数据库表),

17、避免了数据冗余。(2)实体是一个单独的个体,不能存在于另一个实体中成为其属性。该原则确保了一个数据库表中不能包含另一个数据库表,即不能出现“表中套表”的现象。(3)同一个实体在同一个E-R图内仅出现一次。例如同一个E-R图,两个实体间存在多种关系时,为了表示实体间的多种关系,尽量不要让同一个实体出现多次。比如客服人员与客户,存在“服务被服务”、“评价被评价”的关系。2.3.2 E-R模型2.E-R模型设计原则与设计步骤2)E-R模型设计步骤划分和确定实体。划分和确定联系。确定属性。作为属性的“事物”与实体之间的联系,必须是一对多的关系,作为属性的“事物”不能再有需要描述的性质或与其他事物具有联

18、系。为了简化E-R模型,能够作为属性的“事物”尽量作为属性处理。画出E-R模型。重复过程,以找出所有实体集、关系集、属性和属值集,然后绘制E-R图。设计E-R分图,即用户视图的设计,在此基础上综合各E-R分图,形成E-R总图。优化E-R模型。利用数据流程图,对E-R总图进行优化,消除数据实体间冗余的联系及属性,形成基本的E-R模型。逻辑模型4在数据库技术领域中,数据库所使用的最常用的逻辑数据模型有:层次模型、网状模型、关系模型、面向对象模型。逻辑模型树结构层次模型这四种模型是按其数据结构而命名的,根本区别在于数据之间联系的表示方式不同,即数据记录之间的联系方式不同。图结构网络模型二维表关系模型

19、引用类型面向对象模型2.4.1 层次模型层次数据模型是数据库系统中最早出现的数据模型,用树形结构表示各类实体以及实体间的联系。层次模型对父子实体集间具有一对多的层次关系的描述非常自然、直观、容易理解。层次模型的主要优、缺点如下:提供良好的完整性支持不易表示多对多的联系数据操作限制多、独立性较差层次模型具有两个较为突出的问题:层次模型中具有一定的存取路径,需按路径查看给定记录的值。层次模型比较适合于表示数据记录类型之间的一对多联系,而对于多对多的联系难以直接表示,需进行转换,将其分解成若干一对多联系。数据结构较简单;查询效率高2.4.1 层次模型层次数据模型实例:2.4.2 网状模型现实世界中广

20、泛存在的事物及其联系大都具有非层次的特点,若用层次结构来描述,则不直观,也难以理解。于是人们提出了另一种数据模型网状模型。网状模型是一个图结构,它是由字段(属性)、记录类型(实体型)和系(set)等对象组成的网状结构的模型。网状模型是用图结构来表示各类实体集以及实体集间的关系。网状模型与层次模型的根本区别是:一个子节点可以有多个父节点;在两个节点之间可以有多种联系。同样,网状模型对于多对多的联系难以直接表示,需进行转换,将其分解成若干一对多联系。2.4.2 网状模型网状模型的主要优缺点如下:较为直接地描述现实世界存取效率较高结构较复杂、不易使用数据独立性较差2.4.3 关系模型关系数据模型是目

21、前最重要的也是应用最广泛的数据模型。关系就是一张二维表,它由行和列组成。关系模型将数据模型组织成表格的形式,这种表格在数学上称为关系。表中存放数据。在关系模型中实体以及实体之间的联系都用二维表来表示。结构简单、易用数据独立性及安全性查询效率较低关系模型的主要优缺点为:典型的关系型的数据库系统有:Oracle、MySQL、SQL Server、DB2、Sysbase等。有坚实的理论基础2.4.4 面向对象模型尽管关系模型简单灵活,但还是不能表达现实世界中存在的许多复杂的数据结构,如CAD数据、图形数据、嵌套递归的数据等。面向对象模型是是用面向对象的观点来描述现实世界中的事物(对象)的逻辑结构和对

22、象间的联系等的数据模型。对象是对现实世界中的事物的高度抽象,每个对象是状态和行为的封装。对象的状态是属性的集合,行为是在该对象上操作方法的集合。因此,面向对象的模型不仅可以处理各种复杂多样的数据结构,而且具有数据和行为相结合的特点。不适合所有的应用缺点:没有准确的定义没有准确的定义提高开发效率优点:适合处理各种各样的数据类型面向对象程序设计与数据库技术相结合改善数据访问2.5 概念模型向逻辑模型的转换E-R图向关系模型的转换要解决的问题是如何将实体型和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。E-R图是由实体型、实体的属性和实体型之间的联系3个要素组成的。所以将E-R图转换为

23、关系模型就是将实体、实体的属性和实体之间的联系转换为关系模式。这种转换一般遵循如下原则。1.实体的转换1)属性域的问题。如果所选用的DBMS不支持E-R图中某些属性域,则应作相应修改,否则由应用程序处理转换。2)非原子属性的问题。E-R图中允许非原子属性,这不符合关系模型的第一范式条件,必须做相应处理。一个实体对应一个关系模型,实体的名称即是关系模型的名称,实体的属性就是关系模型的属性,实体的码就是关系模型的码。转换时需要注意:2.5 概念模型向逻辑模型的转换2.联系的转换(1)1:1联系转换在E-R图中存在三种联系:1:1、1:n和m:n,它们在向关系模型转换时,采取的策略不一样。方法一:将1:1联系转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系模式的属性,每个实体的码均是该关系模式的码。【例】E-R图描述的是实体学生和校园卡之间的联系,这里假设:一个学生只能办理一张校园卡,一张校园卡只能属于一个学生,因此,联系的类型是1:1。实体转换:学生(学号,姓名),校园卡(卡号,余额);联系办卡的转换:办卡(学号,卡号,办卡日期)。2.5 概念模型向逻辑模型的转换(1)1:1联系转换方法二:与任意一端对应的关系模式合并。合并时,需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。【例】图所示E-R图的转换情况为:

温馨提示

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

评论

0/150

提交评论