资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,模块二 数据库设计方法,教学根本要求,掌握:构造关系模型的方法;,理解:实体的概念模型和E-R方法;,了解:应用数据库的设计。,数据库设计方法,21 实体关系,22 关系数据库的设计,模块二 数据库设计方法,小结,21 实体关系,2.1.1 概念模型,2.1.2 构造E-R模型,2.1.3 构造关系模型,数据库设计方法实体关系,数据库设计方法实体关系概念模型,2.1.1 概 念 模 型,1概念模型的根本概念,2概念模型的表示方法,2.1.1 概念模型,1、概念模型的根本概念,实体,客观存在并可相互区别的事物称为实体。实体可以是具体的事物,也可以是抽象的事件。,实体的属性,实体所具有的某一特性称为属性。一个实体可由假设干个属性来描述。,数据库设计方法实体关系概念模型根本概念,实体的主属性,主属性也称关键字,它能惟一的标识一个实体。关键字可以是属性或属性集。,属性的域,属性的取值范围称为该属性的域。,实体型,具有相同属性的实体必然具有共同的特征。,用实体名及其属性名的集合来描述的同类实体,称为实体型或称实体结构。,数据库设计方法实体关系概念模型根本概念,实体集,同类型实体的集合称为实体集。,实体的联系,在现实世界中,事物之间存在着某些关联,这是由事物的特性所决定的,反映为实体的内部联系和实体间的联系。,实体的内部联系是指组成实体的各属性之间的联系;实体间的联系是指不同实体集之间的联系。,数据库设计方法实体关系概念模型根本概念,两个实体集之间的联系可以分为以下3 种:,一对一联系1:1,是指第一实体集中的每个实体最多只与第二实体集中的一个实体相联系,反之亦然,此即为一对一联系。,一对多联系1:N,是指第一实体集中的每个实体与第二实体集中的N个实体相联系,而第二实体集中的每个实体最多只与第一实体集中的一个实体相联系,此即为一对多联系。,多对多联系M:N,是指第一实体集中的每个实体与第二实体集中的N个实体相联系,而第二实体集中的每个实体与第一实体集中的M个实体相联系,此即为多对多联系。,数据库设计方法实体关系概念模型根本概念,2、概念模型的表示方法,概念模型是对现实世界的建模,概念模型应当能够全面、准确地描述现实世界中的根本概念。数据库设计过程中的概念结构设计阶段的任务就是根据需求分析,设计出概念模型。,概念模型的表示方法很多,其中最著名、最实用的方法是于1976年提出的实体联系方法Entity-Relationship Approach,简称E-R方法。该方法用E-R图来描述现实世界的概念模型。E-R方法也称E-R模型。它将现实世界的信息结构统一地用实体、属性,以及实体之间的联系来描述。,数据库设计方法实体关系概念模型表示方法,概念模型的描述工具,对象类,ER图表示方法,ER图表示图示,示例,实体,用矩形表示,矩形内写明实体名。,属性,用椭圆表示,并用无向边将其与对应实体连接起来。,联系,用菱形表示,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。,实体名,学生,属性,学号,联系,选修,数据库设计方法实体关系概念模型表示方法,数据库设计方法实体关系构造ER模型,2.1.2 构 造 E-R模 型,1构造E-R模型的方法,2E-R模型在学分制管理系统的应用,2.1.2 构造E-R模型,1构造E-R模型的方法,E-R模型有两个明显的优点:,接近人的思想,容易理解;,与计算机无关,用户容易接受。,数据库设计方法实体关系构造ER模型构造ER模型的方法,构造E-R模型的步骤:,确定实体,除去重复的实体,列出每个实体的属性,标记主属性,确定每个实体的关键字。,定义联系,确定实体之间的相互联系。,检查每个实体类型以及查看它如何与其他实体相关联,描述联系的类型,确定实体的联系类型1:1,1:n,m:n。,除去冗余关系,数据库设计方法实体关系构造ER模型构造ER模型的方法,2、E-R模型在学分制管理的应用,学号,姓名,性别,籍贯,学 生,课 程,课程码,课程名,选课,学分,m,n,学生与课程的E-R模型,数据库设计方法实体关系构造ER模型ER模型在学分制管理的应用,数据库设计方法实体关系构造关系模型,2.1.3 构造关系模型,1关系模型的根本概念,2概念模型向关系模型的转换,3关系的性质,2.1.3 构造关系模型,1关系模型的根本概念,关系,一个关系就是一张二维表。每个关系都有一个关系名。,关系模式,关系模式是指对关系的描述。其格式为:,关系名属性名1,属性名2,属性名n,元组记录,二维表中的行称为元组。每行是一个元组,一个元组就是一个实体。,数据库设计方法实体关系构造关系模型根本概念,属性字段,二维表中的列称为属性。每列是一个属性,每个属性都有一个属性名。,在Visual FoxPro中,属性称为字段或称字段变量。,域,域的含义与前面所讲的实体的属性域含义相同。,主码,主码就是实体的主属性或称关键字。,在Visual FoxPro中,用字段或字段的组合来表示。,数据库设计方法实体关系构造关系模型根本概念,外部关键字,外部关键字是指一个二维表中的某个属性是另一个二维表的关键字,其在本表中可以是关键字,也可以不是。,这样的公共属性字段,实现实体间的联系。,关系间的联系,在关系模型中,关系间的联系,也可以说是实体间的联系,也可以是通过另一个关系来表示。,数据库设计方法实体关系构造关系模型根本概念,2概念模型向关系模型的转换,将E-R图转换成关系模型要解决两个问题:,如何将实体集和实体间的联系转换为关系模型;,如何确定这些关系模式的属性和码。,数据库设计方法实体关系构造关系模型概念模型向关系模型的转换,将E-R图转换为关系模型实际上是将实体集、属性以及联系转换为关系模式,这种转换一般遵循如下原那么:,实体集的转换规那么,概念模型中的一个实体集转换为一个关系模式,实体的属性就是关系的属性,实体的主属性就是关系的主码。,数据库设计方法实体关系构造关系模型概念模型向关系模型的转换,实体集间联系的转换规那么,1:1联系的转换方法,一个1:1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并。,如果转换为一个独立的关系模式,那么与该联系相连的各实体的主码以及联系本身的属性均转换为关系的属性,每个实体的主码均是该关系的候选主码。,如果与联系的任意一端实体所对应的关系模式合并,那么需要在该关系模式的属性中参加另一个实体的主码和联系本身的属性。,数据库设计方法实体关系构造关系模型概念模型向关系模型的转换,1:n 联系的转换方法,一个1:n联系可以转换为一个独立的关系模式,也可以与联系的任意n端实体所对应的关系模式合并。,如果转换为一个独立的关系模式,那么与该联系相连的各实体的主码以及联系本身的属性均转换为关系的属性,而联系的码为n端实体的主码。,如果与联系的n端实体所对应的关系模式合并,那么需要在该关系模式的属性中参加1端实体的主码和联系本身的属性。,数据库设计方法实体关系构造关系模型概念模型向关系模型的转换,m:n联系的转换方法,一个m:n联系转换为一个独立的关系模式。然后,按1:n联系的转换方法实现。,关系合并规那么,在关系模型中,具有相同主码的关系模式可合并。,数据库设计方法实体关系构造关系模型概念模型向关系模型的转换,3关系的性质,关系必须标准化,关系模型建立在严格的数学理论根底之上,具有以下性质:,关系中的每个字段属性必须是不可再分的数据单元,即不允许“表中有表。,课程名,学时,讲授,实验,物理,60,20,化学,50,15,复合表例如,课程名,讲授学时,实验学时,物理,60,20,化学,50,15,二维表例如,数据库设计方法实体关系构造关系模型关系的性质,一个关系中不能有相同的字段名,关系中的每个字段都有一个字段名,在一个关系中不能有相同的字段名。,同一字段的取值必须来自同一个域,关系中不同记录元组的同一字段的取值必须来自同一个域,因此其必然是同一种数据类型,也就是二维表中每列数据的数据类型必然相同。,关系中不能有完全相同的记录,关系中的每一行是一个记录,一个记录表示一个实体,因此关系中不能有完全相同的记录。,数据库设计方法实体关系构造关系模型关系的性质,关系中各记录的次序可交换,交换关系中各记录的次序不会改变关系的实际含义。,关系中各字段的次序也可交换,交换关系中各字段的次序也不会改变关系的实际含义。,数据库设计方法实体关系构造关系模型关系的性质,22 关系数据库的设计,2.2.1 数据库设计的目的和内容,2.2.2 关系数据库设计的方法和步骤,数据库设计方法关系数据库的设计,数据库设计方法关系数据库的设计数据库设计的目的和内容,2.2.1 数据库设计的目的和内容,1数据库设计的目的,2数据库设计的内容,2.2.1 数据库设计的目的和内容,1、数据库设计的目的,数据库设计的目的就是数据库设计人员根据实际应用的需要,设计一个结构合理、功能完善、使用方便、效率较高的数据库及其应用系统,以便于日后的使用、扩充和维护。,数据库设计方法关系数据库的设计数据库设计的目的和内容目的,2、数据库设计的内容,结构设计,结构设计是指数据库总体结构的设计,它设计出的数据库应该是一个具有最小数据冗余度、能反映不同用户的数据需求、能实现数据共享的系统。,行为设计,行为设计是指根据实际需求,设计出对数据库进行平安、完整性地访问和操作。包括采用某种程序设计方法,使用某种语言来编写应用程序。,数据库设计方法关系数据库的设计数据库设计的目的和内容内容,数据库设计方法关系数据库的设计关系数据库设计的方法和步骤,2.2.2 关系数据库设计的方法和步骤,1需求分析,2结构设计,3行为设计,4数据库应用系统的运行和维护,2.2.2 关系数据库设计的方法和步骤,1需求分析,进行数据库设计必须首先准确地了解和分析用户的实际需求,这是数据库设计的关键。,在进行需求分析时,必须充分调动用户的积极性,用户的参与是数据库设计是否成功的重要因素之一。,数据库设计方法关系数据库的设计关系数据库设计的方法和步骤需求分析,2结构设计,概念模型E-R模型设计,对需求分析的结果进行总结、归纳和抽象,就可设计出相应的数据库结构。,逻辑结构关系模型设计,任何一个实际存在的数据库都要用某个DBMS来建立和管理,因此必须将抽象的概念结构转化为某个DBMS所支持的数据模型,并对其进行优化。,数据库设计方法关系数据库的设计关系数据库设计的方法和步骤结构设计,在Visual FoxPro中,结构设计表达为关系模型的设计,确定数据库。,根据实际需求确定系统中应该有哪些数据库。,确定表。,根据实际需求确定系统中应该有哪些表,这些表的结构如何,以及这些表应该放在某个数据库中成为数据库表,还是独立于数据库之外成为自由表。,在设计表结构时,应遵循规定的原那么。,确定表之间的联系。,在Visual FoxPro中,表不仅描述实体,还要描述实体间的联系,实体间的联系用表之间的联系来描述。,数据库设计方法关系数据库的设计关系数据库设计的方法和步骤结构设计,数据库物理设计,当逻辑结构设计完成后,那么要为逻辑数据模型设计一个适合的物理运行环境,包括选择存储结构、确定存取方法和确定数据的存放位置。严格来讲,数据库的物理实现主要取决于所使用的DBMS,因此要求数据库设计人员必须对自己所使用的DBMS有很好的了解。,数据库设计方法关系数据库的设计关系数据库设计的方法和步骤结构设计,3行为设计,数据库的完整性设计,数据库的完整性是指保证数据的正确性、有效性和相容性,防止错误的数据进入数据库。,正确性是指数据的合法性;,有效性是指数据是否属于所定义的有效范围;,相容性是指表示同一事实的两个数据应相同。,数据库设计方法关系数据库的设计关系数据库设计的方法和步骤行为设计,为了维护数据库中数据的完整性,在对关系数据库执行插入、删除和修改操作时,必须遵循以下三类完整性规那么。,实体完整性规那么,实体完整性规那么:假设属性A是关系
展开阅读全文