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

下载本文档

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

文档简介

DatabaseDesignLiuXiufengInformationandtechnologyschoolDatabaseDesignLiuXiufengObjectivesforStudents1.GraspthebasicprocessesandmethodofDBdesign

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

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

ObjectivesforStudents1.Grasp2LectureOutlineDBDesignOverview1BasicProcessesofDBDesign2RequirementsAnalysis3ConceptualStructureDesign

4ConceptualDesign

4Conclusion5LectureOutlineDBDesignOverv37.1DBDesignOverviewThedefinitionofDBdesign数据库设计

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

storeandmanageallkindsofdataobjectsindatabase2datamanipulationrequirements(数据操作要求):

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

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

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

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

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

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

andDesigner)自始至终参与数据库设计2.用户和数据库管理员(usersandDBA)主要参加需求分析和数据库的运行维护3.应用开发人员(Applicationprogrammers)在系统实施阶段参与进来,负责编制程序和准备软硬件环境PreparationforDBDesign

数据库设11DBASLifeCycleDBASLifeCycle12DatabaseInitialstudy(requirementanalysis)Analysethecompanysituation,defineproblemsandconstrains,defineobjectives,definescopeandboundariesDatabaseDesignCreatetheconceptualdesignCreatethelogicaldesignCreatethephysicaldesignImplementationandloadingInstallDBMS,createthedatabase(s),loadinitialdataDBASLifeCycleDatabaseInitialstudy(requir13DBASLifeCycle(cont.)TestingandevaluationTestthedatabaseFine-tune(adjust)thedatabaseEvaluatethedatabaseanditsapplicationprogramsOperationProducetherequiredinformationflowMaintenanceandevolutionIntroducechangesMakeenhancementsDBASLifeCycle(cont.)Testing147.1.3数据库设计的基本步骤数据库设计分6个阶段需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行和维护

需求分析和概念设计独立于任何数据库管理系统逻辑设计和物理设计与选用的DBMS密切相关7.1.3数据库设计的基本步骤数据库设计分6个阶段15BasicprocessesofDBDesign

PhysicalDesign

LogicDesign

Mini-WorldView

RequirementsCollectionandAnalysis

ConceptualDesign

BasicprocessesofDBDesignP16BasicprocessesofDBDesignConceptualDesignHighleveldescription(oftendoneERmodel)EntityRelationshipmodellingandnormalisationDBMSsoftwareselectionLogicaldesignTranslateERintoDBMSdatamodelEg.translatemodelintodefinitionsfortables,views...SchemaRefinementconsistency,normalizationPhysicaldesignStoragestructures-optimizeperformanceDistributeddatabasedesignBasicprocessesofDBDesignCo17数据设计和处理设计同时进行图表数据设计和处理设计同时进行图表18

TwoKeypointsinDBDesign

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

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

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

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

21InstanceofAInputsIndexpageSearchstringClickingonlinksOutputsSearchresultsWebpageProcessesSearchdatabaseforsearchstringRetrievewebpageDataStorageInstanceofAInputs22KeypointsofRA

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

调查的重点是“数据”和“处理”GetUsers’NeedsonDB(获得用户对数据库要求)InformationManagementRequirements(信息要求)OperationManagementRequirements(处理要求)SecurityandIntegrityRequirements(安全性与完整性要求)KeypointsofRA

需求分析的重点TheCr23DifficultiesofRAMakefinalusers’needsclear(确定用户最终需求)Reasons:Userslackforcomputerknowledge(用户缺少计算机知识)Designerlackforusers’professionalknowledge(设计人员缺少用户的专业知识)Solutions(解决方法):Designershouldkeeptheconstantanddeepcommunicationwithusers(设计人员必须不断深入地与用户进行交流)DifficultiesofRAMakefinalu24OftenUsedMethods(1)跟班作业(2)开调查会(3)请专人介绍(4)询问(5)设计调查表请用户填写(6)查阅记录OftenUsedMethods(1)跟班作业25StructuredAnalysis

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

(结构化分析方法)26StructuredAnalysis

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

(结构化分析方法)127StructuredAnalysis

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

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

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

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

(结构化分析方法)228ProcedureofRA

(需求分析过程)ProcedureofRA

(需求分析过程)297.2.3DataDictionary

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

(数据字典)130⒈DataItem(数据项)

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

DescriptionofDataitem

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

(数据结构)Specifythedataitems’srelationship

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

DescriptionofDataStructure 数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}⒉Datastructure

(数据结构)Specify32⒊DataFlow(数据流)

movingrouteofdatastructureinsystem

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

Description:

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

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

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

(处理过程35RequirementsAnalysis

(需求分析)分析用户活动产生,产生业务流程图确定系统范围,产生系统范围图分析用户活动涉及的数据,产生数据流图分析系统数据,产生数据字典需求分析文档RequirementsAnalysis

(需求分析)分析36SummaryforrequirementsAnalysis设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充必须强调用户的参与SummaryforrequirementsAnaly377.3ConceptualDesignUsingtheERModel(用ER图进行概念结构设计)Designchoices:Shouldaconceptbemodeledasanentityoranattribute?Shouldaconceptbemodeledasanentityorarelationship?Identifyingrelationships:Binaryorternary?NoteconstraintsoftheERModel:Alotofdatasemanticscan(andshould)becaptured.ButsomeconstraintscannotbecapturedinERdiagrams.We’llrefinethingsinourlogical(relational)design7.3ConceptualDesignUsingth38AbstractMethods1.分类(Classification,ismemberof)EntitySet(Student,Teacher,Course)2.聚集(Aggregation,ispartof)Attribute(Student:Sno,Sname,Ssex,Sage)3.概括(Generalization,issubsetof)SuperclassSubclassStudentundergraduategraduateAbstractMethods1.分类(Classifi39ExampleofERModelEntitySetRelationshipSetAttribute老师学生教mn学号姓名专业班级职称性别姓名职号ExampleofERModelEntitySetR40CategorizationofAttibutes

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

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

(属41OperationonERModel

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

实体类型的垂直分裂OperationonERModel

(ER模型上的操42DesignoflocalERModel

设计局部ER模式

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

局部ER模式设计确定属性的原则:属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:N的。属性分配的原则:当多个实体类型用到同一属性时,一般把属性分配给那些使用频率最高的实体类型,或分配给实体值少的实体类型。有些属性不宜归属于任一实体类型,只说明实体之间联系的特性DesignoflocalERModel

设计局部E43AnExampleofIntergrationofE-RModelLocalERModelofstudentsLocalERModelofCoursesIntergrationofERModelAnExampleofIntergrationof44WholeERModel(全局ER模式)无全局ER模式设计局部ER模式确定公共实体类型合并两个局部ER模式检查并消除冲突还有未合并的局部模式有还有冲突吗有1.Attributeconflict2.Structureconflict3.Nameconflict:WholeERModel(全局ER模式)无全局ER模式45OptimizationofWholeERModel

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

(合并实体)一般1:1联系的两个实体可以合并为一个实体如果两个实体在应用中经常需要同时处理,也可考虑合并例如病人和病历,如果实际中通常是查看病人时必然要查看病历,可考虑将病历合并到病人实体中减少了联接查询开销,提供效率FlashA)UniteEntities

(合并实体)一般1:1联系47B)eliminateredundantAttributes(消除冗余属性)分ER图中一般不存在冗余属性,但集成后可能产生冗余属性例如,教育统计数据库中,一个分ER图中含有高校毕业生数、在校学生数,另一个分ER图中含有招生数、各年级在校学生数每个分ER图中没有冗余属性,但集成后“在校学生数”冗余,应消除FlashB)eliminateredundantAttribut48LogicDBDesignConvertingERtoRelationalFairlyanalogousstructureButmanysimpleconceptsinERaresubtletospecifyinrelationsLogicDBDesignConvertingER49ERtoRelationEntitysetstotables.

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

PRIMARYKEY(ssn))ssnnamelot123-22-3666Attishoo48231-31-5368Smiley22131-24-3650Smethurst35EmployeesssnnamelotERtoRelationEntitysetstot50RelationshipSetstoTablesIntranslatingamany-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/92RelationshipSetstoTablesIn51Review:KeyConstraintsEachdepthasatmostonemanager,accordingtothekeyconstraint

onManages.Translationtorelationalmodel?Many-to-Many1-to-11-toManyMany-to-1dnamebudgetdidsincelotnamessnManagesEmployeesDepartmentsReview:KeyConstraintsEachde52TranslatingERwithKeyConstraintsSinceeachdepartmenthasauniquemanager,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.dnamebudgetdidsincelotnamessnManagesEmployeesDepartmentsTranslatingERwithKeyConstr53Review:ParticipationConstraintsDoeseverydepartmenthaveamanager?Ifso,thisisaparticipationconstraint:theparticipationofDepartmentsinManagesissaidtobetotal(vs.partial).EverydidvalueinDepartmentstablemustappearinarowoftheManagestable(withanon-nullssnvalue!)lotnamednamebudgetdidsincenamednamebudgetdidsinceManagessinceDepartmentsEmployeesssnWorks_InReview:ParticipationConstrai54ParticipationConstraintsinSQLWecancaptureparticipationconstraintsinvolvingoneentitysetinabinaryrelationship,butlittleelseCREATETABLEDept_Mgr(

didINTEGER,dnameCHAR(20),budgetREAL,ssnCHAR(11)NOTNULL,sinceDATE,

PRIMARYKEY(did),FOREIGNKEY(ssn)REFERENCESEmployees)ParticipationConstraintsinS55PhysicDesign设计数据库的物理结构为关系模式选择存取方法设计数据库的存储结构物理设计的考虑查询时间效率存储空间维护代价物理设计依赖于给定的计算机系统PhysicDesign设计数据库的物理结构561.Selectaccessmethod存取方法:数据的存取路径例如图书查询存取方法的选择目的是加快数据存取的速度索引存取方法聚簇存取方法散列存取方法可以使用什么样的存取方法依赖于具体的DBMS1.Selectaccessmethod存取方法:数据的572.DesignstoragestructureofDatabase确定数据的存放位置针对应用环境和DBMS特性,合理安排数据存储位置表和索引可考虑放在不同的磁盘上,使查询时可以并行读取日志文件和备份文件由于数据量大,而且只有恢复时使用,可放到磁带上确定系统配置系统初始参数不一定适合应用并发用户数、同时打开的数据库对象数、缓冲区分配参数、物理块的大小等2.Designstoragestructureof58ImplementofDatabase建立实际的数据库结构CREATETABLECREATEINDEX……初始数据装入安全性设计和故障恢复设计应用程序的编码和调试ImplementofDatabase建立实际的数据库结59OperationandMaintain试运行根据初始数据对数据库系统进行联调执行测试:功能、性能维护数据备份和恢复数据库安全性控制和完整性控制数据库性能的分析和改造数据库的重组织OperationandMaintain试运行60UsefulLinks人大《数据库系统概论》国家精品课程ThedatabasecourseinharvarduniversityTheDatabaseandInformationSystemsLaboratoryonUIUCUsefulLinks人大《数据库系统概论》国家精品课程61Conclusion1.数据库设计需要综合多种知识,通常由有经验的系统分析人员来进行2.搞清楚应用系统的业务逻辑是设计的关键,包括系统的数据要求和处理要求3.在业务的基础上选择合适的技术Conclusion1.数据库设计需要综合多种知识,通常由有62ConclusionConclusion63DatabaseDesignLiuXiufengInformationandtechnologyschoolDatabaseDesignLiuXiufengObjectivesforStudents1.GraspthebasicprocessesandmethodofDBdesign

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

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

ObjectivesforStudents1.Grasp65LectureOutlineDBDesignOverview1BasicProcessesofDBDesign2RequirementsAnalysis3ConceptualStructureDesign

4ConceptualDesign

4Conclusion5LectureOutlineDBDesignOverv667.1DBDesignOverviewThedefinitionofDBdesign数据库设计

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

storeandmanageallkindsofdataobjectsindatabase2datamanipulationrequirements(数据操作要求):

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

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

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

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

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

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

andDesigner)自始至终参与数据库设计2.用户和数据库管理员(usersandDBA)主要参加需求分析和数据库的运行维护3.应用开发人员(Applicationprogrammers)在系统实施阶段参与进来,负责编制程序和准备软硬件环境PreparationforDBDesign

数据库设74DBASLifeCycleDBASLifeCycle75DatabaseInitialstudy(requirementanalysis)Analysethecompanysituation,defineproblemsandconstrains,defineobjectives,definescopeandboundariesDatabaseDesignCreatetheconceptualdesignCreatethelogicaldesignCreatethephysicaldesignImplementationandloadingInstallDBMS,createthedatabase(s),loadinitialdataDBASLifeCycleDatabaseInitialstudy(requir76DBASLifeCycle(cont.)TestingandevaluationTestthedatabaseFine-tune(adjust)thedatabaseEvaluatethedatabaseanditsapplicationprogramsOperationProducetherequiredinformationflowMaintenanceandevolutionIntroducechangesMakeenhancementsDBASLifeCycle(cont.)Testing777.1.3数据库设计的基本步骤数据库设计分6个阶段需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行和维护

需求分析和概念设计独立于任何数据库管理系统逻辑设计和物理设计与选用的DBMS密切相关7.1.3数据库设计的基本步骤数据库设计分6个阶段78BasicprocessesofDBDesign

PhysicalDesign

LogicDesign

Mini-WorldView

RequirementsCollectionandAnalysis

ConceptualDesign

BasicprocessesofDBDesignP79BasicprocessesofDBDesignConceptualDesignHighleveldescription(oftendoneERmodel)EntityRelationshipmodellingandnormalisationDBMSsoftwareselectionLogicaldesignTranslateERintoDBMSdatamodelEg.translatemodelintodefinitionsfortables,views...SchemaRefinementconsistency,normalizationPhysicaldesignStoragestructures-optimizeperformanceDistributeddatabasedesignBasicprocessesofDBDesignCo80数据设计和处理设计同时进行图表数据设计和处理设计同时进行图表81

TwoKeypointsinDBDesign

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

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

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

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

84InstanceofAInputsIndexpageSearchstringClickingonlinksOutputsSearchresultsWebpageProcessesSearchdatabaseforsearchstringRetrievewebpageDataStorageInstanceofAInputs85KeypointsofRA

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

调查的重点是“数据”和“处理”GetUsers’NeedsonDB(获得用户对数据库要求)InformationManagementRequirements(信息要求)OperationManagementRequirements(处理要求)SecurityandIntegrityRequirements(安全性与完整性要求)KeypointsofRA

需求分析的重点TheCr86DifficultiesofRAMakefinalusers’needsclear(确定用户最终需求)Reasons:Userslackforcomputerknowledge(用户缺少计算机知识)Designerlackforusers’professionalknowledge(设计人员缺少用户的专业知识)Solutions(解决方法):Designershouldkeeptheconstantanddeepcommunicationwithusers(设计人员必须不断深入地与用户进行交流)DifficultiesofRAMakefinalu87OftenUsedMethods(1)跟班作业(2)开调查会(3)请专人介绍(4)询问(5)设计调查表请用户填写(6)查阅记录OftenUsedMethods(1)跟班作业88StructuredAnalysis

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

(结构化分析方法)89StructuredAnalysis

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

(结构化分析方法)190StructuredAnalysis

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

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

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

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

(结构化分析方法)291ProcedureofRA

(需求分析过程)ProcedureofRA

(需求分析过程)927.2.3DataDictionary

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

(数据字典)193⒈DataItem(数据项)

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

DescriptionofDataitem

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

(数据结构)Specifythedataitems’srelationship

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

DescriptionofDataStructure 数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}⒉Datastructure

(数据结构)Specify95⒊DataFlow(数据流)

movingrouteofdatastructureinsystem

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

Description:

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

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

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

(处理过程98RequirementsAnalysis

(需求分析)分析用户活动产生,产生业务流程图确定系统范围,产生系统范围图分析用户活动涉及的数据,产生数据流图分析系统数据,产生数据字典需求分析文档RequirementsAnalysis

(需求分析)分析99SummaryforrequirementsAnalysis设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充必须强调用户的参与SummaryforrequirementsAnaly1007.3ConceptualDesignUsingtheERModel(用ER图进行概念结构设计)Designchoices:Shouldaconceptbemodeledasanentityoranattribute?Shouldaconceptbemodeledasanentityorarelationship?Identifyingrelationships:Binaryorternary?NoteconstraintsoftheERModel:Alotofdatasemanticscan(andshould)becaptured.ButsomeconstraintscannotbecapturedinERdiagrams.We’llrefinethingsinourlogical(relational)design7.3ConceptualDesignUsingth101AbstractMethods1.分类(Classification,ismemberof)EntitySet(Student,Teacher,Course)2.聚集(Aggregation,ispartof)Attribute(Student:Sno,Sname,Ssex,Sage)3.概括(Generalization,issubsetof)SuperclassSubclassStudentundergraduategraduateAbstractMethods1.分类(Classifi102ExampleofERModelEntitySetRelationshipSetAttribute老师学生教mn学号姓名专业班级职称性别姓名职号ExampleofERModelEntitySetR103CategorizationofAttibutes

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

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

(属104OperationonERModel

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

实体类型的垂直分裂OperationonERModel

(ER模型上的操105DesignoflocalERModel

设计局部ER模式

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

局部ER模式设计确定属性的原则:属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:N的。属性分配的原则:当多个实体类型用到同一属性时,一般把属性分配给那些使用频率最高的实体类型,或分配给实体值少的实体类型。有些属性不宜归属于任一实体类型,只说明实体之间联系的特性DesignoflocalERModel

设计局部E106AnExampleofIntergrationofE-RModelLocalERModelofstudentsLocalERModelofCoursesIntergrationofERModelAnExampleofIntergrationof107WholeERModel(全局ER模式)无全局ER模式设计局部ER模式确定公共实体类型合并两个局部ER模式检查并消除冲突还有未合并的局部模式有还有冲突吗有1.Attributeconflict2.Structureconflict3.Nameconflict:WholeERModel(全局ER模式)无全局ER模式108OptimizationofWholeERModel

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

(合并实体)一般1:1联系的两个实体可以合并为一个实体如果两个实体在应用中经常需要同时处理,也可考虑合并例如病人和病历,如果实际中通常是查看病人时必然要查看病历,可考虑将病历合并到病人实体中减少了联接查询开销,提供效率FlashA)UniteEntities

(合并实体)一般1:1联系110B)eliminateredundantAttributes(消除冗余属性)分ER图中一般不存在冗余属性,但集成后可能产生冗余属性例如,教育统计数据库中,一个分ER图中含有高校毕业生数、在校学生数,另一个分ER图中含有招生数、各年级在校学生数每个分ER图中没有冗余属性,但集成后“在校学生数”冗余,应消除FlashB)eliminateredundantAttribut111LogicDBDesignConvertingERtoRelationalFairlyanalogousstructureButmanysimpleconceptsinERaresubtletospecifyinrelationsLogicDBDesignConvertingER112ERtoRelationEntitysetstotables.

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

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

PRIMARYKEY(ssn,did),FOREIGNKEY(ssn)REFERENCESEmployees,FOREIGNKEY(did)

温馨提示

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

评论

0/150

提交评论