绪论
1.1数据库系统概述
1.1.1数据库的四个基本概念
1.数据:数据是数据库中存储的基本对象;描述事物的符号记录称为数据;数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的;记录是计算机中表示和存储数据的一种格式或一种方法。
2.数据库DB:数据库是长期储存在计算机内,有组织的,可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织,描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。
数据库数据具有永久存储,有组织和可共享三个基本特点。
3.数据库管理系统DBMS:是位于用户和操作系统之间的一层数据管理软件;和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。
DBMS主要功能:数据定义功能DDL;数据操纵功能DML;数据组织,存储和管理;数据库的事务管理和运行管理;数据库的建立和维护功能。
数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
4.数据库系统DBS:由数据库、数据库管理系统、应用系统和数据库管理员DBA组成的存储、管理、处理和维护数据的系统。
数据库系统一般是由硬件系统,数据库集合,数据库管理系统及相关操作,数据库管理员,用户组成。数据库应用系统是由数据库系统、应用程序系统、用户组成。
开发、管理和使用数据库的人员主要有数据库管理员,系统分析员,应用程序员和最终用户四类相关人员。由数据库管理员负责全面管理和控制数据库系统。
1.1.2数据库系统的特点
1.数据结构化:数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。“整体”结构化是指数据库中的数据不再仅仅针对某一个应用,而是面向整个组织或企业,不仅数据内部是结构化的,而且整体是结构化的,数据之间是具有联系的。
2.数据的共享性高、冗余度低且易扩充:数据可以被多个用户、多个应用共享使用;数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性(数据的不一致性是指同一数据不同副本的值不一样)。
3.数据的独立性高:物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的(数据在数据库中怎样存储是由数据库管理系统管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储结构改变时应用程序不用改变);逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的(数据的逻辑结构改变时用户程序也可以不变)。
4.数据由数据库管理系统统一管理和控制:数据的安全性保护:数据的安全性是指保护数据以防止不合法使用造成的数据泄密和破坏;数据的完整性检查:数据的完整性指数据的正确性、有效性和相容性;并发控制;数据库恢复。
数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。
1.1.3数据管理技术的产生和发展
数据管理技术发展的三个阶段:
人工管理:没有操作系统,没有管理数据的专门软件,数据处理方式是批处理。
文件系统:操作系统中已经有了专门的数据管理软件。
数据库系统与文件系统的本质区别在于:数据库系统实现了整体数据的结构化。
1.2数据模型
信息的三种世界:现实、概念(信息)、数据(机器)。现实世界到概念模型的转换是由数据库设计人员完成的;概念模型到逻辑模型的转换可以由数据库设计人员完成,也可以用数据库设计工具协助设计人员完成;逻辑模型到物理模型的转换主要是由数据库管理系统完成的。
数据模型是对现实世界数据特征的抽象。
数据模型的组成要素:数据结构,数据操作,完整性约束。
数据结构:描述数据库的组成对象以及对象之间的联系。是所描述的对象类型的集合,是对系统静态特性的描述。
数据操作:是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。是对系统动态特性的描述。
完整性约束:是一组完整性规则。
概念模型:也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。
实体:客观存在并可相互区别的事物称为实体。
实体型:用实体名及其属性名集合来抽象和刻画同类实体。
实体集:同一类型实体的集合。
属性:实体所具有的某一特性称为属性。
码:唯一标识实体的属性集。
联系:实体之间的联系通常是指不同实体集之间的联系(一对一,一对多,多对多)。
概念模型的表示方法:实体-联系模型(E-R)。
数据库的概念模型独立于具体的机器和DBMS。
逻辑模型:是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。
其中层次和网状统称为格式化模型。在格式化模型中实体用记录表示,实体的属性对应记录的数据项。实体之间的联系在格式化模型中转换成记录之间的两两联系。在格式化模型中数据结构的单位是基本层次联系。所谓的基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系。每个结点表示一个记录类型(实体),每个记录类型可包括若干个字段(实体的属性),结点间的连线表示记录类型(实体)之间一对多的父子联系。
1.层次模型:用树形结构来表示各类实体以及实体间的联系。有且只有一个节点没有双亲结点,这个节点称为根节点;根以外的其他节点有且只有一个双亲。(是一个以记录类型为节点的有向树)。
优点:数据结构比较简单清晰,查询效率高,良好的完整性支持。
缺点:现实世界中很多联系是非层次性的,查询子女节点必须通过双亲结点,由于结构严密层次命令趋于程序化。
2.网状模型:无向图,允许一个以上的节点无双亲,一个节点可以有多于一个的双亲。
优点:能够更为直接地描述现实世界,具有良好的性能,存取效率较高。
缺点:结构比较复杂,网状模型的DDL,DML复杂,过程化。网状模型不能直接表示实体间多对多联系。
通过指针链接来表示和实现实体之间联系的模型:层次和网状。
3.关系模型:二维表(E.F.Codd首次提出了数据库系统的关系模型)。
关系模型要求关系必须是规范化的,关系的每一个分量必须是一个不可分割的数据项。关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”或“找什么”,不必详细说明“怎么干”或“怎么找”。
优点:建立在严格的数学概念的基础上的,数据结构简单清晰用户易懂易用,具有更高的数据独立性、更好的安全保密性、也简化了程序员的工作和数据库开发建立的工作。
缺点:查询效率往往不如格式化数据模型。
物理模型:是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方式,具体实现是数据库管理系统的任务。
1.3数据库系统的结构
模式是相对稳定的,实例是相对变动的。
1.3.1数据库系统的三级模式结构
三级模式结构:外模式(子模式,用户模式),模式(逻辑模式,概念模式),内模式(存储模式,物理模式)。
外模式:是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集,一个数据库可以有多个外模式,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施。
模式:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,还要定义数据之间的联系,定义与数据有关的安全性完整性要求。
内模式:是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。一个数据库只有一个内模式。
1.3.2数据库的二级映像功能与数据独立性
数据库的二级映像:外模式/模式映像,模式/内模式映像。
外模式/模式映像:对应于同一个模式可以有任意多个外模式,对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。保证了数据与程序的逻辑独立性。
模式/内模式映像:唯一的。定义了数据全局逻辑结构与存储结构之间的对应关系。该映像定义通常包含在模式描述中。保证了数据与程序的物理独立性。
数据库模式即全局逻辑结构是数据库的中心与关键。
补:数据的管理方法主要有数据库系统和文件系统。数据库管理系统管理的是结构化的数据。数据库管理系统设计不是数据库管理员的职责。数据库管理系统是数据库系统的核心。