数据库设计的基本步骤和方法_第1页
数据库设计的基本步骤和方法_第2页
数据库设计的基本步骤和方法_第3页
数据库设计的基本步骤和方法_第4页
数据库设计的基本步骤和方法_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DatabaseDesignLiuXiufeng

InformationandtechnologyschoolObjectivesforStudents1.GraspthebasicprocessesandmethodofDBdesign

(掌握数据库设计的基本步骤和方法)2.Graspthemethodofrequirementsanalysis

(掌握需求分析的方法)3.Graspthebasicprocessesandmethodofconceptualdesign(掌握概念结构设计的基本步骤和方法)

LectureOutlineDBDesignOverview1BasicProcessesofDBDesign2RequirementsAnalysis3ConceptualStructureDesign

4ConceptualDesign

4Conclusion57.1DBDesignOverviewThedefinitionofDBdesign数据库设计

对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。TwopointsofDBDesign1informationmanagementrequirements(信息管理要求):

storeandmanageallkindsofdataobjectsindatabase2datamanipulationrequirements(数据操作要求):

dosomeoperationsondata,eg.search,add,delete,alterTheFeaturesofDBDesign1.Basicrulesofconstructingdatabse:

(数据库建设的基本规律)三分技术,七分管理,十二分基础数据Management(管理)1.ManageDBASProjects2.ManagebusinessprocessofenterpriseBasicData(基础数据)

1.collect、store2.Update2.Combinedatadesignandoperationdesign:(数据设计和处理设计相结合)数据库设计应用系统设计概念模型设计建立数据库数据分析逻辑数据库设计物理数据库设计子模式设计功能说明功能模型系统调试应用开发应用设计事务设计功能分析现实世界结构和行为分离的设计TheMethodofDBDesign1.Needsfortheknowledgebelow:

ComputerbasicknowledgePrincipleandMethodofSoftwareEngineerMethodandTechniqueofprogrammingdesignDatabasebasicknowledgeDatabaseDesigntechnologyKnowledgeinthespecificfield计算机的基础知识软件工程的原理和方法程序设计的方法和技巧数据库的基本知识数据库设计技术应用领域的知识TheMethodofDBDesign2.Differentkindsofmethodsincluding:

NewOrleans(新奥尔良法)MethodbasedonE-RModel(基于E-R模型的数据库设计方法)3NFMethod(第三范式设计方法)ObjectDefinitionLanguageMethod(面象对象的设计方法)BasicProcessesofDBDesignPreparationforDBDesign

数据库设计的准备工作DecidePeopleParticipatinginDBDesign(选定参加设计的人)1.系统分析人员、数据库设计人员(Analyser

andDesigner)自始至终参与数据库设计2.用户和数据库管理员(usersandDBA)主要参加需求分析和数据库的运行维护3.应用开发人员(Applicationprogrammers)在系统实施阶段参与进来,负责编制程序和准备软硬件环境DBASLifeCycleDatabaseInitialstudy(requirementanalysis)Analysethecompanysituation,defineproblemsandconstrains,defineobjectives,definescopeandboundariesDatabaseDesignCreatetheconceptualdesignCreatethelogicaldesignCreatethephysicaldesignImplementationandloadingInstallDBMS,createthedatabase(s),loadinitialdataDBASLifeCycleDBASLifeCycle(cont.)TestingandevaluationTestthedatabaseFine-tune(adjust)thedatabaseEvaluatethedatabaseanditsapplicationprogramsOperationProducetherequiredinformationflowMaintenanceandevolutionIntroducechangesMakeenhancements7.1.3数据库设计的基本步骤数据库设计分6个阶段需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行和维护

需求分析和概念设计独立于任何数据库管理系统逻辑设计和物理设计与选用的DBMS密切相关BasicprocessesofDBDesign

PhysicalDesign

LogicDesign

Mini-WorldView

RequirementsCollectionandAnalysis

ConceptualDesign

BasicprocessesofDBDesignConceptualDesignHighleveldescription(oftendoneERmodel)EntityRelationshipmodellingandnormalisationDBMSsoftwareselectionLogicaldesignTranslateERintoDBMSdatamodel

Eg.translatemodelintodefinitionsfortables,views...SchemaRefinementconsistency,normalizationPhysicaldesignStoragestructures-optimizeperformanceDistributeddatabasedesign数据设计和处理设计同时进行图表

TwoKeypointsinDBDesign

2.CarryOutTheTwoJobsSimultaneouslyatAllStages,ConsultEachOther,SupplementEachOtherCombineDataDesignandManipulationDesignCloselySchemasinDBDesign数据库设计不同阶段形成的数据库各级模式SchemasinDBDesign数据库的各级模式7.2RequirementsofAnalysis

(需求分析)TasksofRA(需求分析的任务)1.Definingrequirements

(详细调查现实世界要处理的对象,如组织、部门、企业,充分了解原系统)2.Analyzingrequirements(明确用户的各种需求)InputsOutputsProcessesDataStorage3.Decidethefunctionandboundariesofnewsystem(确定新系统的功能)

同时充分考虑今后可能的扩充和改变InstanceofAInputsIndexpageSearchstringClickingonlinksOutputsSearchresultsWebpageProcessesSearchdatabaseforsearchstringRetrievewebpageDataStorageKeypointsofRA

需求分析的重点TheCriticPointsofInvestigation:Data,Operation

调查的重点是“数据”和“处理”GetUsers’NeedsonDB(获得用户对数据库要求)InformationManagementRequirements(信息要求)OperationManagementRequirements(处理要求)SecurityandIntegrityRequirements(安全性与完整性要求)DifficultiesofRAMakefinalusers’needsclear(确定用户最终需求)Reasons:Userslackforcomputerknowledge(用户缺少计算机知识)Designerlackforusers’professionalknowledge(设计人员缺少用户的专业知识)Solutions(解决方法):Designershouldkeeptheconstantanddeepcommunicationwithusers(设计人员必须不断深入地与用户进行交流)OftenUsedMethods(1)跟班作业(2)开调查会(3)请专人介绍(4)询问(5)设计调查表请用户填写(6)查阅记录StructuredAnalysis

(结构化分析方法)从最上层的系统组织机构入手自顶向下、逐层分解分析系统StructuredAnalysis

(结构化分析方法)1.AnySystemcanbeAbstractedtobeadiagrambelow:数据流数据流数据存储信息要求数据来源处理数据输出处理要求StructuredAnalysis

(结构化分析方法)2.DecomposeFunctionsandData(分解处理功能和数据)

(1)DecomposeFunctions将处理功能的具体内容分解为若干子功能

(2)DecomposeData处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图

(3)expressionmethods(表达方法)处理逻辑:用判定表或判定树来描述数据:用数据字典来描述3.GetConfirmationofusers将分析结果再次提交给用户,征得用户的认可ProcedureofRA

(需求分析过程)7.2.3DataDictionary

(数据字典)1.PurposeofDataDictionary进行详细的数据收集和数据分析所获得的主要结果2.ContentofDictionaryDataItem(数据项)DataStructure(数据结构)DataFlow(数据流)DataStorage(数据存储)ProcedureofOperation)处理过程)⒈DataItem(数据项)

Atomicitem(数据项是不可再分的数据单位)

DescriptionofDataitem

数据项描述={数据项名,数据项含义说明,别名, 数据类型,长度,取值范围,取值含义, 与其他数据项的逻辑关系,数据项之间的 联系}⒉Datastructure

(数据结构)Specifythedataitems’srelationship

(数据结构反映了数据之间的组合关系。)Consistofseveraldataitemsordatastructure,ortwothingstogether(一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。)

DescriptionofDataStructure 数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}⒊DataFlow(数据流)

movingrouteofdatastructureinsystem

(数据流是数据结构在系统内传输的路径。

Description:

数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}⒋DataStorage(数据存储)Placefordatatostayortobestored,alsoinputandoutputdataflow

(数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。)Description:数据存储描述={数据存储名,说明,编号, 输入的数据流,输出的数据流, 组成:{数据结构},数据量,存取频度, 存取方式}⒌Procedureofoperation

(处理过程)DecisionDiagramorDecisionTreeusedtodealwithlogics(具体处理逻辑一般用判定表或判定树来描述)Description:处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}RequirementsAnalysis

(需求分析)分析用户活动产生,产生业务流程图确定系统范围,产生系统范围图分析用户活动涉及的数据,产生数据流图分析系统数据,产生数据字典需求分析文档SummaryforrequirementsAnalysis设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充必须强调用户的参与7.3ConceptualDesignUsingtheERModel(用ER图进行概念结构设计)Designchoices:Shouldaconceptbemodeledasanentityoranattribute?Shouldaconceptbemodeledasanentityorarelationship?Identifyingrelationships:Binaryorternary?NoteconstraintsoftheERModel:Alotofdatasemanticscan(andshould)becaptured.ButsomeconstraintscannotbecapturedinERdiagrams.We’llrefinethingsinourlogical(relational)designAbstractMethods1.分类(Classification,ismemberof)EntitySet(Student,Teacher,Course)2.聚集(Aggregation,ispartof)

Attribute(Student:Sno,Sname,Ssex,Sage)3.概括(Generalization,issubsetof)SuperclassSubclassStudentundergraduategraduateExampleofERModelEntitySetRelationshipSetAttribute老师学生教mn学号姓名专业班级职称性别姓名职号CategorizationofAttibutes

(属性的分类)基本属性和复合属性单值属性和多值属性多值属性的处理将原来的多值属性用几个新的单值属性来表示

将原来的多值属性用一个新的实体类型表示

导出属性图5.4地址属性的层次结构邮政编码省(市)名地址区名街道家庭地址门牌号码多值属性的表示零件编码零件零件名供应商规格进货价格销售价格价格图5.8导出属性的表示工号职工姓名基本工资奖金房租实发工资OperationonERModel

(ER模型上的操作)教师号姓名出生日期职务工资奖金教师(a)教师号姓名出生日期教师不变信息职务工资奖金教师号教师变动信息(b)图

实体类型的垂直分裂DesignoflocalERModel

设计局部ER模式

需求分析结果确定局部结构范围实体定义联系定义属性分配还有局部结构待分析有无进入全局ER模式设计图

局部ER模式设计确定属性的原则:属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:N的。属性分配的原则:当多个实体类型用到同一属性时,一般把属性分配给那些使用频率最高的实体类型,或分配给实体值少的实体类型。有些属性不宜归属于任一实体类型,只说明实体之间联系的特性AnExampleofIntergrationofE-RModelLocalERModelofstudentsLocalERModelofCoursesIntergrationofERModelWholeERModel(全局ER模式)无全局ER模式设计局部ER模式确定公共实体类型合并两个局部ER模式检查并消除冲突还有未合并的局部模式有还有冲突吗有1.Attributeconflict2.Structureconflict3.Nameconflict:OptimizationofWholeERModel

全局ER模式的优化Uniteentitysets(实体类型的合并)Eliminateredundantattributes(冗余属性的消除

)Eliminateredundantrelationship(冗余联系的消除)A)UniteEntities

(合并实体)一般1:1联系的两个实体可以合并为一个实体如果两个实体在应用中经常需要同时处理,也可考虑合并例如病人和病历,如果实际中通常是查看病人时必然要查看病历,可考虑将病历合并到病人实体中减少了联接查询开销,提供效率FlashB)eliminateredundantAttributes(消除冗余属性)分ER图中一般不存在冗余属性,但集成后可能产生冗余属性例如,教育统计数据库中,一个分ER图中含有高校毕业生数、在校学生数,另一个分ER图中含有招生数、各年级在校学生数每个分ER图中没有冗余属性,但集成后“在校学生数”冗余,应消除FlashLogicDBDesignConvertingERtoRelationalFairlyanalogousstructureButmanysimpleconceptsinERaresubtletospecifyinrelationsERtoRelationEntitysetstotables.

CREATETABLEEmployees(ssnCHAR(11),nameCHAR(20),lotINTEGER,

PRIMARYKEY(ssn))ssnnamelot123-22-3666Attishoo48231-31-5368Smiley22131-24-3650Smethurst35EmployeesssnnamelotRelationshipSetstoTablesIntranslatingamany-to-manyrelationshipsettoarelation,attributesoftherelationmustinclude:1)Keysforeachparticipatingentityset(asforeignkeys).Thissetofattributesformsasuperkeyfortherelation.2)Alldescriptiveattributes.CREATETABLEWorks_In(

ssnCHAR(1),didINTEGER,sinceDATE,

PRIMARYKEY(ssn,did),FOREIGNKEY(ssn)REFERENCESEmployees,FOREIGNKEY(did)REFERENCESDepartments)ssndidsince123-22-3666511/1/91123-22-3666563/3/93231-31-5368512/2/92Review:KeyConstraintsEachdepthasatmostonemanager,accordingtothekeyconstraint

onManages.Translationtorelationalmodel?Many-to-Many1-to-11-toManyMany-to-1dnamebudgetdidsincelotnamessnManagesEmployeesDepartmentsTranslatingERwithKeyConstraintsSinceeachdepartmenthasauniquemanager,wecouldinsteadcombineManagesandDepartments.CREATETABLEManages(

ssnCHAR(11),didINTEGER,sinceDATE,

PRIMARYKEY(did),

FOREIGNKEY(ssn)REFERENCESEmployees,

CREATETABLEDept_Mgr(

didINTEGER,

dnameCHAR(20),budgetREAL,

ssnCHAR(11),

sinceDATE,

PRIMARYKEY(did),FOREIGNKEY(ssn)REFERENCESEmployees)Vs.dnamebudgetdidsincelotnamessnManagesEmployeesDepartmentsReview:ParticipationConstraintsDoeseverydepartmenthaveamanager?Ifso,thisisaparticipationconstraint:theparticipationofDepartmentsinManagesissaidtobetotal(vs.partial).EverydidvalueinDepartmentstablemustappearinarowoftheManagestable(withanon-nullssnvalue!)lotnamednamebudgetdidsincenamedname

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论