赞
踩
本章主要介绍数据模型和数据库系统的结构,主要包括概念模型、逻辑模型和物理模型以及数据库系统的三级模式。概念模型是对现实世界的抽象和模拟,逻辑模型是为了方便计算机处理数据所采用的模型,物理模型是数据在计算机中的具体存储实现。将数据库划分为三级模式,旨在针对不同的使用对象和应用目的,采取分层管理手段,使用户不必关心数据在数据库中的具体细节,从而简化用户对数据的访问程序。
数据模型(Data ModeI)是对现实世界数据特征的模拟和抽象,用来描述数据是如何组织、存储和操作的。
数据模型又可分为三种模型:概念模型、逻辑模型、物理模型。
现实世界的数据到数 据库数据,必须经过三个阶段:现实世界、信息世界和机器世界
(1) 现实世界:指客观存在的现实世界中的事物(实体)及其联系,如学生、教师、选课等。
(2) 信息世界:基于某种数据模型完成对现实世界事物的抽象描述,也就是按用户的观点对数据和信息进行建模。
(3) 机器世界:是对数据最低层次的抽象,主要描述数据在系统内部的表示方式和存储方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
数据模型应满足如下三个条件。
(1) 能比较真实地模拟现实世界。
(2) 数据模型容易为人所理解。
(3) 数据模型要能够很方便地在计算机上实现。
※:把现实世界转换为信息世界,依靠的是概念层数据模型,把信息世界转化为机器世界,用的是组织层数据模型。
数据模型对应不同的应用层次分成三种类型:分别是概念(Conceptual)模型、逻辑 (Logical)模型、物理(Physical)模型。
概念模型实际上是现实世界到机器世界的一个中间层次。
1、基本概念:
1)实体
实体(Entity)是具有公共性质的、可相互区别的现实世界对象的集合。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,教师、学生、课程是具体的实体,而学生的选课、教师的授课则是抽象的实体。
2)属性
实体所具有的某一特性称为属性(Attribute)。一个实体可以由若干个属性来刻画。例如,学生实体可以由学号、姓名、性别、出生年月、所在院系、专业等属性组成;课程实体由课程号、课程名、学分、课程性质等属性组成
3)码
唯一标识实体的属性集称为码(Key)。例如,学号是学生实体的码,课程号是课程实体的码。
4)实体型
具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型(Entity Type)。例如,学生(学号、姓名、性别、所在院系、专业、年龄、电话、EMAIL)就是一个实体型。
5)实体集
同一类型实体的集合称为实体集(Entity Set)。例如,全体学生就是一个实体集。
6)联系
在现实世界中,事物内部以及事物之间都是有联系的,这些联系在信息世界反映为实体内部或实体之间的联系。
2、
两个实体之间的联系可以分为三种。
1)一对一联系(1 : 1)
例如,在学校里面,一所学校只有一个校长,而每个校长只在一个学校任职,学校和校长之间具有一对一联系。
2)一对多联系(1 : n)
例如,一个班级中有若干名学生,而每个学生只能在一个班级学习,班级与学生之间具有一对多联系。
教室与座位(一个教室有多个座位,而一个座位只能在一个教室)、部门和职工(一个部门有多名职工,而每名职工只在一个部门)都是一对多联系。
3)多对多联系(m : n)
例如,学生与课程(一门课程可以被多个学生选,而一个学生也可以选多门课程)、商品和顾客(一种商品可以被多名顾客购买,一名顾客可以购买多种商品)都是多对多联系。
实际上,实体与实体之间的联系是相对的,是根据客户的需求来决定的。
概念模型的一种表示方法:实体-联系方法
实体-联系(Entity-Relation ship)方法,简称E-R方法
E-R图由实体、属性和联系组成,下面介绍E-R图中的几个基本概念。
(1) 实体:用矩形表示,矩形框内写明实体名。
(2) 属性:用椭圆表示,并用无向边将其与相应的实体连接起来。
(3) 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来, 同时在无向边旁边标上联系的类型(三种)。
概念模型:采用ER图
逻辑模型:采用关系模式
ER图和关系模式,只是在两个模型下的具体实现方式!
概念数据模型必须转换成逻辑数据模型,才能在DBMS中实现,因此逻辑数据模型既要面向用户,又要面向系统。
逻辑数据模型(Logical DataModel,简称逻辑模型), 是从数据的组织方式来描述数据,即用什么样的数据结构来组织数据,是具体的DBMS所支持的数据模型。
目前,数据库技术主要用到的数据模型(即逻辑模型又可分为以下几类)
有:层次数据模型(Hierarchical Data Model,简称层次模型,用树形结构来组织数据)、网状数据模型(Network Data Model,简称网状模型,用图形结构来组织数据)、关系数据模型(Relational Data Model,简称关系模型,用二维表结构来组织数据)和面向对象模型等。
用关系表示实体及实体之间的联系的模型称为关系模型。
关系模型用二维表来组织数据,而这个二维表在关系数据库中称为关系。关系数据库就是表(或者说是关系)的集合。
关系数据库是指对应于一个关系模型的所有关系的集合。 例如,在学生选课关系数据库中,包含教师关系、学生关系、课程关系、选课关系等。
sqlserver选用关系数据模型!
关系模型具有以下主要优点。
(1) 与非关系模型不同,关系模型具有较强的数学理论根据。
(2) 数据结构简单清晰,用户易懂易用,不仅能用关系表示实体,而且可以用关系描述实体间的联系。
(3) 关系模型的存取路径对用户透明,从而具有更高的数据独立性和更好的安全保密性,也简化了程序员的工作及数据库建立与开发工作。
关系模型具有以下缺点。
(1) 由于存取路径对用户透明,查询效率往往不如非关系模型,因此为了提高性能, 必须对用户的查询表示进行优化,这样又将增加开发数据库管理系统的负担。
(2) 关系必须是规范化的关系,即每个属性是不可再分的数据项,不允许表中有表。
物理数据模型(Physical Data Model,简称物理模型),是面向计算机物理表示的模型, 描述了数据在存储介质上的组织结构,如存储位置、记录的顺序、记录的访问结构(索引、 散列表)等。它不但与具体的DBMS有关,而且与操作系统和硬件有关。每一种逻辑模型 在实现时都有其对应的物理模型。
(大部分物理模型的实现工作由系统自动完成)
这里是模式,刚刚学习的是模型!
ANSI/SPARC体系结构将数据库划分为三层结构:外模式、概念模式、内模式。
外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式,外模式是保证数据库安全性的一个有力措施。
概念模式又称模式,是介于内模式和外模式之间的中间层次,是数据库中所有数据的逻辑结构和特征描述,是所有用户的公共数据视图。
概念模式不是概念模型!概念模式是指数据的逻辑结构(如:关系模型(二维表)、层次模型、网状模型)等
内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式,例如,记录的存储方式是顺序存储、B树结构存储或Hash方法存储;索引按照什么方式组织:数据是否压缩存储,是否加密;数据的存储记录结构有何规定。
一个数据库只有一个内模式。
数据库三级模式间引入二级映射的主要作用是:提高数据与程序的独立性!
进而对提高数据与程序的安全性有一定的帮助。
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS 管理,使用户能抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。
1. 外模式/模式映像
同一个模式,可以有多个外模式
它定义了该外模式与概念模式之间的对应关系。
2. 模式/内模式映像
数据库中只有一个概念模式,也只有一个内模式
所以模式/内模式映像是唯一的
它定义了数据全局逻辑结构与存储结构之间的对应关系。
数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。
当用户使用数据库语言(如SQL)向DBMS发出一个访问请求后,DBMS接受请求并分析,检查用户外模式、相应的外模式/概念模式、概念模式/内模式间的映像和存储结构定义。
DBMS的功能包括以下几项。
(1)数据定义。 DBMS必须能够接受数据库定义的源形式,并且把它们转换成相应的 目标形式。即DBMS必须包括支持各种DDL的DDL处理器或编译器。
(2)数据操纵。 DBMS必须能够检索、更新和删除数据库中已有的数据,或向数据库 中插入数据。即DBMS必须包括数据操纵语言(Data Manipulation Language, DML)的DML 处理器或编译器。
(3)优化和执行。 计划(在请求执行前就可以预见到的请求)的或非计划(不可预知的请 求)的数据操纵语言必须经过优化器的处理,通过优化器来决定执行请求是必要的过程。
(4)数据安全和完整性。 DBMS要监控用户的请求,拒绝那些会破坏DBA定义的数 据库安全性和完整性的请求。DBMS在编译或运行时都会执行这些监控任务。实际操作中, 运行管理器调用文件管理器来访问存储的数据。
(5)数据恢复和并发。 DBMS或其他相关软件(通常称为“事务处理器”或“事务处理 监控器”)必须保证具有恢复和并发控制的功能。
(6)数据字典。 DBMS包括数据字典,数据字典本身也可以看作一个数据库,只不过 它是系统数据库,而不是用户数据库。"字典”是“关于数据的数据”(有时也称为数据的 描述或元数据)。特别地,在数据字典中,也保存各种模式和映像的各种安全性与完整性 约束。
有些人也把数据字典称为目录或分类,有时也称为数据存储池。
(7)性能。 DBMS应尽可能高效地完成任务。
总而言之,DBMS的目标就是提供数据库的用户接口。 用户接口可定义为系统的边界, 在此之下的数据对用户来说是不可见的。
练习题:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。