mysql 關係表 MySQL表關係的理解

2021-10-18 20:55:31 字數 728 閱讀 5098

關係型資料庫表之間存在各種各樣的聯絡,及一對多,多對一,多對多。這裡主要講下一對多,為什麼要建立表之間的關聯。

一對多的定義:

一對多關係: 一對多關係是關聯式資料庫中兩個表之間的一種關係,該關係中第乙個表中的單個行可以與第二個表中的乙個或多個行相關,但第二個表中的乙個行只可以與第乙個表中的乙個行相關。

一對多關係,一般是乙個表的主鍵對應另乙個表的非主鍵,主鍵的值是不能重複的,而非主鍵值是可以重複的,乙個主鍵值對應另乙個表的非主鍵的值,那麼就只有乙個值對乙個值或乙個值對多個值兩種可能,故稱一對多。

思考一下,單獨的商品表、訂單表、酒店表無法記錄這條資訊嗎?

商品表:乙個蘋果手機,有土豪金,暗夜灰兩種規格。

訂單表:乙個訂單,購買了臉盆、電腦兩個商品。

酒店表: 乙個酒店,有商務房、**套房。

舉個? :需要記錄商品蘋果手機,有兩種型號,土豪金 1499、暗夜灰 1899。

可以通過兩種方式:

1.建立商品,新增規格字段,來記錄商品有哪些規格[xx,xx,xx],這種方式雖然單錶可以一條記錄包括所有資訊,但是資料量過多會導致查詢緩慢。

2.新建規格表,為需要新增規格商品建立規格記錄,及goods_uuid=我們要新增規格的商品uuid。查詢時通過goods_uuid到對應欄位及可查詢。

總結:1.單錶可以存放一條記錄的完整資訊,但是不符合規範。

2.因為單錶我們建立一條記錄無法表達這條記錄的完整性, 所以需要建立另一張表來完善這條記錄的完整性。

mysql 表參照關係 MYSQL表關係

表關係 一 外來鍵 foreign key 作用 約束當前表的某列值必須取自於另一張表的主鍵列值 外來鍵所在的列稱之為 外來鍵列 外來鍵所在的表稱之為 外來鍵表 或 子表 被外來鍵列所引用的表稱之為 主表 或 主鍵表 語法 1.建立表的同時指定外來鍵 create table 字段 型別,const...

mysql 關係 MySQL之表關係

mysql表關係 一對多關係 一對多與多對一是乙個概念,指的是乙個實體的某個資料與另外乙個實體的多個資料有關聯關係。舉例,學校中乙個學 院可以有很多的學生,而乙個學生只屬於某乙個學院 通常情況下 學院與學生之間的關係就是一對多的關係,通過外來鍵關聯來實現這種關係。建立學院表 mysql create...

Mysql 表的關係

成績表裡的學生姓名id和科目id通過外來鍵約束關係學生表和科目表。建立多對多的關係表 可以看成兩個一對多 create table t sid sid int primary key,id int not null create table t sub id sub id int primary k...