计算机三级数据库技术

第一章 数据库应用系统开发方法

数据库应用系统生命周期

软件工程与软件开发方法

瀑布模型 快速原型模型 螺旋模型

DBAS生命周期

DBAS生命周期:项目规划、需求分析、系统设计、实现与部署、运行与维护

规划与分析

可行性分析:经济可行性、技术可行性、操作可行性、开发方案选择

需求分析

数据字典:数据项、数据结构、数据流、数据存储和处理

功能需求分析:数据处理需求分析(事务规范、数据流图)、业务规则需求分析(应用程序)

性能需求分析:操作响应时间、系统吞吐量(单位时间内完成的数据库事务数量)、允许并发访问最大用户、每TPS代价值

其他需求分析:存储需求、安全性需求、备份和恢复需求

系统设计

概念设计:数据库概念模型设计(需求规格说明书)、系统总体设计

逻辑设计:数据库逻辑结构设计、应用程序概要设计、数据库事务概要设计(read和write)

物理设计:数据库物理结构设计、数据库事务详细设计、应用程序详细设计

实现与部署

建立数据库结构、数据加载、事务和应用程序的编码及调试、系统集成,测试与试运行

系统部署

运行管理与维护

日常维护、监控与分析、性能优化调整、系统进化

三层浏览器/服务器结构:浏览器服务器、应用服务器(业务规则)、数据库服务器

第二 章需求分析

需求分析

需求获取的方法

面谈 实地观察 问卷调差 查阅资料

需求分析过程

标识问题 建立需求模型 描述需求 确认需求

需求分析方法

DFD需求建模方法

 

IDEF0需求建模方法

IDEFO图基本元素是矩形和箭头矩形方框代表功能活动

ML用例模型

UML方法采用面向对象思想建模,由用例图组成。

用例图由系统、角色、用例三种模型元素及关系构成。

第三章 数据库结构设计

数据库概念设计

明确建模目标  定义实体集    定义联系

建立信息模型  确定实体集属性    对信息模型进行集成与优化

IDEF1X建模方法

IDEF1X侧重分析、抽象和概括应用领域中的数据需求。

独立实体集:一个实体集的每一个实例都能被唯一地标识而不决定于它与其他是集体的联系

从属实体集:实体集的一个实例的唯一标识依赖于该实体集与其他实体集联系

 

标定型联系:子女实体集中的每个实例都是由它与双亲的联系而确定的  

(学生,课程) 成绩--->完全函数依赖--->n:1

非标定型联系:子女实体集中的每一个实例都是被唯一地确认而无需了解与之相联系的双亲实体集的实例   (系) 学生--->1:n

分类联系:两个或多个实体集之间的联系,每一个实例都恰好与一个且仅一个分类实体集的一个实例相联系 (月薪职工,计时职工) 职工

非确定联系(多对多):两个实体集之间,任一实体集的一个实例都将对应另一实体集的0个、1个或多个实例;可通过引入第三个实体集将非确定关系转化为确定关系

学生(课程)--->m:n

ER建模方法

实体或实例:客观存在并可互相区分的事务

实体集:同型实体的集合

属性:实体所具有的某一个特性,一个实体可由若干个属性刻画,每个属性的取值范围为域

:实体集中唯一标识每一个实体的属性或实体组合,一个实体集中任意两个实体在主码上的取值不能相同

联系:描述实体之间的相互关系,可以有属性;一对一,一对多,多对多

ER图表示方法

实体集:矩形框

联系:菱形框

属性:椭圆或圆角矩形   

数据库逻辑设计

函数依赖

R(U,D,DOM,F)

R:关系名

U:组成该关系的属性名集合

D:属性组U中的域

DOM:属性到域的映射

F:属性组U上的一组数据依赖

R<U,F> 当且仅当U上的一关系R满足

数据依赖:关系内部属性与属性之间的一种约束关系

完整性约束的表现形式: X ---> Y  

多值依赖:函数是唯一确定的关系,多值依赖却不能唯一确定

非平凡函数依赖:如果 x-->y ,且y ⊈x

平凡函数依赖:如果x-->y,且y⊆x

:SC(Sno,Cno,Grade)

非平凡函数依赖:(Sno,Cno)-->Grade

平凡函数依赖:(Sno,Cno)-->Sno , (Sno,Cno)-->Cno

f:完全函数依赖  p:部分函数依赖

部分函数依赖:如果x-->y ,但y不完全依赖于x,记作

完全函数依赖:如果x-->y,且对于任何X’ ⊂ x都有,则称y完全依赖于x,记作X--\-->Y

 

推论:如果,且x是单个属性,则

:选课(学号,课程号,课程名,成绩)

完全函数依赖:(学号,课程名)

部分函数依赖:(学号,课程号

传递函数依赖:如果x--->y,y--->z,且y ⊈x,y--\-->x,则称z传递函数依赖于x,记作

例:学生(学号,姓名,系名,系主任)

传递:

 

关系模式规范化分解

数据规范化:把一个低一级的关系模式分解为高一级关系的过程

范式:关系模式满足的约束条件

1NF:如果关系模式R,其所有属性都是不可再分的基本数据项。

 数据库表中的字段都是单一的属性,不可再分

2NF:如果关系模式R∈1NF,且每个非主属性完全函数依赖于主码

 实体的属性完全依赖于主码

3NF:如果关系模式R为2NF,并且R中的每个非主属性不传递依赖于R的主码,R∈3NF

关系模式规范化步骤

1NF

消除非主属性对码的部份函数依赖

2NF

消除非主属性对码的传递函数依赖

3NF

消除主属性对码的部分和传递函数依赖

BCNF

示例:设关系模式R(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。

要求:

  1. 写出R的基本函数依赖

(学号,课程号) →成绩     课程号→教师姓名 教师姓名→教师地址

  1. 则将R分解为2NF

R1 (学号,课程号,成绩)

R2 (课程号,教师姓名,教师地址)

(3)将R分解为3NF

R3 (课程号,教师姓名)

R4 (教师姓名,教师地址)

将ER图转化为关系模型

①一个实体型转换为一个关系模式

  实体的属性就是关系的属性,实体的主码就是关系的主码。

 

学生(学号,姓名,年龄,性别)

②一个1:1联系转换为一个关系模式

职工(职工号,姓名,年龄)

产品(产品号,产品名,价格,职工号)

③1:n联系转换为关系模式

 

仓库(仓库号,地点,面积)

产品(产品号,产品名,价格,仓库号,数量)

④m:n联系

学生(学号,姓名,年龄,性别)

课程(课程号,课程名,学时数)

选修(学号课程号,成绩)

⑤三个及以上实体间联系

 

供应商(供应商号,供应商名,地址)

零件(零件号,零件名,单价)

产品(产品号,产品名,型号)

供应(供应商号件号产品号,数量)

⑥同一实体集联系

1:1(一对一)

1:n(一对多)

m:n(多对多)

(1)将同实体集1:n联系转换为关系模型

 

职工(职工号,姓名,年龄,领导工号)

(2)将同实体集m:n联系转换为关系模型

 

零件(零件号,名称,价格)

组装(组装件号,零件号,数量)

组装件号为组装后的组合零件号。

数据库物理设计

物理设计概述

物理数据库设计是设计数据库的存储结构和物理实现方法

数据库的物理结构

文件组织、文件结构、文件存取、索引技术

文件:数据库中的一个基本表中的数据量很少,并且插入、删除、更新等非常频繁

顺序文件:基于查找码的顺序访问,快速的二分查找

散列文件:用户查询基于散列域值等值匹配,访问顺序随机

索引

索引技术的关键:建立记录域取值到记录的物理地址间的映射关系

有序索引:数据文件和索引文件(索引记录或索引项的集合)是有序索引技术中的两个主体

散列索引:哈希(Hash)索引机制,利用散列函数实现记录域取值到记录物理地址间的直接映射关系。

聚集(CLUSTERED)索引一个数据文件只可建立一个聚集索引,但可建立多个非聚集索引

稠密索引数据文件中每个查找码都对应索引记录

稀疏索引部分查找码的值对应索引记录

主索引主码属性集上建立的索引

辅索引:非主属性上建立的索引

唯一(UNIQUE)索引:索引列不包含重复值

单层索引:线性索引,每个索引项顺序排列直接指向数据文件中的数据记录

多层索引:大数据量文件中的采用多层树型(B,B+树)索引快速定位

数据库物理设计

数据库逻辑模式描述

面向目标数据库描述基本表和视图、设计基本表业务规则

文件组织与存取设计

数据分布设计

特征划分、时间地点划分、数据划分(水平 垂直)

确定系统配置

提供系统软硬件平台的初始配置信息

物理模式评估

对数据库物理设计结果从时间、空间、维护、代价等方面进行评估

第四章 数据库应用系统功能设计与实施

软件体系结构与设计过程

软件体系结构

构件,连接件,约束

风格类型:分层体系结构、模型-视图-控制器(MVC)体系结构、客户端/服务器体系结构。

软件设计过程

软件开发由设计、实现和测试三个环节组成,设计包括概要设计和详细设计。

原则:软件结构模块化、信息隐藏、抽象、逐步求精。

DBAS总体设计

DBAS体系结构设计

客户/服务器体系结构(C/S) 浏览器/服务器体系结构(B/S)

DBAS软件总体设计

模块结构图:模块、调用、数据、控制、转接。

软硬件选型与配置设计

考虑因素:数据规模、系统性能、安全可靠性、用户需求、项目预算情况。

业务规划初步设计

从系统的角度,规划DBAS的业务流程,使之符合客户的实际业务需要。

DBAS功能概要设计

将DBAS应用软件细化为模块/子模块,组成应用软件的系统-子系统-模块-子模块层次结构,并从结构、行为、数据三方面进行设计。

表示层概要设计

人机界面设计,设计原则:‘自主控制’;反馈及时,上下感知;容错与恢复;界面常规;输入灵活;界面简洁交互及时

业务逻辑层概要设计

设计原则:高内聚低(松)耦合,即构件单一原则;构件独立功能;接口简单明确;构件间关系简单,过于复杂,就细化,分解。

设计内容:结构,行为,数据,接口,故障处理、安全设计,系统维护和保障等(存储过程)

数据访问层概要设计

任务:针对DBAS的数据处理需求设计用于操作数据库的各类事务。

事务概要设计核心在于辨识和设计事务自身处理逻辑,注重流程,不考虑与平台相关、具体操作方法和事务实现机制。

一个完整的事务概要设计包括事务名称、访问的关系表及其数据项、事务逻辑(事务描述)、事务用户(使用、启动、调用该事务的软件模块和系统)。

事务:事务是访问并可能更新数据库中各种数据项的一个程序执行单元,事务的特性ACID。

原子性:一个不可分割的工作单位。

要么做,要么不做

一致性:从一个一致性状态变到另一个一致性状态

如果一个事务执行失败,则已做过的更新被恢复原状,像整个事务从未执行

隔离性:执行不能被其他事务干扰。

一个事务执行过程中,正在访问的数据被其他事务修改,导致处理结果不正确

持久性:永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

某系统运行过程异常,已提交事务所影响的数据未能正确写入磁盘且无法恢复

数据持久层概要设计

负责保存和管理应用系统数据

DBAS功能详细设计

表示层详细设计

人机界面采用原型迭代法合适,三个步骤:

(1)初步设计:设计人机交互命令系统并优化。(总体设计)

(2)用户界面细节设计:如组织形式、风格、彩色,操作方式。(概要设计)

(3)原型设计与改进:(详细设计)

业务逻辑层详细设计

设计各模块内部处理流程和算法、具体数据结构、对外详细接口等。

应用系统安全构架设计

数据安全设计

安全性保护

用户身份鉴别、权限控制、视图机制

完整性保护

设置完整性检查,作用于列(类型、范围、精度、排序)、元组(属性)、关系(集合)

的约束:对其值的类型、范围、精度、排序等约束

元组的约束:对记录中各个属性之间的联系约束

关系的约束:对若干个记录之间(一个关系的各个元组之间)、关系集   合以及之间联系的约束

并发性控制

封锁技术:排它锁(写锁X),共享锁(读锁S)

避免死锁原则:同一顺序访问资源、避免事务交互性、小事务缩短长度和时间、记录级别锁(行锁)、绑定连接

加锁协议规定了事务的加锁时间,持锁时间和释放锁时间

三级加锁协议可以完全保护并发数据事务的一致性

由于死锁导致事务回滚属于数据库故障的事务内部故障

两阶段的加锁协议可以保证事务调度的可串行性

为避免活锁现象的发生,先来先服务策略处理事务的加锁请求

数据库管理系统一般通过周期性检查事务等待图来实现死锁检测

数据备份与恢复

策略:双机热备、数据转储、数据加密存储

数据加密传输

手段:数字安全证书、对称密钥加密、数字签名、数字信封

环境安全设计

漏洞与补丁(查找更新)、计算机病毒防护(杀毒监控)、网络环境安全(防火墙)、物理环境安全(UPS)

  • 27
    点赞
  • 196
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值