詳細講解如何將資料模型轉換成資料庫設計
資料模型是資料特徵的抽象,是資料庫管理的教學形式框架,資料模型是對客觀事物及其聯絡的邏輯組織描述。本文將主要為大家介紹如何將資料模型轉化成資料庫設計。
ad:
將資料模型轉換成資料庫設計的相關問題:
1.建立表的聯絡
1:1強實體聯絡:
把乙個表的主鍵作為另一張表的外來鍵。為了強調最大粒度是1,應該把外來鍵設定成候選鍵。
1:n強實體聯絡:
把1的那一段的表(父表)的鍵設定成對應n的那一端的表(子表)的外來鍵。
n:m強實體聯絡:
建立只包含外來鍵的第三張交關係表,這個表中每一列都是主鍵的一部分,每一列都對應於其他表外來鍵,因此他總是id依賴於它的兩個父表。
注意,這張交關係表中,必須要有父表中的行。
2.使用id依賴實體聯絡的其他方法
關聯聯絡:
這種聯絡只針對聯絡本身,而不是實體的屬性。只需建立一張關聯表,id依賴於兩張父表,幷包含父表的聯絡屬性,如公司和貨物的:price。
注意,關聯表和交關係表的最重要區別是關聯表含有使用者資料,而交關係表則沒有。
多值屬性:
用id依賴實體代表父表所含有的多值組合,如companyname的(contact, phonenumber),phonenumber可含有多個值。companyname在新錶中將既是主鍵又是外來鍵。
原型/例項模式:
當乙個id依賴實體的父實體使用強制關鍵字時,id依賴實體也使用自己的強制關鍵字。得到的結果是弱實體,擔不是id依賴實體。
3.混合實體聯絡
這種設計既包含強實體設計也包含id依賴實體的設計。
對has-a聯絡進行轉換時,總的原則是「把父表的鍵放到子表中」,通常把1對應的父表放到子表中,n:m聯絡先轉換成兩個1:n聯絡。而對於標識聯絡,父表的鍵已經在子表中了,所以什麼都不用做。對於混合聯絡中的非標識聯絡,父表的鍵放在子表中。
4.子型別 is-a聯絡
子表和父表的主鍵相同,且子表的主鍵也是外來鍵。
5.遞迴聯絡
1:1在表中建立乙個外來鍵並設為候選鍵,指向父表。此表中父表和子表均是其自身。
1:n通過把父表的鍵放到子表中來標識1:n遞迴聯絡。
n:m建立乙個交關係表,把它分解成兩個1:n聯絡。
如何將字元轉換成數字
在我們計算高精度加減乘除時,因為無法用long long讀入乙個很大很大的數,所以我們先用讀入字串的方式讀入,然後再將字串的每一位轉換成數字。char sa 100 int a 100 int len gets sa len strlen sa for int i 0 i眾所周知,位運算的速度比加減...
如何將DataTable轉換成List
using system using system.collections.generic using system.linq using system.text using system.data using system.collections using system.reflection n...
如何將多行TextBox轉換成ListBox
如何將多行textbox轉換成listbox 老怪答 本題解法重點在 textbox 裡的斷行,必須由 chr 13 chr 10 兩字組合起來執行,所以應以 chr 13 為切割判斷點 dim allstring as string dim singlestring as string dim s...