資料庫表設計 一對一 一對多 多對多

2021-10-10 22:46:51 字數 1831 閱讀 2089

天氣:陰

地點:圖書館

人物:小夥伴們與我

事件:不宅家,在圖書館睡覺、讀書、寫字、搗手機....

收穫:生活是積極向上的,很美好的一天,因為是我的破蛋日,祝我生日快樂?~~~~加油,越來越好、越來越明亮~~☀️

資料庫實體表間有三種對應關係:一對

一、一對多、多對多。

一、設計總結

1、設計e-r圖(先畫出實體,再畫實體間的聯絡)

2、根據e-r圖設計表和表結構(具體根據表關係進行設計)

二、各個表關係示例設計

1、一對一

示例:每個人都有唯一的年齡和姓名

user使用者表 id

agename118

林某220林可愛

2、一對多:

設計:多方新增一方的主鍵作為外來鍵

a.使用者表引入戶口表id作為外來鍵

b.使用者表的戶口表id 和 戶口表的id 字段型別要一致,型別是字元的話長度也要相同

c.通過新增主外來鍵約束,避免刪除資料時造成資料混亂

sql:

a.關鍵字:constraint 約束  references 參照

b.語句:alter table user add constraint household_user_fk foreign key(householdid) references household(id)

user使用者表(對應戶口) id

agename

householdid118

林某000000001220

林可愛000000001316

吼子000000002

household戶口表 id

householdname

familymember

000000001林家2

000000002吼家1

3、多對多:

示例:乙個人可以選擇多個愛好,每個愛好也有不同的人選擇

設計:先建表,再新增聯合主鍵、最後新增外來鍵約束(先後順序不可顛倒)

a.通過使用者愛好關係表建立使用者表和愛好表的聯絡;

b.userid、hobbyid作為關係表的聯合主鍵,確保不出現相同記錄;

c.多對多表建立主外來鍵後,要先刪除約束表內容再刪除主表內容。

sql:

a.建立聯合主鍵:alter table user_hobby add constraint user_hobby_pk primary key(userid,hobbyid) 

b.外來鍵約束:

alter table user_hobby add constraint user_hobby_fk1 foreign key(userid) references user(id)

alter table user_hobby add constraint user_hobby_fk2 foreign key(hobbyid) references hobby(id)

user使用者表 id

agename118

林某220林可愛

hobby愛好表 id

hobbyname

hobbymembercount1跳舞

12唱歌2

3溜冰14

攀岩1user_hobby使用者愛好關係表

userid

hobbyid

createtime11

2020-11-28 10:14:0012

2020-11-28 11:16:2013

2020-11-28 12:12:1222

2020-11-28 13:14:1514

2020-11-28 14:24:00

資料庫設計 一對一 一對多 多對多)

關聯對映 一對多 多對一 存在最普遍的對映關係,簡單來講就如球員與球隊的關係 一對多 從球隊角度來說乙個球隊擁有多個球員 即為一對多 多對一 從球員角度來說多個球員屬於乙個球隊 即為多對一資料表間一對多關係如下圖 關聯對映 一對一 一對一關係就如球隊與球隊所在位址之間的關係,一支球隊僅有乙個位址,而...

資料庫設計(一對一 一對多 多對多)

一對一關係就如球隊與球隊所在位址之間的關係,一支球隊僅有乙個位址,而乙個位址區也僅有一支球隊。資料表間一對一關係的表現有兩種,一種是外來鍵關聯,一種是主鍵關聯。一對一外來鍵關聯,圖示如下 一對一主鍵關聯 要求兩個表的主鍵必須完全一致,通過兩個表的主鍵建立關聯關係。圖示如下 我們以學生和班級之間的關係...

資料庫設計 一對一 一對多 多對多)

關聯對映 一對多 多對一 存在最普遍的對映關係,簡單來講就如球員與球隊的關係 一對多 從球隊角度來說乙個球隊擁有多個球員 即為一對多 多對一 從球員角度來說多個球員屬於乙個球隊 即為多對一資料表間一對多關係如下圖 關聯對映 一對一 一對一關係就如球隊與球隊所在位址之間的關係,一支球隊僅有乙個位址,而...