第12章-UML与数据库设计.课件.ppt

上传人(卖家):三亚风情 文档编号:2985132 上传时间:2022-06-19 格式:PPT 页数:41 大小:175.50KB
下载 相关 举报
第12章-UML与数据库设计.课件.ppt_第1页
第1页 / 共41页
第12章-UML与数据库设计.课件.ppt_第2页
第2页 / 共41页
第12章-UML与数据库设计.课件.ppt_第3页
第3页 / 共41页
第12章-UML与数据库设计.课件.ppt_第4页
第4页 / 共41页
第12章-UML与数据库设计.课件.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、UML与数据库设计与数据库设计类图类图 数据库表数据库表UMLUML与数据库设计要讨论的主要内容:与数据库设计要讨论的主要内容:关联关系关联关系泛化关系泛化关系依赖关系依赖关系类之间的关系类之间的关系 依赖关系依赖关系强调的是类操作间的使用关系,强调的是类操作间的使用关系,类图到表结构的映射中并不涉及这种关系,所类图到表结构的映射中并不涉及这种关系,所以下面只讨论泛化关系、关联关系到表的映射以下面只讨论泛化关系、关联关系到表的映射规范。规范。类之间关类之间关系的映射系的映射泛化关系泛化关系关联关系关联关系一对一一对一一对多一对多多对多多对多网上商店的类图网上商店的类图第一节第一节 泛化关系的映

2、射泛化关系的映射方法方法1:将父类和子类均映射为表:将父类和子类均映射为表customerIDEmailcreditDegreeadministratorIDaccessuserIDuserNamepassWord这种方式有何优缺点?这种方式有何优缺点?customerID2002000120020002EcreditDegree一级一级二级二级administratorID2002000320020004Access备份备份修改修改userID20020001200200022002000320020004userName牛丽平牛丽平郭新志郭新志宋强宋强杨继萍杨继萍passWord12345

3、678customerIDEmailcreditDegreeadministratorIDaccessuserIDuserNamepassWord如何添加以下信息:如何添加以下信息:ID:20050001userName:董兰芳:董兰芳passWord:2008Email:creditDegree:良好良好如何添加以下信息:如何添加以下信息:ID:20050002userName:刘振安:刘振安passWord:2009Access:writeInsert into user(userID, userName, passWord)values(20050001,董兰芳, 2008);Inser

4、t into customer(customerID, Email, creditDegree)values(20050001, ,良好);customerIDEmailcreditDegreeadministratorIDaccessuserIDuserNamepassWord如何查询以下信息:如何查询以下信息:查询查询ID为为20050001的用户的姓名和的用户的姓名和Email查询查询ID为为20050003的用户的姓名和权限的用户的姓名和权限select u.userName, c.Email from user u left join customer c on u.userID =

5、 c.customerID where u.userID=20050001;select u.userName,a.access from user u left join administrator a on u.userID = a.administratorID where u.userID=20050003;customerID Email creditDegreeadministratorIDaccessuserIDuserNamepassWord优点:表结构的更改非常方便优点:表结构的更改非常方便缺点:表的数量较多,相关的数据分散在不同的表中,数缺点:表的数量较多,相关的数据分散在

6、不同的表中,数据读写时间较长,报表的生成较为困难据读写时间较长,报表的生成较为困难方法方法2:只将子类映射为表:只将子类映射为表表中包含子类自身的属性和继承自父类的属性表中包含子类自身的属性和继承自父类的属性customerID userNamepassWordEmailcreditDegreeadministratorIDuserNamepassWordaccesscustomerIDuserNamepassWordEmailcreditDegreeadministratorIDuserNamepassWordaccess如何添加以下信息:如何添加以下信息:ID:20050001userNa

7、me:董兰芳:董兰芳passWord:2008Email:creditDegree:良好良好如何添加以下信息:如何添加以下信息:ID:20050002userName:刘振安:刘振安passWord:2009Access:writeInsert into customer(customerID,userName,passWord,Email,creditDegree)values(20050001,董兰芳董兰芳, 2008, ,良好良好);Insert into administrator(administratorID,userName,passWord, access)values(200

8、50002,刘振安刘振安, 2009, write);customerIDuserNamepassWordEmailcreditDegreeadministratorIDuserNamepassWordaccess如何查询以下信息:如何查询以下信息:查询查询ID为为20050001的用户的姓名和的用户的姓名和Email查询查询ID为为20050003的用户的姓名和权限的用户的姓名和权限select userName, Email from customerwhere customerID =20050001;select userName, access from administratorw

9、here administratorID=20050003;customerIDuserNamepassWordEmailcreditDegreeadministratorIDuserNamepassWordaccess优点:表的数量较少,相关的数据集中在一个表中,数据的读优点:表的数量较少,相关的数据集中在一个表中,数据的读写较为方便。写较为方便。缺点:表结构的修改较为困难,因为修改父类后,要同时修改缺点:表结构的修改较为困难,因为修改父类后,要同时修改所有的子类对应的表。所有的子类对应的表。方法方法3:只将父类映射为表:只将父类映射为表select userName, Email, acc

10、essfrom userwhere userID =? and userType=?select userName, Email, accessfrom userwhere userID = 20050001 and userType=C优点:表的数量较少,数据读写方便优点:表的数量较少,数据读写方便缺点:耦合性强;需要增加一列,以表明类的角色;浪费缺点:耦合性强;需要增加一列,以表明类的角色;浪费存储空间较多存储空间较多评价:评价: 以上三种方法各有所长,在实际应用中,根据以上三种方法各有所长,在实际应用中,根据具体情况选用。具体情况选用。 一般情况下,建议选用第二种方式,即只一般情况下,建

11、议选用第二种方式,即只将子将子类映射为表类映射为表,各表中包含子类自身的属性和继承自,各表中包含子类自身的属性和继承自父类的属性。父类的属性。第二节第二节 关联关系的映射关联关系的映射 关联关系:关联关系:一对一关联一对一关联、一对多关联一对多关联和和多多对多关联对多关联。“一一”:多重性为:多重性为“1”,“0.1”“多多”:多重性为:多重性为“1.n”,“0.n”网上商店的类图网上商店的类图一、一对一映射一、一对一映射 将相关联的两个类分别映射成两张表,并将将相关联的两个类分别映射成两张表,并将任意一张任意一张表的主键放入另一张表中作为外键表的主键放入另一张表中作为外键。如果此处是如果此处

12、是0.1,该,该如何处理如何处理?二、一对多映射二、一对多映射 将关联的两个类映射为两张表,并将将关联的两个类映射为两张表,并将“一一”表的主键放在表的主键放在“多多”表中作为外键。表中作为外键。三、多对多映射三、多对多映射多对多映射时,应建立三张表:多对多映射时,应建立三张表:为相关联的两个类分别建立两张表为相关联的两个类分别建立两张表再建一个关联表。这个关联表的属性由两部分再建一个关联表。这个关联表的属性由两部分构成:前两个表的主键,关联本身的属性。构成:前两个表的主键,关联本身的属性。customerIDuserNamepassWordEmailcreditDegreecustomerI

13、DproductIDamount数据库设计原则数据库设计原则每一个类成为一个数据库表。每一个类成为一个数据库表。关系映射:关系映射:1.1.一对多的关系映射为数据库表的主外键关联(一对多的关系映射为数据库表的主外键关联(1 1方的方的主键加入主键加入n n方成为外键)方成为外键)2.2.一对一的关系映射为数据库表的主外键关联(一对一的关系映射为数据库表的主外键关联(1 1方的方的 主键加入另一方成为外键)主键加入另一方成为外键)3.3.多对多的关系映射:产生第三张表,将两个多方的主多对多的关系映射:产生第三张表,将两个多方的主键加入其中成为外键,两个外键的组合成为主键。键加入其中成为外键,两个

14、外键的组合成为主键。利用数据库利用数据库三范式三范式检查表,从而考察类图的分析检查表,从而考察类图的分析是否合理,消除冗余数据。是否合理,消除冗余数据。检查数据是否能够反映用例视图的需要;进一步检查数据是否能够反映用例视图的需要;进一步与用户再次确认使用的数据。与用户再次确认使用的数据。第三节第三节 完整性与约束完整性与约束1、父表的约束、父表的约束 在在强制对可选强制对可选约束中,父表上操作的约束约束中,父表上操作的约束 插入操作插入操作 父表中的记录可以不受限制地添加到表中父表中的记录可以不受限制地添加到表中 修改键值操作修改键值操作 要修改父表的键值,必须首先修改子表要修改父表的键值,必

15、须首先修改子表中其所有子女的对应值中其所有子女的对应值 删除操作删除操作 要删除父表记录,必须首先删除或者重要删除父表记录,必须首先删除或者重新分配其所有子女新分配其所有子女教练编号教练编号教练教练队员队员10*队员编号队员编号教练编号教练编号教练表格教练表格队员表格队员表格 在在可选对可选可选对可选以及以及可选对强制可选对强制约束中,父表上约束中,父表上操作的约束操作的约束 插入操作插入操作 必须在至少有一个子女被加入或者至少必须在至少有一个子女被加入或者至少已存在一个合法子女的情况下,父亲才可以已存在一个合法子女的情况下,父亲才可以加入加入 修改操作修改操作 必须至少有一个子女被创建或者至

16、少已必须至少有一个子女被创建或者至少已经有一名子女存在,父表才可以修改键值经有一名子女存在,父表才可以修改键值 删除操作删除操作 不使用级联删除子表的方法删除父表记不使用级联删除子表的方法删除父表记录,而是将子表的外键置空录,而是将子表的外键置空医生编号医生编号医生医生病人病人010*病人编号病人编号医生编号医生编号医生表格医生表格病人表格病人表格协会编号协会编号协会协会学生学生011*学号学号协会编号协会编号协会表格协会表格学生表格学生表格 在在强制对强制强制对强制约束中,父表上操作的约束约束中,父表上操作的约束 插入操作插入操作 可以在向父表执行插入操作后再向子表可以在向父表执行插入操作后

17、再向子表添加记录,也可以通过重新分配子表来实施添加记录,也可以通过重新分配子表来实施完整性约束。完整性约束。 修改键值操作修改键值操作 修改键值前必须先更新子表对应的外键修改键值前必须先更新子表对应的外键的值,或者先创建新的父表记录,再更新子的值,或者先创建新的父表记录,再更新子表所对应的记录,使其与父表中的新记录关表所对应的记录,使其与父表中的新记录关联起来,最后删除原父表记录。联起来,最后删除原父表记录。 删除操作删除操作 要删除父表中的记录,必须首先删除或要删除父表中的记录,必须首先删除或者重新分配子表中所有相关的记录。者重新分配子表中所有相关的记录。企业账单编号企业账单编号企业账单企业

18、账单日记账日记账11*日记账编号日记账编号企业账单编号企业账单编号企业账单表格企业账单表格日记账表格日记账表格2、子表的约束、子表的约束关系关系 类型类型添加添加修改修改删除删除关联关联 可选对可选可选对可选无限制无限制无限制无限制无限制无限制强制对可选强制对可选父亲存在或者父亲存在或者创建一个父亲创建一个父亲具有新值的父亲存在或者具有新值的父亲存在或者创建父亲创建父亲无限制无限制聚合聚合 可选对强制可选对强制无限制无限制有兄弟有兄弟有兄弟有兄弟组合组合 强制对强制强制对强制父亲存在或者父亲存在或者创建一个父亲创建一个父亲具有新值的父亲存在具有新值的父亲存在(或或者创建父亲者创建父亲)并且有兄弟并且有兄弟有兄弟有兄弟

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第12章-UML与数据库设计.课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|