基本概念
数据(Data)
描述事物的符号记录称为数据,并且可以数字化存入计算机。
数据的含义称为数据的语义,数据与其语义是不可分的。
数据库(DataBase,DB)
存放数据的仓库
数据库数据具有永久存储、有组织和可共享三个基本特点
数据库管理系统(DataBase Management System,D BMS)
介于用户和操作系统之间的数据管理软件,数据库管理系统和操作系统一样是计算机的基础软件。
功能:
- 数据定义(Data Definition Language)
- 数据操纵(Data Manipulation Language)
- 数据库的运行管理
- 数据库的建立和维护
数据库系统(DataBase System,DBS)
由数据库、数据库管理系统(及其开发工具)、应 用 系 统 、 数 据 库 管 理 员 ( DataBase Adimistrator)和用户组成。
数据库在计算机系统中的地位
数据库结构的特点
1.数据结构化
是数据库与文件系统的根本区别。
包含两方面: 一是数据内部; 二是数据之间。
2.数据的共享性高、冗余度低且易扩充
数据共享可以大大减少数据冗余,节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性。
每个应用选用数据库的一个子集,只要重新 选取不同子集或者加上一小部分数据,就可 以满足新的应用要求,这就是易扩充性。
3.数据独立性高
-
物理独立性
指用户的应用程序与数据库中数据的物理存储是相互独立的。
-
逻辑独立性
用户的应用程序与数据库的逻辑结构是相互独立的。
4.数据由数据库管理系统统一管理和控制
-
数据的安全性(security)保护
保护数据以防止不合法的使用所造成的数据泄露和破坏。
措施:用户标识与鉴定,存取控制。
-
数据的完整性(integrity)检查
数据的正确性、有效性、相容性
措施:完整性约束条件定义和检查
-
并发控制(Concurrency)
对多用户的并发操作加以控制、协调,防止其互相干扰而得 到错误的结果并使数据库完整性遭到破坏。
措施:封锁
-
数据库恢复
数据模型
数据模型(datamodel)也是一种模型,它是对现实世界数据特征的抽象。
数据模型就是现实世界的模拟。
数据模型是数据库系统的核心和基础。
分为概念数据模型和结构数据模型
概念数据模型
基本概念
-
实体(Entity):客观存在并相互区别的事物。可以是 具体的事物,也可以是抽象的概念或联系。
-
属性(Attribute):实体所具有的某一特性。一个实 体由若干个属性刻画。
-
码(key):唯一标识实体的属性集。
-
域(Domain):属性的取值范围,集合。
-
实体集:具有相同类型及相同属性的实体集合。
-
实体型:用实体名及其属性名集合抽象和刻画同类实体。eg(学生(学号,姓名,性别,出生年月,所在院系)就是一个实体型)
实体型(抽象)与实体集(枚举)
概念数据模型表示方法—实体-联系方法(E-R)
E-R模型要点
实体型:用矩形表示,框内写实体名。
属性:用椭圆形表示,用无向边与相应的实体 连接。
联系:用菱形框表示,框内写上联系名,用无向边与相应的实体连接,标上联系的类型。 如果联系有属性的话,也用无向边与相应的联 系连接。
结构数据模型
逻辑模型和物理模型
结构数据模型组成三要素
-
数据结构
数据库的组成对象以及对象之间的联系
描述系统的静态特性,即组成数据库的对象类型
-
数据操作
描述系统的动态特性,即对数据库中对象的实例允 许执行的操作的集合,包括操作及操作规则
一般有检索、更新(插入、删除、修改)操作
数据模型要定义操作含义、操作符号、操作规则, 以及实现操作的语言
-
数据的约束条件
数据的约束条件是完整性规则的集合,规定数据库 状态及状态变化所应满足的条件,以保证数据的正 确、有效、相容
数据库领域中主要的逻辑数据模型有:
层次模型(hierarchicalmodel)
网状模型(networkmodel)
关系模型(relationalmodel)
面向对象数据模型(objectorienteddatamodel)
对象关系数据模型(objectrelationaldatamodel)
半结构化数据模型(semistructuredatamodel)
层次模型
用树结构来表示E-R图中的实体与实体 间的联系的模型。
优点:结构简单,易于实现
缺点:支持的联系种类太少
数据操纵不方便
网状模型
用图结构表示的E-R图中的对象,这种数 据模型称为网状模型。
优点:表达的联系种类丰富
性能良好,存取效率高
缺点:结构复杂
语言复杂
关系模型
关系(Relation):一张表
元组(Tuple):表中的一行
属性(Attribute):表中一列,取名
码(Key):唯一确定一个元组的属性组
域(Domain):属性的取值范围
分量(Component): 元组中一个属性值
关系模式(Relation Schema) 对关系的描述
关系名(属性1,… ,属性n), 规范化
优点:建立在严格的数学基础、数据结构简单、存 取路径透明。
缺点:效率
数据库系统的结构
概念
在数据模型中有“型”(type)和“值”(value)的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值
模式(schema):是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。
模式是相对稳定的,而实例是相对变动的
三级结构模式
-
逻辑模式(Schema,模式):
数据库中全体数据 的逻辑结构和特征的描述,是所有用户的公共数据视图。
属于中间层。
一个数据库只有一个。
逻辑模式DDL。
数据库的中心与关键,独立于其它层次,首先 确定。
-
外模式(External Schema,子模式、用户模式):
数据库用户(包括设计人员和最终)能够看到 和使用局部数据的逻辑结构和特征的描述,与 具体应用有关的数据的逻辑表示。
逻辑模式的子集。
安全性的手段。
子模式DDL。
面向具体的应用程序,注意扩充性。
-
内模式(Internal Schema,存储模式):
数据 物理结构和存储方式的描述,是数据在数据库 内部的表示方式。
一个数据库只有一个。
内模式DDL。
一般由DBMS确定。
两级映像
-
外模式/逻辑模式映象(逻辑变换):
定义外模 式与逻辑模式之间的对应关系即逻辑模式与外 模式间的变换,通常包含在外模式的描述之中。
确保数据与程序的逻辑独立性;
保证合法用户对授权数据的使用,屏蔽无关数据。
-
逻辑模式/内模式映象(物理变换):
定义数据 库全局逻辑结构与存储结构之间的对应关系即 逻辑模式与内模式间的变换。
确保数据与程序的物理独立性;
保证模式描述的信息完全被存取;
又能获得高效空间利用和高速存取速度。
数据库的组成
-
硬件
大内存,放得下OS,DBMS核心,系统缓冲区, 用户工作区等
大容量、直接存取的外存设备 – 作数据备份的磁带
-
软件
OS,DBMS,高级语言编译系统及其与数据库的 接口,应用开发工具,应用系统
-
数据
目标数据:数据本身
描述数据:对数据的说明信息
-
用户
-
最终用户(End User)
通过应用系统的用户接口(菜单等)使用数据库
-
应用程序员(Application Programmer)
基于外模式来编写应用程序
-
系统分析员(System Analyst)
负责应用系统的需求分析和规范定义,确定系统 的软硬件配置,参与数据库模式设计
-
数据库管理员(DB Adimistrator)
负责数据库的全面管理和控制
-
数据库工作过程
- Step 1 用户向DBMS发出调用数据库数据的命令。
- Step 2 DBMS对命令进行语法检查、语义检查、 存取权限检查,决定是否执行该命令。
- Step 3 DBMS执行查询优化,把命令转换为一串 单记录的存取操作序列。
- Step 4 执行存取操作序列(反复执行以下各步, 直至结束)。
- Step 5 DBMS首先在缓冲区内查找记录,若找到 转10,否则转6。
- Step 6 DBMS查看存储模式,决定从哪个文件存 取哪个物理记录。
- Step 7 DBMS根据6的结果,向操作系统发出读 取记录的命令。
- Step 8 操作系统执行读取数据的命令。
- Step 9 操作系统将数据从数据库存储区送到系 统缓冲区。
- Step 10 DBMS根据用户命令和数据字典的内容 导出用户所要读取的数据格式。
- Step 11 DBMS将数据记录从系统缓冲区传送到 用户工作区。
命令转换为一串 单记录的存取操作序列。 - Step 4 执行存取操作序列(反复执行以下各步, 直至结束)。
- Step 5 DBMS首先在缓冲区内查找记录,若找到 转10,否则转6。
- Step 6 DBMS查看存储模式,决定从哪个文件存 取哪个物理记录。
- Step 7 DBMS根据6的结果,向操作系统发出读 取记录的命令。
- Step 8 操作系统执行读取数据的命令。
- Step 9 操作系统将数据从数据库存储区送到系 统缓冲区。
- Step 10 DBMS根据用户命令和数据字典的内容 导出用户所要读取的数据格式。
- Step 11 DBMS将数据记录从系统缓冲区传送到 用户工作区。
- Step 12 DBMS将执行状态信息返回给用户。