第二篇三级数据库技术及应用基本概念与基础知识重点1、DB、DBMS、DBS、数据独立性等概念2、数据库系统的特点3、数据模型的三要素4、概念模型的表示方法(E-R图)5、数据库系统的模式结构难点:E-R图一、数据库系统概述(一)信息:是现实世界各种事物的存在方式或运动形态及事物之间联系的反映。(二)数据(Data)1、数据是描述事物的符号记录。2、文字、图形、图象、声音、档案记录等都是数据。3、数据与其语义(含义)是不可分的。4、数据的4个特征:1)数据有“型”和“值”之分。2)数据受数据类型和取值范围的约束。3)数据有定性表示和定量表示之分。4)数据应具有载体和多种表现形式。5、数据处理是指对各种形式的数据进行收集、存储、加工和传播等一系列活动的总和。数据处理分为三类:数据管理数据的保存、维护、查询数据加工对数据进行变换、抽取、运算数据传播数据在时、空传递(三)数据库(Database,简称DB)1、数据库是长期存储在计算机内的、有组织的、可共享的数据集合。2、数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。(四)数据库管理系统(DatabaseManagementSystem,简称DBMS)1、DBMS是管理与维护数据库中的数据的软件,是位于用户与操纵系统之间的一个数据管理软件,是用户与数据库之间的接口,是数据库系统中的核心软件,它可以实现对共享数据的组织、管理和存取,实现对数据库的查询与更新。用户是通过它来创建数据库的。典型的数据库系统有:MicrosoftSQLServer、MicrosoftAccess等.2、DBMS的主要功能:(1)数据库定义功能(DDL):描述数据库结构,定义外模式、模式和内模式,定义数据的完整性约束,定义数据库的安全性控制。实现上述语言称为数据定义语言(DDL)。(2)数据操纵功能(DML)实现对数据库数据的检索、插入、修改和删除等数据操纵。实现上述语言称为数据操纵语言(DML)。(3)数据库的运行管理(DCL)DBMS运行时的核心部分,包括安全性、完整性、并发的控制,故障后恢复(4)数据库的建立和维护功能(实用程序)初始数据的输入与数据转换;数据库的转储与恢复、重组织与重构造、性能的监视与分析等。DBMS是一个软件系统,主要包括:数据定义语言机器翻译处理程序、数据操纵语言机器编译(或解释)程序、数据库运行控制程序和实用程序。数据库语言:由数据定义语言(DataDefinitionLanguage,简称DDL)和数据操纵语言(DataManipulationLanguage,简称DML)组成。(1)、DDL用于定义数据库的模式,通过它可以将数据库的结构和数据的特性通知相应的DBMS。(2)、DML实现对数据库数据的各种基本操作:检索、插入、修改和删除。DML语言有两类:一类是本身不能独立使用,要嵌入主语言中的宿主型DML语言;另一类是交互式命令语言,可以独立使用的自主型DML语言。例:在数据库里建表用DDL,而在表里输入内容就要用DML。数据库系统是指引入数据库后的计算机系统,一般构成为:DB;DBMS(及其开发工具);DBA;应用系统;用户(五)数据库系统(DatabaseSystem,简称DBS)有些题目中,DBS仅包括:数据库、数据库管理系统和数据库用户。数据库用户:终端用户、应用程序开发人员、数据库管理员。A、终端用户是指将数据存储到数据库管理系统中,并对数据进行操作的人。B、应用程序开发人员:开发程序包,以便终端用户通过数据库管理系统来存取数据。C、数据库管理员(DatabaseAdministrator,简称DBA):是专门负责设计和维护数据库的人员。他们的主要任务是:(1)、决定数据库的内容与结构(2)、决定数据库的存储结构和存取策略。(3)、定义数据库的安全性要求和数据完整性约束条件。(4)、监督和控制数据库的使用和运行,提供数据库故障恢复策略。比如定期对数据进行备份和维护系统日志文件等。(5)、数据库的改建和重组。二、数据管理技术的产生和发展(一)人工管理阶段1、50年代中期以前2、该阶段数据处理的主要特点如下:(1)数据不长期保存。(因面向应用程序,无法共享,也无长期保存的必要)(2)应用程序管理数据。(数据和程序完全结合成一个不可分割的整体)(3)数据不共享。(数据是面向应用的,不同应用的数据之间是相互独立、彼此无关的。数据高度冗余,无法共享)(4)数据无独立性。(二)文件系统阶段1、从50年代后期到60年代中期应用程序1――――――数据集1应用程序2――――――数据集2……应用程序n――――――数据集n人工管理阶段数据与程序的关系文件管理系统应用程序1应用程序2应用程序n文件1文件2文件n文件系统数据与程序的关系2、该阶段数据处理的主要特点如下:(1)数据可以长期保存。(2)由文件系统管理数据。(3)数据虽可共享,但共享程度不高,数据冗余度大。(4)数据与程序之间的独立性差。(三)数据库系统阶段1、60年代后期,终于进入了数据库管理阶段。数据库管理系统应用程序1应用程序2应用程序n数据库数据库系统数据与程序的关系2、数据库系统的特点(1)数据整体结构化(数据库与文件系统的根本区别)(2)数据共享性高,冗余度低,易扩充(3)数据的独立性高(4)数据由DBMS统一管理和控制数据的安全性:其作用是防止数据库中数据被未经授权的用户访问,并防止他们有意或无意地对数据库造成破坏性改变。数据的完整性:保护数据库中数据的正确性、有效性和相容性。并发控制:其基本思想是当一个应用程序对数据库的某个数据对象执行修改操作时,对该数据对象实行封锁,拒绝其他用户对它的并发访问,直至对该对象的修改操作执行完毕。数据库恢复:当出现软硬件故障,或者是人为的错误,DBMS必须能够将数据库恢复到某一正确的状态。(5)数据项是最小的数据存取单位数据库系统结构从数据库管理系统角度看,数据库系统是一个三级模式结构;从用户角度看,数据库系统结构又分为单用户结构、主从式结构、分布式结构和客户/服务器结构。1.数据库系统的模式结构1975年ANSI公布了一个关于数据库的标准报告,提出了数据库的三级模式体系结构,即SPARC分级结构。三级模式是对数据的3个抽象级别,从外向内依次为:外模式、模式和内模式,三级模式之间存在两级映像,即外模式/模式映像和模式/内模式映像。三级模式和两级映像保证了数据库具有较高的逻辑独立性和物理独立性。外模式:又称为子模式,它是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑结构表示,是数据库用户的数据视图。模式:又称逻辑模式,是数据库全体数据的逻辑结构和特征的描述,不涉及数据物理存储,是数据库管理人员视图。内模式:又称为子存储模式,它描述数据的物理结构和存储结构,它是系统程序员视图。模式描述数据的全局逻辑结构,外模式描述数据的局部逻辑结构,内模式描述数据的组织和存储方式。一个数据库只有一个内模式和模式,却可以有多个外模式。外模式/模式映像:定义某一个外模式和模式之间的对应关系,当模式改变时,外模式/模式映像做相应的改变,一保证外模式保持不变。模式/内模式映像:定义数据逻辑结构和数据存储结构之间的对应关系,当数据存储结构改变时,修改模式/内模式映像,从而可以使模式保持不变。数据的逻辑独立性:当数据库的总体逻辑结构改变时,通过改变局部逻辑结构到总体逻辑结构的映像,即修改外模式/模式映像,使局部逻辑结构不变,从而使局部结构编写的应用程序不必改变,这就是数据与程序的逻辑独立性,简称数据的逻辑独立性。数据的物理独立性:当数据存储结构改变时,通过改变存储结构到逻辑结构之间的映像,即修改模式/内模式映像,可以使数据的逻辑结构不变,从而应用程序也不必改变,这就是数据与物理独立性,简称数据的物理独立性。BACK2、数据库系统的体系结构单用户结构:整个数据库系统,包括应用程序、DBMS和数据,都装在一台计算机上,由一个用户独占,不同机器之间不能共享数据。主从式结构:一个主机带有多个终端,数据库系统、应用程序、DBMS和数据都存储在主机中,各个用户通过主机终端并发访问数据库,共享数据资源。分布式结构:数据库中的数据在逻辑上是一个整体,但是物理地分布在计算机网络的不同节点上。网络上每个节点都可以存取和处理本地和异地数据库中的数据。客户/服务器结构:网络上某个节点的计算机专门执行DBMS功能,称为服务器,其他节点的计算机安装DBMS的外围开发工具,支持客户应用,称为客户机。客户端的请求被传送到服务器,服务器处理后,只将结果返回给用户。信息的三个领域:现实世界、信息世界和机器世界现实世界是人脑之外的客观世界,是我们赖以生存的生活环境。信息世界(概念世界)是现实世界在人们头脑中的反映。机器世界是数据库管理系统的处理对象。现实世界信息化后为信息世界,信息世界数据化后为机器世界二、数据模型模型是抽象地模仿现实世界的事物,在数据库技术中使用模型的概念描述数据库的结构和语义。根据应用的目的不同,数据模型:包括概念模型与逻辑数据模型。一般应从系统的静态结构、动态特性和完整性约束条件等三个方面进行说明。1、概念模型概念模型又称为信息模型,是对现实世界中事物的一种抽象,他不依赖于具体的计算机系统,是面向客观世界、面向用户的模型,主要用于数据库设计。在概念模型中的一些主要概念包括:实体:客观存在的事物就是实体。如:订货单,学生等。属性:实体所具有的特性。如:订货单编号,学生姓名等。联系:实体间的各种关系。如:教师和学生的师生关系。概念模型的最常用表示方法是“实体——联系法”,即E-R图。注:数据库管理系统支持的是数据模型而不是概念模型。但是从现实到机器世界,必须通过概念模型进行转换,概念模型是现实世界和计算机信息世界的一种桥梁。2、数据模型逻辑数据模型:又称数据模型(也叫结构模型),用于描述数据库中数据组织的结构和形式,反映了客观世界中各种实体之间的联系。是面向数据库系统的模型。主要用于数据库系统的实现。它是数据库系统的核心。(一)数据模型的组成要素1、数据模型三要素数据结构(静态结构)数据操作(动态特性)完整约束条件(1)数据结构:所研究的对象类型的集合,包括数据对象及其之间的联系。它是数据模型的基础,是对系统静态特性的描述。主要的数据模型:层次模型、网状模型、关系模型、面向对象模型对应的数据结构:树、图、二维表、类层次图(2)数据操作:指对数据库中各种对象实例执行的操作的集合,集合中包括操作和有关的操作规则。主要包括检索(或叫查询)和更新(插入、删除和修改)两类操作。(3)数据的约束条件:指数据完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据状态以及状态的变化,以保证数据的正确、有效和相容。包括:实体完整性、参照完整性、用户自定义完整性主要的数据模型有下面四种:层次模型、网状模型、关系模型和面向对象数据模型。学校系班级学生1、层次模型层次模型是数据库系统中最早出现的数据模型,是将现实世界的实体彼此之间抽象成一种自上而下的层次关系,它出现于20世纪60年代后期,其典型系统是IBM公司的IMS。层次模型的数据结构是以记录型为结点的有向树,在层次模型中,每个单元称为一个记录型,也可称为结点,图中,学校、系、班级、学生就是记录型。一个上层记录型对应下层一个或多个记录型,一个记录型有一个或多个记录值,一个上层记录值对应下层一个或多个记录值,一个下层记录值只能对应上层一个记录值,因此在层次模型中:有且仅有一个结点无父结点,称之为跟结点;其余每个结点有且仅有一个父结点。层次模型的数据约束:上一层记录与下一层记录之间的关联关系只能是一对多联系,即每一个记录至多有一个父记录,同时,全部数据必须以有序树的形式组织起来,任何一个记录只有按路径查看,才能显示其全部意义。层次模型的数据操作:层次模型支持数据记录的插入、删除、修改和检索4种基本数据操作。2、网状模型对于现实世界的问题,不