数据库原理与应用_基本概念
数据库原理与应用_基本概念
数据库系统
一些概念
数据:描述事物的符号记录。
数据库:低冗余度(redundancy)、高数据独立性(data independency)、高可扩展性(scalability)。
数据库管理系统:DBMS
数据定义语言:DDL
数据操纵语言:DML
数据库系统:DBS
数据库管理员:DBA
系统分析员:SA
应用程序员:Programmer & Programmer leader
graph TD subgraph 数据库系统 A[硬件] B[OS] C[DBMS] D[开发工具] E[数据库应用系统] end
对数据的需求
数据结构化,方便储存、管理和共享。
低冗余,易扩充。
数据逻辑结构与程序之间相互独立,具有逻辑独立性。
数据储存方式与程序之间相互独立,具有物理独立性。
存取粒度小。
安全、完整、支持并发、可以恢复。
……
数据模型
概念模型 + 逻辑模型和物理模型
graph LR subgraph 三级模型 D((概念模型)) --> E((逻辑模型)) --> F((物理模型)) end subgraph 数据建模 A[现实世界] -->|提取特征| B[信息世界] -->|数据建模| C[机器世界] end B --> D C --> E C --> F
概念模型
E-R图
表现实体与关系的图
概念
graph LR subgraph "实体集(同类实体)" A[实体 1] B[实体 2] C["……"] end subgraph 实体型 G["实体型(共同特征)"] --> D[[属性 1]] G --> E[[属性 2]] G --> F["……"] end A --> G B --> G C --> G subgraph 主码 I["主码(Primary Key)"] end D --> H[\能够唯一标识实体\] --> I E --> H subgraph 域 K[域] end D --> J[\取值范围\] --> K E --> J
graph LR subgraph 联系 L[实体] -->|"一对一、一对多、多对多"| L M[属性] -->|"一对一、一对多、多对多"| M end
逻辑模型
组成要素:数据结构、数据操作、完整性约束
分类:
- 层次模型
- 结构清晰、查询效率高、完整性约束好
- 只能处理一对多的联系,或者引入冗余;结构过于严密,层次命令趋于程序化。
- 网状模型
- 更容易描述现实世界、存取效率高、性能好、具有一定的完整性约束
- 结构复杂、其DDL和DML复杂、存取路径复杂。
- 关系模型
- 关系 \(\to\) 元组 \(\to\) 属性 \(\to\) 域(属性值的范围) \(\to\) 码(主键) \(\to\) 分量(记录中的一个属性值)
- e.g. 学生(学号, 姓名, 年龄, 专业)
- 数据操作是集合操作、非过程化(操作对象和操作结果都是关系)
- 数学基础严密、存取路径透明。但是需要内部优化模块。
- 面向对象模型
- NoSQL模型
DBS结构
一些概念
graph TD subgraph Instance Value_1k Value_2k Value_nk end subgraph Schema Type_1 Type_2 Type_n end
- 型(Type):某一类数据的结构和属性的说明。e.g. (学号, 姓名, 年龄, 专业)
- 实体型(entity type):实体名 + 属性名集合。e.g. 学生(学号, 姓名, 年龄, 专业)
- 值(Value):Type 的一个具体值。
- e.g. (12302, 张三, 23, 计算机)
- 模式(Schema):数据库中全体数据的逻辑结构和特征的描述,仅涉及型,不涉及值。
- 实例(Instance):Schema 的一个具体值
三级模式结构
graph LR A["逻辑模式(模式)"] -->|外模式/模式映像| C["外模式(用户模式)"] --> D[应用] A -->|内模式/模式映像| B["内模式(物理模式)"] A --> D
逻辑模式:唯一。描述数据库中所有数据的逻辑结构和特征,是用户公共数据视图。例如,数据项、取值范围、安全性和完整性要求。
内模式:唯一。描述数据的物理储存方式和结构。例如,是否压缩加密、是否升序。
外模式:不唯一,取决于应用。是用户能够看见和使用的 Schema 的子集。
graph BT A[[数据库]] --> B[内模式] B -->|内模式/模式映像| C[模式] C --> D[外模式1] C -->|外模式/模式映像| E[外模式2] C --> F[外模式3] D --> G[应用A] D --> H[应用B] E --> I[应用C] F --> J[应用D] F --> K[应用E]
二级映像
如果 Schema 改变,通过修改 外模式/模式映像,能够保持外模式不变,构成逻辑独立性。
如果 Stroge Schema 改变,通过修改 内模式/模式映像,能够保持模式不变,构成物理独立性。