数据库系统概述
数据库的四个基本概念
数据(Data)
数据是数据库中存储的基本对象。描述事物的符号记录称为数据,描述事物的符号可以是数字、文字、图形、图像、音视频等,它们都可以经过数字化后存入计算机。
数据与其语义是不可分的,例如93是一个数据,它可以是成绩,也可以是体重。
数据是有结构的,记录是计算机中表示和存储数据的一种格式和方法。
数据库(Database,DB)
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,可为各种用户共享。
数据库管理系统(Database Management System,DBMS)
数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。用于科学地组织和存储数据,高效地获取和维护数据。
主要功能包括:
数据定义功能:通过DBMS提供的数据定义语言DDL来方便地对数据库中的数据对象的组成和结构定义;
数据组织、存储和管理:分类组织、存储和管理各种数据,实现数据之间的联系,提供多种存取方法提高存取效率等;
数据操纵功能:通过DBMS提供的数据操作语言DML来实现对数据库的基本操作,如插入、删除、修改等;
数据库的事务管理和运行管理:数据的建立、运行和维护由DBMS统一管理和控制,以保证事务的正确运行,保证数据库的安全性、完整性、多用户并发使用及故障后的系统恢复;
数据库的建立和维护功能:提供实用程序/工具,完成数据库数据批量装载,数据库转储,介质故障恢复,数据库的重组织和性能监视等;
其他功能:DBMS和网络中的其他软件系统通信,DBMS之间的数据转换等。
数据库系统(Database System,DBS)
数据库系统是由数据库、数据库管理系统、应用程序和数据库管理员DBA组成的存储、管理、处理和维护数据的系统。
一般在不引起混淆的情况下,人们通常把数据库系统简称为数据库。
数据管理技术的产生和发展
数据库技术是应数据管理任务的需要而产生的。数据管理是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。
在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。
数据库系统的特点
数据结构化
数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别;
数据用数据模型描述,无需应用程序定义。
数据的共享性高、冗余度低且易扩充
数据面向整个系统,可以被多个用户、多个应用共享使用;
由于数据共享,可以减少数据冗余,节约存储空间;避免数据之间的不相容性和不一致性,使系统易于扩充。
数据独立性高
物理独立性:指用户的应用程序与数据库中的数据的物理存储使相互独立的。当数据的物理存储改变了,应用程序不用改变。
逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,应用程序不用改变。
数据独立性由数据库管理系统的二级映像功能来保证。
数据由数据库管理系统统一管理和控制
数据库的共享和并发会带来隐患,为此数据库管理系统必须提供一下几个方面的数据控制功能。
数据的安全性保护:保护数据以防止不合法的使用造成的数据的泄密和破坏;
数据的完整性检查:保证数据的正确性 、 有效性和相容性;
并发控制:对多用户的并发操作加以控制和协调 , 防止相互干扰而得到错误的结果;
数据库恢复:将数据库从错误状态恢复到某一已知的正确状态。
数据模型
数据模型是对现实世界数据特征的抽象。
数据模型应满足三方面要求:能比较真实地模拟现实世界、容易为人理解、便于在计算机上实现;
现有数据库系统均是基于某种数据模型的。数据模型是数据库系统的核心和基础。
数据模型分为两类,第一类是概念模型,也称信息模型,是按用户的观点来对数据和信息建模,用于数据库设计。第二类是逻辑模型和物理模型,逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等,是按计算机系统的观点对数据建模,用于DBMS实现。物理模型是对数据最底层的抽象,描述数据在系统内(磁盘上)的表示方式和存取方法。
概念模型
概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次,是数据库设计的有力工具,数据库设计人员和用户之间进行交流的语言。
因此概念模型应具有较强的语义表达能力;简单、清晰、易于用户理解。
信息世界中的基本概念
实体(Entity):客观存在并可相互区别的事物称位实体。
属性(Attribute):实体所具有的某一特性称位属性。
码(Key):唯一标识实体的属性集称位码。
实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
实体集(Entity Set):同一类型实体的集合称为实体集。
联系(Relationship):现实世界中事物内部和事物之间的联系在信息世界反应为实体型内部的联系和实体型之间的联系。实体内部的联系是指组成实体的个属性之间的联系;实体之间的联系通常是指不同实体集之间的联系,实体之间的联系有一对一、一对多、多对多。
概念模型的一种表示方法:实体-联系方法
概念模型的表示方法有很多,最为常用的是实体-联系方法(Entity-Relationship Approach)。该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。
数据模型的组成要素
数据模型是严格定义的一组概念的集合,精确的描述了系统的静态特性、动态特性和完整性约束条件。
数据模型由三部分组成:
数据结构:描述系统的静态特性,用数据结构的类型来命名数据模型,例如关系结构--关系模型;
数据操作:描述系统的动态特性,对数据库中各种对象的实例允许执行的操作的集合;
完整性约束:一组完整性规则的集合。
数据库系统的结构
从数据库应用开发人员角度看,数据库系统采用三级模式结构,是数据库系统内部的系统结构;
从数据库最终用户来看,数据库系统的结构有:单用户结构、主从式结构、分布式结构等。
数据库系统模式的概念
模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例(Instance)。同一个模式可以有很多实例,实例随数据库中的数据的更新而变动。模式是相对稳定的,而实例是相对变动的。
数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。
模式(Schema)
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。
模式是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关;
外模式(External Schema)
外模式也称子模式或用户模式,它是数据库用户使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式通常是模式的子集。一个数据库可以有多个外模式。反映了不同的用户的应用需求 、 看待数据的方式 、对数据保密的要求,对模式中某一数据 ,在不同的外模式中结构 、类型 、长度 、保密级别等都可以不同。
外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问自己所对应的外模式中的数据,数据库中的其余数据是不可见的。
内模式(Internal Schema)
内模式也称为存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组成方式。例如,记录的存储方式是堆存储、顺序存储还是Cluste存储;索引是B+树索引还是hash索引;数据是否压缩,加密等等。
数据库的二级映像功能与数据独立性
三级模式是对数据的三个抽象级别;数据库管理系统内部提供二级映像,外模式/模式映像,模式/内模式映像来进行三个抽象层次的联系和转换。
外模式/模式映像
对每一个外模式,有一个外模式/模式映像,定义外模式与模式之间的对应关系,映像定义通常包含在各外模式的描述中;
保证数据的逻辑独立性,当模式改变时,数据库管理员对外模式/模式映像作相应改变,使外模式保持不变,应用程序是依据外模式编写的,应用程序不用修改,保证了数据与程序的逻辑独立性。
模式/内模式映像
定义了数据全局逻辑结构与存储结构之间的对应关系,如说明某个逻辑记录对应何种存储结构。
据库中模式/内模式映象是唯一的,该映象定义通常包含在模式描述中。
保证数据的物理独立性,当数据库的存储结构改变了,数据库管理员修改模式/内模式映象,使模式保持不变,模式不变,则应用程序不变。保证了数据库与程序的物理独立性。
参考文献:数据库系统概论-第5版[王珊,萨师煊]