资源描述:
《将e-r图转换为关系模型的转换规则》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、将E-R图转换为关系模型的转换规则如下:•1)实体集转换为关系–实体集对应于一个关系–关系名:与实体集同名。–属性:实体集的所有属性。–主码:实体集的主码。•2)联系转换为关系 联系转换成为关系模式。联系转换成为关系模式时,要根据联系方式的不同采用不同的转换方式①1:1联系的转换方法a)将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。第一步:联系形成的关系独立存在:职工表(职工号,姓名,年龄)主码:职工号产品表(产品号,产品名,价格)主码:产品号负责(职工号,产品号)主码:职工号或产品号合并方案1:“负责”
2、与“职工”两关系合并:职工(职工号,姓名,年龄,产品号)产品(产品号,产品名,价格)合并方案2:“负责”与“产品”两关系合并:职工(职工号,姓名,年龄)产品(产品号,产品名,价格,职工号)b)将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。②1:n联系的转换方法a)一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码;步骤一:联系形成的关系独立存在。仓库(仓库号,地点,面积)主码:仓库号产品(产品号,产品名,价格)主码:产品号仓储
3、(仓库号,产品号,数量)主码:产品号合并后方案:联系形成的关系与n端对象合并。仓库(仓库号,地点,面积)产品(产品号,产品名,价格,仓库号,数量)b)另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。③m:n联系的转换方法在向关系模型转换时,一个m:n联系转换为一个关系。转换方法为:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。•该模型包含两个实体集(学生、课程)和一个m:n联系•该模型可转换为三个关系模式:–学生(学号,姓名,性别,年龄)主码:
4、学号-课程(课程号,课程名,学分)主码:课程号–选课(学号,课程号,成绩)主码:学号+课程号importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassCalculatorJFrameextendsJFrameimplementsActionListener{privateJTextFieldtext;//显示计算结果的文本行privatecharop;//当前运算符privatefloatvalue;//当前计算结果值privatebooleanfirst;//表示是否为数值的第1个数字publicCalcu
5、latorJFrame(){super("计算器");this.setSize(280,210);this.setLocation(300,240);this.display();//显示图形用户界面this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setVisible(true);op='+';value=0.0f;first=true;}privatevoiddisplay()//图形用户界面{text=newJTextField("0.",30);text.setHorizontalAlignment(JTextField.RIGHT)
6、;//设置对齐方式,右对齐text.setEditable(false);//只能显示,不允许编辑this.getContentPane().add(text,"North");JPanelpanel=newJPanel(newGridLayout(5,4,5,5));//面板采用网格布局this.getContentPane().add(panel);Stringstr[]={"sqrt","+/-","Backspace","C","7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};JButtonbuttons
7、[]=newJButton[str.length];for(inti=0;i