数据管理发展的三个阶段
人工管理阶段 | 文件系统阶段 | 数据库系统阶段 | |
应用背景 | 科学计算 | 科学计算、数据管理 | 大规模数据管理 |
硬件背景 | 无直接存取存储设备 | 磁盘、磁鼓 | 大容量磁盘、磁盘阵列 |
软件背景 | 没有操作系统 | 有文件系统 | 有数据库管理系统 |
处理方式 | 批处理 | 联机实时处理、批处理 | 联机实时处理、分布处理、批处理 |
数据的管理者 | 用户(程序员) | 文件系统 | 数据库管理系统 |
数据面向的对象 | 某一应用程序 | 某一应用 | 现实世界(一个部门、企业、跨国组织等) |
数据的共享程度 | 无共享,完全依赖于程序 | 共享性差,冗余度大 | 共享性高,冗余度小 |
数据的结构化 | 无结构 | 记录内有结构、整体无结构 | 整体结构化,用数据模型描述 |
数据的独立性 | 无独立,完全依赖于程序 | 独立性差 | 具有高度的物理独立性和一定的逻辑独立性 |
数据控制能力
| 应用程序自己控制 | 应用程序自己控制 | 有数据库管理系统提供数据安全性、完整性、并发控制和恢复能力 |
数据库系统的特点
1.数据结构化
数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
2.数据的共享性高,冗余度低且易扩充
数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相溶性与不一致性
3.数据的独立性高
数据独立性
物理独立性
用户应用程序与数据库中数据的物理存储是相互独立的
逻辑独立性
用户应用程序与数据库中的逻辑结构是相互独立的
4.数据由数据库管理系统统一管理和控制
1数据的安全性保护
2.数据的完整性检查
3.并发控制
4.数据库恢复
数据模型
数据模型分为概念模型、逻辑模型、物理模型,逻辑模型主要有(层次模型、网状模型、关系模型、面向数据模型、对象关系模型、半结构化数据模型等等)
概念模型
1.实体
客观存在并相互区别的事物称为实体
2.属性
实体所具有的某一特性成为属性
3.码
唯一标识实体的属性集称为码
4.实体型
用实体名及其属性名集合来抽象和刻画同类实体,称为实体型
5.实体集
同一类型实体的集合为实体集
6.联系
实体之间的联系通常是指不同实体集之间的联系
如果对于实体集A每一个实体,实体集B都至多有一个实体与之联系,反之亦然,则称实体集A与实体集B是一对一的关系
如果对于实体集A中的每一个实体,实体集B都有n个元素与之联系,反之亦然,则称实体集A与实体集B是一对多的关系
如果对于实体集A中的每一个实体,实体集B都有n个元素与之联系,实体集B中的每一个实体,实体集A都有m个元素与之联系,则是多对多的联系
例如校长负责学校这是一个一对一的关系,一个校长负责一个学校。系部聘任n个教师,这是一个一对多的关系,m个教师教学n个学生,这是一个多对多的关系
数据模型通常由
1.数据结构
2.数据操作
3.数据的完整性约束条件、
层次模型多是树形的结构
例如父有儿子和女儿,儿子又有儿子和女儿,这就是一个树形的结构
网状模型
例如完成第一个任务才可以完成第二个任务和第三个任务,完成了第二个和第三个任务才可以完成第四个任务,构成了一个图的结构
关系模型
关系模型是本书的重点也是主要介绍的
一个关系就是一张表,它由行和列组成,一行叫做元组,一列叫做属性,码可以唯一确定一个元组,域是一个相同数据类型的值的集合,例如性别(男、女),分组就是元组中的一个属性值
关系模型要求关系必须是规范的
数据库系统的三级模式结构是指数据库系统外模式、模式、内模式三级结构构成
数据库系统的组成
1.硬件平台及数据库
要有足够大的内存,足够大的存储空间
2.软件
DBMS C语言 、python ODBC
3.人员
人员又分为数据库管理人员、系统分析员、数据库设计人员、应用程序员、用户