数据是数据库中存储的基本对象。数据是指描述事物的符号记录。数据的种类:数字、文字、图形、图像、声音。数据与其语义是不可分的。
数据库是长期储存在计算机内、有组织的、可共享的大量数据集合。数据库的特征:数据按一定的数据模型组织、描述和储存;可为各种用户共享;冗余度较小;数据独立性较高;易扩展。
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。用途:科学的组织和存储数据、高效的获取和维护数据。主要功能:数据定义功能:提供数据定义语言,定义数据库中的数据对象;数据操纵功能:提供数据操纵语言,操纵数据实现对数据库的基本操作(查询、插入、删除和修改);数据库的运行管理:保证数据的安全性、完整性,多用户对数据的并发使用,发生故障后的系统恢复;数据库的建立和维护功能:数据库数据批量装载,数据库转储,介质故障恢复,数据库的重组织,性能监视等。
数据库系统是指在计算机系统中引入数据库之后的系统构成。由数据库、数据库管理系统、应用系统、数据库管理员和用户构成。
整体数据的结构化是数据库的主要特征之一;数据库中实现的是数据的真正结构化:数据的结构用数据模型描述,无需程序定义和解释,数据可以变长,数据的最小存取单位是数据项。
DBMS对数据的控制功能:数据的安全性保护,每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏;数据的完整性检查,将数据控制在有效的范围内,或保证数据之间满足一定的关系;并发控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果;数据库恢复:将数据库从错误状态恢复到已知的正确状态。
在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗的将数据模型就是现实世界的模拟。
数据模型分成两个不同的层次。概念模型,也称信息模型,按用户观点来对数据和信息建模。数据模型,主要包括网状模型、层次模型、关系模型等,按计算机系统的观点对数据建模。
客观对象的抽象过程,两步抽象。现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。
数据模型的组成要素:数据结构,数据操作,数据的完整性约束条件。
非关系数据模型:层次模型,网状模型。数据结构,以基本层次联系为基本单位。基本层次联系,两个记录以及它们之间的一对多的联系。
关系模型:数据结构,表。
面向对象模型:数据结构,对象。
关系模型。一个关系对应一张表。元组,表中的一行即为一元组。属性,表中的一列为一个属性。主码,表中的某个属性组,可以唯一确定一个元组。域,属性的取值范围。分量,元组中的一个属性值。关系模式,对关系的描述。
数据操作是集合,操作对象和操作结果是关系,即若干元组的集合。存取路径对用户隐蔽。
关系模型的完整性约束,实体完整性,参照完整性,用户定义的完整性。
关系模型优点:建立在严格的数学概念的基础上;概念单一,数据结构简单、清晰,用户易懂易用;关系模型的存取路径对用户透明。缺点:存取路径对用户透明导致查询效率降低;为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。
数据库系统模式的概念。模式,数据库逻辑结构和特征的描述;是型的描述;反映的是数据的结构及其联系;模式是相对稳定的。模式的一个实例,模式的一个具体值;反映数据库某一时刻的状态;同一个模式下可以有很多实例;实例随数据库中的数据的更新而变动。
型是对某一类数据的结构和属性的说明,值是型的一个具体赋值。
外模式。数据库用户使用的局部数据的逻辑结构和特征的描述;数据库用户的数据视图,与某一应用有关的数据的逻辑表示。
内模式,数据物理结构和存储方式的描述;数据在数据库内部的表示方式;一个数据库只有一个内模式。
三级模式是对数据的三个抽象级别;二级映像在DBMS内部实现这三个抽象层次间的联系和转换。
外模式/模式映像,定义外模式与模式之间的对应关系;每一个外模式都对应一个外模式/模式映像;映像定义通常包含在各自外模式的描述中。用途,保证数据的逻辑独立性:模式改变时,修改有关的外模式/模式映像,使外模式保持不变;应用程序是依据外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
模式/内模式映像,定义了数据全局逻辑结构与存储结构之间的对应关系,是惟一的,通常包含在模式描述中。用途,保证数据的物理独立性:存储结构改变时,修改映像,使模式保持不变;应用程序不受影响。
模式,数据库的中心与关键;独立于数据库的其他层次;设计数据库模式结构时应首先确定数据库的逻辑模式。内模式,依赖于全局逻辑结构,但独立于数据库的外模式,独立于具体的存储设备。外模式,面向具体的应用程序,定义在逻辑模式之上,独立于存储模式和存储设备;设计时应充分考虑到应用的扩充性。应用程序,外模式描述的数据结构上编制的,依赖于特定的外模式,与数据库的模式和存储结构独立。二级映像,保证了数据库外模式的稳定性,从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。