软考 程序员教程-第三章 数据库基础知识

tech2024-11-09  19

软考 程序员教程-第三章 数据库基础知识


第三章 数据库基础知识

3.1 基本概念

数据库系统(DataBase System,DBS)由数据库(DataBase,DB)、硬件、软件和人员4大部分组成。

软件包括操作系统、数据库管理系统(Database Management System,DBMS)及应用程序。

大数据(Big Data)产生的背景主要包括如下4个方面:

      (1)数据来源和承载方式的变革。

      (2)全球数据量出现爆炸式增长。

      (3)大数据已经成为一种自然资源。

      (4)大数据日益重要,不被利用就是成本。

大数据的特征:

大数据是指“无法用现有的软件工具提取、存储、搜索、共享、分析和处理的海量的、复杂的数据集合”。业界同常用“4V”来概括大数据的特征:

     大量化(Volume)指数据体量巨大。

     多样化(Variety)指数据种类繁多。

     价值密度低(Value)指大量的不相关信息导致价值密度的高低与数据总量的大小成反比。

     快速化(Velocity)指处理速度快。

大数据时代主要面临的三大挑战:软件和数据处理能力、资源和共享管理以及数据处理的可信力

大数据产生的安全风险:

     (1)大数据成为网络攻击的显著目标。

     (2)大数据加大了隐私泄露风险。

     (3)大数据威胁现有的存储和安防措施。

     (4)大数据技术成为黑客的攻击手段。

     (5)大数据成为高级可持续攻击的载体。

     (6)大数据技术为信息安全提供新支撑。

3.2 数据模型

3.2.1、基本概念

最常用的数据模型分为概念数据模型和基本数据模型。

     (1)概念数据模型。也称信息模型,是按用户的观点对数据和信息建模,是现实世界到信息世界的第一层抽象。他强调语义表达功能,易于用户理解,是用户和数据库设计人员交流的语言,主要用于数据库设计。这类模型中最著名的是实体联系模型(E-R模型)。

     (2)基本数据模型。按计算机系统的观点对数据建模,是现实世界数据特征的抽象,用于DBMS的实现。基本的数据模型有层次模型、网状模型、关系模型和面向对象模型(Object Oriented Model)。

3.2.2、数据模型的三要素

(1)数据结构。数据结构是所研究的对象类型的集合,是对系统静态特性的描述。

(2)数据操作。数据操作是指对数据库中的各种对象(型)的实例(值)允许执行的操作的集合,包括操作及操作规则。数据操作是对系统动态特征的描述。

(3)数据的约束条件。是一组完整性规则的集合。

3.2.3、E-R模型

在数据库设计中,常用实体联系模型(E-R模型)来描述现实世界到信息世界的问题,它是软件设计中的一个重要工具。E-R模型易于用户理解,是用户和数据库设计人员交流的语言。

1、E-R图

2、实体

实体是现实世界中可以区别于其他对象的“事件”或“物体”。

3、联系

实体的联系分为实体内部的联系和实体与实体之间的联系。实体内部的联系反映数据在同一记录内部各字段间的联系。

在此主要讨论实体集之间的联系:

(1)两个不同实体之间的联系

两个不同实体集之间存在一对一、一对多和多对多的联系类型。

· 一对一:指实体集E1中的一个实体最多只与实体集E2中的一个实体相联系,记为1:1。

· 一对多:表示实体机E1中的一个实体可与实体机E2中的多个实体相联系,记为1:n。

· 多对多:表示实体集E1中的多个实体可与实体集E2中的多个实体相联系,记为m:n.

(2)两个以上不同实体集之间的联系

两个以上不同实体集之间存在1:1:1、1:1:n、1:m:n和r:m:n的联系。

(3)同一实体集内的二元联系

同一实体集内的各实体之间也存在1:1、1:n和m:n的联系。

4、属性

属性是实体某方面的特征。

在同一实体集中,每个实体的属性及值域是相同的,但可能取不同的值。

E-R模型中的属性有如下分类:

(1)简单属性和复合属性。

(2)单值属性和多值属性。

(3)NULL属性。

(4)派生属性。

    

3.2.4、基本的数据模型

1、层次模型(Hierarchical Model)

层次模型采用树型结构表示数据与数据间的联系。在层次模型中,每一个结点表示一个记录类型(实体),记录之间的联系用结点之间的连线表示,并且根节点以外的其他结点有且仅有一个双亲结点。上一层和下一层类型的联系是1:n联系(包括1:1联系)。

2、网状模型(Network Model)

采用网络结构表示实体类型及实体间联系的数据模型称为网状模型。在网状模型中,允许一个以上的结点无双亲,每个结点可以有多于一个的双亲。网状模型是一个比层次模型更普遍的数据结构,层次模型是网状模型的一个特例。网状模型可以直接地描述现实世界。

网状模型中的每个结点表示一个记录类型(实体),每个记录类型可以包含若干个字段(实体的属性),节点间的连线表示记录类型之间一对多的联系。

与层次模型的主要区别如下:网状模型中子女结点与双亲结点的联系不唯一,因此需要为每个联系命名;网状模型允许复合链,即两个结点之间有两种以上的联系;网状模型不能表示记录之间多对多联系,需要引入联结记录来表示多对多的联系。

网状模型的主要优点是能更为直接的描述现实世界,具有良好的性能,存取效率高。缺点是结构复杂。

3、关系模型(Relation Model)

关系模型是目前最常用的数据模型之一。关系数据模型采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集,以及实体集之间的联系,其最大特点是描述的一致性。关系模型是由若干个关系模式组成的集合。关系模式可记为R(A1,A2,A3,···,An),其中,R表示关系名,A1、A2、A3、···、An表示属性名。

一个关系模式相当于一个记录型,对应程序设计语言中类型定义的概念。关系是一个实例,也是一张表,对应于程序设计语言中变量的概念。变量的值随程序运行可能发生变化,类似的,当关系被更新时,关系实例的内容也随时间发生了变化。

3.3 DBMS的功能和特征

DBMS主要实现共享数据有效的组织、管理和存取,因此DBMS应具有如下几个方面的功能:

(1)数据定义

     DBMS提供数据定义语言(Data Definition Language,DDL),用户可以对数据库的结构进行描述,包括外模式、模式、和内模式的定义;数据库的完整性定义;安全保密定义,如口令、级别和存取权限等。这些定义存取在数据字典中,是DBMS运行的基本依据。

(2)数据库操作

     DBMS向用户提供数据操纵语言(Data Manipulate Language,DML),实现对数据库中数据的基本操作,如检索、插入、修改、和删除。DML分为两类:宿主型(嵌入C、Java等语言中使用)、自含型(单独使用DML语句,供用户交互使用)。

(3)数据库运行管理

(4)数据组织、存储和管理

(5)数据库的建立和维护

(6)其他功能

DBMS的特征:

(1)数据结构化且统一管理。

(2)有较高的数据独立性。

(3)数据控制功能。(数据库的安全性保护、数据的完整性、并发控制、故障恢复)。

DBMS分类:

(1)关系数据库系统(Relation Database System,RDBS)。

(2)面向对象的数据库系统(Object-Oriented Database System,OODBMS)。

(3)对象关系数据库系统(Object-Oriented Relation Database System,ORDBS)。

3.4 数据库模式

3.4.1、模式

数据库系统采用三级模式结构,这是数据库管理系统内部的系统结构。

数据库系统设计员可在视图层、逻辑层和物理层对数据抽象,通过外模式、概念模式和内模式来描述不同层次上的数据特性。

数据按外模式的描述提供给用户;按内模式的描述存储在磁盘上;而概念模式提供了连接这两级模式的相对稳定的中间层,并使得两级中任意一级的改变都不受另一级的牵制。

3.4.2、三级模式两级映像

3.5 关系数据库与关系运算  

           (个人感觉此处较为重要,建议认真学习一下)

3.5.1、关系数据库的基本概念

在现实世界中,一个事物常常取若干特征来描述,这些特征称为属性(attribute)。

每个属性的取值范围对应一个值的集合,称为该属性的域(domain)。

一般在关系数据模型中,限制所有的域都是原子数据(atomic data)。例如,整数、字符串是原子数据,而集合、记录、数组是非原子数据。关系数据模型的这种限制称为第一范式条件。

       

5、关系的三种类型

(1)基本关系(通常又称为基本表或基表)。是实际存在的表,它是实际存储数据的逻辑表示。

(2)查询表。查询结果对应的表。

(3)视图表。是由基本表或其他视图表导出的表。由于它本身不独立存储在数据库中,数据库中只存放它的定义,所以常称为虚表。

3.5.2、关系数据库模式

  

3.5.3、完整性约束

           (关系代数运算符若难以理解,请参见第四版教程P110)

3.6 关系数据库SQL语言简介

SQL(Structure Query Language)是一种通用的、功能强大的标准查询语言,已在众多商用DBMS(如DB2、Oracle、Ingress、Sysbase和SQL Server等)实现。SQL不仅包含数据查询功能,还包括插入、删除、更新、和数据定义功能。SQL用户可以是应用程序,也可以是终端用户。

3.6.1、SQL概述

1、SQL的特点:(1)综合统一。(2)高度非过程化。(3)面向集合的操作方式。(4)两种使用方式。

2、SQL支持三级模式结构

SQL支持关系数据库的三级模式结构。其中,视图对应外模式、基本表对应模式、存储文件对应内模式。

3、SQL的基本组成

数据定义语言、交互式数据操纵语言、事务控制、嵌入式SQL和动态SQL、完整性控制和权限管理。

3.6.2、SQL数据定义(本小节为基础SQL语句的使用,计算机及相关专业基础必修课,不再总结。可参考第四版教程P115)

3.6.3、SQL数据查询(本小节为基础SQL语句的使用,计算机及相关专业基础必修课,不再总结。可参考第四版教程P119)

3.6.4、SQL数据更新(本小节为基础SQL语句的使用,计算机及相关专业基础必修课,不再总结。可参考第四版教程P127)

3.6.5、SQL的访问控制(了解即可,具体参考第四版教程P129)

3.6.6、嵌入式SQL(了解即可,具体参考第四版教程P130)

3.7 数据库设计

数据库设计过程参照软件系统生命周期的划分方式,把数据库应用系统的生命周期分为数据库规划、需求描述与分析、数据库设计与应用程序设计、实现、测试、运行维护6个阶段。(具体参考第四版教程P131)

 


这几天有些事情没能及时更新,在此表示抱歉啦!

欢迎大家浏览学习,动动小手点点赞,点点关注呀!

 

 

最新回复(0)