【数据库】引言
学习数据库系统概念(第六版)笔记,第一章引言
数据库系统
- 数据库管理系统(DataBase-Management System,DBMS):包含关于某个企业的信息
- 一个互相关联的数据的集合(database)
- 用于访问数据的程序
- 方便、高效地存储信息的途径
- 设计目的:
数据库系统的目的
-
以前:文件处理系统
- 数据冗余(redundancy)和不一致(inconsistency):一个数据在不同的文件中都有记录,数据冗余;不同副本没法同步更新数据不一致
- 数据访问困难:获取符合某些条件的数据每次都要写一个新程序
- 数据孤立:数据分散在不同格式的文件中
- 完整性问题:数据满足的一致性约束,很难修改与添加
- 原子性问题:一切操作应当是原子的,文件处理系统很难做到
- 并发访问异常:一个数据被多个程序同时访问,对数据的修改和读取出现异常
- 安全性问题:无法保证某些信息不会被某些程序访问
-
设计目的
- 管理高价值(Highly valuable)、相对庞大(Relatively large)、多用户/应用并发访问的数据集
- 为用户提供抽象视图,隐藏数据存储和维护的部分细节
数据视图
数据抽象
- 物理层(Physical level):记录如何存(索引、文件组织等)
- 逻辑层(Logical level):数据库里的数据和数据关系
- 视图层(View level):应用程序,隐藏了数据类型的细节
数据模型
概念:描述数据(Data)、数据联系(Data relationships)、数据语义(Data semantics)、一致性约束(Data constraints)的工具集
关系模型(Relational model)
- 用表的集合存储数据和数据间联系
- 多个列,每列唯一列名
- 简单、坚实的数学基础(可用集合论描述)
- 举例:
实体联系模型(Entity-Relationship data model)
- 主要用于数据库设计
半结构化数据模型(Semi-structured data model )(XML)
基于对象的数据模型(Object-based data model)
其他模型
- 网状数据模型(Network data model)
- 层次数据模型(Hierarchical data model)
实例与模式(Instances and Schemas )
- 实例(instance):程序中变量在某一时刻的值对应于数据库模式的一个实例
- 模式(schema):物理模式、逻辑模式
- 物理数据独立性:物理模式改了逻辑模式不需重写
数据库语言
数据定义语言(Data Definition Language)(DDL)
- 数据库模式的一系列定义
- DDL输出到数据字典中,包括元数据(数据库模式、完整性约束、授权)
数据操纵语言(Data Manipulation Language)(DML)
-
访问或操纵按照某种数据模型组织起来的数据
-
过程化DML、声明式DML
数据库设计
- 概念设计:ER图
- 逻辑设计:决定数据库模式
- 物理设计
数据库系统
- 存储管理
- 查询处理
- 事务管理:原子性+一致性