一、数据库系统概述
1.数据
数据是信息的符号表示或载体,信息则是数据的内涵,是对数据的语义解释。数据是数据库存储的基本对象。
2.数据库
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库的三个基本特点:永久存储、有组织、可共享
3.数据库管理系统DBMS
主要功能包括:
1.数据定义功能
2.数据组织、存储和管理
3.数据操作功能
4.数据库的事务管理和运行管理
5.数据库的建立和维护功能
4.数据库系统
数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员组成
数据管理技术经历了人工管理、文件系统、数据库系统3各阶段。
5.数据库系统的特点
1.数据结构化
2.数据共享高,冗余低
3.数据独立性
4.数据一致性
5.数据完整性
6.数据安全性
7.故障恢复
6.数据视图
DBMS是一些互相关联的文件以及一组使得用户可以访问和修改这些文件的程序的集合。数据库系统的一个主要目的是给用户提供数据的抽象视图,也就是说,系统隐藏关于数据存储和数据维护的某些细节。
二、数据的模型
1.数据模型
数据库的基础是数据模型。数据模型也是一种模型,它是对现实世界数据特征的抽象。数据模型就是现实世界的模拟。
根据模型应用的不同目的,可以将这些模型分为两类,分别属于两个不同的层次。
第一类是概念模型;
第二类是逻辑模型(应用)和物理模型(存储)。
a.概念模型
也称信息模型,它是按照用户的观点来对数据和信息建模,主要用于数据库设计。
b.逻辑模型
主要包括层次模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relational Model)、面向对象模型(Object Oriented Model)和对象关系模型(Object Relational Model)等。
是按照计算机系统的观点对数据建模。
c.物理模型
是对数据最底层的抽象,描述数据的表示方法和存取方法,是面向计算机系统的。
2.数据模型的组成要素
数据模型是由数据结构、数据操作和完整性约束三部分组成。
a.数据结构
描述数据库组成对象以及对象之间的联系。
b.数据操作
数据库的主要有查询和更新(包括插入、删除、修改)两大类操作。
数据操作是对系统动态特性的描述。
c.数据的完整性约束
数据的完整性约束是一组完整性规则
3.概念模型
概念模型是现实世界到及其世界的一个中间层次。
1.概念模型用于信息世界的建模;
2.现实世界到信息世界的第一层抽象;
3.数据库设计人员进行数据库设计的有力工具;
4。数据库设计人员和用户之间进行交流的语言。
4.信息世界中的基本概念
实体:客观存在并可以相互区别的食物称为实体
属性:实体所具有的某一特性称为属性。
码:唯一标识实体的属性集称为码。
域:域是一组具有形同数据类型的值的集合,属性的取值范围来自于某个域。
实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
实体集:同一类型实体的集合称为实体集。
联系:联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
实体型之间的联系分为三种:一对一联系、一对多联系、多对多联系。
三、常用的数据模型
1.关系模型
关系模型用表的集合来表示数据与数据之间的关系。
a.关系模型的数据结构
关系:一个关系对应通常说的一张表
元组:表中的一行即为一个元组;
属性:表中的一列即为一个属性。
关系模型中,实体与实体之间都是用关系来表示。
b.关系数据模型的优点:
1.建立在严格的数学概念的基础上。
2.关系模型的概念单一
3.关系模型的存在路径对用户透明,从而具有更高的数据独立性、更好的安全保密性也简化了程序员的工作和数据库开发建立的工作。
2.网状模型
网状模型用网状结构表示实体及实体间联系的数据模型。
网状数据模型的优点主要有:(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲;(2)具有良好的性能,存取效率较高。
网状数据模型的缺点主要有:(1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;(2)其 DDL 、 DML 语言复杂,用户不容易使用。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径。因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。
3.层次模型
层次模型用树型结构表示实体及实体间联系的数据模型。
层次模型的优点主要有: (1)模型简单,对具有一对多层次关系的部门描述非常自然、直观,容易理解,这是层次数据库的突出优点; (2)用层次模型的应用系统性能好,特别是对于那些实体间联系是固定的且预先定义好的应用,采用层次模型来实现,其性能优于关系模型;(3)层次数据模型提供了良好的完整性支持。
层次模型的缺点主要有:(1)现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型不能自然地表示这类联系,只能通过引入冗余数据或引入虚拟结点来解决;(2)对插入和删除操作的限制比较多;(3)查询子女结点必须通过双亲结点。
#层次模型不同于网状模型的地方:层次模型中的记录只能组成树的集合而不是任意图的集合。
四、数据库系统结构
模式(schema)是数据库中全体数据的逻辑结构和特征的描述,同一个模式可以有很多实例。
1.数据库系统的三级模式
a.模式
模式也称为逻辑描述,是数据库中全体数据的逻辑结构和特征的描述。
b.外模式
外模式也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一用户应用有关的数据的逻辑表示。
外模式通常是模式的子集,一个数据库可以有多个外模式;同一个外模式也可以被多个应用系统所使用,但是一个应用程序只能使用一个外模式。
c.内模式
内模式也称存储模式,一个数据库只能有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方法。
外模式可有多个,而模式、内模式只能各有一个。
外模式反映的是数据的用户观。
模式反映的是数据的全局观。
内模式反映的是数据的存储观。
2.二级映像
数据库在三级模式之间提供了两层映射:
外模式/模式映射
模式/内模式映射
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性核物理独立性。
a. 模式/内模式映象
定义数据逻辑结构和存储结构之间的对应关系。
当数据库的存储结构改变时,模式/内模式的映像必须作相应的修改,使得模式保持不变。
通过映象功能,存储结构变化的影响被限制在概念模式之下,从而不必修改应用程序,即确保了数据的物理独立性。
b. 模式/外模式映像
定义某一个外模式和模式之间的对应关系。
数据库中的同一模式可以有任意多个外模式,对于每一个外模式,都存在一个外模式/模式映象。
当模式改变时,外模式/模式的映像要作相应的改变,以保证外模式保持不变。
由于应用程序是依据外模式编写的,这一映象功能保证了数据的逻辑独立性。
问题:
1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
( l )数据( Data ) :描述事物的符号记录称为数据
( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
( 3 )数据库系统( DataBase Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能
2 .试述文件系统与数据库系统的区别和联系。
文件系统与数据库系统的
区别是:
文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。
数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。
文件系统与数据库系统的
联系是:
文件系统与数据库系统都是计算机系统中管理数据的软件。解析文件系统是操作系统的重要组成部分;而 DBMS 是独立于操作系统的软件。但是 DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。
3 .数据库管理系统的主要功能有哪些?
( l )数据库定义功能;
( 2 )数据存取功能;
( 3 )数据库运行管理;
( 4 )数据库的建立和维护功能。
4 .什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?
数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。
数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的
逻辑独立性和物理独立性。
5 . DBA 的职责是什么?
负责全面地管理和控制数据库系统。具体职责包括: ① 决定数据库的信息内容和结构; ② 决定数据库的存储结构和存取策略; ③ 定义数据的安全性要求和完整性约束条件; ④ 监督和控制数据库的使用和运行; ⑤ 改进和重组数据库系统。