数据库设计5步骤.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
数据库设计5步骤 1.确定entities及relationships a)设计宏观行为。你用此数据库来做什么?比如,希望管理雇员的信息。 b)确定entities。对于一系列的行为,确定所管理信息所涉及到的主题范围。这将变成 table。比如,雇用员工,指定具体部门,确定技能等级。 c)确定relationships。看着行为,确定tables之间有何种关系。比如,在部门与雇员之 间存在一种关系。给这种关系命名。 d)细化行为。你从宏观行为开始,现在仔细检查这些行为,看有哪些行为能转为微观行 为。比如,管理雇员的信息可细化为: 增加新员工 修改存在员工信息 删除调走的员工 e)确定业务规则。看着你的业务规则,确定你要采取哪种。比如,可能有这样一种规则 ,一个部门有且只能有一个部门领导。这些规则将被设计到数据库的结构中。 范例: ACME是一个小公司,在5个地方都设有办事处。当前,有75名员工。公司准备快速扩大规 模,划分了9个部门,每个部门都有其领导。 为有助于寻求新的员工,人事部门规划了68种技能,为将来人事管理作好准备。员工被 招进时,每一种技能的专业等级都被确定。 定义宏观行为 一些ACME公司的宏观行为包括: 招聘员工 解雇员工 管理员工个人信息 管理公司所需的技能信息 管理哪位员工有哪些技能 管理部门信息 管理办事处信息 确定entities及relationships 我们可以确定要存放信息的主题领域(表)及其关系,并创建一个基于宏观行为及描述的 图表。 我们用方框来代表table,用菱形代表relationship。我们可以确定哪些relationship是 一对多,一对一,及多对多。 这是一个E-R草图,以后会细化。 细化宏观行为 以下微观行为基于上面宏观行为而形成: 增加或删除一个员工 增加或删除一个办事处 列出一个部门中的所有员工 增加一项技能 增加一个员工的一项技能 确定一个员工的技能 确定一个员工每项技能的等级 确定所有拥有相同等级的某项技能的员工 修改员工的技能等级 这些微观行为可用来确定需要哪些table或relationship。 确定业务规则 业务规则常用于确定一对多,一对一,及多对多关系。 相关的业务规则可能有: 现在有5个办事处;最多允许扩展到10个。 员工可以改变部门或办事处 每个部门有一个部门领导 每个办事处至多有3个电话号码 每个电话号码有一个或多个扩展 员工被招进时,每一种技能的专业等级都被确定。 每位员工拥有3到20个技能 某位员工可能被安排在一个办事处,也可能不安排办事处。 2.确定所需数据 要确定所需数据: 1. 确定支持数据 2. 列出所要跟踪的所有数据。描述table(主题)的数据回答这些问题:谁,什么,哪里,何 时,以及为什么 3. 为每个table建立数据 4. 列出每个table目前看起来合适的可用数据 5. 为每个relationship设置数据 6. 如果有,为每个relationship列出适用的数据 确定支持数据 你所确定的支持数据将会成为table中的字段名。比如,下列数据将适用于表Employee, 表Skill,表Expert In。 如果将这些数据画成图表,就像: 需要注意: 在确定支持数据时,请一定要参考你之前所确定的宏观行为,以清楚如何利用这些数据 。 比如,如果你知道你需要所有员工的按姓氏排序的列表,确保你将支持数据分解为名字 与姓氏,这比简单地提供一个名字会更好。 你所选择的名称最好保持一致性。这将更易于维护数据库,也更易于阅读所输出的报表 。 比如,如果你在某些地方用了一个缩写名称Emp_status,你就不应该在另外一个地方使 用全名(Empolyee_ID)。相反,这些名称应当是Emp_status及Emp_id。 数据是否与正确的table相对应无关紧要,你可以根据自己的喜好来定。在下节中,你会 通过测试对此作出判断。 3.标准化数据 标准化是你用以消除数据冗余及确保数据与正确的table或relationship相关联的一系列 测试。共有5个测试。本节中,我们将讨论经常使用的3个。 关于标准化测试的更多信息,请参考有关数据库设计的书籍。 标准化格式 标准化格式是标准化数据的常用测试方式。你的数据通过第一遍测试后,就被认为是达 到第一标准化格式;通过第二遍测试,达到第二标准化格式;通过第三遍测试,达到第 三标准化格式。 如何标准格式: 1. 列出数据 2. 为每个表确定至少一个键。每个表必须有一个主键。 3. 确定relationships的键。relationships的键是连接两个表的键。 4. 检查支持数据列表中的计算数据。计算数据通常不保存在数据库中。 5. 将数据放在第一遍的标准化格式中: 6. 从tables及relati
- 粉丝: 84
- 资源: 9357
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助