admin 2025-06-26 18:03:11 世界杯明星球员

数据库系统的组成

一、数据库系统的组成1. 数据库2. 数据库用户3. 软件系统数据库管理系统(DBMS)的主要功能数据库管理系统(DBMS)的组成数据库管理系统(DBMS)的DBMS的数据存取过程4.数据模型层次模型网状模型关系模型关系数据模型的数据结构关系模型中的常用术语:关系模式的一般形式:关系模式Student、Course和Score可分别描述为:最基本的规范条件是:关系数据模型的优点:关系数据模型的缺点:5.数据抽象数据库系统的内部体系结构6.数据库的三级模式数据库的两层映像功能与数据独立性外模式/模式映像模式/内模式映像7.数据库三级模式与三层模型的联系与区别数据库系统的外部体系结构

一、数据库系统的组成数据库系统(DataBase System,DBS)的组成:

数据库数据库用户计算机硬件系统计算机软件系统

1. 数据库

数据库(DataBase,DB)是存储在计算机内、有组织的、可共享的数据和数据对象(如表、视图、存储过程和触发器等)的集合

这种集合按一定的数据模型(或结构)组织、描述并长期存储,同时能以安全和可靠的方法进行数据的检索和存储

2. 数据库用户数据库管理员的主要职责

决定数据库中的信息内容和结构决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件监控数据库的使用和运行数据库的改进和重组重构

3. 软件系统

软件(Software)系统主要包括操作系统(Operating System,OS)、数据库管理系统(DBMS)及应用开发工具和应用系统等

DBMS是数据库系统的核心软件,可借助操作系统对数据库的数据进行存取、维护和管理。数据库系统的各类人员、应用程序等对数据库的各种操作请求,都必须通过DBMS完成

数据库管理系统(DBMS)的主要功能

数据定义功能

DBMS提供数据定义语言(Data Define Language,DDL),定义数据的模式、外模式和内模式三级模式结构,定义模式/内模式和外模式/模式二级映像,定义有关的约束条件例如,为保证数据库安全而定义用户口令和存取权限,为保证正确语义而定义完整性规则等再如,DBMS提供的结构化查询语言(SQL)提供Create、Drop、Alter等语句可分别用来建立、删除和修改数据库

数据操纵功能

DBMS提供数据操纵语言(Data Manipulation Language,DML)实现对数据库的基本操作,包括检索、更新(包括插入、修改和删除)等例如,DBMS提供的结构化查询语言SQL提供查询语句(SELECT)、插入语句(INSERT)、修改语句(UPDATE)和删除语句(DELETE),可分别实现对数据库中数据记录的查询、插入、修改和删除等操作

数据库运行管理功能

数据的安全性(Security)控制:防止不合法使用数据库造成数据的泄露和破坏,使每个用户只能按规定对某些数据进行某种或某些操作和处理,保证数据的安全数据的完整性(Integrity)控制:系统通过设置一些完整性规则等约束条件,确保数据的正确性、有效性和相容性并发(Concurrency)控制:多个用户同时存取或修改数据库时,系统可防止由于相互干扰而提供给用户不正确的数据,并防止数据库受到破坏数据恢复(Recovery):由于计算机系统的硬件故障、软件故障、操作员的误操作及其他故意的破坏等原因,造成数据库中的数据不正确或数据丢失时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态

数据库的建立和维护功能

数据库的建立包括数据库的初始数据的装入与数据转换等,数据库的维护包括数据库的转储、恢复、重组织与重构造、系统性能监视与分析等。这些功能分别由DBMS的各个实用程序来完成

数据通信接口

DBMS提供与其他软件系统进行通信的功能DBMS提供了与其他DBMS或文件系统的接口,从而使该DBMS能够将数据转换为另一个DBMS或文件系统能够接受的格式,或者可接收其他DBMS或文件系统的数据,实现用户程序与DBMS、DBMS与DBMS、DBMS与文件系统之间的通信

数据组织、存储和管理

DBMS负责对数据库中需要存放的各种数据(如数据字典、用户数据、存取路径等)的组织、存储和管理工作,确定以何种文件结构和存取方式物理地组织这些数据,以提高存储空间利用率和对数据库进行增、删、查、改的效率

数据库管理系统(DBMS)的组成DBMS是由许多程序所组成的一个大型软件系统,每个程序都有自己的功能,共同完成DBMS的一个或几个工作。一个完整的DBMS通常应由语言编译处理程序、系统运行控制程序、系统建立和维护程序、数据字典等部分组成语言编译处理程序包括数据定义语言DDL和数据操纵语言DML编译程序

DDL编写的源模式被编译成各级目标模式,保存在数据字典中,供以后数据操纵或数据控制时使用

DML语句被转换成可执行程序,实现对数据库的检索、插入、删除和修改等基本操作

系统运行控制程序负责数据库系统运行过程中的控制与管理

主要包括:系统总控程序、安全性控制程序、完整性控制程序、并发控制程序、数据存取和更新程序和通信控制程序等

系统建立和维护程序

包括:装配程序,用来完成初始数据库的数据装入;重组程序,当数据库系统性能降低时(如查询速度变慢),需要重新组织数据库,重新装入数据;系统恢复程序,当数据库系统受到破坏时,将数据库系统恢复到以前某个正确的状态

数据字典(Data Dictionary,DD)用来描述数据库中有关信息的数据目录

包括数据库的三级模式、数据类型、用户名和用户权限等有关数据库系统的信息,起着系统状态的目录表的作用,帮助用户、DBA和DBMS本身使用和管理数据库

数据库管理系统(DBMS)的DBMS的数据存取过程(1)用户使用某种特定的数据操作语言向DBMS发出存取请求;(2)DBMS接受请求并将该请求解释转换成机器代码指令;(3)DBMS依次检查外模式、外模式 / 模式映象、模式、模式 /内模式映象及存储结构定义;(4)DBMS对存储数据库执行必要的存取操作;(5)从对数据库的存取操作中接受结果;(6)对得到的结果进行必要的处理,如格式转换等;(7)将处理的结果返回给用户。

4.数据模型

层次模型层次模型的主要优点:

数据结构比较简单清晰

查询效率高提供了良好的数据完整性支持

层次模型的主要缺点:

现实世界中很多联系是非层次的(如多对多联系),层次模型在表示这类联系时,解决的办法:一是通过引入冗余数据(易产生不一致性),二是创建非自然的数据结构(引入虚拟结点) 。对插入和删除操作的限制比较多,因此应用程序的编写比较复杂查询孩子结点必须通过双亲结点由于结构严密,层次命令趋于程序化

网状模型

典型代表是DBTG系统,亦称为CODASYL系统,它是20世纪70年代由数据系统语言研究会(conference on data system language, CODASYL)下属的数据库任务组(data base task group, DBTG)提出的一个系统方案

满足如下两个条件的基本层次联系的集合称为网状模型

允许一个以上的结点无双亲一个结点可以有多个双亲

网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,还允许两个结点之间有多种联系(称为复合联系)。因此,网状模型可以更直接地去描述现实世界

网状模型的主要优点:

能够更为直接地描述现实世界具有良好的性能,存取效率较高

网状模型的主要缺点:

结构比较复杂,而且随着应用规模的扩大,数据库的结构会变得越来越复杂,不利于最终用户掌握操作语言比较复杂

关系模型

1970年美国IBM公司San Jose研究室的研究员E. F. Codd首次提出了数据库管理系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。

由于E. F. Codd的杰出工作,他于1981年获得ACM图灵奖

20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,数据库领域当前的研究工作也都是以关系方法为基础

关系数据模型的数据结构

关系模型中的常用术语:关系(relation):一个关系对应一张二维表,每一个关系有一个名称,即关系名;元组(tuple):表中的一行称为一个元组;属性(attribute):表中的一列称为一个属性,每一个属性有一个名称,即属性名;码(key):也称为码键或键。表中的某个属性或属性组,它可以唯一地确定关系中的一个元组,如关系Student中的学号,它可以唯一地标识一个学生 ;域(domain):属性的取值范围;分量(component):元组中的一个属性值;

外码(foreign key):表中的某个属性或属性组,用来描述本关系中的元组(实体)与另一关系中的元组(实体)之间的联系

外码的取值范围对应于另一个关系的码的取值范围的子集如关系Score中的学号,它描述了关系Score与关系Student的联系(即哪个学生选修了课程),因此学号是关系Score的外码同理,课程号也是关系Score的外码,它描述了关系Score与关系Course的联系(即哪门课程被学生选修了)

关系模式(relational schema):通过关系名和属性名列表对关系进行描述,即二维表的表头部分(表格的描述部分)

关系模式的一般形式:关系名(属性名1,属性名2,…,属性名n)

关系模式Student、Course和Score可分别描述为:Student(学号,姓名,性别,出生日期,所学专业)

Course(课程号,课程名称,学时,学分)Score(学号,课程号,学期,成绩)

说明:带下画线的属性为码属性,斜体的属性为外码属性

关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件。

最基本的规范条件是:

关系的每一个元组必须是可分区的,即存在码属性 关系的每一个属性(即元组的分量)必须是一个不可分的数据项,即不允许表中有表

关系数据模型的操作

关系数据模型的操作主要包括查询和更新(插入、删除和修改)关系:元组的集合,关系模型的数据操作是集合操作,操作对象和操作结果都是关系(元组的集合)——不同于传统的非关系模型的数据操作:单记录操作关系模型:存取路径是透明的,用户只要指出“干什么”或“找什么”,不必说明“怎么干”或“怎么找”,从而大大提高了数据的独立性,提高了软件的开发和维护效率

关系数据模型的完整性约束

实体完整性、参照完整性和用户自定义完整性

关系数据模型的优点:严格的数学基础:有关系代数作为语言模型,有关系数据理论作为理论基础

概念单一:无论实体还是实体之间的联系都是用关系来表示,对数据(关系)的操作(查询和更新)结果还是关系。所以其数据结构简单、清晰,用户易懂易用存取路径透明:具有更高的数据独立性、更好的安全保密性,简化了程序员的工作,提高了软件的开发和维护效率

关系数据模型的缺点:由于存取路径对用户透明,查询效率往往不如非关系数据模型

为了提高性能,DBMS必须对用户的查询请求进行查询优化,这样就增加了DBMS的开发难度

5.数据抽象

数据库系统的内部体系结构

DBMS:隐藏关于数据存储和维护的某些细节,为用户提供数据在不同层次上的视图,即数据抽象,方便不同的使用者可以从不同的角度去观察和利用数据库中的数据物理层抽象

最低层次的抽象,描述数据实际上是怎样存储的

逻辑层抽象

描述数据库中存储什么数据以及这些数据之间存在什么关联提供给数据库管理员和数据库应用开发人员使用的,必须明确知道数据库中应该保存哪些信息

视图层抽象

最高层次的抽象,只描述整个数据库的某个部分,即局部逻辑结构系统可以为同一数据库提供多个视图,每一个视图对应一个具体的应用,亦称为应用视图

6.数据库的三级模式

根据数据抽象的3个不同级别,DBMS也应该提供观察数据库的3个不同角度,以方便不同的用户使用数据库的需要。这就是数据库的三级模式结构 模式

也称为逻辑模式,对应于逻辑层数据抽象,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式的一个具体值称为模式的一个实例(instance)它是DBMS模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关

外模式

也称子模式或用户模式,对应于视图层数据抽象是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一具体应用有关的数据的逻辑表示外模式是保证数据库安全性的一个有力措施,每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的

内模式

也称存储模式,对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式

数据库的两层映像功能与数据独立性

外模式/模式映像

对应于一个模式可以有多个外模式。对于每一个外模式,数据库管理系统都有一个模式/外模式映像,它定义了该外模式与模式之间的对应关系在各自的外模式描述中定义外模式/模式映像保证了数据与应用程序的逻辑独立性,简称为数据的逻辑独立性

模式/内模式映像数据库中只有一个模式,也只有一个内模式,模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系

在模式描述中定义模式/内模式映像保证了数据与应用程序的物理独立性,简称为数据的物理独立性

在数据库的三级模式结构中,模式即全局逻辑结构是数据库的核心和关键,它独立于数据库的其他层次。因此,设计数据库模式结构时,应首先确定数据库的逻辑模式

总结:

一方面由于数据与应用程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出来另一方面由于数据的存取由DBMS管理,用户不必考虑存取路径等细节从而大大简化了应用程序的编制,也大大提高了应用程序的维护和修改的效率

7.数据库三级模式与三层模型的联系与区别数据库三级模式结构是数据库管理系统(DBMS)的体系结构,提供外模式、模式和内模式,通过从不同抽象级别观察数据库中的数据,实现:对用户屏蔽DBMS的复杂性、简化用户与系统的交互的目的。

数据库三层数据模型是数据库设计的工具和方法,提供概念模型、逻辑模型和物理模型,通过逐层设计一应用系统的数据库,实现:从现实世界到信息世界、信息世界到逻辑机器世界、逻辑机器世界到物理机器世界的逐步转换(对应模式与内模式要求)。

数据库的三级模式与三层模型之间的区别在于: 作用和目的不一样。

三级模式是DBMS的体系结构,目的是: 1.隐藏数据的存储和维护的细节,为用户提供数据在不同层次上的视图,方便不同的使用者可以从不同的角度去观察和利用数据库中的数据。 2.支持数据独立性的实现。 3.提供全局逻辑视图(模式):支持整体结构化,从而实现数据共享度高、冗余度低、易扩充。 4.部分支持安全性的实现。三层模型是数据库设计的工具和方法(要满足DBMS体系结构的要求),目的是: 1.较真实地模拟现实世界、容易被人理解、便于计算机实现。一个数据模型不可能同时满足这些要求! 2.提供全局逻辑模型:支持整体结构化,从而实现数据共享度高、冗余度低。 3.同时满足DBMS三级模式结构(模式与内模式)要求。

数据库系统的外部体系结构

Copyright © 2088 世界杯金靴奖_2014年巴西世界杯预选赛 - omdzds.com All Rights Reserved.
友情链接