数据库技术基础--基本概念
说在前面:
本系列文章专注于软考备考复习内容梳理,文章内容是对教材中知识点和考点的提炼,备考过程中可以有针对的进行复习,减少阅读量,有的放矢。
导航目录:
- 一、数据库与数据库管理系统
- 1. 数据库
- 2. 硬件
- 3. 软件
- 4.人员
- 二、DBMS的功能
- 1. 数据定义
- 2. 数据库操作
- 3. 数据库运行管理
- 4. 数据组织、存储和管理
- 5.数据库的建立和维护
- 6.其他功能
- 三、DBMS的特征与分类
- 1. DBMS的特征
- 2. DBMS的分类
- 四、数据库系统的体系结构
- 1. 集中式数据库系统
- 2.客户端/服务器体系结构
- 3.并行数据库系统
- 4.分布式数据库系统
- 五、数据库的三级模式结构
- 1. 模式结构
- 2.两级映像
一、数据库与数据库管理系统
数据库系统(DataBase System,DBS)从广义上讲是由数据库、硬件、软件和人员组成的,其中管理的对象是数据。数据是经过组织的比特集合,而信息是具有特定释义和意义的数据。
1. 数据库
数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 系统使用的所有数据存储在一个或几个数据库中。
2. 硬件
硬件是指构成计算机系统的各种物理设备,包括存储数据所需的外部设备。
3. 软件
软件包括操作系统、数据库管理系统及应用程序。数据库管理系统(DataBase Management System,DBMS)是数据库系统的核心软件,要在操作系统的支持下工作,解决如何科学地组织和存储数据、如何高效地获取和维护数据库的系统软件问题。其主要功能包括数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护。
4.人员
与数据库系统有关的人员主要有以下四类。
- 系统分析员和数据库设计人员。
- 应用程序员。
- 最终用户。
- 数据库管理员(DataBase Administrator,DBA)。
二、DBMS的功能
1. 数据定义
DBMS提供数据定义语言(Data Description Language,DDL),用户可以对数据库的结构描述定义,包括外模式、模式和内模式的定义;数据库的完整性定义;安全保密定义。这些定义存储在数据字典中,是DBMS运行的基本依据。
2. 数据库操作
DBMS向用户提供数据操纵语言(Data Manipulation Language,DML),实现对数据的基本操作,如检索、插入、修改和删除。DML分为两类,即宿主型和自含型。宿主型是指将DML语句嵌入某种主语言中使用;自含型是指可以单独使用DML语句,供用户交互使用。
3. 数据库运行管理
数据库在运行期间多用户环境下的并发控制、安全性检查和存取控制、完整性检查和执行、运行日志的组织管理、事务管理和自动恢复等是DBMS的重要组成部分。
4. 数据组织、存储和管理
DBMS 分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等;要确定以何种文件结构和存取方式在存储级上组织这些数据,以提高存取效率。实现数据间的联系、数据组织和存储的基本目标是提高存储空间的利用率。
5.数据库的建立和维护
数据库的建立和维护包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组和重构、性能监测和分析等。
6.其他功能
如 DBMS在网络中与其他软件系统的通信功能,一个DBMS与另一个 DBMS 或文件系统的数据转换功能等。
三、DBMS的特征与分类
1. DBMS的特征
DBMS具有以下特征。
(1) 数据结构化且统一管理。数据库中的数据由DBMS统一管理。由于数据系统采用复杂的数据模型表示数据结构,数据模型不仅描述数据本身的特点,还描述数据之间的联系;数据不再面向某个应用,而是面向整个系统模型;数据易维护、易扩展、数据冗余较小,实现了数据共享。
(2) 有较高的数据独立性。数据的独立性是指数据与程序独立,将数据的定义从程序中分离出去,由DBMS负责数据的存储,从而简化应用程序,大大减少应用程序编制的工作量。数据的独立性是由DBMS的二级映像功能来保证的。数据的独立性包括数据的物理独立性和数据的逻辑独立性。
① 数据的物理独立性是指数据库的内模式发生改变时,数据的逻辑结构不变,从而应用程序不需要修改。
② 数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。
(3)数据控制功能。DBMS提供的数据控制功能包括对数据库中数据的安全性、完整性、并发和恢复的控制。
① 数据的安全性保护。数据的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。
② 数据的完整性。数据的完整性是指数据正确性和相容性,是防止合法用户使用数据库时向数据库加入不符合语义的数据。
③ 并发控制。并发操作带来的问题是数据的不一致性。DBMS的并发控制子系统负责协调并发事务的执行,保证数据库的完整性不受破坏,避免用户得到不正确的数据。
④ 故障恢复。数据库中的四类故障分别是事务内部故障、系统故障、介质故障及计算机病毒。故障恢复主要是指恢复数据库本身,即在故障引起数据库当前状态不一致后,将数据库恢复到某个正确状态或一致状态。
2. DBMS的分类
DBMS通常可分为以下3类。
(1)关系数据库系统(Relation DataBase System,RDBS)是支持关系模型的数据库系统。在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定的现实世界领域中,所有实体及实体之间的关系的集合所构成的关系数据库也有类型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模式的集合∶关系数据库的值也称为关系数据库,是关系的集合。关系数据库模式与关系数据库通常统称为关系数据库。微机方式下的简单的DBMS系统包括常见的FoxBASE、Foxpro、dBASE、Access等。
(2)面向对象的数据库系统(Object-Oriented DataBase System,OODBS)是支持以对象形式对数据建模的数据库管理系统。这包括对以下功能的支持∶支持对象的类、支持类属性的继承、支持子类。一个面向对象的数据库系统必须符合两个条件:必须是一个 DBMS;必须是面向对象的。
(3)对象关系数据库系统(Object-Oriented Relation DataBase System,ORDBS)在传统的关系数据模型基础上,提供元组、数组、集合之类更丰富的数据类型以及处理新的数据类型操作的能力,这样形成的数据模型称为对象关系数据模型。基于对象关系数据模型的DBS 称为对象关系数据库系统。
四、数据库系统的体系结构
站在不同的角度或不同层次上看,数据库系统的体系结构也不同。站在最终用户的角度看,数据库系统的体系结构分为集中式、分布式、C/S(客户端/服务器)和并行结构。
1. 集中式数据库系统
在集中式数据库系统中,不但数据是集中的,数据的管理也是集中的,数据库系统的所有功能,从形式的用户接口到DBMS核心都集中在DBMS所在的计算机上。
2.客户端/服务器体系结构
客户端/服务器结构的数据库系统功能分为前端和后端。前端主要包括图形用户界面、表格生成和报表处理等工具;后端负责存取结构、查询计算和优化、并发控制以及故障恢复等。前端与后端通过SQL或应用程序来接口。 数据库服务器一般可分为事务服务器和数据服务器。
3.并行数据库系统
并行体系结构的数据库系统是多个物理上连在一起的 CPU,而分布式系统是多个地理上分开的 CPU。并行体系结构的数据库类型分为共享内存式多处理器和无共享式并行体系结构。
4.分布式数据库系统
分布式DBMS包括物理上分布、逻辑上集中的分布式数据库结构和物理上分布、逻辑上分布的分布式数据库结构两种。前者的指导思想是把单位的数据模式(称为全局数据模式)按数据来源和用途,合理分布在系统的多个节点上,使大部分数据可以就地或就近存取。数据在物理上分布后,由系统统一管理,使用户不感到数据的分布。后者一般由两部分组成∶一是本节点的数据模式;二是本节点共享的其他节点上有关的数据模式。节点间的数据共享由双方协商确定。这种数据库结构有利于数据库的集成、扩展和重新配置。
五、数据库的三级模式结构
1. 模式结构
数据库系统采用三级模式结构,这是数据库管理系统内部的系统结构。
(1)概念模式(Schema)。也称模式,是数据库中全体数据的逻辑结构和特征的描述,它由若干个概念记录类型组成,只涉及行的描述,不涉及具体的值。概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。
(2)外模式(External Schema)。也称用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述,由若干个外部记录类型组成。描述外模式的数据定义语言称为外模式DDL。
(3)内模式(Internal Schema)。也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式以及数据控制方面的细节。描述内模式的数据定义语言称为内模式DDL。
2.两级映像
数据库系统在三级模式之间提供了两级映像,即模式/内模式映像和外模式/模式映像。
(1) 模式/内模式映像。该映像存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。
(2)外模式/模式映像。该映像存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。
DBMS的二级映像功能保证了数据的独立性。
未完待续。。。
更多知识传送:
- 计算机操作系统–基础知识
- 计算机操作系统–进程管理
- 计算机操作系统–存储管理
- 计算机操作系统–设备管理
- 计算机操作系统–文件管理
- 计算机操作系统–作业管理
- 计算机操作系统–网络操作系统和嵌入式操作系统
- 计算机操作系统–UNIX操作系统
- 软件工程基础知识–认识软件工程
- 软件工程基础知识–软件过程模型
- 软件工程基础知识–需求分析
- 软件工程基础知识–系统设计
- 软件工程基础知识–运行和维护
- 软件工程基础知识–软件项目管理
- 软件工程基础知识-软件质量
- 结构化开发方法–系统分析及设计概述
- 结构化开发方法–结构化分析方法
- 结构化开发方法–用户界面设计
- 面向对象技术–概念及程序设计
- 面向对象技术–面向对象开发技术
- 面向对象技术–面向对象的分析与设计方法
- 面向对象技术–设计模式
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以上内容整理参考《软件设计师教程(第5版)》和《软件设计师考试同步辅导(第四版)》(忘记是哪个老师的了,侵删)。本文章内容旨在帮助更多想要进军软考,给自己镀金的小伙伴。有兴趣的小伙伴可以共勉。