版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据库原理及应用》数据库虚拟教研室制作数据库目录数据设计的方法和步骤需求分析概念结构设计逻辑结构设计物理结构设计第九讲数据库设计数据库设计的方法数据库设计是指根据应用需求,通过一系列规范化的步骤,设计并创建合理有效的数据库结构的过程。目前常用的数据库设计方法大多源自新奥尔良法。新奥尔良法将数据库设计分成需求分析、概念结构设计、逻辑结构设计和物理结构设计等几个阶段。在设计的每一阶段采用一些辅助方法来具体实现,主要包括以下两种:基于E-R模型的数据库设计方法(概念结构设计)基于3NF的数据库设计方法(逻辑结构设计)数据设计的步骤按照规范设计方法,数据库设计分为6个阶段。第1步需要分析需求分析说明书第2步概念结构设计概念模型:E-R图第3步逻辑结构设计逻辑模型:关系模式第4步物理结构设计物理模型:物理结构图第5步数据库的实施创建数据库,编写应用程序第6步数据库的运行与维护评价数据库系统性能并完善分析和设计阶段实现和运行阶段需求分析需求分析的任务:对现实世界要处理的对象(组织、部门、企业等)进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能,形成需求分析说明书。具体地说,需求分析阶段的任务包括以下三个主要方面:1.调查分析用户的活动(1)调查组织机构情况,包括组织机构的部门组成情况、各部门的职责和任务等。(2)调查各部门的业务活动情况,包括各部门输入和输出的数据及其格式、所需的表格与卡片、加工处理数据的步骤、输入和输出的部门等。需求分析2.收集和分析需求数据,确定系统边界在熟悉业务活动的基础上,协助用户明确对新系统的各种需求,包括用户的信息需求、处理需求、安全性和完整性的需求等。(1)信息需求指目标范围内的所有实体、实体的属性以及实体间的联系等数据对象,即用户需要从数据库中获得信息的内容与性质。由信息需求可以导出数据需求,即在数据库中需要存储哪些数据。(2)处理需求指用户为了得到需求的信息而对数据进行加工处理的需求,包括某种处理功能的响应时间、处理的方式(批处理或联机处理)等。(3)安全性和完整性的需求。在定义信息需求和处理需求的同时必须相应确定安全性和完整性约束。需求分析3.编写需求分析说明书需求分析阶段的最后一项工作是编写需求分析说明书。编写需求分析说明书是一个不断反复、逐步深入和完善的过程,需求分析说明书通常包括如下内容。(1)系统概况,如系统的目标、范围、背景等。(2)系统架构设计,如前端、后端、数据库和系统部署等。(3)系统功能需求分析,如用户角色和功能需要等。(4)系统数据库设计。(5)系统性能需求分析。(6)系统界面设计。(7)系统的安全性、兼容性、可访问性、可维护性、可扩展性等。例:学生选课系统需求分析说明书概念结构设计是的主要任务是将需求分析得到的实体及其联系转换为信息世界的概念模型。概念模型概念模型是对现实世界中实体以及实体间联系的一种抽象和概括模型。在概念结构设计中,E-R模型是广泛用于数据库设计工作的一种概念模型,它通过E-R图(实体-联系图)来表达实体之间的关系,E-R图通过实体、属性和联系三个基本概念来描述数据模型。1.基本概念实体:现实世界中可以区别于其他对象的一个事物或一个对象。实体可以是一个具体对象,如一个学生、一本书等;实体也可以是抽象的,如开设的一门课程或预订的一趟航班等。实体集:具有相同特征的实体的集合。实体集通常用矩形框表示,框内标注实体集名。属性:实体集中全部实体都具有的共同特征。通常用椭圆表示属性,并用直线将其与相应的实体集相连。联系:描述的是不同实体集的实体之间以及同一实体集内不同实体之间的关联关系。在E-R图中,联系通常用菱形框表示,框内注明联系名,并用直线连接相关的实体,同时在线上标明联系的类型。概念模型概念模型例如,学生选修课程的E-R图,如图所示。在E-R图中,通常用实体集(矩形框)和属性(椭圆)组合表示一个实体型,用下划线表示关键属性(或主键),注意:在很多情况下,为了表述简洁,人们会把实体集或实体型简称为实体。2.实体间联系的类型实体之间的联系有一对一(1:1)、一对多(1:n)和多对多(m:n)3种类型。概念模型(1)1:1联系:若对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。一对一联系通常出现在两个实体之间。例如,一个学生只有一张校园卡,一张校园卡只属于一个学生。二元实体间1:1联系(2)1:n联系:若对于实体集A中的每一个实体,实体集B中有n个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多的联系,记为1:n。二元实现间1:n联系一元实现间1:n联系概念模型(3)m:n联系:若对于实体集A中的每一个实体,实体集B中有n个实体与之联系,反之亦然,则称实体集A与实体集B具有多对多的联系,记为m:n。二元实现间m:n联系多元实现间m:n联系概念模型3.强联系和弱联系强联系又称为完全参与联系,即该端实体至少有一个参与联系,最小为1,可表示为1..m(最少为1,最多为m);弱联系又称为部分参与联系,即该端实体可以不参与联系,最小为0,可表示为0..m(最少为0,最多为m)。概念模型例如,部门与职工之间的联系,一个部门有多个职工,一个职工属于0个或1个部门。实体间发生联系时往往会产生联系属性(也称作关联属性),联系属性属于联系,不属于任何实体,即联系动作发生时该属性存在,联系动作不发生时该属性不存在。4.联系属性概念模型例如,学生选修课程时,学期、成绩、上课时间、上课地点等属性是在学生选修课程这个动作发生的情况下产生的,都称为联系属性。。复合属性是由两个或多个简单属性组成的属性。复合属性通常不直接体现为单独的椭圆,而是分解为它的原子或简单属性,并将这些简单属性直接与实体相连。5.复合属性概念模型例如,如果一个“家庭住址”是复合属性,它可能分解为“城市”、“街道”、“门牌号”等简单属性。根据属性不可再分原则,图(a)是错误的,图(b)是正确的。图(a)图(b)概念结构设计概念结构设计方法可根据需求分析文档中数据库系统的复杂程度,分为两种设计方法。(1)对于简单的数据库系统,可以直接设计全局E-R模型。(2)对于复杂的数据库系统,可以先设计局部E-R模型,再合成全局E-R模型。简单概念结构设计的方法简单概念结构设计分为两个步骤。(1)先画出所有的实体型,明确每个实体的属性和主键。(2)再画实体之间的联系,明确联系的类型和联系属性。概念结构设计【例9.1】:以下是某数据库系统与数据库设计相关的语义,请根据语义进行概念结构设计,画出E-R图。(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中;
仓库有仓库号、仓库类型和面积,零件有零件号、名称、
规格、单价、描述等属性。(2)一个职工只能在一个仓库工作,一个仓库有多个职工当保管员;
职工有职工号、姓名、性别、职务、出生年月属性。(3)职工之间有领导与被领导关系,仓库主任领导若干保管员;(4)一个供应商可以供应若干项目多种零件;而一个项目可以使用不同供应商供应的多种零件;一种零件可由不同供应商供给多个工程项目。供应商有供应商号、姓名、住址、电话、帐号,项目有项目号、预算、开工日期等属性。(1)确定实体:实体往往是需求说明书中的名词概念结构设计(2)确定实体的属性及键(主属性)概念结构设计(3)确定实体的联系概念结构设计(4)确定联系的基数和属性概念结构设计逻辑结构设计
逻辑结构设计的任务是把概念结构设计阶段得到的E-R图转换为关系模式。
1.逻辑结构设计的目标和任务(1)实体到关系模式的转换;(2)联系到关系模式的转换。2.设计方法,分两步完成实体的名和属性就是关系的名和属性,实体的码就是关系的码。关系的名和属性也可以不同,但意义要相同。(1)实体到关系模式的转换student(sno,sname,sex,age,sdept)1学生学号姓名性别年龄专业逻辑结构设计1∶1联系:由于两个实体的地位是平等的,可以将任意一端对应的关系模式合并,方法为在一个关系模式中加入另一个关系模式的码。(2)联系到关系模式的转换校园卡(卡号,……)学生(学号,……,校园卡号)学生持有校园卡11校园卡(卡号,……,学号)学生(学号,……)逻辑结构设计1∶n联系:一般将1端实体的码和联系本身的属性与n端的关系模式合并。部门(部门号,……)职工(职工号,……,部门号)部门有职工1n逻辑结构设计职工(职工号,姓名,性别,领导)1∶n联系:只有一个实体的1∶n联系,该联系在转换过程中需要在实体关系模式的属性中加入另一个属性。逻辑结构设计逻辑设计项目(项目编号,……)职工(职工号,……)参加(项目编号,职工号,参与时间,……)m∶n联系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码组成关系的码或关系码的一部分,或定义一个自增型的逻辑主键。项目参与职工mn参与时间项目(项目编号,……)职工(职工号,……)参加(id,项目编号,职工号,参与时间,……)
m∶n联系供应商(供应商号,……)项目(项目号,……)零件(零件号,……)订单(供应商号,项目号,零件号,数量)供应商(供应商号,……)项目(项目号,……)零件(零件号,……)订单(id,供应商号,项目号,零件号,数量)逻辑结构设计【例9.3】将例9.1数据库系统设计所得到的E-R图转换为相应的关系模式。逻辑结构设计(1)将实体转换为关系模式供应商(供应商号,姓名,帐号,地址,电话)项目(项目号,预算,开工日期)零件(零件号,名称,规格,单价,描述)职工(职工号,姓名,性别,职务,出生年月)仓库(仓库号,仓库类型,仓库面积)逻辑结构设计(2)将联系转换为关系模式供应(id,供应商号,项目号,零件号,数量)存放(零件号,仓库号,库存量)职工(职工号,姓名,性别,职务,仓库号,领导)逻辑结构设计(3)合并关系模式。供应商(供应商号,姓名,帐号,地址,电话)项目(项目号,预算,开工日期)零件(零件号,名称,规格,单价,描述)仓库(仓库号,仓库类型,仓库面积)供应(id,供应商号,项目号,零件号,数量)存放(id,零件号,仓库号,库存量)职工(职工号,姓名,性别,职务,仓库号,领导)逻辑结构设计(4)标出外键供应商(供应商号,姓名,帐号,地址,电话)项目(项目号,预算,开工日期)零件(零件号,名称,规格,单价,描述)职工(职工号,姓名,性别,职务,出生年月,仓库号,领导)仓库(仓库号,仓库类型,仓库面积)供应(id,供应商号,项目号,零件号,数量)存放(id,零件号,仓库号,库存量)逻辑结构设计物理结构设计选取一个最适合应用环境要求的物理结构的过程,称为数据库的物理设计。物理设计过程需要对存取时间、存储空间利用率和维护代价及各种用户要求进行权衡,其结果可以产生多种方案。在实施数据库前,对这些方案进行细致的评价,以选择一个较优的方案。数据库物理设计的主要目标是:提高数据库的性能;节省存储容量。1.物理结构设计的目标
(1)确定数据库的物理结构,在RDBMS中主要指存取方法和存储结构。确定DBMS选型;确定系统架构设计及其环境配置;确定表结构、索引、视图、存储过程、触发器、日志和备份等;确定系统的完整性、一致性和安全性等要求。
2.物理结构设计的步骤物理结构设计(2)对物理结构进行评价。评价的重点是时间和空间效率,选择一个较优的方案。数据库服务器部署环境一般为Linux系统,在Linux系统下默认是区分大小写。因此,数据库名、表名、字段名,都使用小写字母;表名仅仅表示表里面的实体内容,不应该表示实体数量,如学生表用student,而不是students;如果存储的字符串长度几乎相等,使用char类型varchar类型长度不要超过5000,如果存储长度大于此值,定义字段类型为text。小数类型根据不同的数据库产品可定义为decimal或number,禁止使用float和double。表必备的附加字段:create_time,update_time,记录记录创建和修改时间。业务上具有唯一特性的字段,即使是组合字段,也必须创建唯一索引。超过三个表禁止join操作,多表关联查询时,保证被关联的字段需要有索引。在varchar字段上建立索引时,需指定索引长度,没必要对全字段建立索引。3.物理结构设计中应遵循的一些规范物理结构设计当确定好数据库的物理结构后,当数据库中的表比较多且关系比较复杂时,最好选择数据库设计工具来对数据库进行物理设计,然后通过正向工程自动生成建库建表语句;常用的数据库设计工具有PowerDesigner,MySQLWorkbench等,
Powe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中国重组细胞因子类药物行业市场规模及投资前景预测分析报告
- 2026年中国重组肠激酶 行业市场规模及投资前景预测分析报告
- 内镜医师VR培训的长期效果追踪分析
- 内镜出血预测模型的医患沟通应用
- 内镜中心内镜存储追溯系统应用
- 内镜下缝合术治疗ESD穿孔的动物实验研究
- 内镜下止血联合益生菌治疗凝血障碍
- 内镜下消化道早癌内镜下治疗模拟训练
- 内镜下器械创新转化路径
- 内镜下双技术治疗Barrett食管护理要点
- 中医体重管理科普
- 英语-湖北省荆州2026届高三年级元月质量检测(荆州宜昌荆门元调)
- 光伏电站热成像检测技术方案
- 2025心肺复苏指南
- 领导干部学习法治思想研讨发言汇编
- 中国临床肿瘤学会(csco)胰腺癌诊疗指南
- 铸造砂供货合同范本
- 2025至2030商用保温容器行业项目调研及市场前景预测评估报告
- 华为合伙人与股权分配方案
- 2025至2030中国汽车滤清器行业市场深度调研及需求分析与投资报告
- DB54∕T 0366-2024 耕地土壤重金属污染修复技术导则
评论
0/150
提交评论