内容正文:
第七章
信息技术导论(第3版)
数据库技术基础
1
01
数据库基础知识
2
数据库的基本概念
(1)数据库
数据库(DataBase,DB)是一种长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库就是一种存放各种数据的仓库,只不过这个仓库是存在于计算机的存储设备中的。
数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可以为各类用户或应用程序提供数据共享服务。
3
数据库的基本概念
(2)数据库管理系统及其功能
数据库管理系统(DataBaseManagementSystem,DBMS)是一种介于用户与操作系统之间,专门用于管理数据的软件,如图7.1所示。
4
数据库的基本概念
(2)数据库管理系统及其功能
DBMS的主要功能体现在以下5方面:①数据定义,DDL用于对数据库、表、视图、索引及数据之间的联系进行定义;②数据操纵,DML用于对数据库中数据的查询、删除、插入和修改操作;③数据库运行管理,DBMS的重要功能是对数据库的运行管理,具体包括数据的完整性、安全性、并发性控制及系统发生故障后的迅速恢复等;④数据库的建立与维护,数据库的建立主要包括数据对象的创建、初始数据的录入等;⑤数据库通信,DBMS提供了数据库的访问方法,主要包括:与网络中其他软件系统的通信功能,DBMS与其他DBMS或与文件系统之间的数据转换,异构数据库之间的互访或互操作等。
5
数据库的基本概念
(3)数据库应用系统
直接使用数据库管理系统管理数据时,用户需要熟记一系列的操作步骤及命令,为非专业用户带来了很多不便。为此,数据库开发人员在DBMS的基础上,根据用户实际需要,开发出相应的数据库应用软件。有了数据库应用软件,一般的用户只需稍加培训就可以非常方便地管理数据。
6
数据库的基本概念
(4)数据库系统及其组成
数据库系统(DataBaseSystem,DBS)是指在计算机系统中引入数据库后的系统。DBS包括4部分:数据库、数据库管理系统、数据库应用系统和数据库管理员。
7
数据库管理技术的发展
(1)人工管理阶段(20世纪50年代中期之前)
在本阶段,计算机主要用于科学计算,数据量不大。这个时期数据存储设备主要是卡片、磁带和纸带,没有专门的数据管理软件,数据需要人工管理。本阶段应用程序与数据之间的对应关系如图7.2所示。
8
数据库管理技术的发展
(2)文件管理阶段(20世纪50年代后期〜60年代中期)
在本阶段,计算机技术有了很大的发展,不仅用于科学计算,还被用于信息数据的处理。这个时期,数据存储设备主要是磁盘和磁鼓,数据与程序分开存放,数据可以直接在磁盘中进行存取,使用时再由程序调用数据文件。期间出现了操作系统,并使用专门的管理软件(文件系统)实施数据管理,使得外存数据更加易于管理。本阶段应用程序与数据之间的对应关系如图7.3所示。
9
数据库管理技术的发展
(3)数据库管理阶段(20世纪60年代后期)
随着计算机软件和硬件的发展、数据处理规模的扩大,计算机越来越多地应用于管理领域。20世纪60年代后期出现了数据库技术。本阶段数据管理技术的特点如下:
①数据结构化:数据库中的文件是相互联系的,总体上具有一定的结构形式。
②数据共享性较高:数据库中包含了所有用户的数据,每个用户有时只使用其中部分数据,不同用户使用的数据有时是重叠的,同一数据可以被多个用户使用。
③数据冗余减少:一个数据可以从系统层面共享给不同的应用系统,不再面向单独的应用,多个应用系统的共享数据物理存储只有一次,从而减少了数据冗余。
10
数据库管理技术的发展
(3)数据库管理阶段(20世纪60年代后期)
④数据的安全性、可靠性和正确性有了保障:数据库管理系统提供数据的安全性、完整性、并发性控制和恢复能力。本阶段应用程序与数据之间的对应关系如图7.4所示。
11
数据模型
01
概念数据模型
(1)基本概念
概念数据模型(ConceptualDataModel)用于信息世界的建模。数据管理的对象是客观事物,由于现实世界的复杂性,需要先把现实世界抽象为信息世界,建立信息世界中的数据模型,再将信息世界中的数据模型转化为可以在计算机中实现的、最终支持数据库系统的数据模型。概念数据模型是信息世界对现实世界的第一层抽象,是数据库设计人员设计数据库的有力工具,是数据库设计人员与用户之间交流的语言。
最有名的概念数据模型的表示方法是E-R模型(Entity-RelationshipApproach,实体-联系模型)。E-R模型包含三个要素:实体、属性和实体间的联系。
12
数据模型
01
概念数据模型
(2)实体间的联系
两个实体之间的联系主要有以下3种。
一对一联系(1:1):对于实体集A中的每个实体,实体集B中只有一个实体与之对应,反之亦然,则称实体集A和实体集B具有“一对一”的联系。“一对多”联系如果对于实体集A中的每个实体,实体集B中有多个实体与之对应;反之,对于实体集B的每个实体,实体集A中只有一个实体与之联系,则称实体集A与B存在“一对多”联系。
“多对多”联系(mm):如果对于实体集A中的每个实体,实体集B中有〃个实体与之对应,同时,对于实体集B的每个实体,实体集A中有秫个实体与之联系,则称实体集A与实体集B存在“多对多”的联系。
13
数据模型
01
概念数据模型
(3)E-R模型表示
E-R模型包含了实体、属性和联系三要素。在E-R模型中,实体用矩形表示,在图形内部标注实体名,属性用椭圆表示,在图形内部标注属性名,联系用菱形表示,在图形内部标注联系名,使用无向边连接相关的对象。图7.5是实体与属性的一个实例。
14
数据模型
2.逻辑数据模型
逻辑数据模型(LogicalDataModel)是用户从数据库所看到的模型,既要面向用户,又要面向系统,是具体的数据库管理系统所支持的数据模型,主要用于数据库管理系统的实现。常用的逻辑数据模型主要有三种:网状数据模型、层次数据模型和关系数据模型。这三种模型是按其数据结构命名的,前两种为格式化的结构,后一种为非格式化的结构。数据模型的构造方法决定了数据之间的联系方式以及数据库的设计方法。
15
数据模型
2.逻辑数据模型
网状模型(NetworkModel)是采用网状结构表示实体及其之间联系的模型,如图7.6所示。层次模型(HierarchicalModel)是采用树型结构表示实体类型及实体间联系的数据模型,如图7.7所示。
16
数据模型
3.物理数据模型
物理数据模型(PhysicalDataModel)是面向计算机物理表示的模型,与具体的数据库管理系统、操作系统及硬件有关,描述了数据在存储介质上的组织结构,大部分物理数据模型的实现工作由系统自动完成。每种逻辑数据模型实现时都有对应的物理数据模型。
17
02
关系数据库
基础
18
基本概念
基本概念
(1)关系
一个关系就是一张二维表,每个关系有一个关系名。在Access数据库中,关系名就是数据库中表的名称,如表7.1所示的学生信息表。
(2)元组
在一个二维表中,表中的行称为元组,每行是一个元组,也称为一条记录。表7.1所示的学生信息表中以“学号”为“201201001”“201201002”标志的行都称为一条记录。
(3)属性
二维表中每列称为一个属性,每列有一个属性名,也称为字段名。
(4)域
属性的取值范围,即不同元组对同一个属性的取值所限定的范围。
19
基本概念
基本概念
(5)候选码、主码
在一张表中能唯一标识一条记录的字段或字段的组合,称为候选码。一张表中可能有多个候选码,从中选择一个为主码,也称为主键。
(6)外码
如果表中的一个字段不是本表的码,而是另一个表中的主码或候选码,这个字段称为外码,又称为外键。在关系数据库中,各数据表间可以通过此关键字建立相互联系,如表7.1和表7.2是通过“学号”建立联系的。
20
基本概念
基本概念
(7)关系模式
对关系的描述称为关系模式,一个关系模式对应一个关系的结构。
(8)关系的特点
❖每个属性必须是不可划分的数据项,表中不能再包含表。
❖每列的元素必须是同一类型的数据,来自同一个域。
❖在同一个关系中不能出现相同的属性名。
❖任意两个元组不能完全相同。
❖行的次序和列的次序无关紧要。
21
关系运算
1.集合运算
下面以两个相同结构的关系R(如表7.3所示)和S(如表7.4所示)为例,对常用的几种集合运算进行说明。
①并运算:关系R和S进行并运算,就是指将两个关系中的所有元组合并,若存在相同的元组,只留下其中的一个元组,组成一个新的关系,称为这两个关系的并运算。关系R和S进行并运算的结果如表7.5所示。
22
关系运算
1.集合运算
②交运算:关系R和S进行交运算,由既属于R又属于S的元组组成一个新的关系,称为这两个关系的交运算。关系R和S进行交运算的结果如表7.6所示。
③差运算:关系R和S进行差运算,是由属于次但不属于S的元组组成一个新的关系,称为这两个关系的差运算。关系R和S进行差运算的结果如表7.7所示。
23
关系运算
2.关系运算
在关系数据库管理系统中,常用的关系操作有3种:选择运算、投影运算和连接运算。
①选择(Selection)。选择是从行的角度对关系进行的运算,是从二维表中选择符合给定条件的所有元组。例如,从表7.1中选择学生性别为“男”的记录,结果如表7.8所示。
②投影(Projection)。投影是从列的角度对关系进行的运算,从二维表中选出所需要的列。例如,从表7.1中找出学生的学号和性别,结果如表7.9所示。
24
关系运算
2.关系运算
③连接(Join)。连接是关系的横向结合,将两个二维表中的记录,按照给定条件连接起来得到一个新的关系,其中包含满足连接条件的记录。连接运算中有两类重要的运算:等值连接和自然连接。下面以关系R(见表7.3)和关系M(见表7.10)为例,说明两类连接运算。
25
关系运算
2.关系运算
等值连接:从关系氏和肱中分别选取一个属性列,如从两个关系中均选取3这个属性列,则等值连接是选取W属性列中值相等的那些元组。结果如表7.11所示。
自然连接:按照字段值对应相等的条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。例如,现将关系反与以进行自然连接,结果如表7.12所示。
26
关系的完整性
关系模型的数据完整性是保证数据库中数据的正确性和一致性的一种约束条件。数据库完整性包括实体完整性、参照完整性和用户定义完整性。
实体完整性规则。实体完整性是指关系的主码不能取空值和重复的值。参照完整性规则。参照完整性定义了关系之间联系的主码与外码之间引用的规则,即外码要么取空值,要么等于相关关系中主码的某个值。
用户定义完整性规则。用户定义的完整性是根据应用环境,针对某一具体关系数据库制定的约束条件。
关系的完整性
27
常用关系数据库简介
简介
目前比较常用的关系数据库包括SQLServer.Oracle、DB2、Access等。还有一些开源数据库,如MySQL、SQLite、PostgreSQL等。
(1)SQLServer
SQLServer是Microsoft公司推出的关系数据库。SQLServer数据库具有高性能、可扩展、支持Windows图形化管理工具、事务处理及先进的系统管理等特点。
(2)Oracle
Oracle是甲骨文公司最早提出的基于SQL数据库语言的关系数据库产品之一,自1979年问世以来,融汇了数据库的各种先进技术,在小型机及微型机的关系数据库系统领域,居于举足轻重的地位。
28
常用关系数据库简介
简介
(3)DB2
DB2是IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。
(4)Access
MicrosoftOfficeAccess是由Microsoft发布的关联式数据库管理系统,是一种小型的关系数据库管理系统。
(5)MySQL
MySQL是瑞典的MySQLAB公司开发的一款功能强大、使用灵活、多用户、多线程的开源数据库管理系统。
29
常用关系数据库简介
简介
(6)SQLite
SQLite是一款轻型的、开源数据库管理系统,目前已经在很多嵌入式产品中使用。(7)PostgreSQL
PostgreSQL数据库是以Postgres版本4.2为基础,由美国加州伯克利分校开发的一款开源关系型数据库管理系统。
(8)VisualFoxPro
VisualFoxPro简称VFP,是Microsoft公司在FoxPro2.5的基础上推出的数据库开发软件。VisualFoxPro源于美国FoxSoftware公司推出的数据库产品FoxBase。其最高版本VisualFoxPro9.0于2007年发布,是VFP的最后一个版本。
30
感谢观看
信息技术导论(第3版)
31
$$