《(精品)数据库系统原理复习资料》由会员分享,可在线阅读,更多相关《(精品)数据库系统原理复习资料(31页珍藏版)》请在金锄头文库上搜索。
1、自考乐园-心境随缘,诚与天下自考人共勉!自考乐园-分享快乐,你的快乐老家!自考乐园-引领成功,你的精神乐园!QQ群名:自考乐园_计算机网络;QQ群号:638030881.1.1 数据、数据库、数据库管理系统、数据库系统 数据(Data): 描述事物的符号记录。数据与其语义是不可分的。 数据库(DataBase,DB) 长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库管理系统(DataBase Management System,DBMS) 位于用户与操作系统之间的一层数据管
2、理软件。主要功能包括以下几个方面:1.数据定义功能:数据定义语言(Data Definition Language,DDL)2.数据操纵功能: 数据操纵语言(Data Manipulation Language,DML)3.数据库的运行管理: 统一管理、统控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。4.数据库的建立和维护功能:数据库初始数据的输入、转换功能,重组织、性能监视、分析功能等数据库系统(DataBase System,DBS)指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库管
3、理员(DataBase Administrator,DBA)1.1.2 数据管理技术的产生和发展数据库技术是应数据管理任务的需要而产生的。数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。人工管理阶段(20世纪50年代中期以前)特点: (1)数据不保存 (2)应用程序管理数据,数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。因
4、此程序员负相很重。 (3)数据不共享: 数据是面向应用的,一组数据只能对应一个程序。 (4)数据不具有独立性 数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。文件系统阶段(50年代后期60年代中期)特点: (1)数据可长期保存 (2)由文件系统管理数据 相互独立的数据文件; “按文件名访问,按记录进行存取”的管理技术;记录内的结构性而整体无结构;存取方法转换使应用程序与数据之间有了一定的独立性;数据在存储上的改变不一定反映在程序上。 (3)数据共享性差,冗余度大 文件仍然是面向应用的;数据的冗余度大;数据的修改和维护困难 (4)数据独立性差 不容易扩充;数据与程序之间仍缺乏独立
5、性;是一个无弹性的无结构的数据集合。数据库系统阶段(60年代 )特点: (1)数据结构化 数据结构化是数据库与文件系统的根本区别。 文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。数据的最小存取单位是记录。 数据库系统实现整体数据的结构化,描述数据时不仅要描述数据本身,还要描述数据之间的联系。数据不再针对其一应用,是面向全组织,具有整体的结构化。数据的最小存取单位是数据项。(2)数据的共享性高,冗余度低,易扩充 面向整个系统的数据库系统中的数据可以被多个用户、多个应用共享使用。共享导致数据冗余度低,同时可避免数据之间的不相容性与不一致性。容易增加新的应用,这就使得数据库系统弹性大
6、,易于扩充。(3)数据独立性高 物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的、用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。 数据独立性是由DBMS的二级映象功能来保证的。(4)数据由DBMS统一管理和控制 数据库的共享是并发的(Concurrency) 。 DBMS还必须提供的数据控制功能: (1)数据的安全性(Security) (2)数据的
7、完整性(Integrity) 正确性、有效性和相容性 (3)并发(Concurrency)控制 (4)数据库恢复(Recovery)数据库技术的发展是沿着数据模型的主线展开的。数据模型是现实世界数据特征的抽象。 数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。 数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。根据应用的不同目的,数据模型划分为两类: 概念模型(信息模型) 按用户的观点来对数据和信息建模;主要用于数据库设计。数据模型 按计算机系统的观点对数据建模;主要包括网状模型、层次模型
8、、关系模型等,主要用于DBMS的实现。1.2.1 数据模型的三个要素 1. 数据结构 是所研究的对象类型的集合。 与数据类型、内容、性质有关的对象(例如网状模型中的数据项、记录,关系模型中的域、属性、关系等)。 与数据之间联系有关的对象(例如网状模型中的系型)。数据结构是对系统静态特性的描述。数据结构是刻画一个数据模型性质最重要的方面。2. 数据操作 是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据操作是对系统动态特性的描述 3.数据的约束条件 是一组完整性规则的集合。 完整性规则是给定的数据
9、模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。1. 信息世界中的基本概念 (1)实体(Entity) 客观存在并可相互区别的事物称为实体。 (2)属性(Attribute) 实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。 (3)码(Key) 唯一标识实体的属性集称为码。(4)域(Domain) 属性的取值范围称为该属性的域。 (5)实体型(EntityType) 用实体名及其属性集合来抽象和刻画同类实体,称为实体型。 (6)实体集(Entity Set) 同型实体的集合称为实体集。(7)联系(Relati
10、onship) 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。 两个实体型之间的联系可以分为三类: 一对一联系(1:1) ,如“班级班长” 一对多联系(1:n),如“班级学生” 多对多联系(m:n),如“课程学生”1.2.2 数据模型 数据库领域中最常用的数据模型有四种 层次模型(Hierarchical Model),如 IBM的IMS系统网状模型(Network Model),如DBTG系统 关系模型(Relational Mo
11、del),如Oracle,Sybase 面向对象模型(Object Oriented Model)模式(schema):是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例(instance)。 同一个模式可以有很多实例;模式是相对稳定的,而实例是相对变动的;模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。不同的DBMS在体系结构上通常都具有相同的特征,即采用三级模式结构并提供两级映象功能。模式(Schema) 也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式
12、结构的中间层模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。模式定义包括数据的逻辑结构定义、数据之间的联系定义以及安全性、完整性要求的定义。 DBMS提供模式定义语言(模式DDL)来严格地定义模式。外模式(External Schema) 也称子模式(Subshema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述, 是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模
13、式。 外模式是保证数据库安全性的一个有力措施。 DBMS提供子模式定义语言(子模式DDL)来严格地定义子模式。内模式(Internal Schema) 也称存储模式(Storage schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。 DBMS提供内模式描述语言(内模式DDL,或者存储模式DDL)来严格地定义内模式。优点:数据库的二级映象保证了数据库外模式的稳定性,从而从底层保证了应用程序
14、的稳定性。数据和程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。另外,由于数据的存取由DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。层次数据模型的优缺点优点:很少几条命令就能操纵数据库,使用简单;对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型性能优于关系模型;良好的完整性支持;缺点:对于多对多联系,通过引入冗余数据解决;对插入和删除操作限制多;查询子女结点必须通过双亲结点;网状数据模型的优缺点优点:能够更为直接地描述现实世界;具有良好的性能,存取效率较高;缺点:其DDL(数据定义语言)语言极其复杂;数据独立性差;
15、关系数据库的优缺点优点:建立在严格的数学概念的基础上的;关系模型的概念单一;关系模型的存取路径对用户透明,数据独立性高,安全保密性好;缺点:查询效率不如非关系数据模型;数据库管理系统它是数据库系统的核心,是为数据库建立、使用和维护而配置的软件;建立在操作系统的基础上,位于操作系统与用户之间的一层数据管理软件;负责对数据进行同一的管理和控制;DBMS的功能数据定义;数据操纵;数据库运行管理;数据组织、存储和管理;数据库的建立和维护;数据通道接口;DBMS的组成:数据定义语言及其翻译处理程序;数据操纵语言及其编译(或解释)程序;数据库运行控制程序;实用程序1:实体:客观存在并可相互区别的事物。2:模式:数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。3:候