< img height="1" width="1" style="display:none" src="https://a.gdt.qq.com/pixel?user_action_set_id=1200686054&action_type=PAGE_VIEW&noscript=1"/>

为数据库中每个关系确定协同信息

文:鼎捷ERP

作者:鼎捷数智 | 发布时间:2012-11-30 14:50:34

C,2.3第3步:为每个关系确定信息(字段)
    一旦完成了步骤1和步骤2,接下来就需要确定每个关系中应包含的数据项。这一步的目的是要确保每个关系中所包含的信息确实处于正确的关系之中,而且不能从其他的信息中派生出来,即规范化的第2和第3条规则。
    在图C—6中,我们就在一个具有交叉关系的新E—R图基础之上为Solomon建立起一个关系视图。为确保每项协同信息都在正确的关系结构中,观察每一项信息,并思考:“该项信息只依赖于所属关系的主关键字吗?”如果答案是肯定的,那么这项信息就是处于正确的关系中,如果答案是否定的,该信息就是位于错误的关系中了。

      
    让我们来考察“原材料”关系,主关键字是“原材料编码”(Raw Material ID),所以每项信息必须只能依靠原材料编码加以区别。“原材料名称”是由原材料编码决定的吗?是的,因为原材料名称依赖于特定的原材料(QOH也一样)。“供应商编码”(Supplier ID)仅依赖于原材料编码吗?当然是,因为提供某种原材料的供应商管理,要依赖于具体的原材料而定。在这种情况下,“供应商编码”在“原材料”关系中是一个外部关键字。即:它是一个关系(供应商)的主关键字,出现在另外一个关系(原材料)中了。
    “原材料”关系中的“供应商姓名”怎样呢?它是否仅依赖于原材料编码?答案是否定的,供应商姓名仅依赖于供应商编码。这时便产生了问题:“供应商姓名”应该在哪个关系中出现呢?答案是应该放在“供应商”关系中,因为“供应商姓名”是由唯一表示每个供应商的主关键字(供应商编码)来决定的。因此,供应商姓名就不应该出现在“原材料”关系中,而应出现在“供应商”关系中。
  现在我们再来看一下“材料清单”这个交叉关系。注意,它包含了一个被称为“单位”(Unit)的字段。“单位”之所以出现在该关系中,是因为它取决于两件事情:所描述的混凝土类型和其中所包含的原材料。因此,单位就完全依赖于“材料清单”关系的复合主关键字:混凝土类型+原材料编码。
    如果遵循这一原则去审视每个关系,便会发现其他所有字段都是在正确的关系中。现在还需要观察每一字段能否从其他信息中派生出来。如果能够,派生出来的OA信息就不能存储在数据库中。这里所说的“派生”是指那些可以通过数学方法(如:计数、求和、平均和其他方法)而生成的信息。现在我们将“原材料总数”(RawMaterialTotal)字段放入混凝土类型关系中,这个字段能否从其他信息中派生出来呢?当然可以,因为只要在材料清单关系中对指定的混凝土类型的单位进行求和运算便可得出这个数值。因此,“原材料总数”字段不应该被存储到数据库中(任何关系)。
    完成第3步之后,就完全正确地定义好了数据库结构,并确定了每个关系应包含的字段。图C-7给出了我们所讨论的数据库及每个关系所包含的信息。注意,我们已从“原材料”关系中去掉了“供应商姓名”字段,并从“混凝土类型”关系中去掉了“原材料总数”字段。

   
C.2.4第4步:用数据定义语言创建数据库
    开发一个关系数据库的较后一步就是用步骤1—3中建立的结构,并用数据定义语言实际地创建这些关系。数据定义语言包含在数据库供应链管理系统(DBMS)中,DBMS帮助我们建立数据库的逻辑结构、存取并调用数据库中的信息。为了使用数据定义语言,你需要为复杂的数据库建立数据字典。回顾第3章中的定义,数据字典包含着数据库中信息的逻辑结构。通过本模块和第3章的开始部分,我们介绍了Solomon完整数据库的全部结构,包括订单、卡车、客户、雇员、混凝土类型、原材料、供应商和材料清单。
    到此为止,本扩展学习模块就结束了,但读者不能停止学习,我们已经编写了扩展学习模块J,在这部分中介绍运用Access的数据库定义语言,建立我们已设计好的数据库的具体过程。请读者继续学习。
独立思考
为你的学校建立较终的数据结构
    现在你要单飞了,接下来的任务就要由你自己完成了。如果你的小组成功地完成了本章前面分组讨论题目,就应当完成了一个关系数据库模型的建立,该模型应具有5个关系:Seminar、SeminarSection,Student、QualifledTeacher和SeminarSectionClassRoll。前4个在早些时候就已经确定了,较后一个是消除SeminarSection与Student之间的多对多联系时产生的结果。我们命名该交叉关系为:Seminar SectionClassRoll。之所以这样做,是因为SeminarSectionClassRoll描述了学生选择研讨内容的详细情况。如果你按研讨内容分类召集到学生,就可将他们安排到一个研讨班内。
    现在,你的任务是为每个关系完成一张统计表,我们在下面提供了表格的样本。在该表格内,首先要在每列的标题处注明它是属于哪个关系的什么信息,一定要遵循规范化规则的第2步和第3步进行。然后,建议你加一些实际的数据项。
    注意:在这个数据库中,你应该很容易确定所需的上百个数据项,例如,对于QualifiedTeacher关系,可以包括:出生日期、社会阶层、办公时间、电话号码、电子邮件地址、办公地点、参加工作实践以及更多的数据项。在这个表格中,每个关系仅列出了不多于5个主要的数据项。同样,要明确每个关系的主关键字和外部关键字。
本模块要点
1.如何区分数据库与电子商务数据表格的相同点和不同点。数据库与电子数据表格的相同之处是它们都以二维表文件形式存储信息。它们在一个非常关键的地方存在差异:物理对逻辑。使用电子数据表格时需要使用者知道存储信息的物理地址,这个地址是通过行和列的标识符体现的。而另一方面,数据库只需要使用者了解所需信息的逻辑含义即可。例如,在数据库环境中,用户只简单地提出要求统计AbleElectronics的销售总和,就能得到相关的信息。在电子数据表格中就必须要知道所需信息的物理地址:行号和列号。
2.列出并叙述开发及建立关系数据库的4个步骤。开发及建立关系数据库的4个步骤包括:
    (1)确定实体类与主关键宇,
    (2)确定实体类之间的联系,
    (3)确定每个关系中所包含的信息(字段),
    (4)使用数据库定义语言建立数据库。
3.定义实体类、实例、主关键字和外部关键字的概念。实体类是表示特定的人、地或物的概念。在实体类中,人们希望保存自己所需的信息,并且能用一个唯一的码(称为主关键宇)来识别这些信息。主关键字是数据库的一个宇段(或在某些情况下是一组属性),它唯一地描述了每一条记录。在数据库设计的过程中,常常把一条记录看成是一个实例,一个实例是一个实体类的具体表示,它可以被重复描述。利用外部关键字可以保持各实体类之间的逻辑联系,外部关键字是一个文件(关系)的主关键宇同时又出现在另一个文件(关系)中。
4.给出一些开发环境构建实体一联系(E-R)图。在建立实体一联系(E-R)图之前,要了解所给定环境的企业规则。这些规则将有助于人们确定实体类、主关键宇的联系。接下来要进行规范化处理、消除实体类之间的多对多联系、保证每个宇段都属于正确的关系,  以及删除派生的宇段。
5.列出并叙述规范化的过程。规范化是保证关系数据库结构用一系列的二维表表示的处理过程。规范化的步骤包括:
    (”消除重复的组合或多对多联系,
    (2)保证关系中的每个字段都依赖于该关系的主关键宇,
    (3)从关系中删除派生的宇段。
6.描述消除多对多联系并建立交叉关系的过程。按照下面的步骤建立交叉关系,消除多对多联系:
    (1)绘制一个包含多对多联系的局部E—R图,
    (2)建立一个新的E-R图,保留原来两个关系各自的尾端,  并在他们中间建立一个新的关系(交叉关系),
    (3)为这个交叉关系起一个有确切含义的名称,
    (4)将较少基数符号移到位于交叉关系右侧的那个关系的左侧位置,
    (5)将较少基数符号移到位于交叉关系左侧的那个关系的右侧位置,
    (6)交叉关系的两侧标注得基数通常都表示“多”(鸡爪符号),
    (7)按照这个规则,原来两个关系至少与较多基数就变成一对一的了。

上一页:供应链管理数据库各实体类间的联系

下一页:决策支持OA信息系统

相关新闻

  • 决策支持OA信息系统

    在不远的将来,医生们进行临床检验时将会梦想得到自动的决策支持。在本章中我们将探讨信息技术提供的一些工具,它们能帮助人们将商务信息转换为商务智能并做出令人满意的决策。

  • 决策支持系统的协同信息技术

    ·用户界面管理:Lands’End工厂的决策者们通过用户界面获取信息并指定所用的分析模型来 产生所需的信息。为灌满一辆带着两个挂车的卡车,司机需要到5处农场收集牛奶,并且对每一个农场都要进行纸面的记录。

  • 供应链管理数据库各实体类间的联系

    技术是人们用以处理信息的工具集合,因此技术应用将成为电子商务企业进行竞争的途径。如果你经常着手确定企业规则并运用这些规则作为指南,那么你的技术应用水平将很有可能反映出企业工作得好坏。这是一种非常可行的方法。

关注我们

留言板

咨询热线:400-626-5858