實體間的關系:1:1,1:N,M:N


*實體之間的關系*

1)1對1關系:

兩個實體表內,存在相同的主鍵字段。

  1.1)設計:

         如果記錄的主鍵值等於另一個關系表內記錄的主鍵值,則兩條 記錄對應,1:1對應。


例子:

#表一:學生信息表          #表二:學生詳細信息表


學生主鍵   學號   姓名    *     學生主鍵   生日   住址
               *
  1    1101      張三     *        1    10.15   北京
  2    1102      李四     *        2       12.15   上海


【注意】:
垂直分隔在優化的角度上來講,如果說一個表內的字段過多,就應該將其拆分出來,
分為哪些常用和哪些不常用,同時分割成兩個或者多個表,只要每一個表內有相同的主鍵就行。


2)一對多關系:
      一個實體對應多個其它實體。
例如:一個班級對應多個學生。


    2.1)設計:
      在多的那端,增加一個字段,用於指向該實體所屬的另外的實體的標識。

例子:

#表一:學生主信息表         #表二:班級表


學生主鍵   學號   姓名   班級號    *   班級主鍵   開班時間   課程
  1     1101   張三        8        *      8    2018-08-10   JAVA
  3        1102   李四        9        *      9    2018-10-10   LINUX
  5        1103   王五        8     *
  6        1104   趙四     8        *


3)多對多關系:

    3.1)設計:
        利用一個中間關系表來表示實體之間的對應關系。

例子:

#表一:老師信息表        #表二:班級信息表


講師主鍵   名字    *      班級主鍵   班級名
1          趙四    *          10      1101
3          張三    *          15           1105

 

想要表達表一和表二之間的多對多關系(趙四教了1105班;張三教了1101和1105班),需要借助一個中間關系表。

#表三:中間關系表
講師主鍵   班級主鍵
1       1105
3       1101
3       1105

 

 

【注意】

    中間表的每個記錄,表示一個關系。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM