数据库基础理论 - 绪论
四个基本概念
数据(Data)
数据库中存储的根本单位,形容事物的符号记录
数据的含意称为数据的语义,数据和语义是不可分的
数据库(Database,DB)
长期存储 在计算机内,有组织 的、可共享 的大量数据的汇合
数据库中的数据 按肯定的数据模型 组织、形容和存储
用处:可供进一步加工解决,抽取有用信息,转化为有价值的常识
数据库管理系统(DBMS)
位于用户利用和操作系统之间的一层 数据管理系统 ,是 计算机的根底软件
用处:迷信的组织和存储数据,高效的获取和保护数据
次要性能
- 数据定义语言(DDL),能够对数据库中的数据对象的组成与构造进行定义
- 数据组织、存储和治理,采纳何种形式对数据进行存储
- 数据操纵语言(DML),能够用于对数据库进行 CRUD 操作
- 数据库事务管理和运行治理,用于保证数据的完整性和一致性
- 数据库的建设和保护性能,数据库的备份、转存、复原等性能
- 与其它软件系统进行通信的性能,不同数据库管理系统之间的数据转换
数据库系统(DBS)
由 硬件平台和数据库 、 数据库管理系统 、 应用程序(以及利用开发工具)、数据库管理员 组成
数据管理的三个阶段
人工治理
文件系统阶段
数据库系统阶段
数据库系统的特点
数据结构化
数据库的 次要特色 是实现了整体数据的结构化,也是数据库系统和文件系统的 本质区别
共享性高、冗余度低且易扩大
数据共享能够大大减少数据冗余,节约空间,防止数据之间的不相容和不一致性
数据独立性高
物理独立性:用户的应用程序与数据库中数据的 物理存储 是独立的
逻辑独立性:用户的应用程序与数据库的 逻辑构造 是独立的
数据由 DBMS 对立治理和管制
- 保证数据的安全性,避免不非法应用导致数据泄露
- 保证数据的完整性,将数据管制在无效的范畴内,保证数据之间满足肯定的关系
- 保障并发平安,保障多个并发过程同时存取、批改数据库时,能保障数据完整性
- 数据恢复,避免因为各种故障(硬件故障、系统故障等)的产生所导致存储数据失落
数据模型(Data Model)
数据模型是对事实世界数据特色的形象,对事实世界的模仿
- 事实世界 到概念模型(数据库设计人员实现)
- 概念模型 到逻辑模型(数据库设计人员和设计工具)
- 逻辑模型 到物理模型(由 DBMS 实现)
两类模型
概念模型(信息模型)
依照用户的观点对数据和信息建模,用于数据库设计
信息世界的基本概念:
- 实体:客观存在并能够互相区别的事物称为实体,能够是具体的人、事和物体
- 属性:实体所具备的某一个性,一个实体由多个属性所确定,如:
(180503, 张三,28, 二班, 计算机专业)
示意了一个具体的学生 - 码:惟一标识实体的属性集,如学号、身份证号等
- 实体型 :用实体名及其属性名汇合来形象和刻画实体,如:
学生(学号, 姓名, 年龄, 班级, 业余)
- 实体集:同一类型实体的汇合,如全体学生
- 分割:实体之间的分割,如一对一、一对多和多对多
能够用 实体 - 联系方法(Entry-Relationship approach)来示意信息
逻辑模型和物理模型
逻辑模型:按 计算机系统 的观点对数据建模,用于 DBMS 实现,次要包含 层次模型 、 网状模型 、 关系模型
物理模型:形容数据在 磁盘 上的 示意 办法和 存取 办法
罕用数据模型
层次模型(树状模型)
用树形构造来示意实体之间的关系,如行政机构、家族图谱等
用每个节点示意一个记录类型(实体),记录之间的分割用有向边示意
每个记录能够有多个字段,用字段来形容实体的属性
必有一个双亲节点,因而只能解决一对多实体关系
层次模型满足以下两个条件:
- 有且只有一个节点没有双亲节点,该节点称为 根节点
- 根节点以外的所有节点有且只有一个双亲节点
层次模型的长处:
- 数据结构简略清晰
- 具备良好的完整性
- 查问效率比拟高,只需沿着门路即可找到对应的记录
层次模型的毛病:
- 只能示意一对多的关系,不能示意另外两个
- CRUD 操作限度较多,应用程序编写简单
网状模型
每个节点示意一个记录类型(实体),每个记录有若干字段(实体的属性),节点之间通过连线示意一对多的关系
网状模型满足以下两个条件:
- 容许一个以上的节点无双亲节点
- 一个节点能够有多于一个的双亲节点
网状模型的长处:
- 可能更加间接示意世界
- 具备良好的性能,存取效率都比拟高
网状模型的毛病:
- 结构复杂,不易于用户操控
- DDL 和 DML 操作简单,须要通过高级语言管制
- 须要找寻具体的门路
关系模型
关系模型建设在严格的数学概念上,关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表
关系模型的根本术语:
- 关系:一个关系对应一张具体的表
- 元组:表中的一行记录即为一个元组
- 属性:表中的某一列即为一个属性
- 码:能够惟一确定一个元组的属性
- 域:一组具备雷同数据类型的值的汇合
- 重量:元组中的某一个属性值
- 关系模式 :对关系的形容,如:
关系名(属性 1,属性 2,属性 3 ... 属性 n)
,关系的每一个重量都是不可再分的数据项
关系模型的长处:
- 建设在严格的数学概念上
- 实体与实体之间的分割都通过关系示意,表构造清晰,容易应用
- 存取门路对用户通明,简化了工作
关系模型的毛病:
- 查问效率不如格式化数据模型
- 须要理解数据库外部细节,能力对其进行优化
数据库系统的构造
- 型:对某一类数据的构造和属性的阐明
- 值:型的一个具体赋值
三级模式
数据库的模型由 外模式 、 模式 、 内模式 三级形成,模式是数据库系统模式构造的核心
- 模式 :数据库中整体数据的 逻辑构造 和特色 的形容,仅仅波及 型的形容而不波及具体的 值,模式的一个具体值称为 实例,一个数据库只有一个模型,实例能够有多个。模式是稳固的,实例是变动的,能够通过 DDL 定义模式
- 外模式 :数据库用户能够看见和应用的部分数据的 逻辑构造 和特色 的形容,外模式能够保障不同用户看到的数据是不雷同的,保障了数据的安全性,一个数据库能够有多个外模式,能够通过 DDL 定义外模式
- 内模式 :数据 物理构造 和存储形式 的形容,数据在数据库外部的组织形式,如:记录的存储形式(顺序存储,堆存储,hash 存储),索引的组织形式(B+ 树,Bitmap,Hash),是否加密压缩,一个数据库只有一个内模式
二级映像
二级映像的存在使得数据库中的数据具备了较高的 物理独立性 和逻辑独立性,数据与程序之间的独立性使得数据的定义和形容从应用程序中拆散进来,简化了应用程序的编写,缩小了程序的保护和批改
- 外模式 / 模式 :定义了外模式和模式的关系,每一个外模式都有一个与之绝对应的外模式 / 模式映像。当模式扭转时,只需对外模式进行批改即可,无需批改应用程序,保障了 数据的逻辑独立性
- 模式 / 内模式 :定义了全局逻辑构造与存储构造之间的关系,模式只有一个,内模式也只有一个,因而模式 / 内模式映像也仅有一个。当存储构造扭转时,只需对模式 / 内模式映像调整即可,能够保障模式不变,因而应用程序也可保障不变,保障了 数据的物理独立性