




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019/9/11,1,主讲人 徐万万,数据库及其应用系统开发,Access 2003,张迎新 主编,2019/9/11,2,第二章,数据库应用系统 设计概述,2019/9/11,3,2.1 数据库应用系统的开发 2.2 数据库的设计 2.3 规范化理论的基本概念 2.4 规范化设计 2.5 “教学管理系统”的开发 2.6 Access2003开发工具,2019/9/11,4,2.1 数据库应用系统的开发,数据库应用系统的开发方法 结构化生命周期法(开发周期较长) 原型法(以用户需求为准) 面向对象方法(应变能力较强),2019/9/11,5,结构化生命周期法 基本思想: 把系统的开发看作工程项目。 需要经过系统规划、系统分析、系统设计、系统实施、系统运行和维护五个阶段。,2019/9/11,6,结构化生命周期法的开发步骤,一、系统规划阶段 在系统正式开发之前,必须进行系统调查和可行性分析。 本阶段的主要任务是根据用户的系统开发请求,初步调查,明确问题,进行可行性分析研究。,2019/9/11,7,二、系统分析阶段,系统分析阶段可以说是系统开发中最重要的一步。 主要任务: 需求分析 信息采集 编写需求说明书,2019/9/11,8,三、系统设计阶段 如果系统分析阶段的任务是解决“干什么”的问题,那么系统设计阶段的任务是确定“怎么干”。 系统设计工作由总体设计和详细设计两部分组成。,2019/9/11,9,四、系统实施阶段 第一步:选择合适的软件开发工具。 第二步:使用所选择的开发工具,建立数据库,输入原始数据,编写和调试各个模块的应用程序代码。 第三步:完成各个子系统和模块之间的联合调试和测试。,2019/9/11,10,五、系统运行和维护阶段 系统正式交给用户投入使用,便进入系统的运行和维护阶段。 用户在使用过程中,可能会发现很多问题,或提出新的要求,开发者应不断对系统进行修改、维护或调整,直至系统生命周期的结束。,2019/9/11,11,1、概念模型设计 最常用的工具是E-R图。步骤如下: (1)确定实体; (2)确定实体的属性; (3)确定实体的主键; (4)确定实体间的联系类型; (5)画出E-R图。,2.2 数据库的设计,2019/9/11,12,2、逻辑数据库设计 任务是将概念模型转换成数据库管理系统所支持的数据模型。 如果是关系型数据库管理系统,就应将概念模型转换为关系模型,即将E-R图中的实体和联系转换为关系模式(二维表)。,2019/9/11,13,2、逻辑数据库设计 关系模式(二维表) 学院(学院代码、学院名称、院长姓名、学院地址、学院电话、学院简介) 系部(系部编号、学院代码、系部名称、主任、地址、电话、专业介绍) 教师(教师编号、系部编号、姓名、性别、学历、职称、办公电话、手机、E-mail、照片) 班级(班级编号、班级名称、班长、联系电话、奖励处罚、系部编号) 学生(学号、姓名、性别、出生年月、籍贯、个人简历、照片、奖励处罚、班级编号),2019/9/11,14,3、规范化理论的应用 在上一步的逻辑数据库设计中,形成了一组关系模式。如果关系模式没有设计好,就会出现数据冗余、数据更新异常、数据删除异常、数据插入异常等问题。 规范化理论的目的就是设计好的关系模式。,2019/9/11,15,4、物理数据库设计 任务是设计数据库的存储结构和物理实现方法。 例如:字段的存储类型及属性,2019/9/11,16,1函数依赖 函数依赖是属性之间的一种联系。 如果一个关系模式设计得不好,说明在它的某些属性之间存在“不良”的函数依赖。,2.3 规范化理论的基本概念,2019/9/11,17,设在关系R中,X、Y为R的两个属性子集,如果每个X值只有一个Y值与之对应,则称属性Y函数依赖于属性X;或称属性X惟一确定属性Y,记作XY。例如:学号确定姓名 如果XY,同时Y不包含于X,则称XY是非平凡的函数依赖。(注:本书介绍的是非平凡的函数依赖),2.3 规范化理论的基本概念,2019/9/11,18,2完全函数依赖 设在关系R中,X、Y为R的两个属性子集,若XY,且对于X的任何一个真子集X,都有XY, 则称Y完全函数依赖于X。若X Y,则称:Y部分函数依赖于X。 反例见P27表2-3,2019/9/11,19,3传递函数依赖 设在关系R中,X、Y、Z为R的三个属性子集。若XY,YZ,且X不依赖于Y,则称:Z传递函数依赖于X 。 反例见P28表2-6,2019/9/11,20,1971年IBM公司的科德博士提出了规范化理论,从而提供了判别关系模式优劣的标准。 规范化的基本思想是消除关系模式中的数据冗余。解决数据插入、更新、删除时发生异常现象。这就要求关系数据库设计出来的关系模式要满足规范的模式,即“范式”。,2.4 规范化设计,2019/9/11,21,科德博士为不同程度的规范化设立了不同的标准,称为范式(Normal Form)。 由于规范化的程度不同,就产生了不同的范式。,2.4 规范化设计,2019/9/11,22,数据库的逻辑设计为什么要遵循一定的规范化理论?,例如:要设计教学管理数据库,其关系模式SCD如下: SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE) 其中SNO表示学号,SN表示学生姓名,AGE表示学生年龄,DEPT表示学生所在系别,MN表示系主任姓名,CNO表示课程号,SCORE表示成绩。,2019/9/11,23,根据实际情况,这些数据有如下语义规定: 1.一个系有若干个学生,但一个学生只属于一个系; 2.一个系只有一名系主任,但一个人可以同时兼几个系的系主任; 3.一个学生可以选修多门功课,每门课程可有若干学生选修; 4.每个学生学习一门课程只有一个成绩。 在这个关系模式中填入一部分具体的数据,可得到SCD关系模式的实例,即一个教学管理数据库,如下表所示。,2019/9/11,24,课程,分数,学号,系别,2019/9/11,25,分析: 从以上关系的数据中可以看出:(SNO,CNO)属性的组合能唯一标识一个元组,所以(SNO,CNO)是该关系模式的主键。 但在进行数据库的操作时,会出现以下几方面的问题:,2019/9/11,26,数据冗余。 每个系名和系主任的名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。,2019/9/11,27,2. 插入异常。 如果某个新系没有招生,则系名和系主任的信息无法插入到数据库中(缺少主键值)。 因为在这个关系模式中,(SNO,CNO)是主键。根据关系的实体完整性约束,主键的值不能为空,而这时没有学生,SNO和CNO均无值,因此不能进行插入操作。,2019/9/11,28,另外,当某个学生尚未选课,即CNO未知,根据实体完整性约束的规定,主键的值不能部分为空,同样不能进行插入操作。,2019/9/11,29,3. 删除异常。 某系学生全部毕业而没有再招生时,删除全部学生的记录则系名、系主任也随之删除。 此时,这个系虽然存在,在数据库中却无法找到该系的信息。,2019/9/11,30,3. 删除异常。 另外,如果某个学生不再选修C1课程,本应该只删去C1,但C1是主键的一部分,为保证实体完整性,必须将整个元组一起删掉。 这样,有关该学生的其它信息也随之丢失。,2019/9/11,31,4. 更新异常。 如果学生改名,则该学生的所有记录都要逐一修改SN; 又如某系更换系主任,则属于该系的学生记录都要修改MN的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏了数据的完整性。,2019/9/11,32,由于存在以上问题,SCD是一个不好的关系模式。产生上述问题的原因,直观地说,是因为关系中“包罗万象”,内容太杂了。 怎样才能得到一个好的关系模式呢?,2019/9/11,33,把关系模式SCD分解为下面三个结构简单的关系模式,如图所示。 学生S(SNO,SN,AGE,DEPT) 选课SC(SNO,CNO,SCORE) 系D(DEPT,MN),2019/9/11,34,S SC,分解后的关系模式,2019/9/11,35,经过上述分析,分解后的关系模式是一个好的关系数据库模式。 好的关系模式应具备以下四个条件: 1. 尽可能少的数据冗余。 2. 没有插入异常。 3. 没有删除异常。 4. 没有更新异常。,2019/9/11,36,按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模式转变为好的关系数据库模式,这就是关系的规范化。,2019/9/11,37,把关系数据库的规范化要求设立的标准称为范式(Normal Form)。 由于规范化的程度不同,就产生了不同的范式。,范式,2019/9/11,38,范式,满足最基本规范化要求的关系模式叫第一范式 在第一范式中进一步满足一些要求为第二范式 以此类推就产生了第三范式等概念。 每种范式都规定了一些限制约束条件。,2019/9/11,39,第一范式(1NF) 第一范式(First Normal Form)是最基本的规范形式,即关系中每个属性都是不可再分的简单项。 每个规范化的关系都属于1NF,这也是它之所以称为“第一”的原因。,2019/9/11,40,第一范式(1NF) 定义 如果关系模式R,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF,记作R1NF。,2019/9/11,41,只要将所有的属性表示为不可再分的数据项,转化后的关系即符合第一范式。,2019/9/11,42,然而,一个关系模式仅仅属于第一范式是不适用的。 关系模式SCD属于第一范式,但其具有大量的数据冗余,具有插入异常、删除异常、更新异常等弊端。,2019/9/11,43,第二范式(2NF) 定义 如果关系模式R1NF,且每个非主属性都完全函数依赖于任意一个侯选关键字,则称R属于第二范式,简称2NF,记作R2NF。,2019/9/11,44,其原因是:非主属性“学分”仅仅依赖于“课程号”,也就是说只是部分依赖于主关键字(学号,课程号),而不是完全依赖。,2019/9/11,45,2NF的关系模式解决了1NF中存在的一些问题,规范化的程度前进了一步,但2NF的关系模式在进行数据操作时,仍然存在着一些问题。,2019/9/11,46,第三范式(3NF) 定义 如果关系模式R2NF,且每个非主属性都不传递依赖于R的任何候选关键字,则称R属于第三范式,简称3NF,记作R3NF 。 如果 R3NF,则R也是2NF。 反之 R2NF,则R不一定是3NF。,2019/9/11,47,在该表中,关键字是学号,由于是单个关键字,没有部分依赖的问题,这个关系肯定属于第二范式。 带来问题的原因是:关系中存在传递依赖。“院系名称”、“院系地址”两个属性依赖于“院系编号”,而“院系编号”又依赖于“学号”,因此,“院系名称”、“院系地址”两个属性通过“院系编号”依赖于“学号”,这种现象称为传递依赖。,2019/9/11,48,解决办法是将R分解为以下两个关系:,2019/9/11,49,BCNF(第四范式) 定义:如果关系模式的所有属性(包括主属性和非主属性)都不传递依赖于R的任何侯选关键字,则称R属于BCNF,记作RBCNF。,如果R BCNF ,则R也是3NF 。,2019/9/11,50,关系模式规范化的目的和原则 一个关系的分量都是不可再分的数据项,就可称作规范化的关系,但这只是最基本的规范化。 这样的关系模式是合法的。 但有些关系模式存在插入、删除、修改异常、数据冗余等弊病。 规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。,2019/9/11,51,规范化的基本原则就是遵从概念单一化“一事一地”的原则,即一个关系只描述一个实体或者实体间的联系。 若多于一个实体,就把它“分离”出来。 因此,所谓规范化,实质上是概念的单一化,即一个关系表示一个实体。,2019/9/11,52,注意1 在数据库设计过程中,一般说来,1NF很容易遵守,完全遵守3NF的人很少。从关系模型的角度来看,满足3NF最符合标准,这样的设计容易维护。而BCNF的范式出现机会较少,而且会破坏完整性,可以在设计时不考虑它。,2019/9/11,53,注意2 规范化的优点是减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度,但在数据查询方面,需要进行关系模式之间的连接操作,因而影响查询的速度。因此,并不一定要求全部模式都达到BCNF,有时故意保留部分冗余可能更方便地查询数据。,2019/9/11,54,2.5 “教学管理系统”的开发,2.5.1 系统规划阶段 某大学是一所多科性大学,学校设有经济学院、化学与环境工程学院、机械自动化学院、信息工程学院、计算机学院、商学院、会计学院等11个学院。学校现有教职工近1400人,学生18000多人。,2019/9/11,55,1提出开发请求 随着信息量的增加,教学管理工作越来越繁杂,手工管理的弊端日益显露。 为了提高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3.1 代数式 教学设计 2024-2025学年北师大版七年级数学上册
- 第六单元教学设计-2023-2024学年语文六年级下册统编版
- 2024年广东旅游控股集团招聘7~8人遇见旅控共创美好笔试参考题库附带答案详解
- 2024年中铁建铜冠投资有限公司2025届校园招聘笔试参考题库附带答案详解
- 第一单元第3课《物联网与生活》教学设计 2023-2024学年浙教版(2023)初中信息技术七年级下册
- 2024年9月广东粤电惠新热电有限公司社会公开招聘25人笔试参考题库附带答案详解
- 2024年浙江省农艺类高校招生职业理论考试试题及答案
- 23 范进中举2024-2025学年九年级语文上册同步教学设计(河北专版)
- 2025年收费的生产服务及修理项目合作计划书
- 第四章第三节 影响气候的主要因素 教学设计2023-2024学年湘教版地理七年级上册
- 《人力资源管理》全套教学课件
- 部编人教版语文小学六年级下册第四单元主讲教材解读(集体备课)
- 形位公差测量方法
- 车辙防治指导意见(确定稿)
- 标准击实试验自动计算记录表
- 一个近乎完美的微信引流招生方案
- 门诊特殊病种审批表
- T_CEC 102.1-2016 电动汽车充换电服务信息交换 第1部分_总则_(高清-最新版)
- 国际形式发票模板
- 山西省会计师事务所服务收费标准(汇编)
- 陕西延长石油(集团)有限责任公司企业年金方案
评论
0/150
提交评论