Lesson 1 数据库系统概述
数据、信息、知识、决策
数据:对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。
信息:音讯、消息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容。
数据:数据是信息的表现形式和载体,信息是数据的内涵。 数据只有对实体行为产生影响时才成为信息。
知识:人类对物质世界以及精神世界探索的结果总和。可被用于作出决策。
数据库技术的产生和发展
人工管理阶段(20世纪50年代中之前)
文件系统阶段(20世纪50年代末–60年代中)
数据库系统阶段(20世纪60年代末–现在)
数据库系统基本概念
数据(Data): 数据库中存储的基本对象,描述事物的符号记录。
数据库(Database):长期储存在计算机内、有组织的、可共享的大量数据的集合
数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件,是一个大型复杂的软件系统。可以科学地组织和存储数据、高效地获取和维护数据。数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
数据库系统(DBS): 由数据库、数据库管理系统(及其应用开发工具)、应用程序、数据库管理员组成。
数据库特点
- 数据结构化:数据记录可以变长,数据的最小存取单位是数据项,数据的用数据模型描述,无需应用程序定义
数据的共享性高,冗余度低且易扩充
数据独立性高:物理独立性指用户的应用程序与数据库中数据的物理存储是相互独立的。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据独立性由数据库管理系统的二级映像功能来保证。
数据由DBMS统一管理和控制:数据的安全性保护保护数据,以防止不合法的使用造成的数据的泄密和破坏。 数据的完整性检查保证数据的正确性、有效性和相容性。并发控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复
Lesson 2 数据模型
数据模型:以数据、数据之间关系来模拟现实世界。
两步抽象:
1.现实世界客观对象抽象为概念模型。
2.概念模型转换为某一DBMS支持的数据模型
两类数据模型:
概念模型/信息模型:
按用户观点来对数据和信息建模,用于数据库设计。是现实世界到机器世界的一个中间层次
实体:客观存在并可相互区别的事物。人、事、物或抽象的概念。可标识若干对象。
属性: 实体所具有的某一特性
码:唯一标识实体的属性集
域:某个属性的取值范围
实体型:用 实体名及其属性名集合 来抽象和刻画同类实体
实体集: 同一类型实体的集合称为实体集
联系:实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。
两个实体型之间的联系:一对一,一对多,多对多
两个以上实体型之间联系:一对多(区别于两两关系,是同一种联系),多对多
单个实体型内部:一对多,多对多
表示方法:
实体-联系方法(E-R方法):
实体型用矩形表示,矩形框内写明实体名。属性用椭圆形表示,并用无向边将其与相应的实体连接起来。
联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。
逻辑模型(数据模型)和物理模型:
逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
数据模型的组成要素
数据结构:描述数据库的组成对象,以及对象之间的联系
数据操作:对数据库中各种对象的实例(值)允许执行的操作及有关的操作规则,包括查询、更新(插入、删除、修改)
完整性约束条件: 给定的数据模型中,数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
常用数据模型
层次模型(Hierarchical Model)
网状模型(Network Model)
关系模型(Relational Model)
面向对象模型(Object Oriented Model)
对象关系模型(Object Relational Model)
半结构化数据模型(semistructure data model)
层次模型
层次模型是数据库系统中最早出现的数据模型,典型代表是IBM公司的IMS
用树形结构来表示各类实体以及实体
满足下面两个条件的基本层次联系的集合为层次模型
1.有且只有一个没有双亲的结点,这个结点称为根结点
2.根以外的其它结点有且只有一个双亲结点间的联系
层次模型的特点:
只能直接处理一对多的实体联系
每个记录类型可定义一个排序字段,也称为码字段
任何记录值只有按其路径查看时,才能显出它的全部意义
没有一个子女记录值能够脱离双亲记录值而独立存在
层次模型的完整性约束条件
无相应的双亲结点值就不能插入子女结点值
如果删除双亲结点值,则相应的子女结点值也被同时删除
更新操作时,应更新所有相应记录,以保证数据的一致性
存储结构:
邻接法:按照层次树前序遍历的顺序把所有记录值依次邻接存放
链接法:用指引来反映数据之间的层次联系
子女-兄弟链接法、层次序列链接法
优点:
数据结构比较简单清晰;查询效率高,性能优于关系模型,不低于网状模型;提供了良好的完整性支持。
缺点:
多对多联系表示不自然;对插入和删除操作的限制多,应用程序的编写比较复杂;查询子女结点必须通过双亲结点;由于结构严密,层次命令趋于程序化
网状模型
网状数据库系统采用网状模型作为数据的组织方式,层次模型实际上是网状模型的一个特例。
典型代表是DBTG系统,亦称CODASYL系统。
满足下面两个条件的基本层次联系的集合:
1.允许一个以上的结点无双亲;
2.一个结点可以有多于一个的双亲。
表示方法
实体型:用记录类型描述.每个结点表示一个记录类型(实体)
属性:用字段描述.每个记录类型可包含若干个字段
联系:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系
网状模型中子女结点与双亲结点的联系可以不唯一,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。
多对多联系在网状模型中的表示:将多对多联系直接分解成一对多联系
网状数据库系统对数据操纵加了一些限制,提供了一定的完整性约束
一个联系中双亲记录与子女记录之间