数据:数据库中存储的基本对象,是描述事物的符号记录。
数据的含义称为语义,数据与其语义是不可分的。
数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库系统的构成:数据库、数据库管理系统(DBMS,及其应用开发工具),应用程序,数据库管理员(DBA)。
数据管理方式
数据模型
- 概念模型
- 逻辑模型
- 物理模型
概念模型
用于数据库设计, 用 E-R 图来描述现实世界的概念模型。
概念:实体、属性、码、实体型、实体集、联系。
逻辑模型
用于 DBMS 实现。
问题:如何“多快好省”地将信息世界转换为机器世界?
方案 1:尽量独立于应用层,采用“中立”的方式表达概念模型,体现为关系数据库
方案 2:在应用层中,使用特定数据结构,并在逻辑模型中高效支持这一数据结构,体现为 NoSQL 数据库
方案*:通用数据结构采用方案 1,关键性数据结构采用方案 2
关系模型的数据结构
规范条件:关系必须是规范化的,满足一定的规范条件。
最基本的规范条件(1NF):关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。
关系的完整性约束条件:实体完整性、参照完整性、用户定义的完整性。
关系模式的优缺点
优点:
- 建立在严格的数学概念的基础上
- 概念单一
- 实体和各类联系都用关系来表示
- 对数据的检索结果也是关系
- 关系模型的存取路径对用户透明
- 具有更高的数据独立性,更好的安全保密性
- 简化了程序员的工作和数据库开发建立的工作
缺点:
- 存取路径对用户透明,查询效率往往不如格式化数据模型
- 为提高性能,必须对用户的查询请求进行优化,增加了开发 DBMS 的难度
NoSQL
- 基于 Key-Value 存储模型
- BigTable 模型:
(row:string, column:string, time:int64) ==> string
- 基于文档模型
- 基于图模型:记为 \(G(V, E)\),\(V\) 为节点集合,每个节点具有若干属性,\(E\) 为边集合,也可以具有若干属性。
数据库系统的结构
一个数据库只有一个模式、内模式,模式与外模式、外模式与应用程序是一对多的。
- 三级模式是对数据的三个抽象级别
- 二级映象在数据库管理系统内部实现这三个抽象层次的联系和转换
- 外模式/模式映像:保证了数据的逻辑独立性
- 模式/内模式映像:保证了数据的物理独立性