1数据模型与数据库系统结构

脑子一热,突然想考国家电网。但由于本科并不是计算机的,所以需要学习好多东西。今天在网上买了一套计算机专业的书,但还没到,就学了一下数据库系统概论,数据模型与数据库系统结构。感觉路上会挺辛苦的,希望自己能坚持下来,给自己加油打气。写的比较乱。还不愿意画图。特别懒的一个人儿。

数据模型:

描述事物的符号记录称为数据

将从数据中获得的有意义的内容称为信息

数据有一定的格式,格式的规定是数据的语法

数据的含义是数据的语义

数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。

数据的静态特征基本结构、联系、约束

数据的动态特征指对数据可以进行的操作以及操作规则。对数据库的操作主要有查询数据更改数据(插入、删除和更新)

一般将对数据的静态特征和动态特征的描述称为数据模型三要素数据结构(最基本)、数据操作、完整性约束

数据模型是对现实世界数据特征的抽象,是数据库系统的核心和基础。在数据库领域中,数据模型用于表达现实世界中的对象,即将现实世界中杂乱的信息用一种规范的、形象化的方式表达出来。数据模型不仅要面向现实世界,还要面向机器世界,因此,需满足三个要求:能够真实地模拟现实世界、容易被人们理解、能够方便的在计算机上实现。数据模型是使数据和信息模型化的工具,根据模型应用的不同目的,将模型分为两大类:概念模型逻辑模型(还有物理模型)

概述:

概念模型:也称信息模型,从数据的语义视角来抽取模型,按用户的观点对数据和信息进行建模,主要用在数据库的设计阶段,与具体的数据库管理系统无关,与具体的实现方式无关。

逻辑模型:从数据的组织层次来描述数据,主要有层次模型、网状模型、关系模型、面向对象模型、对象-关系模型,从计算机系统的观点对数据进行建模,与所使用的数据库管理系统有关。

从现实世界到机器世界的过程:

现实世界 抽象为 信息世界(概念层模型) 转换为机器世界(组织层模型)描述为现实世界

详细:

 

概念层数据模型:是指抽象现实系统中有应用价值的元素及其关联关系,反映现实系统中有应用价值的信息结构,并且不依赖于数据的组织层数据模型。用于对信息世界建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的工具,也是数据库设计人员和业务领域的用户之间进行交流的工具。概念层数据模型应该:具有较强的语义表达能力;能够方便、直接地表达应用中的各种语义知识;简单、清晰,易于被用户理解。它是面向用户、面向现实世界的数据模型,与具体的DBMS无关。常用的概念模型有:实体-联系模型(E-R简单实用,得到广泛应用,目前描述信息结构最常用的方法)、语义对象模型

实体-联系模型:也称实体-联系方法,使用的工具称为E-R,描述的结果称为E-R模型。包括实体、属性、联系

实体:具有公共性质可相互区分现实世界对象集合。在E-R图中用矩形框表示具体的实体,把实体名写在框内。实体中每个具体的记录值(一行数据),称为实体的一个实例另外一种表达方式是将实体称为实体集或实体类型,而将每行具体的记录称为实体

属性:描述实体或者联系的性质或特征数据项。能够唯一标识实体的一个属性或最小的一组属性(称为属性集或属性组)称为实体的标识属性,又称为实体的。用圆角矩形椭圆形表示,框内写上属性名,并用连线连到相应实体。

联系:是数据之间关联集合,是客观存在的应用语义链。一个实体内属性之间联系称为实体内部的联系。不同实体之间的联系称为实体之间的联系。实体之间的联系用菱形框表示,框内写上联系名,并用连线与有关的实体相连。联系分为一对一联系(1:1一对多联系(1n多对多联系(mn

一对一联系:如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,则称实体A与实体B具有一对一联系,记作:1:1

一对多联系:如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中任意一个实例,在实体A中都只有一个实例与之对应,则称实体A到实体B的联系是一对多的,记为1n

多对多联系:如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的一个实例,在实体A中也有多个实例与之对应,则称实体A到实体B的联系是多对多的,记为mn

联系说明:一对一联系是一对多联系的特例,一对多联系又是多对多联系的特例。实体之间联系的种类与语义直接相关。

 

逻辑数据模型:从数据的组织形式的角度描述信息。在数据库的发展过程中用到的组织层数据模型主要有层次模型(非关系模型)、网状模型(非关系模型)、关系模型、面向对象模型、对象关系模型

 

层次模型:它是数据库管理系统中最早出现的数据模型,层次数据库管理系统采用层次模型作为数据的组织形式。层次数据库管理系统的典型代表是IBM公司的IMS,是IBM1968推出的第一个大型商用数据库管理系统。用树形结构表示实体和实体之间的联系,构成模型的树由节点连线组成,节点表示实体,节点中的项表示实体的属性;连线表示相连的两个实体间的联系,这种联系是一对多的。根节点、父节点、子节点、叶节点。

层次模型的局限性:层次模型可以方便的表示一对多的联系,但不能直接表示多对多联系,另外还有两点限制:有且仅有一个节点无父节点,这个节点记为树的根;其他节点有且仅有一个父节点。当把多对多联系转换为一对多联系,会出现一个子节点有多个父节点的情况。解决办法:把一个层次模型分解为两个层次模型。

层次模型的基本特点:任何一个给定的记录值只有从层次模型的根部开始按路径查看时,才能明确其含义,任何子节点都不能脱离父节点而存在。

 

网状数据模型:若去掉层次模型中的两点限制,即允许一个以上的节点无父节点,并且每个节点可以有多个父节点,便构成了网状模型。它用图形结构表示实体与实体之间的联系。网状数据模型可以直接表示多对多联系,但实现起来太复杂,因此一些支持网状模型的数据库管理系统对多对多联系进行了限制。

关系数据模型:用关系(表格数据)表示实体与实体之间的联系的模型就称为关系数据模型。目前最重要的一种数据模型,关系数据库采用关系数据模型作为数据的组织方式。关系数据模型源于数学,他把数据看成二维表中的元素,而这个二维表在关系数据库中就称为关系。在关系数据模型中,实体本身以及实体和实体之间的联系都用关系来表示,实体之间的联系不再通过指针来实现。在关系数据库中,记录值仅仅构成关系,关系之间的联系是靠语义相同的字段(连接字段)值表达的。

关系模型好处:易于设计、实现、维护和使用,它与层次数据模型和网状数据模型的最根本区别是,关系数据模型不依赖于导航式的数据访问系统,数据结构的变化不会影响对数据的访问。

 

 

数据库系统结构

数据模型中有‘’和‘’的概念。

模式是数据库中全体数据的逻辑结构和特征的描述,仅仅涉及到型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例。同一个模式可以有很多实例。

模式是相对稳定的,而实例是相对变化的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。

数据库系统的三级模式结构外模式、模式、内模式

模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,还要定义数据之间的联系,定义与数据有关的安全性、完整性要求。DBMS提供模式描述语言(模式DDL)来严格的定义模式。

外模式:也称子模式用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集一个数据库可以有多个外模式。同一外模式可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施。每个用户只能访问外模式。DBMS提供子模式描述语言(子模式DDL)来严格的定义子模式。

内模式:也称为存储模式一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。DBMS提供内模式描述语言(内模式DDL,或者存储模式DDL)来严格的定义内模式。

 

数据库的二级映像功能:外模式/模式映像、模式/内模式映像,保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

外模式/模式映像:模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多的外模式。对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像通常包含在各自的外模式的描述中。当模式改变时,由数据库管理员对各个映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性

模式/内模式映像:唯一的,定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对映像做相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性

数据库模式即全局逻辑结构是数据库的中心与关键,它独立于数据库的其他层次。因此设计数据库模式结构时应首先确定数据库的逻辑模式

设计外模式时应充分考虑到应用的扩充性,不同的应用程序有时可以共用同一个外模式


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章