theme: qklhk-chocolate
基本概念
数据
描述事物的符号记录称为数据。
记录时是计算机中表示和存储数据的一种格式或一种方法。
数据库
数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和储存。具有较小冗余度、较高数据独立性、易扩展性,并可为各种用户共享。
数据库管理系统
是位于用户和操作系统之间的一层数据管理软件。
主要功能:
- 数据定义功能
- 数据组织、存储和管理
- 数据操纵功能
- 数据库的事务管理和运行管理
- 数据库的建立和维护
- 其他
数据库系统
是由数据库、数据库管理系统、应用程序和数据库管理员组成的组成的存储、管理、处理和维护数据的系统。
组成
数据库
数据库管理系统
应用程序
数据库管理员
- 决定数据库中的信息内容和结构
- 决定数据库的存储结构和存取策略
- 定义数据的安全性要求和完整性约束条件
- 监控数据库的使用和运行
- 数据库的改进和重组、重构
特点
-
数据结构化
-
数据共享性高、冗余度低且易扩充
-
数据独立性高
-
数据由数据库管理系统统一管理和控制
- 数据的安全性保护
- 数据的完整性检查
- 并发控制
- 数据库恢复
数据模型
数据模型是一种模型,它是对现实世界数据的一种抽象。
概念模型
(也称信息模型)按照用户的观点来对数据和信息建模,用于数据库设计。
信息世界
概念:
-
实体:客观存在并且可以相互区别的事物称为实体。可以是具体的,也能是抽象的。 (员工)
-
属性:实体所具有的某一特征。 (姓名、性别、年龄 …)
-
码:唯一标识实体的属性集称为码*(工号)*
-
实体型:实体名及其属性名集合来刻画和抽象同类实体*(员工(工号、姓名、性别、年龄 …))*
-
实体集:同一类型的实体集合。 (全体员工)
-
联系:
-
实体内部的联系:组成实体的各属性之间的联系。
-
实体之间的联系: 不同实体集之间的联系。
- 一对一:实体集A中的每一个实体,B中至多有一个与之联系,反之亦然。
- 一对多:A中每一个实体,B中都有n(≥0)个实体与之联系,反之,B中的每一个实体,A中至多只有一个实体与之联系。
- 多对多:A中每一个实体,B中都有n(≥0)个实体与之联系,反之,B中的每一个实体,A中也有m(≥0)个实体与之联系。
-
表示方法:实体-联系方法
也叫E-R方法。用E-R图表示。
逻辑模型和物理模型
逻辑模型:
按照计算机系统的观点对数据建模,用于数据库管理系统的实现。
主要包括:层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型。
物理模型:
描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法。
具体实现是数据库管理系统的任务。
数据模型组成要素
通常用数据结构、数据操作、和完整性约束三部分组成 。
数据结构(刻画数据模型最基本的方面): 描述数据库之间的组成对象以及对象之间的联系。
数据操作: 是指对数据库中的各种对象的实例允许执行的操作的集合。包括操作及有关的操作规则。
数据的完整性约束条件:是一组完整性规则。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则。
常见数据模型:
- 层次模型(格式化模型)
- 网状模型(格式化模型)
- 关系模型
- 面向对象数据模型
- 对象关系数据模型
- 半结构化数据模型
💡 在格式化模型中:
实体用记录表示,实体的属性对应记录的数据项。实体之间的联系在格式化模型中转换为记录之间的两两联系。
数据结构的单位是基本层次联系。基本层次联系是指两个记录及它们之间一对多(含一对一)的联系。
基本层次联系:
层次模型
层次模型用树状结构表示各类实体以及实体间的联系。
定义:
- 有且只有 一个结点没有双亲结点,这个节点是根结点
- 根之外其他结点有且只有一个双亲结点。
每个节点表示一个记录类型,记录类型之间的联系用节点之间的连线(有向边)表示。这种联系是父子之间一对多的关系。
层次模型像一棵倒立的树,结点的双亲是唯一的。
层次模型的数据操纵主要有查询、插入、删除、更新
。
- 进行插入操作时,如果没有对应的双亲结点值,就不能插入他们的子女结点值。
- 进行删除操作时,如果删除双亲,同时也会删除子女结点。
网状模型
事实上很多事物之间的关系是非层次的。所以引入了网状数据模型。
定义:
- 允许一个及以上的结点无双亲
- 一个结点可以有多于一个的双亲
关系模型 📍
每个关系的数据结构是一个二维表
术语:
- 关系:一个关系对应通常所说的一个二维表
- 元组:表中的一行为一个元组
- 属性:表中的一列为一个属性
- 码:(也称为码键),是表中的某个属性组,可以唯一的确定一个元组。
- 域:一组具有相同数据类型的值的集合。
- 分量:元组中的一个属性值
完整性约束:
- 实体完整性
- 参照完整性
- 用户定义完整性
数据库系统的结构
数据库系统的结构分为单用户结构
、主从式结构
、分布式结构
、客户- 服 务 器
、 浏 览 器 - 应 用 服 务 器 / 数 据 库 服 务 器
多 层 结 构。
数据模型中有“型”和“值”
- 型:对某一数据结构和属性的说明
- 值:型的具体赋值
- 模式(schema):数据库中全体数据的逻辑结构和特征的描述【相对稳定】
- 实例(instance):模式的一个具体值【相对变动】
数据库管理系统采用的是三级模式结构,并提供两级映像功能。
三级模式结构
外模式、模式、内模式三级构成。
模式(也叫逻辑模式)
是数据库中全体数据逻辑结构和特征的描述。也是所有用户的公共数据视图。
外模式(也叫子模式或用户模式)
是数据库用户能够看见和使用的局部数据的逻辑结构和特征描述。
通常是模式的子集。
内模式(也叫存储模式)
一个数据库只有一个内模式。是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
二级映像功能&数据独立性
数据库系统的三级模式是数据的三个抽象级别。
两层映像:实现了三个抽象层次的联系和转换
-
外模式/模式映像
- 模式描述的是数据的全局逻辑结构、外模式描述的是数据的局部逻辑结构。
- 对于每个外模式,数据库系统都有一个外模式/模式映像。定义了外模式与该模式的对应关系
- 模式改变时,由数据库管理员对各个外模式/模式映像作相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改。保证了数据与程序的逻辑独立性。简称数据的逻辑独立性
-
模式/内模式映像
-
数据库只有一个模式,也只有一个内模式。所以,模式/内模式映像 是唯一的!
-
定义了数据全局逻辑结构与存储结构之间的对应关系
-
数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应的改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性。简称数据的物理独立性。
-
-