E-R图转换成关系模式

来源:互联网 发布:淘宝客推广拍a发b 编辑:程序博客网 时间:2024/06/08 15:39

我们目前所接触的数据库基本上是关系数据库,关系数据库中的关系模式是型,而关系是值。关系模式是对关系的描述。

什么是关系?关系实质上是一张二维表,其中每一行是一个元组,每一列是一个属性,每个元组是该关系涉及到属性集合笛卡尔积的一个元素。(笛卡尔积是这样的一个集合。集合中的元素是有序对,若A=0,1B=ab}则:A*B={<0,a><0,b>,<1,a>,<1,b>},关系是元组的集合,所以关系模式要描述元组的集合,其中包括那些属性,属性来自域,属性与域之间的映射关系。

关系模式可以用五元组形式表示:RUDDomF),其中R:表示关系名,U:表示属性集合,Dom,表示属性域(来自那个域),F:表示函数依赖。

但是一般情况下,我们通常把关系模式表示为:RU)或者RAB)(其中AB代表U中的属性)

 

那么E-R图转化成关系模式的步骤。

前提:是已经把需求中的实体,以及实体中联系确定。

第一:把每个实体都转化成关系模式RAB)形式。(AB代表属性)

第二:实体中的属性即关系模式中的属性要求是满足第一范式(原子性,不可再分)

第三:也是最重要的步骤,实体之间联系的转换。

       实体之间的联系分为:11nm三种形式。

    11:1之间的转换。

          将两个实体转化成关系模式之后,然后把任意实体的主键和联系的属性放到另一个实体的关系模式中。如图:

E-R图转换成关系模式 - 焕月 - 梁焕月的博客 拼搏腾飞

    

 结果如下:

   R1教师编号、姓名、性别)

   R2班级号、专业号、学院号、教师编号、任职日期)

   或者:

   R1教师编号、姓名、性别、班级号、任职日期)

   R2班级号 专业号、学院号)

  21n的转换。

      将两个实体各自转化成关系模式后,然后,把联系数量为1的实体的主键和联系的属性放到联系数量为n的实体关系模式中。

       比如:学生和宿舍之间的关系。

    

E-R图转换成关系模式 - 焕月 - 梁焕月的博客 拼搏腾飞

 

        转换之后的结果如下:

        R1学号、姓名、性别、宿舍号

        R2宿舍号、床位数)

 3nn的转换。

         将两个实体各自转换成关系模式后,然后,把两个实体中的主键和联系的属性放到另一个关系模式中.(注意多生成一个关系模式)

       

E-R图转换成关系模式 - 焕月 - 梁焕月的博客 拼搏腾飞

   

转换后的结果如下:

 R1学号、姓名、性别)

 R2奖励编号、奖励名称、奖励金额)

 R3学号奖励编号、奖励日期)

 

   注:E-R图中联系没有联系属性,EE-R图中含有联系属性。

   含有下划线的属性代表是主属性,在表中当做主键。红字体代表的外键。

0 0