日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql实体_mysql实体关系

發布時間:2024/4/18 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql实体_mysql实体关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實體關系

表設計

1:1

兩個實體表內,存在相同的主鍵字段

如果記錄的主鍵值等于另一個關系表內記錄的主鍵值,則兩條記錄的對應為一一對應

優化上稱為垂直分割

1:n

一個實體對應多個其他實體(一個班級對應多個學生)

設計:在多的那段增加一個字段,用于指向該實體所屬的另外實體的標識

M:n

多對多

設計典型的利用一個中間表表示實體之間的對應關系。中間表的每一條記錄表示一個關系。

可以分析:一個m:n可拆解為?1:m? 1:n來實現

外鍵 foreign key

概念:如果一個實體(student)的某個字段(student:class_id)指向(引用)另一個實體(class)的主鍵(class:class_id)

就稱student實體的class_id是這兩個實體關聯的外鍵。

被指向的實體稱為主實體(主表),也叫父實體(父表)

負責指向的實體稱為從實體(從表),也叫子實體(子表)

一般在哪個表里定義外鍵 這個表就是子表

作用:

約束處于關系內的實體

增加子表記錄時,是否有與之對應的父表記錄。刪除和更新主表記錄時,從表應該如何處理與之相關的記錄。

定義一個外鍵

在從表上增加一個外鍵字段,指向主表的主鍵??使用關鍵字?foreign key

Foreign key (外鍵字段) references?主表名?(關聯字段) [主表記錄刪除時動作][主表記錄更新時記錄]

建完表后插入

在子表增加記錄時,父表中必須有與之對應的記錄存在

設置級聯操作

在主表數據發生改變時,與之關聯的從表數據該如何變化

主表更新

主表刪除

使用關鍵字on update,on delete來標識

允許的級聯操作:

Cascade:關聯操作如果主表被刪除,那么從表也會執行相關的操作

Set null :?設置為null表示從表不指向任何主表記錄

Restrict :拒絕主表的相關操作

修改外鍵:先刪除再新建外鍵,通過修改表來完成。

Alter table student drop foreign key (class_id)?有問題

刪除外鍵需要通過指定外鍵名達到目的

可以通過創建外鍵時指定名稱或者使用Mysql默認生成的名稱

新建外鍵:

Alter table student add foreign key (class_id) references class (class_id)

On delete set null

注意關聯的字段必須類型一致

在class_id定義時要能為null

On update指的是只有主表的主鍵發生變化,才能對從表產生影響。

現在表中數據默認都是restrict show?里默認不顯示

Php實際項目中只有關聯,不設置外鍵,刪除或更新時通過sql語句疊加操作

有名無實,在支持外鍵的存儲引擎表中才能使用(只有innodb)

總結

以上是生活随笔為你收集整理的mysql实体_mysql实体关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。