第1章 数据库的基本概念
数据、数据库、数据管理系统、数据库系统的概念
- 描述事务的符号记录称为数据
- 数据库是长期存储在计算机内。有组织的、可共享的大量数据的集合
- 数据库管理系统是位于用户与操作系统之间的一层数据管理软件,数据库管理系统和操作系统一样是计算机的基础软件
- 数据库系统是由数据库、数据库管理学系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
数据库系统的特点
- 数据的结构化:内部,整体结构化,面向组织和企业
- 数据的共享性高、冗余度低且容易扩充
- 数据独立性高
- 数据由数据库管理系统同意管理和控制
数据库管理系统的主要功能
- 数据定义
- 数据组织、存储和管理
- 数据操作:增删改查
- 数据库的事务管理和运行管理
- 数据库的建立和维护
- 其他:通信,数据转换。。。
数据模型
什么是概念模型,概念模型的作用
- 概念模型是显示时间到机器世界的一个中间层次
- 用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
信息世界的基本概念
- 实体:客观存在并可相互区别的事物称为实体
- 属性:实体所具有的某一特性
- 码:唯一标识实体的属性
- 实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生年月,所在院系,入学时间)就是一个实体型
- 实体集:同一类型实体的集合称为实体集
- 实体之间的联系:实体之间的联系通常是指不同实体集之间的联系,实体之间的联系有一对一,一对多和多对多等
数据模型的概念,数据模型的作用和数据模型的三个要素
- 数据结构:数据库的组成对象以及对象之间的联系
- 数据操作:数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则
- 数据的完整性约束条件:一组完整性规则
常用的数据模型
层次模型
- 有且只有一个结点没有双亲结点,这个结点为根结点
- 根以外的其他结点有且只有一个双亲结点(类似树的数据结构
优点
- 数据结构清晰
- 查询效率高
- 提供了良好的完整性支持
缺点
- 多对多联系不兼容
- 如果一个结点具有多个双亲结点,不适用
- 查询子女结点必须通过双亲结点
- 结构严密,层次命令趋于程序化
网状模型
- 允许一个以上结点无双亲
- 一个结点可以有多余一个的双亲
优点
- 能够更为直接地描述显示世界
- 具有良好的性能,存取效率高
缺点
- 大型应用环境结构比较复杂
- 网络模型DDL、DML复杂
- 需要适当的存取路径实现存取
关系模型
数据结构(关系模型
- 关系:一个关系通常对应一个表
- 元组:表中一行即为一个元组
- 属性:表中一列为一个属性
- 码:码键,唯一确定一个元组
- 域:一组具有相同数据类型的值得集合
- 分量:元组中一个属性值(表中一个格子
- 关系模式:学生(学号,姓名,年龄,性别,系名,年级)
关系的每一个分量不可分
关系模型的数据操纵与完整性约束
- 关系模型总的数据操作是集合操作,操作对象和操作结果都是关系(面向整个表的
- 关系模型把存取路径向用户隐蔽起来,用户只要指出”干什么“,”找什么“,而不必说明如何做
优点
- 与格式化模型(层次模型?网状模型?)不同,是建立在严格的数学概念的基础上
- 概念结构单一,数据结构简单、清晰、用户易懂易用
- 存取路径对用户透明,具有较高的数据独立性、更好的安全保密行,简化数据库开发建立工作
优点
- 查询效率不如格式化数据模型
数据库系统的结构
关系数据库的特点
- 数据集中控制:文件管理是分散的,而关系数据库客服这个缺点
- 数据独立性高:数据独立于应用程序
- 数据共享性好:数据库中的数据可供多个用户使用
- 数据冗余度小:数据非面向应用,而是面向系统
- 数据结构化:整个数据库按一定的数据形式构成
- 统一的数据保护功能
https://www.jianshu.com/p/3409961213fd
数据库系统的三级模式结构
指数据库系统由外模式,模式,内模式单级构成
数据的三级模式
模式
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
外模式
子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库的数据视图,是与某一应用有关的数据的逻辑表示
内模式
存储模式,一个数据库只有一个内模式,是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式(堆存储还是栈存储,升降序,索引方式,是否加密
DDL(数据定义语言
(Data Definition Language, DDL) 是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成
数据操纵语言(DML
一般指对表的增删改查
三级模式的优点
数据的二级映象
外模式/模式映射
发生改变时,只需要修改映射关系即可适用,而不需要修改应用程序,保证了数据与程序的逻辑独立性
模式/内模式映射
唯一,保证了数据与程序的物理独立性
两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性
问题:什么叫数据与程序的逻辑独立性、物理独立性?为什么数据库系统具有数据与程序的独立性?
数据库系统的组成
SQL(structured query language)