数据库原理与应用系列_01数据库系统概述


数据库技术是专门研究如何科学地组织和存储数据,如何高效地获取和处理数据的技术。数据库(Database)即数据仓库,是数据存放的地方。

一、信息,数据,数据处理与数据管理

1、数据与信息

  1. 信息

定义:是人脑对现实世界事物的存在方式,运动状态以及事物之间联系的抽象反应。

特征:

  • 信息源于物质和能量。
  • 信息是可以感知的
  • 信息是可存储,加工,传递和再生的。
  1. 数据【考】

定义:数据是由用来记录的可识别的符号组成的。是信息的具体表现形式。

数据的表现形式:
主要是整数,浮点数等传统数学当中的数字,还包括文字,图形,图像,声音和视频等等(这些是非结构化的数据)

  1. 数据与信息的联系

数据是信息的符号表示,信息则是对数据的语义解释。

信息=数据+语义

数据表示了信息,而信息只有通过数据形式表示出来才能被人们理解和接受。

2、数据处理与数据管理

数据处理是将数据转换为信息的过程,包括对数据的收集,管理,加工利用乃至信息输出等一系列活动。

管理:分为关系型(二维表)和非关系型
信息输出:可视化等等

目的之一是从大量的原始数据中抽取和推导出有价值的信息,作为决策的依据;

目的之二是借助计算机科学地保存和管理大量复杂的数据,以便人们能够方便地充分利用这些信息资源。

数据处理中,数据管理过程比较复杂,主要包括数据的分类。组织,编码,存储,维护,检索等等。

二、数据库技术的产生,发展

1、人工管理阶段

特点:

  1. 数据没有专门的存取设备
  2. 数据没有专门的管理软件
  3. 数据不共享
  4. 数据不具有独立型

2、文件系统阶段

特点:

  1. 数据以文件形式长期保存
  2. 由文件系统管理数据
  3. 程序与数据间有一定的独立性
  4. 文件的形式已经多样化
  5. 数据具有一定的共享性

与人工管理阶段相比,文件系统阶段对数据管理进步很大,但一些根本性问题仍然没有解决
表现在:

  • 数据共享性差,冗余度大
  • 数据不一致性
  • 数据独立型差
  • 数据间的联系若

在这里插入图片描述

3、数据库系统阶段

为了解决多用户,多个应用程序共享数据的需求,数据库技术应运而生,出现了同一管理数据的专门的软件系统,即数据库管理系统DBMS DATABASE MANAGEMENT SYSTEM)

数据库系统阶段管理数据的特点:

  1. 结构化的数据及其联系的集合

在数据库系统中,将各种应用的数据按一定的结构形式组织到一个结构化的数据中,不仅考虑了某个应用的数据结构,而且考虑了整个组织的数据结构。

不仅数据内部结构化,整体也是结构化的。

关系能够建立的基础是结构化(规范性)。

  1. 数据共享性高,冗余度低

数据共享:指数据库中的一组数据集合可为多个应用和多个用户共同使用(可同时,具有并发性)。

不同数据,不同应用可同时存取数据库中的数据,每个用户或应用只使用数据库中的一部分数据,同一数据可供多个用户或应用共享,从而减少不必要的数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。

用户和程序不像在文件系统中那样各自建立自己对应的数据文件,而是从数据库中存取其中的数据子集。该数据子集是通过数据库管理系统从数据库当中经过映射形成的逻辑文件。

同一个数据可能在物理存储只存一次,但可以映射到不同的逻辑文件里面。这就是数据库系统提高数据共享,减少数据冗余的根本所在。

在这里插入图片描述
3. 数据独立性【考】

【(重点简答题)请问数据独立性的含义是什么】

数据独立型:指数据库中的数据与应用程序间相互独立,即数据的逻辑结构,存储结构以及存取方式不影响应用程序。

整个数据库的逻辑结构分为三级:
1、用户逻辑结构
2、数据库逻辑结构
3、物理结构

数据的独立型分为两级:
1、物理独立型
2、逻辑独立型

数据的物理独立型:指当数据库的物理结构(如存储结构,存取方式,外部存取设备等)改变时,通过修改映射,使数据库逻辑结构不受影响,进而用户逻辑结构以及应用程序不用改变。

数据的逻辑独立性:指当数据库逻辑结构改变(如修改数据定义,增加新的数据类型,改变数据间的关系等)发生改变是,通过修改映射,用户的逻辑结构以及应用程序不用改变。

数据的独立型把数据的定义从程序中分离出去,加上数据的存取是由DBMS负责,从而简化了程序的编写。

  1. 有统一的数据管理和控制功能

数据由DBMS进行统一的管理和控制。

多个用户可以同时存取数据库当中的数据,为确保数据库数据的正确性,有效性和数据库系统的有效运行,数据库管理系统提供以下4方面的数据控制功能

1、数据的安全性控制

2、数据的完整性控制

系统设置一些完整性规则等约束条件,确保数据的正确性,有效性,相容性。

  • 正确性:数据的合法性。如年龄只能是数值型。
  • 有效性:数据在其定义的有效范围。如:月份只有1-12。
  • 相容性:表示同一事实的两个数据应相同。如:人不能有两个性别。

3、并发控制:多个用户同时存取或者修改数据库时,系统可防止相互干扰

4、数据恢复:数据丢失或不正确时恢复到某一时刻的正确状态。

在数据库系统阶段,数据与程序之间的关系如下图:
在这里插入图片描述

三、数据库系统的组成

【主要是前三点】

数据库系统(DBS DATABASE SYSTEM)

  1. 数据库

是存储在计算机内,有组织的,可共享的数据和数据对象的集合。这种集合按照一定的数据模型组织,描述并长期储存,同时能以安全可靠的方式检索和存储数据。

数据对象:如表,视图,存储过程等等

数据库两大特点:

【1】集成性

把数据库看成若干个性质不同的数据文件的联合和统一的数据整体。

【2】共享性

数据库当中的数据可为多个不同的用户所共享。

  1. 用户

【1】第一类用户:最终用户【End User】

利用已经编写好的应用程序接口使用数据库。

【2】第二类用户:应用程序员【Application Programmer】

负责为最终用户设计和编写应用程序。

【3】数据库管理员【DataBase Administrator DBA

设计,建立,维护数据库的个人或者团队

  1. 软件系统

软件系统主要包括:操作系统,数据库管理系统,应用开发工具和应用系统。

  1. 硬件系统

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

【整章很重要】

1、数据库系统的三级模式结构

  1. 数据库系统模式的概念

数据库中的数据是按照一定的数据模型组织起来的。

数据模型中有型和值的概念:

:指对某一类数据的结构和属性的说明。

:是型的一个具体赋值。
在这里插入图片描述
上图当中:
第一行:学生的基本情况可以定义为学生的型
第二行:学生的具体值

模式:是数据库中全体数据的逻辑结构和特征的描述,仅涉及型的描述,而不涉及具体的值。

模式的一个具体值称为模式的一个实例

同一个模式可以有很多实例。

模式反映的是数据的结构,实例反映的是数据库某一时刻的状态。

  1. 数据库系统的三级模式

数据库系统内部的体系结构从逻辑上分为外模式,模式,内模式三级抽象模式结构和二级映像功能。

【1】外模式《–》一般用户模式
【2】模式 《–》 概念模式
【3】内模式《–》物理模式


【1】模式

模式也称概念模式。【判断题】

是数据库中全体数据的逻辑结构和特征描述,处于三级模式结构的中间层。不涉及物理硬件以及具体的应用开发。

一个数据库只有一个模式。因为它是整个数据库数据在逻辑上的视图,是数据库的整体逻辑。

【2】外模式

外模式也称子模式或者用户模式。

外模式是三级结构的最外层。也是用户视图。

【3】内模式

内模式又称存储模式或者物理模式。是三级结构中的最内层。最靠近物理存储的一层。

他是对数据库存储结构的描述,是数据在数据库内部的表示方式。


通过对数据库三级模式结构的分析可以看出:

一个数据库系统,实际存在的只是物理级数据库,即内模式,它是数据访问的基础。

概念数据库只是物理级数据库的一种抽象描述。

用户级数据库是用户与数据库的接口。

用户根据外模式进行操作,通过外模式到模式的映射与概念数据库联系起来。

又通过模式到内模式的映射与物理级数据库联系起来。

DBMS的中心工作之一:完成三级数据库模式间的转换,把用户对数据库的操作转化到物理级去执行。

在数据库系统中,外模式可有多个,而模式,内模式只能有一个。

【1】内模式是整个数据库实际存储的表示

【2】模式是整个数据库实际存储的抽象表示

【3】外模式是逻辑模式的某一部分抽象

2、数据库系统的二级映像与数据独立性

为了在内部实现三个抽象层(三级模式)的联系和转换,DBS在三级模式之间提供了二级映像功能。

正是这两级映像保证了数据库系统中的较高的数据独立性:
即物理独立性和逻辑独立性。

【1】外模式/模式映像

模式描述的是数据的全局逻辑结构。

外模式描述的是数据的局部逻辑结构。

数据库中同一模式可以有多个外模式,对于每一个外模式,都存在一个外模式/模式映像。它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。

【2】模式/内模式映像

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

3、数据库系统的三级模式与二级映像的优点

【1】保证了数据的独立性。

将模式和内模式分开:保证了数据的物理独立性

将外模式和模式分开:保证了数据的逻辑独立性

【2】简化用户接口。

【3】有利于数据共享

【4】有利于数据的安全保密

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

1、单用户结构的数据库系统

主要特点:

将应用程序,NBMS和数据库都装在一台计算机上,由一个用户独占使用,不同计算机不能共享数据。

2、主从式结构的数据库系统

主从式结构的数据库系统是一个大型主机带多终端的多用户结构的系统。

将应用程序,NBMS和数据库都集中在一个大型主机上面,所有处理任务由这个大型主机来完成,而连接主机的终端,只是作为主机的输入输出设备,本身没有存储和处理功能。

主机则采用分时的方式轮流为每个终端用户服务,在每个时刻,每个用户都感觉自己独占主机的全部资源。

  1. 优点:结构简单,易于管理和维护
  2. 缺点:所有任务有主机来完成。

3、分布式结构的数据库系统

分布式结构的数据库系统指数据库中的数据在逻辑上是一个整体,但在物理上分布在计算机网络的不同结点上。

主要特点:

  1. 数据在物理上是分布的:数据库中的数据不集中存储在一台服务器上,而是分布在不同地域的服务器上,每台服务器称为结点。
  2. 所有的数据在逻辑上是一个整体:数据库当中的数据在物理上是分布的,在逻辑上是互相关联的。
  3. 结点上分布的数据相对独立。

【1】优点:可以利用多台服务器并发地处理数据
【2】缺点:数据的分布式存储给数据处理任务的协调与维护带来困难。

4、客户机/服务器结构的数据库系统

在主从式和分布式结构的基础上,将DBMS的功能和应用程序分开。

【1】数据库服务器:专门用于执行DBMS的功能,完成数据的管理功能。
【2】客户机:安装DBMS的应用开发工具和相关数据库应用程序。

在此结构中:

  1. DBMS和数据库存放于数据库服务器上
  2. 应用开发工具和相关数据库应用程序存放于客户机上。

【1】优点:网络运行效率大大提高,减轻服务器的负载。

5、浏览器/服务器结构的数据库系统

客户机端仅安装通用的浏览器软件。

应用服务器充当了客户机和数据库服务器的中间媒介。

六、数据库管理系统

DBMS(数据库管理系统)是对数据进行管理的大型系统软件,用户在数据库系统中的一切操作,都在DBMS当中。

1、DBMS的主要功能

【1】 数据定义功能(DDL)

数据定义语言(DDL Data Define Language)

定义数据的三级模式结构和二级映像,定义有关的约束条件。

例如:

1、定义用户口令和存取权限
2、DBMS提供的结构化查询语言,提供Create ,Drop ,Alter 等语句可分别用来建立,删除和修改数据库。

用DDL定义的各种模式需要通过相应的模式翻译程序转化为机器内部代码表示形式,保存在数据字典中。

数据字典是DBMS存取数据的依据。

CREATE TABLE VIEW INDEX SYN CLUSTER
视图 索引 同义词
create table 创建表   
alter table  修改表  
drop table 删除表  
truncate table 删除表中所有行   
create index 创建索引  
drop index  删除索引

【2】数据操纵功能(DML)
实现对数据库的基本操纵,包括检索,更新(包括修改,插入,删除)等。因此DBMS也应该包括DML的编译程序或解释程序。

1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE

【考】:狭义来说DML只包括增,删,改。而查询则是DQL数据查询语言

【3】数据查询语言(DQL)

数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:

SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>

【4】数据控制语言(DCL)

数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:

1) GRANT:授权。
2) ROLLBACK TO :回退到某一点。
3) COMMIT :提交。

在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。提交数据有三种类型:显式提交、隐式提交及自动提交。下面分别说明这三种类型。

(1) 显式提交
用COMMIT命令直接完成的提交为显式提交。其格式为:

SQL>COMMIT

(2) 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:

ALTER,AUDIT,COMMENTCONNECTCREATE,DISCONNECT,DROPEXITGRANT,NOAUDIT,QUIT,REVOKERENAME

(3) 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为:

SQL>SET AUTOCOMMIT ON

2、数据字典(DD)

数据字典是用来描述数据库中有关信息的数据目录,包括数据库的三级模式,数据模型,用户名和用户权限等有关的用户信息,起着系统状态的目录表的作用。

3、DBMS的存储过程

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

七、数据模型

【重要】:期末考必考

1、数据模型的概念及分类

  1. 数据处理的抽象与转换

首先将现实世界抽象成信息世界的概念模型,再抽象成计算机世界的数据模型。

【1】概念模型并不依赖于具体的计算机系统,不是某一个DBMS所支持的数据模型,它是计算机内部数据的抽象表示。

【2】概念模型经过抽象,转换成计算机上某一DBMS所支持的数据类型。

【3】数据模型是现实世界的两级抽象的结果。

在这里插入图片描述
2. 数据模型的分类

【1】第一类模型:概念模型,也称为信息模型。

是对现实世界的事物以及其联系的第一级抽象。

【2】第二类模型:逻辑模型(或称为数据模型)和物理模型

逻辑模型属于计算机世界中的模型。

逻辑模式主要用于DBMS的实线。

比较成熟的应用在数据库系统中的逻辑模型主要包括:

  1. 层次模型
  2. 网状模型
  3. 关系模型
  4. 面向对象模型

物理模型是对数据最底层的抽象,它描述数据在磁盘或磁带上的存储方式和存取方法。

2、数据模型的组成要素

数据模型由数据结构,数据操作和数据的完整性约束三要素组成。

【1】数据结构

数据结构描述了数据库组成对象以及对象之间的联系。

数据结构描述数据库的静态属性不同的数据库采用不同的数据结构

数据结构有层次结构,网状结构和关系结构三种类型。

按照这三种结构命名的数据模型分别称为层次模型,网状模型和关系模型。

【2】数据操作

数据操纵描述数据库的动态属性。数据库有查询和更新两类操作。

【3】数据的完整性约束

是一组完整性规则的集合。保证数据的正确,有效,相容。

八、三个世界及其有关概念

1、现实世界

2、信息世界

  1. 信息世界及其有关概念

【1】实体:客观存在的事物

【2】属性:实体所具有的某一特性称为属性

年龄,性别是属性的型

属性的具体内容是属性的值

【3】实体型

具有相同属性的实体必然具有共同的特征

【4】实体集

同型实体的集合称为实体集

【5】码:又称主码,主键。

能唯一标识一个实体的属性或属性集称为实体的码。

【6】域:某一属性的取值范围称为该属性的域

【7】联系:分为单个实体型内部的联系和实体型之间的联系。

  1. 两个实体型之间的联系

【1】一对一联系
【2】一对多联系
【3】多对多联系

  1. 两个以上实体型之间的联系

两个以上实体型之间的联系同样存在一对一,一对多,多对多的联系。

  1. 单个实体型内部的联系

单个实体型内部的联系同样存在一对一,一对多,多对多的联系。

3、计算机世界

【1】字段:标记实体属性的命名单位。

如:学生有学号,姓名,年龄等字段

【2】记录:字段的有序集合。

如:(0001,张三,男,计算机)为一个记录

【3】文件:同一类记录的集合称为文件。文件是用来描述实体集的。

【4】关键字:能唯一标识文件中每个记录的字段或者字段集,称为记录的关键字。

九、四种数据模型

1、层次模型

层次模型用树形结构来表示各类实体以及实体间的联系。

层次模型的特点:
【1】每棵树有且仅有一个结点没有双亲结点,就是根节点
【2】根节点以外的其他结点有且仅有一个双亲结点
【3】父子结点之间的联系是一对多的联系

对于层次模型:如果删除双亲结点,则子女结点也被删除。

  1. 优点:

【1】层次模型结构简单,层次分明
【2】结点间联系简单
【3】提供了良好的数据完整性支持

  1. 缺点:

【1】不能直接表示两个以上的实体型间的复杂联系和实体型间的多对多联系
【2】对数据的插入删除限制
【3】查询子女结点必须通过双亲结点

2、网状模型

层次模型是网状模型的特例。

层次模型只能有一个根节点,根节点以外的其他结点有且仅有一个双亲结点,而网状模型中取消了层次模型的限制,允许多个结点没有双亲结点,允许一个结点可以有多个双亲结点。

特点:
【1】有一个以上的节点没有双亲结点
【2】允许结点有多个双亲结点
【3】允许两个结点之间有多种联系

3、关系模型

关系模型的数据结构是一张规范化的二维表,由表名,表头,表体三部分组成。表名即二维表的名称,表头决定了二维表的结构,表体即二维表中的数据。

每个二维表称为关系。

【1】关系与关系实例:一张表对应一个关系实例。

【2】元组:二维表中的一行即一个元组

【3】属性:二维表中的一列即一个属性

【4】域:属性的取值范围

【5】分量:元组中的一个属性值

【6】候选码:一个属性或者属性的组合,可以唯一标识一个关系元组。

一个关系当中可以有多个候选码。

全码:候选码由关系中所有的属性组成。

【7】主码:一个关系只能有一个主码,从候选码当中选的。

(学号,手机号,性别):不是候选码,因为性别是多余的,不能唯一标识,只需要一个学号即可

【8】关系模式

如:学生的关系模式:
学生(学号,姓名,性别,年龄)

【9】关系实例:二维表中的数据

4、面向对象模型

十、数据库领域的新技术

主要分为:
【1】分布式数据库
【2】数据仓库与数据挖掘技术
【3】多媒体数据库
【4】大数据技术

1、分布式数据库

  1. 定义

分布式数据库是一组结构化的数据集合,在逻辑上属于同一系统,物理上分布在计算机网络的不同节点上。

  1. 特点

【1】自治与共享
【2】冗余控制
【3】分布事务执行的复杂性
【4】数据的独立性

2、数据仓库与数据挖掘技术

联机事务处理(OLTP):online transaction processing

联机分析处理(OLAP):online analytical processing

数据仓库(DW):data warehouse

将各业务系统及其档案数据中有分析价值的海量数据集中管理,建立分析模型,从中挖掘符号规律的知识用于未来的预测与决策中。

数据挖掘(DM):data mining

从大量数据中获取有效,潜在有用的非平凡过程。

3、大数据技术

主要包括数据的采集和迁移,数据的存储和管理,数据的处理和分析,数据安全和隐私保护。

猜你喜欢

转载自blog.csdn.net/wxfighting/article/details/124381440