第1章数据库基础Part I 基本概念数据库的基本概念•数据和信息(Data and Information)•数据是描述现实世界中各种具体事物或抽象概念的、可存储并具有明确意义的信息。
•数据库(DB)——教材P1•数据库管理系统(DBMS)——教材P1•数据库管理系统是一个通用的软件系统,它能对数据库进行有效的管理,为数据的访问和保护提供强大的处理功能,同时也为用户提供一个应用、管理和操作的平台,使其能够方便、快捷地创建、维护、检索、存取和处理数据库中的信息。
基本概念-数据和信息描述事物的符号记录称为数据(Data,萨师煊、王珊)。
❑数据有多种表现形式,可以是数字、文字、图形、图像、声音和语言等;❑数据经过数字化后被输入到计算机中。
对数据的解释称为信息(Information)。
❑数据的形式还不能表达其内容,需要经过解释;❑数据是信息的载体,信息是数据的内涵,是对数据语义的解释。
基本概念-什么是数据库?数据库(Database, DB)是长期存储在计算机内、有组织、可共享的数据集合。
典型地,这些数据描述了一个或多个相关组织的活动。
❑数据是持久的❑数据是按一定的数据模型组织、描述和储存❑数据是集成的❑数据是共享的基本概念-什么是数据库管理系统?在数据库和数据库用户之间有一软件层,它通常被称为数据库管理系统(Database Management System, DBMS) ,是一个帮助用户创建和管理数据的应用程序集合。
❑访问数据库的请求都是由DBMS来处理的;❑DBMS提供了许多对数据操作的实用程序,如增加和删除表,检索或更新数据;❑DBMS提供的基本功能为数据库用户屏蔽了物理层的细节。
❑产品与工具▪Microsoft Access 2000(简单桌面应用)▪Microsoft SQL Server 2005▪Mysql(开源)▪Oracle8i, 9i, 10g▪DB2, Informix▪SybaseDBMS的功能❑数据定义功能用户一般通过数据定义语言(DDL)对数据库中的数据对象进行定义。
❑数据操作功能用户一般使用数据操作语言(DML)操作数据实现对数据库的基本操作,如查询、插入、删除和修改等。
❑数据库的运行管理数据库在建立、运行和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性、多用户数据的并发使用及发生故障后的系统恢复。
❑数据库的建立和维护它包括数据库数据导入、导出,数据库的转储,重组织和性能监视、分析功能等。
这些功能通常是由一些实用程序完成的DBMS的优点⏹数据独立性(Data Independence),指应用程序独立于数据的逻辑表示与物理存储。
(通过数据库的三级模式结构实现)⏹高效的数据访问(Efficient Data Access),由从事系统软件研制的专门人员编写。
⏹数据完整性与安全性(Data Integrity and Security)⏹数据的集中管理(Data Administration)⏹并发访问与故障恢复(Concurrent Access and Crash Recovery)⏹缩短应用开发时间(Reducing Application Development Time)⏹思考:是否所有应用系统都必须基于DBMS进行开发?☐苛刻的实时(Real-Time)环境☐操作少、代码要求精练☐操纵的数据是非结构化或半结构化的数据Part II 数据模型数据模型在数据库中我们是用数据模型这个工具来抽象、表示和处理现实世界中的实体以及实体之间的联系。
简单地说,数据模型就是现实世界的模拟,现有的数据库均是基于某种数据模型的,数据模型是数据库的核心。
❑数据模型的定义❑数据模型三要素❑数据模型的分类❑模式、实例和数据库状态数据模型-数据模型定义数据库方法的一个基本特征是:它通过隐藏大多数数据库用户并不要求的数据存储细节,而提供某些层次上的数据抽象。
数据模型(Data Model)是一个可用于描述数据库结构的概念集合,它提供了为获得数据抽象所必需的工具。
(R. Elmasri, S. B. Navathe, 2002)数据模型是现实世界数据特征的抽象,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
通俗地讲,数据模型就是现实世界的模拟。
数据模型-数据模型的分类概念数据模型-ER图思考:假定现在要开发一个简单的班级管理系统,怎样构建ER图?模型分类-物理和逻辑数据模型物理数据模型提供的概念一般面向计算机专家的,通过诸如记录格式、记录顺序和存取路径等表示信息,描述数据在计算机中如何被存储。
逻辑数据模型隐藏了一些数据存储的细节,但可以在计算机中直接实现,例如关系数据模型。
模型分类-数据库的建模过程概念数据模型逻辑数据模型逻辑数据模型数据模型-数据模型三要素数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特征(数据结构)、动态特征(数据操作)和完整性约束条件。
(1)数据结构,指对象和对象间联系的表达和实现;❑数据本身:类型、内容、性质。
例如关系模型中的域、属性、关系等。
❑数据之间的联系,数据之间是如何相互关联的,例如关系模型中的主码、外码、联系等。
(2)数据操作,对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。
(3)数据完整性约束,完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性和相容性。
第一代数据库系统指层次和网状数据库系统,其代表是1969年IBM公司研制的IMS(Information Management System)和美国数据库系统语言协商会CODASYL下属的数据库任务组DBTG对数据库方法进行了研究、探讨,并提出了若干报告,称为DBTG报告。
该报告确定并建立了数据库系统的许多概念、方法和技术,特别是提出了网状数据模型。
第二代数据库系统指关系数据库系统,1970年IBM公司San Jose研究室的研究员E. F. Codd发表了题为“大型共享数据库数据的关系模型”论文,提出了数据库的关系模型开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础。
其代表有INGRES、ORACLE、DB2、SYBASE、INFORMIX等。
第三代是以面向对象模型为主要特征的数据库系统,从20世纪80年代以来,数据库技术在商业领域的巨大成功刺激了其他领域对数据库技术需求的迅速增长。
这些新领域为数据库应用开辟了新的天地,另一方面在应用中提出的一些新的数据管理的需求也直接推动了数据库技术的研究和发展,尤其是面向对象数据库系统的研究和发展。
逻辑数据模型-层次数据模型定义:用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型(Hierarchical Model)。
层次模型的优点:(1)模型简单(2)查询效率高(3)便于管理数据的完整性层次模型的缺点:(1)只能表示一对多联系(2)数据的查询和更新操作复杂(3)层次命令趋于程序化(4)用户必须非常熟悉数据库结构实例:1968年,美国IBM公司推出的IMS(Information Management System)系统是最典型的层次模型系统,20世纪70年代在商业上得到了广泛应用。
结构表示实体类型及实体间联系的数据模型称为网状模系教研室 教员 实验员 班级学生逻辑数据模型-关系数据模型关系模型是建立在严格的数学概念的基础上的。
在用户的观点下,关系模型中数据的逻辑结构是一张二维表,由行和列组成。
(1)数据结构关系数据模型-数据结构关系(Relation):一个关系对应通常所说的一张表。
元组(Tuple):表中得一行即为一个元组。
属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。
主码(Key):表中的某个属性组,它可以唯一确定一个元组。
域(Domain):属性的取值范围。
分量(Component):元组中的一个属性值。
关系模式(Relation Schema):对关系的描述,一般表示为:关系名(属性1、属性2、┈、属性n)关系数据模型-操作、完整性约束(2)操作和完整性约束关系数据模型的操作主要包括查询、插入、删除和修改数据。
对数据的操作必须满足完整性约束条件。
(3)存储结构在关系数据结构中、实体及实体间的联系都用表来表示。
在数据库的物理组织中,表以文件形式存储。
关系数据模型-优缺点关系模型的优点:1)关系模型是建立在严格的数学概念的基础上的;2)关系模型的概念单一。
无论实体还是实体之间的联系都用关系表示。
对数据的检索结果也是关系(即表)。
所以其数据结构简单、清晰、用户易懂易用;3)关系模型的存储路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也减轻了程序员的工作和数据库开发建立的工作。
关系模型的缺点:查询效率不如非关系数据模型。
Part III 数据库结构数据库系统结构⏹从数据库管理系统角度:三级模式结构,是DBMS的内部系统结构;⏹从数据库最终用户角度:单用户结构、主从式结构、分布式结构、客户/服务器结构、浏览器/应用服务器/数据库服务器多层结构等,是数据库系统的外部结构。
三层模式体系结构-内模式内模式(或存储模式)是最接近物理存储,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方法。
●一个数据库只有一个内模式。
●内模式使用物理数据模型,并描述数据库的存取路径和数据存储的全部细节。
●描述内模式的数据定义语言称为“内模式DDL”。
三层模式体系结构-模式概念模式(模式、逻辑模式)是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
•概念模式是整个组织的数据视图,表示数据库中的全部数据内容,因此一个数据库只有一个概念模式。
•概念模式隐藏了物理存储结构的细节,并注重于描述表、数据类型、联系、用户操作和约束。
概念模式使用逻辑数据模型。
•描述概念模式的数据定义语言称为“模式DDL”。
三层模式体系结构-外模式外模式(子模式、用户模式)是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表现。
•外模式就是单个用户的数据视图,因此一个数据库可以有多个外模式。
•每个外模式都可以描述某个特定的用户组所使用的那一部分数据库,同时还可以对这个用户组隐藏数据库的其它部分,是概念模式的子集,外模式使用概念数据模型或逻辑数据模型。
•用户使用DML(数据库操作语言)对外部记录进行操作。
•描述外模式的数据定义语言称为“外模式DDL”。
数据库的体系结构-映象和数据独立性❑这三层模式仅仅是对数据的描述,而数据只存在于物理层;❑每个用户组只关心自己的外模式;❑DBMS必须把外模式中的用户请求转换成模式中的请求,然后再把这个请求转换成内模式中的请求,并根据这一请求在物理层上进行处理;❑如果请求是一个数据库的检索请求,那么数据会先从物理层中抽取出来,随后转换成与用户的外部视图相匹配的格式;❑在各层之间转换请求和结果的处理过程被称为映象(Mappings);❑DBMS在三级结构之间提供了两个层次的映象:外模式/模式映象和模式/内模式映象。