数据库设计第10章.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库设计第10章

* 如:*:* Actor PlaysIn关系ER模型和表 * 六、复杂关系 有多于两个参与实体的关系是复杂关系,为每个复杂关系创建一个表达关系的表。 将参与复杂关系的这些实体的主键复制到新表中,并作为外键,此表还包含与关系相关的全部属性。 一个或多个外键将组成新表的主键,还可以加上关系中的一些其他属性。 * 如:复杂的Registers关系ER图 * 如:复杂的Registers关系对应的表 * 七、多值属性 创建一个新的表包含这些多值属性,并将父实体的主键拷贝过来作为外键。 除非多值属性自己本身是父实体的备用键,否则新表的主键由多值属性和父实体的原始主键组成。 * 如:Branch实体的多值telNo属性 实体/关系/属性 表达为表 强实体或弱实体 创建包含所有简单属性的表 1:*二元关系 将“一”端实体的主键复制到表达“多”端实体的表中,关系中的任何属性也复制到“多”端的表中 1:*递归关系 “一”端的实体 和“多”端的实体是一样的,代表实体的表有主键的另一个拷贝,这个拷贝是被重命名的,并且有关系的其他属性 1:1二元关系: 两端都是强制参与 将实体组合成一张表 一端是强制参与 将有可选参与的实体的主键复制到表达有强制参与的实体的表中,关系的属性也被复制到表达有强制参与的实体的表中 两端都是可选参与 没有更多的信息,将一个实体的主键拷贝到另一个实体中,但如果信息是可获得的,则将更具有强制参与的实体作为子实体 *:*二元关系/复杂关系 创建表达关系的表,此表中包含任何与关系有关的属性,将每个父实体中的主键复制到新表中作为外键 多值属性 创建表达多值属性的表,并将父实体的主键复制到新表中作为外键 如何将实体、关系和多值属性表达为表的总结 * 如:StayHome 数据库应用的Branch视图中的表 新增 * 步骤 2.2:用规范化方法检查表结构 用规范化方法检查每个表的组成避免不必要的数据重复。应该确保所建的每个表至少是第三范式(3NF)。 如果所标识的表不是第三范式,可能ER模型的某部分是错误的,或者由模型创建表时产生了错误。 如果必要的话,可能需要重新构造数据模型或者表。 步骤 2.3 :检查表是否支持用户事务 检查所建的表是否如用户需求说明中所要求的那样,支持用户所需的事务。确保在建表的时候,没有错误发生。 检查表是否支持事务的一种方法是检查是否支持事务的数据需求,以确保数据在一个或多个表中存在。 如果事务所需求的数据在多个表中,则应该检查这些表是否能够通过主键/外键机制连接起来 。 事务 需求的表 (a)输入一个新的分公司的详细信息 Branch(branchNo, street, city ,state, zipCode,mgrStaffNo) (g)更新/删除分公司的详细信息 Telephone(telNo, branchNo) 外键branchNo引用Branch(branchNo) (b)输入分公司中一个新成员的详细信息staff Staff(staffNo, name, position, salary,branchNo, (h)更新/删除分公司成员的详细信息 surpervisorStaffNo) (c)输入新出版的录像的详细信息 Video(catalogNo, title, category, dailyRental, price, directorNo) 外键directorNo引用Director(directorNo) (i)更新/删除已有的录像的详细信息 Director(directorNo,directorName) Role(catalogNo, actorNo,character) 外键catalogNo引用Video(catalogNo) 外键actorNo引用Actor (actorNo) Actor (actorNo,actorName) (d)输入已有分公司的复制新录像的详细信息 VideoForRent(videoNo , available,catalogNo,branchNo) (j)更新/删除录像拷贝的详细信息 (e)输入在已有分公司中登记的新成员的详细信息 Member(memberNo, fName, lName address) (k)更新/删除已有成员的详细信息 Registration(branchNo, memberNo, staffNo,dateJoined) 外键memberNo引用Member(memberNo) (f)输入某成员租用录像的出租协议的详细信息 RentalAgreement(rentalNo, dateOut, dateReturn, (l)更新/删除租用录像的成员的给定出租协议的详细信息 memberNo,video

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档