数据,数据库,数据库管理系统,数据库系统的基本内容
数据库系统的发展经历了三代演变:
层状/网状数据库系统:
关系数据库系统:
新一代数据库系统
数据:
是数据库中存储的基本对象,它用于描述事物的符号记录。
数据的种类:
包括数字,文字,图形,图像,音频,视频,学生的档案信息等。
数据的含义称为数据的语义:
例如:99是一个数据
语义一:学生的某门成绩
语义二:某人的体重
语义三:计算机系某届学生的人数
…
数据的独立性:
物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的,当数据的物理存储改变了,应用程序不用改变。
逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的,数据的逻辑结构改变了,应用程序不用改变。
数据库:
是长期存储
在计算机内,有组织
,可共享
的大量数据的集合。
建立数据库的原因:
收集并抽取出一个应用所需要的大量数据,将其保存,以供进一步加工处理,抽取有用信息,转换为有价值的知识。
数据库的基本特征:
1:数据按照一定的数据模型组织,描述和存储
2:可为各种用户共享
3:冗余度比较小
4:数据独立性较高
5:易扩展
数据库管理系统:
是位于用户与操作系统之间的一层数据管理软件,它不仅是一个基础的软件,还是一个大型复杂的软件系统。
数据库管理系统能够科学的组织和存储数据,高效地获取和维护数据。
数据库管理系统的主要功能:
定义功能:
1:提供数据定义语言(DDL)
2:定义数据库中的数据对象
数据组织,存储和管理的功能:
1:分类组织,存储和管理各种数据
2:确定组织数据的文件结构和存取方式
3:实现数据之间的联系
4:提供多种存取方法提高存取率
数据操作功能:
1:提供数据操纵语言(DML)
2:实现对数据库的基本操作(查询,插入,删除和修改)
数据库的事物管理和运行管理:
1:数据库在建立,运行和维护时由数据库管理系统统一管理和控制
2:保证 数据的安全性,完整性,多用户对数据的并发使用
数据的安全性保护:保护数据以防止不合法的使用造成的数据的泄密和破坏
数据的完整性检查:保证数据的正确性,有效性和相容性。
并发控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
数据库恢复:将数据库从错误状态恢复到某一已知的正确状态。
3:发生故障后的系统恢复
数据库的建立和维护功能:
1:数据库初始数据的装载和转换
2:数据库转储,恢复功能
3:数据库的重组织
4:性能监视,分析等
其他功能:
1:数据库管理系统与网络中其他软件系统的通信
2:数据库管理系统系统之间的转换
3:异构数据库之间的互访和互操作
数据库系统:
是指在计算机系统中引入数据库后的系统构成。
数据库系统的构成:
数据库,数据库管理系统(及其应用开发工具),应用程序,数据库管理员
硬件平台及数据库:
数据库系统对硬件资源的要求:
1:足够大的内存
2:足够大的磁盘或磁盘阵列等外部设备
3:较高的通道能力,提高数据传送率
软件:
数据库管理系统:
1:支持数据库管理系统运行的操作系统
2:与数据库接口的高级语言及其编译系统
3:以数据库管理系统为核心的应用开发工具
4:为特定应用环境开发的数据应用系统
人员:
数据管理:
对数据进行分类,组织,编码,存储,检索和维护
数据管理技术的发展过程:
数据结构化:
数据的整体结构化是数据库的主要特征之一。
不再仅仅针对某一个应用,而是面向整个企业或组织,不仅数据内部结构化,整体是结构化的,数据之间具有联系,数据记录可以变长。
数据用数据模型描述,无需应用程序定义。
举例:
相比于如下所示的使用文件系统实现,使用数据用数据模型描述数据,不需要关注记录的存储和不同表之间的联系,不需要编程,开发速度快。
数据模型:
数据模型是对现实世界数据特征的抽象,通俗的说数据模型就是现实世界的模拟。
例如:
如下图所示的玩具汽车模型,它就很好的反映了汽车的特点。
如下图所示的玩具小狗模型也是很好地反映了小狗的特点。
数据模型应满足三方面的要求:
1:能比较真实地模拟现实世界
2:便于理解
3:便于在计算机上实现
数据模型是数据库系统的核心和基础。
数据模型根据层次可分为两大类:
概念模型,也称信息模型:
它是按照用户的观点来对数据和信息建模,用于数据库设计。
逻辑模型和物理模型:
逻辑模型主要包括网状模型,层次模型,关系模型,面向对象数据模型,对象关系数据模型,半结构化数据模型等
按照计算机系统的观点对数据建模,用于DBMS实现。
物理模型是对数据最底层的抽象:
描述数据在系统内(磁盘上)的表示方式和存取方法。
概念模型:
概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次,是数据库设计的有力工具,数据库设计人员和用户之间进行交流的语言。
对概念模型的基本要求:
较强的语义表达能力,简单,清晰,易于用户理解
举例:
实体:
客观存在并且可相互区别的事物称为实体,可以是具体的人,事或抽象的概念。
属性:
实体所具有的某一特性称为属性,一个实体可以由若干个属性来刻画。
码:
唯一标识实体的属性集称为码。
实体型:
用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
实体集:
同一类型实体的集合称为实体集。
现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
实体内部的联系:是指组成实体的各属性之间的联系。
实体之间的联系:通常是指不同实体集之间的联系。
实体之间的联系有一对一(1:1),一对多(1:m)和多对多(m:n)等多种类型。
概念模型的一种表示方法-----实体-联系方法:
用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。
E-R模型有两个明显的优点:
1:接近于人的思维容易理解。
2:与计算机无关,用户更容易接受。
举例:
但是E-R模型只能说明实体间语义的联系,还不能进一步说明详细的数据结构,一般遇到一个实际问题,总是先设计一个E-R模型,再把E-R模型转换为计算机已实现的数据模型。
数据模型是严格定义的一组概念的集合,精确地描述了系统的静态特性,动态特性和完整性约束条件。
数据模型的构成由以下三部分:
1:数据结构—描述系统的静态特性
刻画数据模型性质的重要方面。
层次结构—层次模型,网状结构—网状模型,关系结构—关系模型
描述数据库的组成对象—对象的类型,内容,性质
描述对象之间的联系
网状结构—网状模型:
用于=网络结构表示实体类型及其实体之间联系的模型。
网状模型有以下特征:
允许一个以上的节点无双亲。
一个节点可以有多个双亲。
层次结构—层次模型:
用树状结构表示实体之间联系的模型叫层次模型。
层次模型的结构特点是:、
有且仅有一个根节点。
根节点以外的其他节点有且仅有一个父节点。
层次模型的物理存储有两种实现方法:序法和指针法。
关系结构—关系模型:
目前最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式。
关系必须是规范化的,满足一定的规范条件。
最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。
如下图所示的工资中还还包含基本工资和岗位津贴等,扣除也是如此,不仅包含了一项数据,因此他们不符合模型要求。
2:数据操作—描述系统的动态特性
对数据库中各种对象的实例允许执行的操作的集合。
数据操作的类型:
查询
更新(包括插入,删除,修改)
数据操作语言:
定义数据操作的确切含义,符号,优先级别
实现数据操作的语言:查询语言(Query)和更新语言(DML)
3:完整性约束条件
一组完整性规则集合:
完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则。
用于限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确,有效和相容。
数据模型对完整性约束条件的定义:
反映和规定必须遵守的基本的通用的完整性约束条件。
提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。
关系模型的优点:
建立在严格的数据概念的基础上
概念单一:
实体和各类联系都用关系来表示
对数据的检索结果也是关系
关系模型的存取路径对用户透明:
具有更高的数据独立性,更好的安全保密性
简化了程序员的工作和数据库开发建立的工作
关系模型的缺点:
存取路径对用户透明,查询效率往往不如格式化数据模型
为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。
数据库系统的结构:
从数据应用开发人员角度看:
数据库系统采用三级模式结构,是数据库系统内部的系统结构。
举例:
模式(也称逻辑模式):
数据库中全体数据的逻辑结构和特征的描述。
所有用户的公共数据视图。
一般情况下,某个应用的数据库有一个模式,模式是数据库系统模式结构的中心
与数据的物理存储细节和硬件环境无关。
与具体的应用程序,开发工具及高级程序设计语言无关。
定义模式:
DD定义数据的逻辑结构,以某种数据模型为基础
数据记录由那些数据项构成,数据项的名字,类型,取值范围等。
定义数据之间的联系。
定义与数据有关的安全性,完整性要求。
外模式(也称子模式或用户模式):
数据库用户使用的局部数据的逻辑结构和特征的描述。
数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式与模式的关系:
外模式通常是模式的子集,一个模式可以有多个外模式,反映了不同用户的应用需求,看待数据的方式,对数据保密的要求,对模式中某一数据,在不同的外模式中,结构,类型,长度,保密级别等都可以不同。
外模式与应用的关系:
一个外模式可以为多个应用系统所使用,一个应用程序只能使用一个外模式。
外模式的用途:
每个用户只能看见和访问所对应的外模式中的数据,简化用户视图
保证数据库安全性的一个有力措施。
内模式(也称存储模式)
是数据物理结构和存储方式的描述。
是数据在数据库内部的表示方式:
记录存储方式(例如:顺序存储,堆存储,按hash方法存储等)
索引的组织方式(B+树,Bitmap,Hash)
数据是否压缩存储
数据是否加密
数据存储记录结构的规定----如定长/变长,记录是否可以跨页存放等。
一个数据库只有一个内模式。
模式:
是对数据库逻辑结构和特征的描述,是型的描述,不涉及值,模式是相对稳定的。
举例:
实例:
数据库某一时刻的状态—模式的一个具体值,同一个模式可以有很多实例,实例随数据库中的数据的更新而变动。
举例:
从数据库最终用户角度看:
数据库系统的结构有:
单用户结构
主从式结构
分布式结构
客户-服务器
浏览器-应用服务器/数据库服务器
数据库的二级映像功能与数据独立性:
三级模式是对数据的三个抽象级别。
三个抽象层次的联系和转换
数据库管理系统内部提供二级映像:
外模式—>模式映像:
对每一个外模式,有一个外模式/模式映像定义外模式与模式之间的对应关系,映像定义通常包含在个外模式的描述中。
保证数据的逻辑独立性:
当模式改变时,数据库管理员对外模式/模式映像做相应改变,使外模式保持不变。
应用程序是依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
模式----->内模式映像:
定义了数据全局逻辑结构与存储结构之间的对应关系,例如,说明某个逻辑记录对应何种存储结构。
数据库中模式/内模式映像是惟一的。
该映像定义通常包含在模式描述中。
保证数据的物理独立性:
当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映像,使模式保持不变。
模式不变,则应用程序不变,保证了数据与程序的物理独立性,简称数据的物理独立性。
数据库的二级映像功能与数据独立性的作用:
保证了应用程序的稳定性
除非应用需求本身发生变化,否则应用程序一般不做修改
从程序为中心–发展为以数据为中心
具有了数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。
数据的存取由数据库管理系统管理
简化了应用程序的编制
大大减少了应用程序的维护和修改