第二章-数据库应用系统设计概述

更新时间:2023-05-11 08:55:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第二章-数据库应用系统设计概述

第二章 数据库应用系统 设计概述

第二章-数据库应用系统设计概述

2.1 数据库应用系统的开发数据库应用系统的开发方法很多, 数据库应用系统的开发方法很多, 如: 结构化生命周期法 原型法 面向对象方法

第二章-数据库应用系统设计概述

结构化生命周期法的基本思想 是把系统开发看作是工程项目,需 是把系统开发看作是工程项目, 要经过系统规划、系统分析、系统 要经过系统规划、系统分析、 系统规划 设计、系统实施、系统运行和维护 设计、系统实施、 5个阶段。 个阶段。 个阶段

第二章-数据库应用系统设计概述

结构化生命周期法的开发步骤

一、系统规划阶段在系统正式开发之前, 在系统正式开发之前,必须进行系统调查和可 行性分析。 行性分析。本阶段的主要任务是根据用户的 系统开发请求,初步调查,明确问题, 系统开发请求,初步调查,明确问题,进行 可行性分析研究。 可行性分析研究。

第二章-数据库应用系统设计概述

二、系统分析阶段系统分析阶段可以说是系统开发 中最重要的一步,主要任务是: 中最重要的一步,主要任务是: 需求分析 信息采集 编写需求说明书

第二章-数据库应用系统设计概述

三、系统设计阶段如果系统分析阶段的任务是解决 干什么”的问题, “干什么”的问题,那么系统设计 阶段的任务是确定“怎么干” 阶段的任务是确定“怎么干”。系 统设计工作由总体设计和详细设计 两部分组成。 两部分组成。

第二章-数据库应用系统设计概述

四、系统实施阶段第一步:应选择合适的软件开发工具; 第一步:应选择合适的软件开发工具; 第二步:使用所选择的开发工具,建立数据库, 第二步:使用所选择的开发工具,建立数据库, 输入原始数据, 输入原始数据,编写和调试各个模块的应用 程序代码; 程序代码; 第三步: 第三步:完成各个子系统和模块之间的联合调 试和测试; 试和测试;

第二章-数据库应用系统设计概述

五、系统运行和维护阶段将系统交给用户正式投入使用, 将系统交给用户正式投入使用,便进入系统的 运行和维护阶段。用户在使用过程中, 运行和维护阶段。用户在使用过程中,可能 会发现很多问题,或提出新的要求, 会发现很多问题,或提出新的要求,开发者 应不断对系统进行修改、维护或调整, 应不断对系统进行修改、维护或调整,直至 系统生命周期的结束。 系统生命周期的结束。

第二章-数据库应用系统设计概述

2.2 数据库的设计1、概念模型设计 、 概念模型设计的描述最常用的工具是E 概念模型设计的描述最常用的工具是 E-R 图 , 具体步骤如下: 具体步骤如下: 确定实体; (1)确定实体; 确定实体的属性; (2)确定实体的属性; 确定实体的主键; (3)确定实体的主键; 确定实体间的联系类型; (4)确定实体间的联系类型; 画出E (5)画出E-R图;

第二章-数据库应用系统设计概述

2、逻辑数据库设计 、逻辑数据库设计是将概念

模型转换成数据库管理系统 所支持的数据模型。如果是关系型数据库管理系统, 所支持的数据模型。如果是关系型数据库管理系统, 就应将概念模型转换为关系模型, 即将E 就应将概念模型转换为关系模型 , 即将 E-R 图中的 实体和联系转换为关系模式。 实体和联系转换为关系模式。学院(学院代码、学院名称、院长姓名、学院地址、学院电话、学院简介) 学院(学院代码、学院名称、院长姓名、学院地址、学院电话、学院简介) 系部(系部编号、学院代码、系部名称、主任、地址、电话、专业介绍) 系部(系部编号、学院代码、系部名称、主任、地址、电话、专业介绍) 教师(教师编号、系部编号、姓名、性别、学历、职称、办公电话、手机、 教师(教师编号、系部编号、姓名、性别、学历、职称、办公电话、手机、 E-mail、照片) 、照片) 班级(班级编号、班级名称、班长、联系电话、奖励处罚、系部编号) 班级(班级编号、班级名称、班长、联系电话、奖励处罚、系部编号) 学生(学号、姓名、性别、出生年月、籍贯、个人简历、照片、奖励处罚、 学生(学号、姓名、性别、出生年月、籍贯、个人简历、照片、奖励处罚、 班级编号) 班级编号)

第二章-数据库应用系统设计概述

3、规范化理论的应用 、在逻辑数据库设计中,形成了一组关系模式。 在逻辑数据库设计中,形成了一组关系模式。 如果关系模式没有设计好, 如果关系模式没有设计好,就会出现数据冗 数据更新异常、数据删除异常、 余、数据更新异常、数据删除异常、数据插 入异常等问题。 入异常等问题。规范化理论的目的就是设计 好的关系模式。 好的关系模式。

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

第二章-数据库应用系统设计概述

2.3 规范化理论的基本概念1.函数依赖 .– 函数依赖是属性之间的一种联系。如果一个关 函数依赖是属性之间的一种联系。 系模式设计的不好, 系模式设计的不好,说明在它的某些属性之间 存在“不良”的函数依赖。 存在“不良”的函数依赖。 – 设在关系 中,X、Y为R的两个属性子集,如 设在关系R中 的两个属性子集, 、 为 的两个属性子集 果每个X值只有一个 值与之对应,则称属性Y 果每个 值只有一个Y值与之对应,则称属性 值只有一个 值与之对应 函数依赖于属性X;或称属性X惟一确定属性 惟一确定属性Y, 函数依赖于属性 ;或称属性 惟一确定属性 , 记作X→Y。 记作 。 – 如果 如果X→Y,同时 不包含于 ,则称 不包含于X,则称X→Y是非 ,同时Y不包含于 是非 平凡的函数依赖。( 。(注 平凡的函数依赖。(注:

本书介绍的是非平凡 的函数依赖) 的函数依赖)

第二章-数据库应用系统设计概述

2.完全函数依赖 .– 设在关系 中,X、Y为R的两个属性子集,若 设在关系R中 的两个属性子集, 、 为 的两个属性子集 X→Y,且对于 的任何一个真子集 ,都有 的任何一个真子集X’, ,且对于X的任何一个真子集 X’→Y, 则称 完全函数依赖于 。若X’ Y,则 则称Y完全函数依赖于 完全函数依赖于X。 , 部分函数依赖于X。 称Y部分函数依赖于 。 部分函数依赖于

第二章-数据库应用系统设计概述

3.传递函数依赖 .– 设在关系 中,X、Y、Z为R的三个属性子集, 设在关系R中 的三个属性子集, 、 、 为 的三个属性子集 不依赖于Y,则称Z传递 若X→Y,Y→Z,且X不依赖于 ,则称 传递 , , 不依赖于 函数依赖于X 函数依赖于 。

第二章-数据库应用系统设计概述

2.4 规范化设计– 1971年IBM公司的科德博士提出了规范化理 年 公司的科德博士提出了规范化理 从而提供了判别关系模式优劣的标准。 论,从而提供了判别关系模式优劣的标准。 – 规范化的基本思想是消除关系模式中的数据冗 解决数据插入 更新、删除时发生异常现 数据插入、 余,解决数据插入、更新、删除时发生异常现 象。这就要求关系数据库设计出来的关系模式 要满足规范的模式, 范式” 要满足规范的模式,即“范式”。 – 科德博士为不同程度的规范化设立了不同的标 称为范式(Normal Form)。由于规范化的 准,称为范式 。 程度不同,就产生了不同的范式。 程度不同,就产生了不同的范式。

第二章-数据库应用系统设计概述

数据库的逻辑设计为什么要遵循 一定的规范化理论? 一定的规范化理论?例如,要求设计教学管理数据库, 例如,要求设计教学管理数据库,其关系模式 教学管理数据库 SCD如下 如下: SCD如下: SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE) 其中,SNO表示学生学号 SN表示学生姓名 表示学生学号, 表示学生姓名, 其中,SNO表示学生学号,SN表示学生姓名, AGE表示学生年龄 DEPT表示学生所在的系别 表示学生年龄, 表示学生所在的系别, AGE表示学生年龄,DEPT表示学生所在的系别, MN表示系主任姓名 CNO表示课程号 SCORE表 表示系主任姓名, 表示课程号, MN表示系主任姓名,CNO表示课程号,SCORE表 示成绩。 示成绩。

第二章-数据库应用系统设计概述

根据实际情况,这些数据有如下语义规定: 根据实际情况,这些数据有如下语义规定: 一个系有若干个学生, 1. 一个系有若干个学生,但一个学生只属 于一个系; 于一个系; 一个系只有一名系主任, 2. 一个系只有一名系主任,但一个系主任 可以同时兼几个系的系主任; 可以同时兼几个系的系主任; 3. 一个学生可以选修多门功课,每门课程 一个学生可以选修多门功课, 可有若干学生选修; 可有若干学生选修

; 每个学生学习课程有一个成绩。 4. 每个学生学习课程有一个成绩。 在此关系模式中填入一部分具体的数据, 在此关系模式中填入一部分具体的数据,则可 得到SCD关系模式的实例, SCD关系模式的实例 得到SCD关系模式的实例,即一个教学管理数 据库,如图所示。 据库,如图所示。

第二章-数据库应用系统设计概述

SNO S1 S1 S2 S2 S2 S2 S3 S3 S3 S4

SN 赵亦 赵亦 钱尔 钱尔 钱尔 钱尔 孙珊 孙珊 孙珊 李思

AGE 17 17 18 18 18 18 20 20 20 男

DEPT 计算机 计算机 信息 信息 信息 信息 信息 信息 信息 自动化

MN 刘伟 刘伟 王平 王平 王平 王平 王平 王平 王平 刘伟

CNO C1 C2 C5 C6 C7 C5 C1 C2 C4 C1

SCORE 90 85 57 80 70 70 0 70 85 93

第二章-数据库应用系统设计概述

分析以上关系中的数据,可以看出: (SNO,CNO)属性的组合能唯一标识一个元 属性的组合能唯一标识一个元 所以(SNO,CNO)是该关系模式的主键 。 是该关系模式的主键 组 , 所以 是该关系模式的 主键。 但在进行数据库的操作时, 但在进行数据库的操作时 , 会出现以下几 方面的问题。 方面的问题。 数据冗余。 1. 数据冗余。每个系名和系主任的名字 存储的次数等于该系的学生人数乘以每 个学生选修的课程门数, 个学生选修的课程门数 , 同时学生的姓 年龄也都要重复存储多次, 名 、 年龄也都要重复存储多次 , 数据的 冗余度很大,浪费了存储空间。 冗余度很大,浪费了存储空间。

第二章-数据库应用系统设计概述

2. 插入异常。如果某个新系没有招生, 插入异常。如果某个新系没有招生, 尚无学生时, 尚无学生时 , 则系名和系主任的信息无 法插入到数据库中。 法插入到数据库中。 因为在这个关系模式中 , (SNO,CNO)是 因为在这个关系模式中, 是 主关系键。根据关系的实体完整性约束 实体完整性约束, 主关系键。根据关系的实体完整性约束, 主关系键的值不能为空,而这时没有学生, 主关系键的值不能为空,而这时没有学生, SNO和CNO均无值 因此不能进行插入操作。 均无值, SNO和CNO均无值,因此不能进行插入操作。 另外 , 当某个学生尚未选课 , 即 CNO 未知 , 另外, 当某个学生尚未选课, CNO未知 未知, 实体完整性约束还规定, 实体完整性约束还规定,主关系键的值不 能部分为空,同样不能进行插入操作。 能部分为空,同样不能进行插入操作。

第二章-数据库应用系统设计概述

删除异常。 3. 删除异常。 –某系学生全部毕业而没有招生时,删 某系学生全部毕业而没有招生时, 某系学生全部毕业而没有招生时 除全部学生的记录则系名、 除全部学生的记录则系名、系主任也随 之删除,而这个系依然存在, 之删除,而这个系依然存在,在数据库 中却无法找到该系的信息。 中却无法找到该系的信息。 –另外,如果某

个学生不再选修C1课程, 另外, 另外 如果某个学生不再选修C 课程, 本应该只删去C1 ,但C1是主关系键的一 本应该只删去C 部分,为保证实体完整性, 部分,为保证实体完整性,必须将整个 元组一起删掉,这样, 元组一起删掉,这样,有关该学生的其 它信息也随之丢失。

本文来源:https://www.bwwdw.com/article/bmbe.html

Top