数据库系统概论
1.数据库系统概述
数据库的定义
数据库(DataBase)是长期储存在计算机中的有组织、可共享的大量数据集合。
数据库的特征
数据按一定的数据模型组织、描述、和存储;可为各种用户共享;冗余度较小;数据独立性较高;易扩展。
什么是DBMS?
位于用户和操作系统之间的一层数据管理软件.
数据库管理系统的主要功能
数据层面
数据库层面
什么是数据库系统?
DBS是指采用了数据库技术的计算机系统
数据库的观点
数据不是依赖于处理过程的附属品,而是现实世界中独立存在的对象。
数据库系统的特点
数据的管理者:DBMS (数据库的管理者:DBA)
数据的共享程度:共享性高
- 降低数据的冗余度,节省存储空间
- 避免数据间的不一致性
- 使系统易于扩充
数据的独立性:高度的物理独立性和一定的逻辑独立性
- 物理独立性:指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的,当数据的物理存储改变了,应用程序不用改变。
- 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的,数据的逻辑结构改变了,用户程序也可以不变。
数据的结构化:整体结构化
- 整体数据库的结构化是数据库系统与文件系统的本质区别。
- 在数据库中的数据不再仅仅针对某一个应用,而是面向全组织
- 不仅数据库内部结构化,而且整体是结构化的,数据之间是具有联系的。
- 数据的结构用数据模型描述,无需程序定义和解释。
- 数据可以变长。
- 数据的最小存取单元是数据项。
数据控制能力:由DBMS统一管理和控制
- 数据库安全性保护
- 保护数据以防止不合法的使用造成的数据的泄密和破坏。
- 措施:用户标识与鉴定,存取控制。
- 数据的完整性检查
- 数据的正确性、有效性、相容性。
- 措施:完整性约束条件定义和检查。
- 并发控制
- 数据库恢复技术
2.数据模型
数据模型
模型:对现实世界特征的模拟或抽象,比如地图,公式等
数据模型:
-
对现实世界的数据进行模拟和抽象
- 在数据库系统中,使用数据模型抽象现实世界中的数据,以便在系统中来处理这些数据,达到系统模拟现实世界的目的。
-
是数据库系统的核心和基础,是数据库设计的有利工具
数据模型应满足的三方面要求:
- 能比较真实地模拟现实世界
- 容易为人所理解
- 便于在计算机上实现
概念模型:
- 不涉及数据在计算机中的表示,是按用户的观点对数据建模,强调其语义表达能力
- 是对现实世界的第一层抽象,是对用户和数据库设计人员交流的工具。
概念模型的用途:
- 用于信息世界的建模
- 是现实世界到机器世界的一个中间层次
- 是数据库设计的有力工具
- 数据设计人员和用户之间进行交流的语言
对概念模型的基本要求:
- 较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识
- 简单、清晰、易于用户理解
逻辑模型和物理模型:
- 与具体的DBMS有关,按计算机系统的观点对数据进行建模,面向数据库的结构
- 是对现实世界的第二层抽象,由DBMS自身实现逻辑模型和物理模型的转换。
客观对象的抽象过程:
1.现实世界中的客观对象抽象为概念模型
2.概念模型转换为某一DBMS支持的数据模型
信息世界中的基本概念
实体(Entity)
- 客观存在并可相互区别的事物
- 可以是具体的人、事、物或抽象的概念
属性(Attribute)
- 实体所具有的某一特性称为属性
- 一个实体可以由若干个属性来刻画
码(Key)
实体型(Entity Type)
- 用实体名及其属性名集合来抽象和刻画同类实体称为实体型
- 比如 学生(学号,姓名,性别,出生年月,院系)
实体集(Entity Set)
联系(Relationship)
- 实体型之间的联系
- 包括一对一的联系(比如身份证号与学号)
- 包括一对多的联系(比如班级和学生)
- 包括多对多的联系(比如学生和课程)
概念模型的表示方法
-
实体关系图(ER图)
-
用ER图来描述现实世界的概念模型 -
ER方法也称为ER模型(实体型 属性 联系)
数据模型的组成要素
数据结构:
-
描述数据库的组成对象以及对象之间的联系 -
数据结构是对系统静态特性的描述 -
两类对象:
- 与数据类型、内容、性质有关的对象
- 与数据之间联系有关的对象
数据操作:
- 对数据库中的各种对象(型)的实例(值)允许执行的操作及有关的操作规则
- 数据操作的类型:检索 更新
- 数据操作是对系统的动态特性的描述
数据的约束条件:
- 一组完整性规则的集合
- 数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容
- 任何关系必须满足实体完整性和参照完整性两个条件
常用的数据模型
关系模型
关系模型的基本概念
- 关系(Relation)
- 元组(Tuple)
- 属性(Attribute)
- 主码(Key)
- 域(Key)
- 分量
- 关系模式
- 关系名(属性1,属性2,…属性n)
- 比如学生(学号,姓名,年龄,性别,系,年级);图书(书号,书名,作者,出版社,类别,价格)
关系必须是规范化的,最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。
关系模型的数据操作
- 查询、插入、删除、更新
- 数据操作是集合操作,操作对象和结果都是关系,即若干元组的集合。
- 存取路径对用户隐蔽
关系模型的完整性约束
关系模型的存储结构
- 表以文件形式存储
- DBMS一个表对应一个操作系统文件
关系模型的优缺点
3.数据库系统的结构
数据库系统内部的模式结构:从数据库管理系统角度看
数据库系统外部的体系结构:从数据库最终用户角度来看
数据库系统模式的概念
型(Type):对某一类数据的结构和属性的说明
值(value):是型的一个具体赋值
- 例如:学生记录
- 记录型(学号,姓名,性别)
- 记录值(20201,小明,男)
数据库系统模式的概念
数据库系统的三级模式结构
模式的分级:
提高数据的物理独立性和逻辑独立性
三级模式结构:
CODASYL提出的模式、外模式、内模式三级模式的概念,三级模式之间有两级映像。
外模式/模式映像的用途
保证数据的逻辑独立性
- 当模式改变时,数据库管理员修改有关的外模式/模式映像,使外模式保持不变
- 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。
模式/内模式映像的用途
保证数据的物理独立性
- 当数据库的存储结构改变了(选用另一种存储结构),数据库管理员修改模式/内模式映像,使模式保持不变
- 应用程序不受影响,保证了数据与程序的物理独立性
外部的体系结构
单用户结构:整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。
C/S结构:
B/S结构:
分布式结构:数据库的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同节点上。
4.数据库系统小练习
试述关系模型的概念,定义并解释以下术语。
答:关系模型由关系数据结构、关系操作和关系完整性约束三部分组成。
在用户观点下, 关系模型中数据的逻辑结构是一张二维表格,它由行和列组成。
关系:一个关系对应通常说的一张表
属性:表中的一列即为一个属性
域:属性的取值范围
元组:表中的一行即为一个元组
码:表中的某个属性组,它可以唯一确定一个元组
分量:元组中的一个属性值
关系模式:对关系的描述,一般表示为关系名(属性 1,属性 2,…,属性 n)
根据以下描述,确定是哪级模式?
内模式、模式、外模式
试述数据库系统三级模式结构,这种结构的优点是什么?
答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图;
外模式也称子模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;
内模式也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
优点:数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给 DBMS 管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像,模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
|