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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql实体_mysql实体关系

發(fā)布時(shí)間:2024/4/18 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql实体_mysql实体关系 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)體關(guān)系

表設(shè)計(jì)

1:1

兩個(gè)實(shí)體表內(nèi),存在相同的主鍵字段

如果記錄的主鍵值等于另一個(gè)關(guān)系表內(nèi)記錄的主鍵值,則兩條記錄的對應(yīng)為一一對應(yīng)

優(yōu)化上稱為垂直分割

1:n

一個(gè)實(shí)體對應(yīng)多個(gè)其他實(shí)體(一個(gè)班級對應(yīng)多個(gè)學(xué)生)

設(shè)計(jì):在多的那段增加一個(gè)字段,用于指向該實(shí)體所屬的另外實(shí)體的標(biāo)識(shí)

M:n

多對多

設(shè)計(jì)典型的利用一個(gè)中間表表示實(shí)體之間的對應(yīng)關(guān)系。中間表的每一條記錄表示一個(gè)關(guān)系。

可以分析:一個(gè)m:n可拆解為?1:m? 1:n來實(shí)現(xiàn)

外鍵 foreign key

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

就稱student實(shí)體的class_id是這兩個(gè)實(shí)體關(guān)聯(lián)的外鍵。

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

負(fù)責(zé)指向的實(shí)體稱為從實(shí)體(從表),也叫子實(shí)體(子表)

一般在哪個(gè)表里定義外鍵 這個(gè)表就是子表

作用:

約束處于關(guān)系內(nèi)的實(shí)體

增加子表記錄時(shí),是否有與之對應(yīng)的父表記錄。刪除和更新主表記錄時(shí),從表應(yīng)該如何處理與之相關(guān)的記錄。

定義一個(gè)外鍵

在從表上增加一個(gè)外鍵字段,指向主表的主鍵??使用關(guān)鍵字?foreign key

Foreign key (外鍵字段) references?主表名?(關(guān)聯(lián)字段) [主表記錄刪除時(shí)動(dòng)作][主表記錄更新時(shí)記錄]

建完表后插入

在子表增加記錄時(shí),父表中必須有與之對應(yīng)的記錄存在

設(shè)置級聯(lián)操作

在主表數(shù)據(jù)發(fā)生改變時(shí),與之關(guān)聯(lián)的從表數(shù)據(jù)該如何變化

主表更新

主表刪除

使用關(guān)鍵字on update,on delete來標(biāo)識(shí)

允許的級聯(lián)操作:

Cascade:關(guān)聯(lián)操作如果主表被刪除,那么從表也會(huì)執(zhí)行相關(guān)的操作

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

Restrict :拒絕主表的相關(guān)操作

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

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

刪除外鍵需要通過指定外鍵名達(dá)到目的

可以通過創(chuàng)建外鍵時(shí)指定名稱或者使用Mysql默認(rèn)生成的名稱

新建外鍵:

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

On delete set null

注意關(guān)聯(lián)的字段必須類型一致

在class_id定義時(shí)要能為null

On update指的是只有主表的主鍵發(fā)生變化,才能對從表產(chǎn)生影響。

現(xiàn)在表中數(shù)據(jù)默認(rèn)都是restrict show?里默認(rèn)不顯示

Php實(shí)際項(xiàng)目中只有關(guān)聯(lián),不設(shè)置外鍵,刪除或更新時(shí)通過sql語句疊加操作

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。