274.数据库系统概述

1.数据库系统

1.1定义

  数据库系统是以数据库技术为核心的计算机应用系统,其主要目的是处理生产和实践过程中产生的数据和信息,实现生产过程管理的自动化和信息化,提高信息管理效率。

  数据、数据库、数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员一起构成了一个完整的数据库系统。图1.1描述了数据库系统的构成。

图1.1 数据库系统的构成

1.2组成

数据库系统一般包含四个部分

1.2.1数据库

  定义:是数据库系统存放结构化数据的地方,是长期存储的、有组织的、可共享的数据的集合。

Ø 数据最终是以文件的形式存储在磁盘上,只有数据库管理系统才能对这些文件进行存取操作。

Ø 每一个数据库都至少有一个这样文件,称为数据文件。

Ø SQL Server数据库的数据文件以.mdf或.ndf为扩展名。

 

数据库(DB)是存放数据的仓库,只不过这些数据存在一定的关联,并按一定的格式存放在计算机内。广义上讲,数据不仅包含数字,还包括文本、图像、音频、视频等。
例如,把一个学校的学生、课程、学生成绩等数据有序地组织并存放在计算机内,就可以构成一个数据库。

因此,数据库由一些持久的相互关联的数据的集合组成,并以一定的组织形式存放在计算机的存储介质中。

 

 

1.2.2数据库管理系统(DBMS)

  定义: DBMS是数据库的管理软件,是应用程序和数据库之间桥梁,即应用程序必须通过DBMS才能存取数据库中的数据。

Ø DBMS对数据的存取操作最终体现为对数据文件的更新和修改,但应用程序不能直接执行这种更新和修改操作。

Ø SQL Server 2014就是SQL Server数据库系统的一种DBMS。

 

  数据库管理系统(DBMS)是管理数据库的系统,它按一定的数据模型组织数据。DBMS应提供如下功能:

(1)数据定义功能:可定义数据库中的数据对象。

(2)数据操纵功能:可对数据库表进行基本操作,如插入、删除、修改、查询等。

(3)数据的完整性检查功能:保证用户输入的数据满足相应的约束条件。实体、参照、域(用户定义)完整性

(4)数据库的安全保护功能:保证只有具有权限的用户才能访问数据库中的数据。

(5)数据库的并发控制功能:使多个应用程序可在同一时刻并发地访问数据库的数据。

(6)数据库系统的故障恢复功能:使数据库在运行出现故障时进行数据库恢复,以保证数据库可靠运行。

(7)在网络环境下访问数据库的功能。 

(8)方便、有效地存取数据库信息的接口和工具。编程人员通过程序开发工具与数据库的接口编写数据库应用程序。数据库系统管理员(DBA,DataBase Adminitrator)通过提供的工具对数据库进行管理。

 

  DBMS的功能主要包括以下几个方面:

   1.数据库定义功能

  DBMS一般都提供数据定义语言(DDL, Data Definition Language),可以分别用于定义外模式、概念模式和内模式。用DDL编写的外模式、概念模式和内模式分别称为源外模式、源概念模式和源内模式。它们经过模式翻译程序翻译后将形成相应的内部表示,分别称为目标外模式、目标概念模式和目标内模式。

  这些目标模式被保存在数据字典中(又称系统目录),它们是用于刻画数据库的框架结构,是对数据库(而不是数据)的一种描述,也是DBMS存取和管理数据的基本依据。

2.数据操纵功能

  DBMS还提供数据操作语言(DML, Data Manipulation Language)用于实现对数据库的查询、添加、修改和删除等基本操作。

  DML分为宿主型的和自主型的(或自含型的)的DML。

Ø 宿主型的DML用于嵌入到其他语言(称为主语言)当中,例如把它嵌入到PASCAL、FORTRAN,C等高级语言中。这类DML语言本身不能独立使用,这也就是它之所以称为宿主型DML的原因。

Ø 自主型的(或自含型)DML则是交互式命令语言,其语法简单,每条语句都可以独立执行。

Ø 如今,DBMS一般既提供宿主型的DML也提供自主型的DML,或者提供集宿主型和自主型于一体的DML,其典型的代表就是著名的SQL(Structured Query Language)语言。SQL语句既可以嵌入到其他的高级语言,也可以单独交互执行。

  用户或者应用程序对数据库的操作实际上是通过DBMS控制并执行DML语句来实现的。

  自主型的DML是交互式命令语言,DBMS通常以解释执行的方式运行它们。

  对于宿主型的DML,DBMS提供两种执行方法:

Ø  预编译方法。这种方法的原理是,由DBMS提供的预编译程序对包含DML的主语言进行扫描,识别出DML,然后把这些DML转换成合法的主语言代码,以便主语言的编译程序能够接受和执行它们。

Ø  修改、扩充主语言编译程序的方法。这种方法又称为增强编译方法,增强后的编译程序既可以编译主语言代码,也可以编译和执行嵌入的DML语句。

3.数据库运行管理功能

  数据库运行管理是DBMS提供的重要功能之一,它是数据系统能够正确、有效运行的基本保证。这种管理功能主要包括存取控制、安全性检测、并发控制、完整性约束条件的检查和执行、数据库内部的维护和管理等。

4.数据库的建立和维护功能

  这包括数据库初试数据的装载和转换、数据库的转储和恢复、数据库的重组织功能和性能监视、分析功能等。这些功能主要是由DBMS提供的实用程序来完成。

 

 

1.2.3应用程序

定义: 是指通过访问数据库来完成用户操作的程序。

Ø 它介于系统用户和DBMS之间,用户通过操作应用程序来获取他们的需求,而应用程序则通过DBMS访问数据库来实现用户提出的需求。

Ø 应用程序可以用Java、JSP、.NET等技术开发。

 

 

1.2.4系统用户

  定义:是大致分为两类——系统用户和系统管理员。

Ø 系统用户是指应用程序的用户,他们是整个数据库系统的最终使用者;

Ø 系统管理员可以分为不同级别类型的管理人员,他们主要负责数据库的管理和维护工作。

 

 

1.2.5数据库系统各部分之间的关系

 


 

 

 

 

1.3 数据库系统的模式结构

  现在数据库系统软件产品非常多,它们可能基于不同的操作系统,支持不同的数据库语言,采用不同的数据结构,等等。但是,它们的体系结构却基本相同,那就是三级模式结构。

  三级模式结构是由美国国家标准学会(ANSI, American National Standards Institute)所属的标准计划和要求委员会(SPARC, Standards Planning And Requirements Committee)于1975年提出的,称为SPARC分级结构。

 

  三级模式结构将数据库系统抽象为三个层次,分别为内模式、概念模式和外模式。

 

1.3.1内模式

  定义:又称存储模式,它是数据在数据库系统中最底层的表示,描述了数据的物理结构和存储方式,即定义了存储记录的类型、存贮域的表示、存储记录的物理顺序、索引等。

  一个数据库仅有一个内模式。

 

1.3.2概念模式

  定义:又称逻辑模式,简称模式,它用于对整个数据库中数据的逻辑结构和特征、实体及其性质与联系进行描述。但这种描述并不涉及具体的物理存储方式和硬件环境,也不涉及任何特定的应用程序及其开发工具。

  一个数据库也只有一个概念模式。

 

1.3.3外模式

  定义:外模式是概念模式的一个子集,这个子集是为某一个特定用户所使用的。从这个角度看,外模式是面向用户的,所以外模式又称子模式或用户模式。本质上,外模式是应用程序所使用的局部数据的逻辑结构和特征的描述,是使用该应用程序的用户所看到的数据视图

 

1.3.4总结

   以上三个模式分别从三个不同层次的级别对数据库进行抽象,即分别抽象为用户级、概念级、物理级数据库

Ø 用户级数据库对应于外模式,是从用户的角度对数据库进行抽象,是用户看到和使用的用户视图的集合。

Ø 概念级数据库对应于概念模式,介于用户级和物理级之间,是程序开发人员看到和使用的数据库。。

Ø 物理级数据库对应于内模式,是从数据的物理存储结构的角度对数据库进行抽象。

总之,外模式是概念模式的子集,概念模式是内模式的逻辑表示,而内模式则是概念模式的物理表示。

 

  三级模式结构将数据库系统抽象为三个层次,分别为内模式、概念模式和外模式。各模式的关系如图1.7所示。

 

 

posted @ 2019-09-09 20:49  Zander_Zhao  阅读(483)  评论(0编辑  收藏  举报