数据库原理与实践
Download
1 / 94

数据库原理与实践 ( ACCESS 版) - PowerPoint PPT Presentation


  • 152 Views
  • Uploaded on

数据库原理与实践 ( ACCESS 版). 数据库基础及应用. 李锐 [email protected] About………. 教材 《 数据库基础与应用( Access 版) 》 清华大学出版社 作者:董卫军、邢为民、索琦 成绩 30% 70% 期末大作业. 数据库基础理论篇. 第 1 章 数据库基础. 1.1 数据库基本概念. 1.1.1 数据与数据处理. 数据 : 事物特性的反映和描述,是符号的集合。 信息是和数据 : 数据是信息的符号表示(或称为载体),信息则是数据的内涵,是对数据语义的解释。.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 数据库原理与实践 ( ACCESS 版)' - aurelia-fletcher


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

数据库原理与实践

(ACCESS版)


数据库基础及应用

李锐

[email protected]


About
About……….

  • 教材

    • 《数据库基础与应用(Access版)》

    • 清华大学出版社

    • 作者:董卫军、邢为民、索琦

  • 成绩

    • 30%70%

    • 期末大作业



1章 数据库基础


1.1数据库基本概念

1.1.1 数据与数据处理

数据:事物特性的反映和描述,是符号的集合。

信息是和数据:

数据是信息的符号表示(或称为载体),信息则是数据的内涵,是对数据语义的解释。

数据处理:为对数据的收集、存储、加工、分类、检索、传播等一系列活动。 。


1.1.2 数据库

数据库:是存放数据的仓库,是对现实世界有用信息的抽取、加工和处理,并按一定格式长期存储在计算机内的、有组织的、可共享的数据集合。

  • 基本特点:

  • (1)数据结构化

  • (2)数据独立性

  • (3)数据冗余低

  • (4)统一的数据管理和控制


数据的组织级别:一般可以分为四级:数据项、记录、文件和数据库。

给定类型的记录的全部具体值的集合

是处理和存储信息的基本单位,是关于一个实体的数据总和

是具有特定联系的多种类型的记录的集合

定义数据的最小单位,也叫元素、基本项、字段等


1.1.3 数据库管理系统

数据库管理系统:是位于用户与操作系统(OS)之间的一层数据管理软件,为用户或应用程序提供访问数据库的方法。

  • 基本功能:

  • (1)对象定义功能

  • (2)数据操纵功能

  • (3)数据操纵功能

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


用 户

初级用户

专业用户

DBA

应用程序员

应用界面

查询

数据库模式

应用程序

软 件

DBMS

OS

数据库

数据库

计算机硬件

硬 件

1.1.4 数据库系统的组成

主要由硬件、数据库、软件和用户4部分构成。


1.2 数据管理的发展

1.2.1 人工管理阶段

20世纪50年代中期以前,计算机主要用于科学计算。

  • 硬件:只有卡片、纸带、磁带等,没有可以直接访问、直接存取的外部存取设备。

  • 软件:没有操作系统,也没有专门管理数据的软件。

  • 数据由程序自行携带:数据与程序不能独立,数据不能长期保存。


1.2.2 文件系统阶段

20世纪50年代中期至60年代中期,操作系统的出现标志着数据管理步入一个新的阶段 。

  • 文件的逻辑结构与物理结构脱钩:程序和数据分离,使数据与程序有了一定的独立性。

  • 程序与数据分别存放在外存储器上:各个应用程序可以共享一组数据,实现以文件为单位的数据共享。


1.2.3 数据库系统阶段

  • 数据占据中心位置:包括数据本身和数据间的联系。

  • 数据与程序具有较高的独立性。

  • DBMS对数据实行专门管理:提供安全性和完整性等统一控制。


1.2.4 分布式数据库系统阶段

分布式系统是物理上分散逻辑上集中的数据库系统。每个结点(场地)都是拥有集中式数据库的计算机系统。

  • 数据库的数据物理上分布,逻辑上是一个整体。

  • 每个场地既执行局部应用,也可执行全局应用。

  • 各地的计算机由数据通信网络相联系。


1.2.5 数据管理新技术

面向对象数据库:20世纪90年代以后,人们把大量的精力花在研究“面向对象的数据库系统,简称“OO数据库系统”上。

  • 两个主要特点:

  • 对象数据模型能完整地描述现实世界的数据结构,能表达数据间嵌套、递归联系;

  • 具有面向对象技术的封装性和继承性的特点,提高了软件的可重用性。


多媒体数据库:多媒体数据库系统(简称MDBS)是结合数据库技术和多媒体技术,能够有效实现对格式化和非格式化的多媒体数据进行存储、管理和操纵等功能的数据库系统。

  • 不能简单认为多媒体数据库只是对传统数据库的一种简单扩充或者试图用传统技术来处理多媒体数据。

  • 多媒体数据库存储和处理的是复杂对象

  • 用户可最大限度地忽略各媒体间差异,实现对多媒体数据的管理和操作。


主动数据库:主动数据库是相对于传统数据库的被动性而言的。主动数据库系统(ADBMS)具有主动提供服务功能,并且能以一种统一的机制实现各种主动服务的数据库系统。

一个主动数据库系统可表示为:

ADBS = DBS + EB + EM。

  • DBS:传统数据库系统,用来存储、操作管理数据

  • EB:ECA规则库,用来存储ECA规则

  • EM:事件监测器,一旦检测到某事件发生就主动触发系统,按照EB中指定的规则执行相应的动作


数据仓库:是指为了满足中高层管理人员预测和决策分析的需要,在传统数据库的基础上产生能够满足预测和决策分析需要的数据环境。

  • 数据仓库是面向主题的

  • 数据仓库是集成的

  • 数据仓库是稳定的

  • 数据仓库随时间变化

当前的数据仓库系统中,直接面向用户的部分前端工具主要有两类:联机分析处理(OLAP)的分析查询型工具和数据挖掘(DM)的挖掘型工具。


1.4 客观世界的数据表示

数据的抽象表示的三个阶段:现实世界、概念世界、数据世界

1.4.1 现实世界

现实世界里的客观事物是我们进行管理的对象,这些对象之间既有区别,也有联系。这种区别和联系取决于事物本身的特性。


1.4.2 概念世界

概念世界是现实世界在人脑中的反映,是对客观事物及其联系的抽象,概念世界也称为信息世界。

实体:客观存在并可相互区别的事物

实体集:同型实体的集合

实体型:用实体名及其属性名集合来描述同类实体

属性:实体所具有的某一特性

域:属性的取值范围

主码:唯一标识实体的属性集


一对一联系

联系:事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是组成实体的各属性之间的联系,两个实体集之间的联系可以分为3类。


一对多联系

多对多联系


概念世界的表示:概念模型是现实世界到机器世界的一个中间层次,与具体的DBMS 无关。它从用户的观点出发,将管理对象的客观事物及他们之间的联系,用容易为人所理解的语言或形式表述出来。E-R图(实体联系图)是描述概念模型的主要工具。


1.4.3 数据世界

数据世界是信息世界进一步数据化的结果 。

数据项:又称字段,是数据库数据中的最小逻辑单位,用来描述实体的属性。

记录:是数据项的集合,一个记录由若干个数据项组成,用来描述实体。

文件:是一组同类记录的集合,用来描述实体集。


1.5 数据模型

概念数据模型:是面向数据库用户现实世界的数据模型,主要用来描述世界的概念化结构。

三个层面

逻辑数据模型:是用户从数据库所看到的数据模型,是具体的DBMS所支持的数据模型。

物理数据模型:是描述数据在存储介质上组织结构的数据模型,与DBMS、操作系统和硬件有关。

1.5.1数据模型的概念

数据模型是数据库的基础,是数据库的形式框架,用于描述一组数据的概念和定义。


1.5.2数据模型的组成要素

数据结构:研究数据之间的组织形式(数据的逻辑结构)、数据的存储形式(数据的物理结构)以及数据对象的类型等 。

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

三个要素

数据完整性约束:是一组完整性规则的集合。指明数据及其联系所具有的制约和储存规则,以保证数据的正确性、有效性和相容性。


1.5.3数据模型的基本类型

层次模型

网状模型


关系模型:是由若干个关系模式组成的集合。

关系模式:相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。


1.6 数据库的体系结构

模式/内模式映射

外模式/模式映射

数据库系统为了保证数据的逻辑独立性和物理独立性,在体系上采用三级模式和两种映射结构。


1.7 访问数据库的主要过程


元组:表中的行。一行为一个元组,对应存储文件中的一个记录值。

属性:表中的列,每一列有一个属性名。属性值相当于记录中的数据项或者字段值。

候选关键字:能够唯一地标识一个元组的属性或属性组合。

主关键字:选择作为元组区分标志的侯选关键字。

外关键字:一个关系中的属性或属性组合并不是该关系的关键字,但它们是另外一个关系的关键字。


1.8 关系数据库

1.8.1 基本概念

关系:在关系模型中,基本数据结构被限制为二维表格。因此,数据在用户观点下的逻辑结构就是一张二维表,每一张二维表称为一个关系。


1.8.2 关系数据库的体系结构

关系模型基本上遵循数据库的三级体系结构。在关系模型中,概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式的集合。

关系模式:

关系模式S(SNO,SNAME,SGE,SEX,SDEPT)

关系模式C(CNO,CNANE,CDEPT,TNAME)

关系模式SC(SNO,CNO,SCORE)


用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。


存储模式用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。:描述关系是如何在物理存储设备上存储,关系存储时的基本组织方式是文件。由于关系模式有关键码,因此存储一个关系可以用散列方法或索引方法实现,如果关系中元组数目较少(100以内),也可以用堆文件的方式实现。此外,还可以对任意的属性集建立辅助索引。


1.8.3 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。关系模型的完整性规则

三类完整性规则:实体完整性规则、参照完整性规则、用户定义完整性规则。


1.8.4 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。关系代数

并:设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为R∪S。

t是元组变量,R和S的元数相同。

差:设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。

t是元组变量,R和S的元数相同

传统的集合运算:并、差、交、笛卡儿积运算和除。


用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。:关系R和S的交是由既属于R又属于S的元组构成的集合,记为R∩S,这里要求R和S定义在相同的关系模式上。形式定义如下:

t是元组变量,R和S的元数相同。

笛卡儿积:设关系R和关系S的元数分别为r和s。定义R和S的笛卡儿积R×S是一个(r+s)元的元组集合,每个元组的前r个分量(属性值)来自R的一个元组,后s个分量是S的一个元组,记为R×S。形式定义如下 。形式定义如下:


例 设关系R、S如下:用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。

R(A, B,C)

S(A,B,C)

a  1  c

b  2 a

d  4  f

d  4 f

c  3d

(A, B,C)

a 1 c

(A,B,C)

a 1  c

b 2 a

c 3  d 

d 4f

c 3 d

(A,B,C)

d  4 f

R∪S:

R∩S:

R-S:


用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。R(A,B,C)

a 1 c

b 2 f

S (A, BB)

aa 11

bb 22

a 1 c aa 11

a 1 c bb 22

b 2 f aa 11

b 2 f bb 22

(R.A, B, C, S.A, BB)

R×S:


用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。:设关系R和S的元数分别为r和s(设r>s>0),那么R÷S是一个(r-s)元的元组的集合。R÷S是满足下列条件的最大关系:R÷S中每个元组t与S中每个元组u组成的新元组<t,u>必在关系R中。形式定义如下:


用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。

  • S(SNO, SNAME, STATUS, CITY)

  • S1 Smith 20 London

  • S2 Jones 10 Paris

  • S3 Blake 30 Paris

  • S4 Clark 20 London

  • S5 Adams 30 Athens

供应商

  • ( SNO, SNAME, STATUS, CITY)

    • S3 Blake 30 Paris

    • S5 Adams 30 Athens

专门的关系运算:主要包括选择、投影和连接运算。

选择:从一个关系R中选出满足条件表达式F的元组,构成一个新关系,记为F(R)。

бstatus >20(S)=


  • 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。SNO, SNAME)

  • S1 Smith

  • S2 Jones

  • S3 Blake

  • S4 Clark

  • S5 Adams

ПSNO,SNAME(S)=

б(status > 10)∧(SNO < ‘S6’)(S)

ПCITY(

)

( CITY )

=

London

Paris

Athens

投影:从一个关系R中选出属性(组)A,构成一个新关系,记为ПA(R)。


连接运算用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。:

一般连接,即θ-连接。记为:R S

  • 例 R1(A1,A2)

  • a1 1

  • a2 2

  • a3 1

  • a4 2

  • R2(B1,A2)

  • b1 1

  • b2 1

  • b3 2

  • b4 3

θ

(A1,R1.A2,B1,R2.A2)

=

R1 R2

R1.A2  R2.A2

  • a2 2 b1 1

  • a2 2 b2 1

  • a4 2 b1 1

  • a4 2 b2 1


  • S用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。(B, C)

    • 1 b1

    • 1 b2

    • 2 b2

  • R(A, B)

    • a1 1

    • a2 1

    • a2 2

    • a3 1

( A,B, C )

=

  • a1 1 b1

  • a1 1 b2

  • a2 1 b1

  • a2 1 b2

  • a2 2 b2

  • a3 1 b1

  • a3 1 b2

R S

自然连接:是除去重复属性的等值连接,它是连接运算的一个特例,是最常用的连接运算 。


用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。“供应商-零件”数据库:

  • 设:S(SNO, SNAME, STATUS, CITY)

  • S1 Smith 20 London

  • S2 Jones 10 Paris

  • S3 Blake 30 Paris

  • S4 Clark 20 London

  • S5 Adams 30 Athens

  • SP(SNO, PNO, QTY)

  • S1 P1 300

  • S1 P4 200

  • S1 P5 100

  • S2 P1 300

  • S2 P2 400

  • S3 P2 200

  • 供应商

    供应商供应零件情况


    б用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。SNO =‘S1’(S SP)

    (SNO,SNAME, STATUS, CITY, PNO,QTY)

    =

    S1 Smith 20 London P1 300

    S1 Smith 20 London P4 200

    S1 Smith 20 London P5 100


    用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。2章 数据库设计


    关系数据库设计是数据库应用的基础。用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。

    核心任务:针对特定的应用环境,在给定硬件环境、操作系统和数据库管理系统的基础上,创建一个性能良好的数据库模式,建立数据库及应用系统,使之能够有效、合理地采集、存储、操作和管理数据,满足企业或组织中各类用户的应用需求。


    用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。软件危机

    随着计算机技术的发展,计算机软件开发和维护过程中所遇到的一系列严重问题,导致了软件开发和维护日益复杂,这种现象称为软件危机。

    ⑵软件工程

    软件工程的核心思想是把软件看作一个工程产品来处理,把需求计划、可行性研究、工程审核、质量监督等工程化概念引入软件生产中。

    2.1 工程化设计思想


    软件工程用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。

    三要素

    方法

    工具

    过程

    支持软件开发的各个环节的控制和管理

    完成软件工程项目的技术手段

    支持软件的开发、管理,文档的生成

    达到工程项目的三个基本目标:进度、经费和质量。


    用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。软件生命周期

    从软件的产生直到软件消亡的周期 。


    2. 2 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。数据库设计概述

    数据库设计以DBMS为基础,进行数据库的结构特性设计和数据库的行为特性设计。其中数据库的结构特性设计起着关键作用。


    2. 3 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。数据库设计基本步骤

    根据生命周期思想数据库设计过程可分为:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行和维护7个阶段。


    2.3.1 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。规划

    目的:确定系统名称、范围,确定系统的目标功能和性能,确定系统所需的资源,估算预期效益和开发成本,确定开发计划和开发进度。

    两个阶段:系统调查和可行性分析。

    • 可行性分析主要考虑四个要素:

    • 经济

    • 技术

    • 社会环境


    2.3.2 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。需求分析

    以用户调查为基础,通过分析和综合,逐步明确用户对新系统的功能和性能要求,一般采用自顶向下的方法实现。


    需求分析一般采用数据流图描述数据处理过程用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。

    数据流图的构成元素


    2.3.3 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。概念结构设计

    主要任务:根据需求分析阶段产生的需求分析报告,产生能够反映信息需求的数据库概念结构,即数据库的逻辑模型。概念模型不依赖于计算机系统和具体的DBMS。


    E-R用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。图组成元素

    概念结构设计通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,概念模型一般用E-R图表示。


    2.3.4 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。逻辑结构设计

    主要任务:将概念数据模型设计成数据库能够支持的某种逻辑模型。为各种数据处理应用领域产生相应的逻辑子模式,并使其在功能、性能、完整性约束、一致性和可扩充性等方面均满足用户的需求。


    实体类型的转换用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。:将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符为关系模式的键。

    二元联系的转换

    联系的转换

    一元联系的转换

    三元联系的转换

    模型转换:把E-R图转换成关系模式的集合。

    两部分转换:实体型的转换和联系的转换。


    联系是用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。1∶1:在两个实体类型转换成的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。

    联系是1∶N:在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。

    二元联系

    联系是M∶N:联系转换成关系模式,属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。


    一元联系用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。

    同二元联系

    三元联系

    将三元联系转换成关系模式,其属性为三端实体类型的键加上联系类型的属性,而键为三端实体键的组合。

    仓库(仓库号,仓库名,地址)

    商店(商店号,商店名,店长,电话,地址)

    商品(商品号,商品名,产地)

    进货(商店号,商品名,仓库号,日期,

    数量,采购员,单价)


    2.3.5 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。物理设计

    物理设计是指在特定数据库管理系统所提供的多种存储结构和存取方法的基础上,为逻辑数据模型选取一个最适合应用环境的物理结构(包括文件类型、索引结构和数据的存放次序)、存取方法和存取路径等。


    存储记录的格式设计用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。

    存储方法设计

    访问方法设计

    完整性和安全性设计

    应用设计


    2.3.6 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。系统实施

    任务:根据逻辑设计和物理设计的结果,在计算机上建立数据库,编制与调试应用程序,组织数据入库,并进行系统测试和试运行 。


    用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。DDL定义数据库结构

    组织数据入库

    编制与调试应用程序


    2.3.7 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。运行和维护

    数据库应用系统正式投入运行后,在数据库系统运行过程中必须不断地对其进行评价、调整与修改。

    • 主要工作:

    • 数据库的转储和恢复;

    • 数据库安全性和完整性控制;

    • 数据库性能的监督、分析和改进;

    • 数据库的重组织和重构造。


    2. 4 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。关系模式的规范化

    • 主要问题:

    • 数据冗余;

    • 操作异常(修改、异常插入异常、删除异常)。


    2.4.1 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。函数依赖和键

    函数依赖关系:

    设有关系模式R(U),X和Y是属性集U的子集,函数依赖是形如X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,若有t[X]=s[X]就必有t[Y]=s[Y](若它们在X上的值相等,则它们在Y上的属性值也一定相等),那么称“X函数决定Y”或“Y函数依赖于X”,记作X→Y,并称X为决定因素。


    有学生选课关系模式:用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。

    R(S#,SNAME,C#,GRADE,CNAME,TNAME,TAGE)

    每个学号只能有一个学生姓名,每个课程号只能决定一门课程,则有以下函数依赖关系:

    S#→SNAME,C#→CNAME

    每个学生每学一门课程,有一个成绩,那么可写出下列函数决定:

    (S#,C#)→GRADE

    还可以写出其他一些函数决定:

    C#→(CNAME,TNAME,TAGE),

    TNAME→TAGE


    用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。:就是在函数依赖中起决定作用的属性或属性集,也称为候选键。定义如下:

    设U是关系模式R的属性集,X是U的一个子集。如果X→U在R上成立,那么称X是R的一个超键。如果X→U在R上成立,但对于X的任一真子集X1,X1→U都不成立,那么称X是R上的一个候选键。

    外键:有关系R和S,在R中存在属性或属性组X,X不是R的主键,在S存在同样的属性或属性组X,X是S的主键,则称X是关系R的外键。


    关系模式用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。R的每个关系r的属性值都是不可分的原子值。

    1NF

    完全依赖:对于函数决定 W→A,如果存在X⊂W,有X→A成立,那么称W→A是局部依赖(A局部依赖于W);否则称W→A是完全依赖。完全依赖也称为“左部不可约依赖”。

    2NF

    如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键。

    2.4.2关系模式的范式


    1NF用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。分解成2NF模式集的方法:

    设关系模式R(U),主键是W,R上还存在函数依赖X→Z,并且Z是非主属性,且X  W,那么W→Z就是一个局部依赖。此时应把R分解成两个模式:

    ① R1(XZ),主键是X;

    ② R2(Y),其中Y = U - Z,主键仍是W,外键是X。

    利用外键和主键的连接可以从R1和R2重新得到R。

    如果R1和R2还不是2NF,则重复上述过程,直到数据库模式中每一个关系模式都是2NF为止。


    传递依赖用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。:若有X→Y,Y→Z,且Y不函数决定X,Z不是Y的子集,则称X传递决定Z,或者说Z传递依赖于X。

    3NF

    如果关系模式R是2NF,且每个非主属性都不传递依赖于R的主属性,那么称R是第三范式(3NF)的模式。


    2NF用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。分解成3NF模式集的方法:

    设关系模式R(U)是2NF,主键是W,R上还存在函数依赖X→Z。并且Z是非主属性,ZX,X不是候选键,这样W→Z就是一个传递依赖。

    应把R分解成两个模式:

    ① R1(XZ),主键是X;

    ② R2(Y),其中Y=U-Z,主键仍是W,外键是X。

    利用外键和主键相匹配机制,R1和R2通过连接可以重新得到R。

    如果R1和R2还不是3NF,则重复上述过程,直到数据库模式中每一个关系模式都是3NF为止。


    2.4.3用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。模式分解

    设R是一个关系模式,F是R上的一个FD集。R分解成数据库模式={R1,R2,…,Rk},如果对R中满足F的每一个关系r,都有r = R1(r) R2(r) … Rk(r),那么称分解相对于F是“无损连接分解”,简称为“无损分解”,否则称为“损失分解”。

    设有关系模式R(U),属性集为U,R1,R2,…,Rk都是U的子集,并且有R1∪R2∪…∪Rk = U。关系模式R1,R2,…、Rk的集合用表示,= {R1,R2,…,Rk}。用代替R的过程称为关系模式的分解。这里称为R的一个分解,也称为数据库模式。


    规范化过程用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。


    用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。3章 数据库安全


    3. 1 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。数据库安全

    3.1.1系统安全的主要风险

    • 来自四个方面的安全风险:

    • 来自操作系统的风险

    • 来自管理的风险

    • 来自用户的风险

    • 来自数据库系统内部的风险


    3.1.2用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。数据库安全的特征

    数据库系统的安全特性主要是针对数据而言。

    • 主要方面:

    • 数据独立性

    • 数据安全性

    • 数据完整性

    • 并发控制

    • 故障恢复


    3. 2 用户使用的数据一般不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据。这种结构可用关系子模式实现。数据库的安全层次

    数据库安全机制


    数据库系统的安全框架可以划分为网络系统层、宿主操作系统层和数据库管理系统层三个层次。数据库系统的安全框架可以划分为网络系统层、宿主操作系统层和数据库管理系统层三个层次。

    • 物理层面:计算机系统必须在物理上受到保护。

    • 人员层面:数据库系统一定要由可信的合法用户来操作和管理。

    • 操作系统层面:强化操作系统的安全等级

    • 网络层面:增强数据网络传输的安全性

    • 数据库系统层面:数据库系统应该有完善的访问控制机制,以防止非法用户操作。


    3. 3 数据库系统的安全框架可以划分为网络系统层、宿主操作系统层和数据库管理系统层三个层次。数据库安全技术

    3.3.1数据库加密技术

    • 加密的基本要求:

    • 合适的加密层次

    • 密钥动态管理

    • 合理处理数据

    • 不影响合法用户的操作

    • 加密的层次:

    • OS

    • DBMS内核层

    • DBMS外层


    3.3.2存取管理技术


    3.3.3 数据库系统的安全框架可以划分为网络系统层、宿主操作系统层和数据库管理系统层三个层次。安全审计技术

    安全审计系统主要用于监视并记录对数据库服务器的各类操作行为,通过对网络数据的分析,实时地、智能地解析对数据库服务器的各种操作,并记入审计数据库中以便日后进行查询、分析、过滤,实现对目标数据库系统的用户操作的监控和审计。


    基于日志的审计技术数据库系统的安全框架可以划分为网络系统层、宿主操作系统层和数据库管理系统层三个层次。


    基于代理的审计技术数据库系统的安全框架可以划分为网络系统层、宿主操作系统层和数据库管理系统层三个层次。


    基于网络监听的审计技术数据库系统的安全框架可以划分为网络系统层、宿主操作系统层和数据库管理系统层三个层次。


    基于网关的审计技术数据库系统的安全框架可以划分为网络系统层、宿主操作系统层和数据库管理系统层三个层次。


    3.3.4 数据库系统的安全框架可以划分为网络系统层、宿主操作系统层和数据库管理系统层三个层次。备份与恢复

    • 故障的种类:

    • 事务故障

    • 系统故障

    • 介质故障

    • 计算机病毒

    • 用户操作错误


    数据恢复的基本原理数据库系统的安全框架可以划分为网络系统层、宿主操作系统层和数据库管理系统层三个层次。:

    数据库管理员及时备份数据库,发生故障时,利用已有的数据备份,把数据库恢复到原来的状态。

    • 常用的备份方法:

    • 静态备份(关闭数据库时将其备份)

    • 动态备份(数据库运行时将其备份)

    • 逻辑备份(利用软件技术实现原始数据库内容的镜像)

    • 恢复机制:

    • 数据库备份文件

    • 磁盘镜像

    • 数据库在线日志


    ad