資料庫實體表的關係學習

2021-08-14 04:40:11 字數 1587 閱讀 2178

1、常見關係:

一對多. 使用者和訂單 分類和商品

多對多. 訂單和商品 學生和課程

一對一. 丈夫和妻子

2、er圖可以描述實體於實體之間的關係

實體用矩形表示

屬性用橢圓表示

關係用菱形表示

1、一對一

2、一對多:

使用者和訂單   

-- 建立使用者表

create

table

user(

id int

primary

key auto_increment,

username varchar(20)

);-- 建立訂單表

create

table orders(

id int

primary

key auto_increment,

totalprice double,

user_id int

);為了保證資料的有效性和完整性,新增約束(外來鍵約束).

在多表的一方新增外來鍵約束

格式:alter

table 多表名稱 add

foreign

key(外來鍵名稱) references 一表名稱(主鍵);

例如:alter

table orders add

foreign

key(user_id) references

user(id);

新增了外來鍵約束之後有如下特點:★

1.主表中不能刪除從表中已引用的資料

2.從表中不能新增主表中不存在的資料

開發中處理一對多:★

在多表中新增乙個外來鍵,名稱一般為主表的名稱_id,字段型別一般和主表的主鍵的型別保持一致,

為了保證資料的有效性和完整性,在多表的外來鍵上新增外來鍵約束即可.

2、多對多

例子:商品和訂單

-- 建立商品表

create

table product(

id int

primary

key auto_increment,

name varchar(20),

price double

);-- 建立中間表

create

table orderitem(

oid int,

pid int

);-- 新增外來鍵約束

alter

table orderitem add

foreign

key(oid) references orders(id);

alter

table orderitem add

foreign

key(pid) references product(id);

開發中處理多對多:★

引入一張中間表,存放兩張表的主鍵,一般會將這兩個字段設定為聯合主鍵,這樣就可以將多對多的關係拆分

成兩個一對多了

為了保證資料的有效性和完整性

需要在中間表上新增兩個外來鍵約束即可.

資料庫實體關係

資料庫實體間有三種關聯關係 一對一,一對多,多對多。一對一例項 乙個學生只有個身份證編號。一對多例項 乙個班級有多個學生。多對多例項 多對多就是雙向一對多,乙個學生可以選擇多門課,一門課也有多名學生。一對一關係處理 我們需要建立學生表來存放學生的資訊 列屬性為下面 身份證 學生證年齡 名字一對多關係...

資料庫實體間關係筆記

判斷實體間關係只需要問自己兩個問題 1.實體a包含實體b嗎?2.實體b包含實體a嗎?當實在是不能分辨兩個實體間的關係是 一對多 還是 多對多 我們不妨用假設法。今天設計資料庫標間關係的是偶蒙圈了。在這裡調整一下思路。實體a實體b 1 1 1n mn 1 1 獨生子家庭 乙個兒子只有有乙個父親,乙個父...

資料庫中實體的對應關係

一 多表設計中的三種實體關係 1 一對多 1 n 乙個部門可以對應多個員工,乙個員工只能屬於乙個部門 乙個客戶可以對應多個訂單,乙個訂單只能屬於乙個客戶 一對多關係建表原則 需要在多的一方新增乙個字段,作為外來鍵指向一的一方主鍵!2 多對多 m n 乙個學生可以選擇多門課程,乙個課程可以被多個學生所...