数据库原理及应用

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

1.信息  是人脑对现实世界事物的存在方式、运动状态以及事物之间联系的抽象反映。

信息


2.数据  是用来记录信息的可识别的符号组合,是信息的具体表现形式。

数据的表现形式可用多种不同的数据形式表示同一信息,而信息不随数据形式的不同而改变,有数字,文字,图形图像,声音等。

数据


3. 数据与信息的联系

  数据是信息的符号化表示;信息是数据的内涵,是对数据的语义解释。

数据与信息的联系


4. 数据处理与数据管理

(1) 数据处理  将数据加工并转换成信息的过程,包括数据的收集、管理、加工利用(计算)、传播等一系列活动的总和。

数据处理

(2) 数据管理 是数据处理的核心,指数据的分类、组织、编码、存储、检索、维护等工作。


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

1. 数据管理技术经历了从低级到高级的发展阶段,即人工管理阶段、文件系统阶段、数据库管理阶段。

数据库管理技术发展阶段

(1)人工管理阶段的特点

①数据不保存

②没有专门管理数据的软件

③数据不能共享,冗余很大

④数据不具有独立性


(2)文件系统阶段 (50年代后期至60年代中期)的特点

数据可以文件形式长期保存在外部存储的磁盘上;文件系统对数据进行管理;数据和程序有了一定的独立性

【优点】

①文件组织形式多样化,便于存储和查找数据,如顺序文件,索引文件等。

②数据具有一定的共享性。数据不再属于某个特定的程序,可以重复使用。

【缺点】:

①数据共享性差,冗余度大。一个文件基本上对应于一个应用程序,即文件仍然是面向应用的,文件间相互独立,缺乏联系。

②数据不一致性。这通常是由数据冗余造成的。

③数据独立性差。文件结构的设计仍然基于特定的应用,一旦改变数据的逻辑结构必须修改相应的应用程序,而应用程序发生变化,如改用另一种程序设计语言来编写程序,也需要修改数据结构,程序和数据间的依赖关系并未根本改变。

④数据间的联系弱。文件与文件夹之间是独立的,文件间的联系必须通过程序来构造。


(3) 数据库系统阶段 (60年代中期以后)的特点

①数据的结构化。数据及其联系按照数据模型组织到结构化的数据库中,且面向全组织的所有应用。

②数据共享性高、冗余度低。数据库中的一组数据集合可为多个应用和多个用户共同使用。

DBMS


③数据独立性高。即数据库中的数据与应用程序间相互独立,即数据的逻辑结构、存储结构以及存储方式的改变不影响应用程序。

*在数据库系统中,整个数据库的结构可以分为三级: 用户逻辑结构、数据库逻辑结构和物理结构数据,独立性分两节: 物理独立性和逻辑独立性。

数据库结构

物理独立性和逻辑独立性

④数据由DBMS (数据库管理系统) 统一管理和控制,有统一的数据管理和控制功能。

数据控制功能包括:  数据的安全性控制、完整性控制、并发控制、数据恢复。

安全性控制

完整性控制

并发控制

数据恢复

(4)

三者对比


2.数据库系统的组成

(1)数据库系统 (DBS) 是以计算机软硬件为工具,把数据组织成数据库形式,并对其进行存储、管理、处理和维护数据的高效能的信息处理系统。

由计算机硬件系统、数据库、软件系统(含操作系统、应用程序开发工具、数据库应用系统)、数据库管理系统,数据库用户组成。

数据库系统的组成


1)硬件系统  指存储和运行数据库系统的硬件设备。包括CPU、内存、大容量的存储设备、输入/输出设备和外部设备等。

2)数据库  是存储在计算机内、有组织的、可共享的数据和数据对象的集合,这种集合按一定的数据模型(或结构)组织、描述并长期存储,同时能以安全和可靠的方法进行数据的检索和存储。

*数据库的两个特点:

①集成性

将某特定应用环境中的各种应用相关的数据及其数据之间的联系,全部集中的并按照一定的结构形式进行存储。

②共享性

数据库中的数据可为多个不同的用户所共享,可同时存取数据库,甚至同时存取数据库中的同一数据。

3)数据库用户  即使用数据库的人,对数据库进行存储、维护和检索等操作。

终端用户/一般用户

应用程序员

数据库管理员(DBA)

*DBA的主要职能:

DBA的主要职能

DBA的主要职能


4)软件系统  软件系统主要包括:  操作系统(Operating system, OS)、应用程序开发工具和数据库应用系统等。

5)数据库管理系统  DBMS是数据库系统的核心软件。

DBMS主要功能

DDL

DML

数据库运行管理

数据库建立与维护


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

1.三级模式,两级映像

外模式、模式、内模式

外模式/模式映像、模式/内模式映像

三级模式,两级映像

外模式可有多个,而模式和内模式只有一个。

三级模式概念

物理级数据库和概念级数据库

模式

逻辑独立性和物理独立性

C/S

胖客户机

B/S

瘦客户机

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

1.现实世界→信息世界→计算机世界

现实世界:即客观存在的世界,由客观存在的事物及其联系所组成。

信息世界(概念世界):是现实世界在人们头脑中的反映,经过人脑的分析、归纳和抽象形成信息,人们把这些信息进行记录、整理、归纳和格式化后就构成了信息世界。 信息世界是对客观事物及其联系的一种抽象描述。

计算机世界:又叫数据世界,是对现实世界的第二层抽象,即对信息世界中的信息的数据化,将信息用字符和数值的数据表示,使用计算机存储并管理概念世界中描述的实体集、实体、属性和联系的数据。

三个世界


2.现实世界→信息世界(概念世界) 通过[概念模型]来表达

概念模型


信息世界中

实体型,实体集


两个实体型间的联系:

一对一(1:1)

一对多(1:n)

多对多(m:n)


3.三个世界各术语的对应关系

各术语对应关系


五、数据模型

现实世界中的事物及其联系经过两级抽象及转换后形成了计算机世界中的数据及其联系,而数据模型就是用来描述数据及其联系的。

数据库中存放数据的结构是由数据模型决定的,数据模型是数据库的框架,是数据库系统的核心和基础。


【数据模型】:是描述数据、数据联系、数据的语义和完整性约束的概念集合,由数据结构、数据操作和完整性约束三要素组成。

1. 数据结构:即数据组织的结构,用于描述系统的静态特征,描述数据库的组成对象以及对象间的联系。

常用的数据结构:层次结构,网状结构关系结构。

常用的数据结构

(1)层次模型

层次模型是采用树型结构(有根树)来表示实体及其实体间的联系的模型。

树形结构中的节点表示实体型,实体型间的联系用指针表示。

层次模型

层次模型特点

层次模型的数据操纵与完整性约束


层次模型的优点:

结构简单,层次分明;查询效率高,从根节点到树中任意结点均存在一条唯一的层次路径;提供良好的数据完整性支持。

缺点:

不能直接表示多对多联系;插入和删除数据限制太多;查询子女时结点必须通过双亲节点。

(2)网状模型

网状模型:是采用有向图结构表示实体与实体之间的联系的数据模型,每一个结点表示一个实体型,结点间的带箭头的连线表示记录型间1:n的父子联系。

网状模型特点

网状模型的数据操纵与完整性约束

网状模型的优点:

可表示实体间的多种复杂联系,具有良好的性能和存储效率。

缺点:

数据结构复杂;数据定义语言、数据操纵语言复杂,用户需要了解网状模型的实现细节。


(3)关系模型

以二维表(关系表)的形式表示实体与实体之间的联系的数据模型。

关系模型数据库代表System R

关系模型的数据结构是一张规范化的二维表,由表名、表头、表体三部分构成。

二维表

分量:每一行对应的列的属性值,即为元组中的一个属性值。

候选码:可唯一标识一个元组的属性和属性集。被选中来唯一标识的称为主码。

一个关系中可以有多个候选码,一个候选码可以由一个或多个其值能唯一标识该关系中任意元组的属性组成。一个关系中只能有一个主码。

关系模式:是对关系的描述,是关系模式的型,一般表示为:关系名(属性1,属性2,…属性n)

关系模型的优点:

有严格的数学理论根据,数据结构简单清晰,用关系描述实体及其联系,具有更高的数据独立性,更好的安全保密性。

缺点:

查询效率不如非关系模型。

2. 数据操作:对数据库中的数据允许执行的操作的集合,包括操作及相应的操作规则(优先级)等,描述了数据库的动态特性。

一类是查询操作,一类是更新操作(含插入,删除,修改)。


3. 数据的完整性约束:一组完整性规则的集合。

完整性规则是数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确,有效,相容。


六、关系的形式化定义和概念

1.关系上域的定义:域是一组具有相同数据类型的值的集合,又称为值域,用D表示。

域中所包含的值的个数称为域的基数,用m表示,在关系中用域表示属性的取值范围。


2.笛卡尔积:

笛卡尔积的定义

笛卡尔积


3.关系的定义:笛卡尔积的任意子集称为定义在域上的n元关系。

关系

关系

关系模型中的关系

关系性质

关系


七、关系的候选码、主码、外码

1. 候选码:能唯一识别关系中的元组的一个属性或属性集。

2.主码:从多个候选键中选择一个作为查询、插入或删除元组的操作变量,被选用的候选码称为主关系码(主码,主键,关系键,关键字)。

每个关系必定有且仅有一个主码,选定后不能重复。

3.外码:如果关系R2的一个或一组属性X不是R2的主码,而是另一个关系R1的主码,则该属性或属性组称为关系的外码。

4.

外码

关系的码

主属性:包含在主码的各个属性称为主属性。

非主属性:不包含在任何候选码中的属性,称为非主属性(或非码属性)。

全码:所有属性的组合是关系的候选码。

超码:包含候选码的属性集合。


八、关系的完整性

1.关系完整性概述:为了维护关系数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这些约束条件实际上是实现世界的要求,任何关系在任何时刻都要满足这些语义约束。

2.三类完整性约束:

实体完整性

参照完整性

用户自定义完整性

三类完整性约束


(1).实体完整性:是指主码的值不能为空或部分为空。

关系模型中的一个元组对应一个实体,一个关系则对应一个是实体集,现实世界中的实体是可区分的,即它们具有某种唯一性标识,与此对应的关系模型中以主码来唯一标识元组。

(2).参照完整性:如果关系R2的外码与关系R1的主码相符,则X的每个值或者等于R1中主码的某一个值或取空值。

参照完整性


(3). 用户自定义完整性:是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。

比如说成绩约束:0–100分

3.

关系的完整性


九、关系代数

1.关系代数是一种抽象的查询语言;

关系代数的运算对象与运算结果都是关系;

关系代数运算符包括:集合运算符,关系运算符,比较运算符,逻辑运算符。

关系代数运算符


2.关系代数的运算按运算符的不同主要分为两类:传统的集合运算,专门的关系运算。

(1)传统的集合运算把关系看成元组的集合,以元组作为集合中元素来进行运算,其运算是从关系的水平方向即行的角度进行的,包括并、差、交和广义笛卡尔积等运算。

传统关系运算中,交,并,差运算要求参与运算的关系r和关系s是相容的,而笛卡尔积并没有要求。

两关系相容
传统的集合运算

②应用:

并运算:可增加一条记录

差运算:可删除一条记录

广义笛卡尔积举例:

R*S


(2)专门的关系运算不仅涉及行运算,也涉及列运算,这种运算是为数据库的应用而引起的特殊运算,包括选取、投影、连接和除法等运算。


分量

分量的集合

连接

象集



①选取:

选取表达式


②投影:投影后不但减少了属性,元素也可以减少,新关系与原关系不相容。

投影表达式

选取和投影运算组合


③Q连接(Q为算术比较运算符)

Q连接表达式

表达式

其他形式


④自然连接

在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉,即如果R和S具有相同的属性组Y,则自然连接可以记作为

自然连接表达式


等值连接和自然连接区别:

自然连接要求相等属性值的属性名相同,而等值连接不要求;

自然连接是去掉重复列的等值连接。



3.除法

除法运算是二目运算,设有关系R(X,Y)与关系S(Y,Z),其中X、Y、Z为属性集和R中的Y与S中的Y可以有不同的属性名,但对应属性必须出自相同的域。

除法表达式

除法运算举例

除法运算同时从行和列的角度进行运算,适合包含“全部”和“至少”之类的短语查询。

除法运算应用


4.

总结


十、元组关系演算

1.定义:

元组关系演算中以元组为单位,通过谓词公式约束所要查找元组的条件,可以表示为:

元组关系演算


其中t为元组变量,即查询目的,Q为元组演算的谓词公式,即查询的条件。

元组关系演算表示方式


2.  Q(t)可以通过原子公式、约束变量、自由变量、运算符构成。

(1)原子公式

原子公式

(2)约束变量与自由变量

若元组演算公式中的一个元组变量前有“全称量词”和“存在量词”,则称该变量为约束元组变量,否则称为自由元组变量。

自由变量


(3)运算符

运算符优先级(由高到低)


十一、元组关系演算与关系代数的关系

1.若有两关系R和S,其中为t元组变量

并操作,出现在R或S中

差操作,出现在R中,同时不出现在S中

选择操作,F表示选择条件


投影操作,投影结果t的第一列对应R的第一列,t的第二列对应R的第三列。

笛卡尔积操作

关系演算


十二、域关系演算

1.定义:以元组中的域为单位,按照谓词公式所约束的条件查询所需的元组,表示为

域关系演算

其中x1,x2…xn代表域变量,即元组的分量,R代表由原子构成的公式。

R的定义如元组关系演算,同样是反复由原子公式,自由变量,约束变量和运算符构成。

2.举例

题目

(1)查询学生年龄大于等于20岁的学生姓名

结果表达式


(2)查询学生年龄大于等于20岁的学生,姓名,学号,性别和年龄。

结果表达式


3.域关系演算语言QBE ( Query by example )

QBE表格形式

需要同时满足的条件写在一行

或关系的条件,写在两行中

在进行多表查询的连接过程中,需要给出相同例子的域变量

**********************************************

1)在数据库中存储的是: 数据以及数据之间的联系。

2)数据库管理系统能实现对数据库中数据的查询,插入,修改和删除等操作,这种功能称为数据操纵功能。

3)数据库完整约束的建立需要使用DBMS提供的数据定义语言DDL。

4)数据库管理系统 (DBMS) 是一组软件。

你可能感兴趣的:(数据库原理及应用)