**:[李阿昀的部落格](
複雜型別的物件有幾種表現形態:
以部門和員工的關係來說明一對多或多對一的物件是怎麼儲存到資料庫表中的。
資料庫表的設計的原則:先不要去管這些物件的關係,看某個物件有什麼基本屬性,然後設計乙個表來儲存此物件的基本資料。在資料庫裡面怎麼去保證資料往資料庫裡面存的時候,關係不丟呢?這裡面有乙個原則,記住一句話——在多的一方加外來鍵描述資料之間的關係。
資料庫表的設計方案如下:
資料庫表的sql語句如下:
create
table department
( id int
primary
key,
name varchar(40)
);
以老師和學生的關係來說明多對多的物件是怎麼儲存到資料庫表中的。
資料庫表的設計的原則:先不要去管這些物件的關係,看某個物件有什麼基本屬性,然後設計乙個表來儲存此物件的基本資料。在資料庫裡面怎麼去保證資料往資料庫裡面存的時候,關係不丟呢?需要加乙個中間表來描述資料的關係。
資料庫表的設計方案如下:
資料庫表的sql語句如下:
create
table teacher
( id int
primary
key,
name varchar(40),
salary decimal(8,2)
);
student表
create
table student
( id int
primary
key,
name varchar(40)
);
teacher_student表(中間表)
create
table teacher_student
( teacher_id int,
student_id int,
primary
key(teacher_id,student_id),
constraint teacher_id_fk foreign
key(teacher_id) references teacher(id),
constraint student_id_fk foreign
key(student_id) references student(id)
);
注意:關於中間表的設計,在設計主鍵時,應將teacher_id,student_id這2列作為聯合主鍵,即這2列值加在一起不能重複。
以身份證管理系統來說明一對一的物件是怎麼儲存到資料庫表中的。
資料庫表的設計的原則:先不要去管這些物件的關係,看某個物件有什麼基本屬性,然後設計乙個表來儲存此物件的基本資料。一對一的物件有乙個主從關係,主可以沒有從,但從不能沒有主。在身份證管理系統中,一對一的關係表現為乙個人只能有一張身份證,一張身份證只能屬於乙個人;主是人,從是身份證,一對一的物件有乙個主從關係表現為人可以沒有身份證,但身份證不能不屬於人。
資料庫表的設計方案如下:
資料庫表的sql語句如下:
create
table person
( id int
primary
key,
name varchar(40)
);
idcard表
create
table idcard
( id int
primary
key,
city varchar(40),
constraint id_fk foreign
key(id) references person(id)
);
以家族管理系統來說明自連線表的設計。
資料庫表的設計方案如下:
注意:自連線,外來鍵列不能加非空約束。
資料庫表的sql語句如下:
create
table person
( id int
primary
key,
name varchar(40),
parent_id int,
constraint parent_id_fk foreign
key(parent_id) references person(id)
);
面試題:乙個無限極分類的數的資料庫表的設計(請設計乙個無限極分類的表)。
解:以乙個商品分類表來說明怎樣去設計乙個無限極分類的表。這裡用圖來說明:
如果不使用資料庫的三大正規化建表,而是設計一張表,把所有資料存到一張表裡,那麼會出現冗餘資料,但是查詢效能很好,不需要查多表。
例如,在多對多物件的表的設計中,我們可以設計一張表,把所有資料存到一張表裡。
如何設計資料庫表?
背景 最近在準備軟體設計師的資格考試。首先表達一下我為什麼會去考這個證,主要有以下兩點 薪資待遇,求職。雖然很多人說該證書沒有用。但是有一些大廠會直接給你加薪的。我記得hk中級資格證書,每個月1000的補貼。高階資格證書是1500的補貼。並且在簡歷中,你有這個證書,hr對你的認可也會深刻。在福利面前...
設計資料庫
當資料庫比較複雜時 資料量大,表較多,業務關係複雜 需要預先設計資料庫。軟體專案的開發周期 1.需求分析 分析客戶的業務和資料處理需求 2.概要設計 設計資料庫的e r模型圖,確認需求資訊的正確和完整 3.詳細設計 將e r圖轉換為多張表,進行邏輯設計,並用資料庫設計的三大正規化進行審核 4.編寫 ...
資料庫設計 設計資料庫之前
1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...