數(shù)據(jù)庫設(shè)計-02-建立數(shù)據(jù)模型

0 現(xiàn)實世界的數(shù)據(jù)化

Paste_Image.png

1 概念模型

1.1 基本概念

Paste_Image.png

1.2 E-R 模型

1.2.1基本組成元素

Paste_Image.png

1.2.2 設(shè)計原則

E-R Rules.png

(1)相對原則
屬性和聯(lián)系本質(zhì)上都是實體,可以相互轉(zhuǎn)化
(2)一致原則
同一對象在業(yè)務(wù)系統(tǒng)和子系統(tǒng)之間要保持一致
[TODO]
(3)簡單原則
將盡可能多的實體轉(zhuǎn)換為屬性

1.2.3 E-R模型聯(lián)系

Paste_Image.png
三種基本關(guān)系

1.2.4 合并E-R圖沖突

Paste_Image.png

(1)命名沖突
一個對象抽象的實體在不同子系統(tǒng)中叫了不同的名字,
或者在不同系統(tǒng)的兩個對象,命名相同
(2)屬性沖突
同一個實體在不同子系統(tǒng)中的某一屬性類型不同
(3)結(jié)構(gòu)沖突
例如,同一對象,在A系統(tǒng)中為實體,在B系統(tǒng)中為關(guān)系。

注:合并沖突出現(xiàn)在局部E-R模型集成為全局E-R模型的過程中

1.2.5 E-R圖設(shè)計流程

Paste_Image.png

1.2.5.1 局部E-R圖設(shè)計流程

[TODO]

個人經(jīng)驗總結(jié)
Step 1: 列出所有實體的名稱 ,順手列出他們各自的主碼
Step 2: 在各個實體之間找出他們之間的關(guān)系,這一步是在整個E-R圖設(shè)計過程中最重要的一步,同時在第一步中列出的實體,可能在你進一步的設(shè)計中變成了聯(lián)系,這都是有可能的。
Step 3: 為各個實體和聯(lián)系添加詳細的屬性。(當然這一步可以往后靠,可以先做局部E-R模塊集成,最后再添加屬性,再或者生成了數(shù)據(jù)庫之后,最后再到DBMS中添加,這都是可以的)

2 數(shù)據(jù)模型

2.1主要數(shù)據(jù)模型

Paste_Image.png

2.2 基本概念

Paste_Image.png

表 : Student

Paste_Image.png

關(guān)系模式
Student (學(xué)校ID,學(xué)生學(xué)號,姓名,身份證號,性別)

候選碼
能夠唯一確定一行元組的屬性組合有兩種

候選碼1

( 學(xué)校ID , 學(xué)生學(xué)號)

候選碼2

學(xué)生身份證號

主碼
主碼只能有一個。(注:可以為復(fù)合主碼)
我們從候選碼中選擇 (學(xué)校ID,學(xué)生學(xué)號)作為主碼

外部碼
這里班級號為外部碼

元組
表中的一行數(shù)據(jù)


分量
一行數(shù)據(jù)中某一屬性的值: 大山


屬性的取值范圍
性別: {男,女}

2.3 完整性約束

(1) 實體完整性 Entity Integrity **
任一候選碼的任一屬性不能為空
(2)
參照完整性**
如果A引用了B中的元素,例如我們之前例子中的屬性: 班級號
它是外部碼,假設(shè)對應(yīng)的另一張表叫Class,主碼為班級號
則A中的班級號要么為空,要么必須為Class表中已有的班級號
(3)用戶自定義完整性
用戶對自己定義的屬性的約束條件,例年齡不能>60,學(xué)號必須是八位等等。

3 E-R圖向關(guān)系模式轉(zhuǎn)換

[TODO]

4 Summary

Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容