1.1.2 数据库、数据库管理系统和数据库系统
1.数据库
数据库(database,DB)是按一定的数据模型组织、描述和存储数据,具有尽可能小的冗余度、较高的数据独立性和易扩张性的可共享数据集合,其中的数据长期存储在计算机的存储介质中。数据库具有以下特性。
(1)共享性,指数据库中的数据能被多个应用程序所对应的用户使用。
(2)独立性,指数据库的使用提高了数据和程序的独立性,数据与程序可以分开存储,互不交叉。
(3)完整性,指使用数据库易于保证数据的正确性、一致性和有效性。
(4)冗余度低,指使用数据库可以减少数据冗余。
2.数据库管理系统
数据库管理系统(database management system,DBMS)是创建、操作、管理和维护数据库,并对数据进行统一管理和控制的系统软件,它是数据库系统的核心组成部分。
数据库管理系统一般是指由厂家提供的系统软件,例如甲骨文(Oracle)公司提供的Oracle Database 19c、MySQL 8.0,微软(Microsoft)公司提供的SQL Server 2019等。
数据库管理系统的主要功能如下。
(1)数据定义功能:提供数据定义语言来定义数据库和数据库对象。
(2)数据操纵功能:提供数据操纵语言来对数据库中的数据进行插入、修改、删除等操作。
(3)数据查询功能:提供数据查询语言来对数据库中的数据进行查询等操作。
(4)数据控制功能:提供数据控制语言来进行数据控制(保证数据的安全性、完整性),以实现数据的并发控制等功能。
(5)数据库建立维护功能:包括数据库初始数据的装入、转储、恢复等功能,以及系统性能的监视、分析等功能。
3.数据库系统
数据库系统(database system,DBS)由数据库、数据库管理系统、应用界面、初级用户、应用程序、应用程序员、查询工具、数据分析员、管理工具、数据库管理员(database administrator,DBA)等组成,如图1.1所示。
从数据库系统的应用角度看,数据库系统的工作模式分为客户-服务器模式和浏览器-服务器模式。
(1)客户-服务器模式。在客户-服务器模式(client-server model,简称C/S)中,将应用划分为前台和后台两个部分。客户中的命令行客户端、图形用户界面、应用程序等被称为“前台”“客户端”“客户程序”,它们主要完成向服务器发送用户请求和接收服务器返回的处理结果。而服务器中的数据库管理系统被称为“后台”或“服务器”或“服务器程序”,主要承担数据库的管理工作,按客户的请求进行数据处理并返回处理结果,如图1.2所示。
客户既要完成应用的表示逻辑,又要完成应用的业务逻辑,完成的任务较多,“显得较胖”,这种两层的客户-服务器模式被称为胖客户瘦服务器的客户-服务器模式。
图1.1 数据库系统
图1.2 客户-服务器模式
(2)浏览器-服务器模式。在浏览器-服务器模式(browser-server model,简称B/S)中,将客户细分为表示层和处理层两个部分。表示层是客户的操作和展示界面,一般由浏览器担任,这就减少了数据库系统中客户承担的任务,使其成为瘦客户;处理层主要负责应用的业务逻辑实现,它与数据层的数据库管理系统共同组成功能强大的胖服务器。这样,应用被划分为表示层、处理层和数据层三个部分,成为一种基于Web应用的客户-服务器模式,又被称为三层客户-服务器模式,如图1.3所示。
图1.3 浏览器-服务器模式