1.1数据库系统概述
1.1.1概念
数据库三要素:数据、存储器、DBMS
数据
数据:描述事物的符号记录称为数据
数据的含义称为数据的语义,数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统——DBMS
1、数据定义功能,,数据定义语言DDL
2、数据组织、存储和管理
3、数据操纵功能,数据操纵语言DML
4、数据库的事务管理和运行管理
5、数据库的建立和维护功能
6、其他功能
数据库系统——DBS
数据库系统:数据库+数据库管理系统DBMS+应用程序+数据库管理员(DataBase Administrator,DBA)的存储、管理、处理和维护数据的系统。
1.1.2 DB管理技术的产生和发展
人工管理阶段——文件系统阶段——数据库系统阶段
人工管理阶段:
1、数据不保存
2、应用程序管理数据
3、数据不共享
4、数据不具有独立性
文件系统阶段:
优点:
1、数据可以长期保存
2、由文件系统管理数据
缺点:
1、数据共享性差、冗余度大
2、数据独立性差
数据库系统阶段:
从文件系统到数据库系统标志着数据管理技术的飞跃
1.1.3 DBS的特点
1、数据结构化
2、数据的共享性高、冗余度低且易扩充
3、数据独立性高——物理独立性,逻辑独立性
4、数据有DBMS统一管理和控制:
数据的安全性保护
数据的完整性检查
并发控制
数据库恢复
1.2数据模型
数据模型:是对现实世界数据特征的抽象。
1.2.1 两类数据模型
概念模型
逻辑模型+物理模型
1.2.2 概念模型
概念:
1、实体:客观存在并可相互区别的事物称为实体。
2、属性:实体所具有的某一特性称为属性
3、码:唯一标识实体的属性集称为码
4、实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
5、实体集:同一类型实体的集合称为实体集。
6、联系:实体之间的联系通常是指不同实体集之间的联系。(1对1,1对多,多对多)
概念模型的表示:
实体联系方法,E-R模型
1.2.3 数据模型的组成要素
数据模型=数据结构+数据操作+数据的完整性约束条件
1、数据结构
数据结构描述数据库的组成对象以及对象之间的联系
2、数据操作
数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则
3、数据的完整性约束条件
数据的完整性约束条件是一组完整性规则
1.2.4 常用的数据模型
层次模型
网状模型
关系模型
面向对象数据模型
对象关系数据模型
半结构化数据模型
1.2.5层次模型
数据结构:
1、有且只有一个节点没有双亲结点,这个结点称为根节点
2、根以外的其他结点有且只有一个双亲结点
层次模型像一颗倒立的树,结点的双亲是唯一的
数据操纵与完整性约束
层次模型的优缺点:
优点:
1、层次模型的数据结构比较简单清晰
2、层次数据库的查询效率高
3、层次模型提供了良好的完整性支持
缺点:
1、现实世界中很多联系是非层次的
2、如果一个结点具有多个双亲结点等,用层次模型表示这类联系 就很笨拙。
3、查询子女结点必须通过双亲结点
4、由于结构严密,层次命令趋于程序化
1.2.6 网状模型
数据结构:
1、允许一个以上的结点无双亲
2、一个结点可以有多于一个的双亲
层次模型中子女与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一
数据操纵与完整性约束
1、支持记录码的概念
2、保证一个联系中双亲记录与子女记录之间是一对多的联系
3、可以支持双亲记录和子女记录之间的某些约束条件。
“属籍类别”
优缺点:
优点:
1、能够更直接地描述现实世界
2、具有良好的性能,存取效率较高
缺点:
1、结构比较复杂
2、网状模型的DDL,DML复杂,并且要嵌入某一种高级语言中。
3、由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。
1.2.7 关系模型
关系模型要求关系必须是规范化的。关系的每一个分量必须是一个不可分的数据项。
数据结构:
关系、元祖、属性、码、域、分量、关系模式
数据操纵与完整性约束:
实体完整性、参照完整性、用户定义的完整性
关系模型的数据操作都是集合操作,操作对象和结果都是关系。
优缺点:
优点:
1、关系模型与格式化模型不同,它是建立在严格的数字概念的基础上的。
2、关系模型的概念单一。
3、关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好地安全保密性,也简化了程序员的工作和数据库开发建立的工作。
缺点:
由于存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型。
1.3 DBS的结构
1.3.1 数据库系统模式的概念
数据模型中有“型”(type)和“值”(value)的概念。 type——value
模式是数据库中全体数据的逻辑结构和特征的描述,仅仅涉及型的描述,不涉及具体的值。
模式的一个具体值称为模式的一个实例,同一个模式可以具有很多实例。
模式是相对稳定的,而实例是相对变动的。
1.3.2 三级模式结构
1、模式
也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式
2、外模式
也称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用相关的数据的逻辑表示。
3、内模式
也称为存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
1.3.3 数据库的二级映像功能与数据独立性
1、外模式/模式映像
当模式改变时,由数据库管理员对各个外模式/模式的映像作用作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
2、模式/内模式映像
当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。
数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。而且,由于数据的存取由DBMS管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
1.4 数据库系统的组成
硬件平台及数据库
1、足够大的内存
2、足够大的磁盘及次排列阵列等设备存放数据库
3、要求系统有较高的通道能力,以提高数据传送率
软件
1、数据库管理系统DBMS
2、知识DBMS的操作系统OS
3、具有与数据库接口的高级语言及其编译系统,便于开发应用程序
4、以DBMS为核心的应用开发工具
5、为特定应用环境开发的数据库应用系统
人员
1、数据库管理员DBA
决定数据库中的信息内容和结构
决定数据库的存储结构和存取策略
定义数据的安全性要求和完整性约束条件
监控数据库的使用和运行
数据库的改进和重组、重构
2、系统分析员和数据库设计人员
3、应用程序员
4、用户
偶然用户
简单用户
复杂用户