1.1.1
数据(data)
- 定义:数据是用来记录信息的可识别符号,是信息的具体表现形式。
- 表现形式:数据是数据库中储存的基本对象。
数据库(Database,DB)
- 定义:是长期存放在计算机内的有组织的可共享的数据集合,具有尽可能小的冗余度和较高的数据独立性以及扩展性。
- 特点:集成性,共享性。
数据库管理系统(DataBase Management System,DBMS)
- 定义:是对数据进行管理的大型系统软件。
- 常用的数据库管理系统有:Oracle、MS、SQL、Service、MySQL、ACCESS等。
数据库系统(DataBase System,DBS)
数据库管理员(DataBase Administrator)
- 定义:是在计算机系统中引入数据库后的系统。
- 常用开发工具:java、c#、c、PHP、vc++等
数据库
[block]
小结:数据库系统包含数据库和数据库管理系统。
[/block]
1.1.2
数据管理三个阶段
人工管理阶段
特点:
- 数据不保存
- 应用程序管理数据
- 数据不共享
- 数据不具有独立性
文件系统阶段
特点:
- 数据长期保存
- 文件系统管理数据
- 数据共享性差,冗余度大
- 数据独立性差
数据库系统阶段
特点:
- 数据结构化(与文件系统根本区别)
节省空间,灵活性高
- 数据的共享性高,冗余度低,易扩充
数据不再面向某个应用而是面向整个系统,数据可以被多个用户,多个应用共享使用,数据共享可以大大地减少数据冗余,节约存储空间,数据共享还能够避免数据之间的不相容型与不一致性。
- 数据独立性高
逻辑独立性:指用户的应用程序与数据库的整体逻辑结构是相互独立的,数据独立性是由DBMS的三级模式结构与二级映像功能来保证的
物理独立性:指用户的应用程序与存储在硬盘上的数据库中的数据是相互独立的
- 数据有DBMS统一管理和控制
[block]
小结:在文件系统中,数据的最小单位是记录,数据库的数据之间联系不需要自己定义和解释。
[/block]
1.2
数据模型
概念模型(信息模型)
定义:按用户的观点来对数据和信息建模。
特点:
- 具有对现实世界的抽象与表达能力,忽略现实世界中非本质的和与研究主题无关的内容
- 完整、精确的语义表达力
- 易于理解和修改
- 易于向DBMS所支持的数据模型转换。
表示方法:E-R图
范围:层次模型,网状模型,关系模型
[block]
小结:概念模型是现实世界到机器世界转换的中间模型,常用E-R图表示。正方形表示实体,菱形表示联系,椭圆表示属性,实体与实体之间必有联系,实体与联系之间用直线连接,两端为一对一,一对多,多对多关系。
[/block]
数据模型
定义:按计算机系统对数据建模。
做成要素:
- 数据结构
用于描述系统的静态特性
- 数据操作
用于描述系统的动态特性
- 数据完整性约束
限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
1.2.4
层次模型
定义:
- 有且仅有一个节点无双亲,这个节点称为根节点
- 其他节点有且仅有一个双亲
特点:一对多
优点:
- 层次模型本身比较简单
- 对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能较优
- 层次模型提供了良好的完整性支持
缺点:
- 现实世界中很多联系是非层次性的,如多对多联系,一个节点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据或创建非自然的数据组织来解决
- 对插入和删除操作的限制太多,影响太大
- 查询子女节点必须通过双亲节点,缺乏快速定位机制
- 由于结构严密,层次命令趋于程序化
1.2.5
网状模型
网状模型的数据结构
网状模型定义:
- 允许一个以上的节点无双亲
- 一个节点可以有多于一个双亲
层次模型其实是网状模型的一个特例。
网状模型中的每一个节点表示一个记录类型,每个记录类型可包含若干个字段。
网状模型的完整性约束
- 支持记录码的概念,码即唯一记录的数据项的集合。
- 保证在一个联系中,双亲记录和子女记录之间是一对多的关系
- 可以支持双亲记录和子女记录之间某些约束条件
网状模型的存储结构
实现记录之间的联系,常用链接法(单向链接、双向链接,环状链接、向首链接)
网状模型的优缺点
优点:
- 能够更为直接地描述显示世界,如一个节点可以有多个双亲结点
- 具有良好的性能,存取效率较高
缺点:
- 结构比较复杂,而且随着应用环节的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
- 其DDL,DML语言复杂,用户不容易使用
1.2.6
关系模型
关系模型的数据结构
关系模型中的逻辑结构是一张二维表,它由行和列组成,每一行称为一个元组,每一列称为一个属性。
术语:
- 关系:一个关系对应一张二维表
- 元组:二维表中的一行称为一个元组
- 属性:二维码中的一列称为一个属性,对应每一个属性的名字称为属性名
- 主码:二维表中的某个属性或属性组可以唯一确定一个元组
- 域:属性的取值范围称为域
- 分量:元组中的一个属性值
- 关系模式:表行为关系名和属性的集合,是对关系的具体描述
关系模型的数据操作和完整性约束
数据操作:查询、插入、删除、修改
完整性约束:实体完整性、参照完整性、用户定义完整性
关系模型的存储结构
在关系数据模型中,实体及实体间的联系都用表来表示,在数据库的物理组织中,表以文件形式存储
关系模型优缺点
优点:
- 关系模型与非关系模型不同,它有较强的数学理论基础
- 数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系
- 关系模型的存储路径对用户透明,从而具有更高的数据独立性 、更好的安全保密性,也简化了程序员的工作和数据库开发及建立的工作
缺点:关系模型原来有查询效率不如非关系模型效率高的特点(但目前关系模型查询效率已经不差了)
1.3.1
数据库管理系统的三级模式结构
外模式(子模式、用户模式)
定义:是三级模式的最外层,它是数据库用户能够看到和使用的局部的逻辑结构和特征的描述
特点:外模式通常是模式的子集,一个数据库可以有多个外模式,同一外模式以为某一用户的多个应用系统所用,但一个应用程序一般只能使用一个外模式。
模式(概念模式、逻辑模式)
定义:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据的试图,是数据视图的全部
特点:是数据库系统三级模式结构的中间层,一个数据库只有一个模式。
内模式(存储模式)
定义:是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式
特点:一个数据库只有一个内模式
1.3.2
数据库的二级映像功能与数据独立性
外模式/模式映像
数据逻辑独立性:当模式改变时,由数据库管理员对各个外模式/模式映像做相应改变,可以使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。
模式/内模式映像
物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序物理独立性。


