0 現(xiàn)實(shí)世界的數(shù)據(jù)化
1 概念模型
1.1 基本概念
1.2 E-R 模型
1.2.1基本組成元素
1.2.2 設(shè)計(jì)原則
(1)相對(duì)原則
屬性和聯(lián)系本質(zhì)上都是實(shí)體,可以相互轉(zhuǎn)化
(2)一致原則
同一對(duì)象在業(yè)務(wù)系統(tǒng)和子系統(tǒng)之間要保持一致
[TODO]
(3)簡(jiǎn)單原則
將盡可能多的實(shí)體轉(zhuǎn)換為屬性
1.2.3 E-R模型聯(lián)系
1.2.4 合并E-R圖沖突
(1)命名沖突
一個(gè)對(duì)象抽象的實(shí)體在不同子系統(tǒng)中叫了不同的名字汁针,
或者在不同系統(tǒng)的兩個(gè)對(duì)象泵喘,命名相同
(2)屬性沖突
同一個(gè)實(shí)體在不同子系統(tǒng)中的某一屬性類型不同
(3)結(jié)構(gòu)沖突
例如油航,同一對(duì)象硬鞍,在A系統(tǒng)中為實(shí)體力细,在B系統(tǒng)中為關(guān)系典蝌。
注:合并沖突出現(xiàn)在局部E-R模型集成為全局E-R模型的過程中
1.2.5 E-R圖設(shè)計(jì)流程
1.2.5.1 局部E-R圖設(shè)計(jì)流程
[TODO]
個(gè)人經(jīng)驗(yàn)總結(jié)
Step 1: 列出所有實(shí)體的名稱 泻云,順手列出他們各自的主碼
Step 2: 在各個(gè)實(shí)體之間找出他們之間的關(guān)系艇拍,這一步是在整個(gè)E-R圖設(shè)計(jì)過程中最重要的一步狐蜕,同時(shí)在第一步中列出的實(shí)體,可能在你進(jìn)一步的設(shè)計(jì)中變成了聯(lián)系卸夕,這都是有可能的馏鹤。
Step 3: 為各個(gè)實(shí)體和聯(lián)系添加詳細(xì)的屬性。(當(dāng)然這一步可以往后靠娇哆,可以先做局部E-R模塊集成,最后再添加屬性勃救,再或者生成了數(shù)據(jù)庫之后碍讨,最后再到DBMS中添加,這都是可以的)
2 數(shù)據(jù)模型
2.1主要數(shù)據(jù)模型
2.2 基本概念
表 : Student
關(guān)系模式
Student (學(xué)校ID,學(xué)生學(xué)號(hào)蒙秒,姓名勃黍,身份證號(hào),性別)
候選碼
能夠唯一確定一行元組的屬性組合有兩種
候選碼1
( 學(xué)校ID 晕讲, 學(xué)生學(xué)號(hào))
候選碼2
學(xué)生身份證號(hào)
主碼
主碼只能有一個(gè)覆获。(注:可以為復(fù)合主碼)
我們從候選碼中選擇 (學(xué)校ID,學(xué)生學(xué)號(hào))作為主碼
外部碼
這里班級(jí)號(hào)為外部碼
元組
表中的一行數(shù)據(jù)
分量
一行數(shù)據(jù)中某一屬性的值: 大山
域
屬性的取值范圍
性別: {男,女}
2.3 完整性約束
(1) 實(shí)體完整性 Entity Integrity **
任一候選碼的任一屬性不能為空
(2)參照完整性**
如果A引用了B中的元素瓢省,例如我們之前例子中的屬性: 班級(jí)號(hào)
它是外部碼弄息,假設(shè)對(duì)應(yīng)的另一張表叫Class,主碼為班級(jí)號(hào)
則A中的班級(jí)號(hào)要么為空勤婚,要么必須為Class表中已有的班級(jí)號(hào)
(3)用戶自定義完整性
用戶對(duì)自己定義的屬性的約束條件摹量,例年齡不能>60,學(xué)號(hào)必須是八位等等。
3 E-R圖向關(guān)系模式轉(zhuǎn)換
[TODO]