最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql數(shù)據(jù)庫(kù)中數(shù)據(jù)表的優(yōu)化、外鍵與三范式用法實(shí)例分析

 更新時(shí)間:2019年11月27日 12:15:30   投稿:shichen2014  
這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)中數(shù)據(jù)表的優(yōu)化、外鍵與三范式用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Mysql數(shù)據(jù)庫(kù)中數(shù)據(jù)表的優(yōu)化、外鍵與三范式相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Mysql數(shù)據(jù)庫(kù)中數(shù)據(jù)表的優(yōu)化、外鍵與三范式用法。分享給大家供大家參考,具體如下:

數(shù)據(jù)表優(yōu)化

將商品信息表進(jìn)行優(yōu)化

1.創(chuàng)建商品種類表:

create table if not exists goods_cates( 
id int unsigned primary key auto_increment, 
name varchar(40) not null 
);

2.將商品種類寫入商品種類表中:

注意:插入另一個(gè)表的查詢結(jié)果不需要加values

insert into goods_cates(name) 
(select cate_name from goods group by cate_name); 

3.將商品種類表更新到商品表中:

將商品表與種類表連接,用種類表id代替商品表種類內(nèi)容

update (goods_cates inner join goods on goods_cates.name=goods.cate_name) 
set goods.cate_name=goods_cates.id;

4.修改表結(jié)構(gòu):

將商品表商品種類名字段名cate_name重命名為cate_id

alter table goods change cate_name cate_id int unsigned not null; 

外鍵

1.外鍵的使用:

添加外鍵約束,插入數(shù)據(jù)線判斷cate_id是否存在于goods_cates中的id,不存在,則插入數(shù)據(jù)失敗

alter table 表名1 add foreign key (字段名1) references 表名2(字段名2); 

(設(shè)置外鍵后可以防止非法數(shù)據(jù)的錄入)

foreign key(字段名1) references 表名2(字段名2); 

(也可在創(chuàng)建表時(shí)直接設(shè)置外鍵,前提是要連接的表存在)

2.外鍵的缺點(diǎn):

雖然外鍵可以有效防止非法數(shù)據(jù)的錄入,但是會(huì)極大降低表的更新效率,所以實(shí)際開發(fā)中,一般不適用外鍵約束,可以再事務(wù)層面去判斷數(shù)據(jù)的合法性。

3.外鍵的刪除:

顯示創(chuàng)建表的語(yǔ)句

show create table goods; 

獲取外鍵名稱后刪除外鍵:

alter table goods drop foreign key goods_ibfk_1;

三范式

1.第一范式(1NF):強(qiáng)調(diào)列的原子性,即列不能再分成其他列。
2.第二范式(2NF):基于1NF,表必須有一個(gè)主鍵,非主鍵字段必須完全依賴與主鍵,而不是只依賴于主鍵的一部分。
3.第三范式(3NF):基于2NF,非主鍵列必須直接依賴于主鍵,不能存在傳遞依賴。

符合第三范式的數(shù)據(jù)庫(kù),是比較合理的數(shù)據(jù)庫(kù)。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

相關(guān)文章

  • mysql 5.7.17 安裝教程 附MySQL服務(wù)無(wú)法啟動(dòng)的解決方法

    mysql 5.7.17 安裝教程 附MySQL服務(wù)無(wú)法啟動(dòng)的解決方法

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7.17安裝教程,并且為大家分享了MySQL服務(wù)無(wú)法啟動(dòng)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • MySQL因大事務(wù)導(dǎo)致的Insert慢實(shí)例分析

    MySQL因大事務(wù)導(dǎo)致的Insert慢實(shí)例分析

    這篇文章主要給大家介紹了關(guān)于MySQL因大事務(wù)導(dǎo)致Insert慢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • 在MySQL中使用通配符時(shí)應(yīng)該注意的問題

    在MySQL中使用通配符時(shí)應(yīng)該注意的問題

    這篇文章主要介紹了在MySQL中使用通配符時(shí)應(yīng)該注意的問題,主要是下劃線的使用容易引起的錯(cuò)誤,需要的朋友可以參考下
    2015-05-05
  • zabbix監(jiān)控MySQL的兩種方式(最全)

    zabbix監(jiān)控MySQL的兩種方式(最全)

    Zabbix是一款開源的企業(yè)級(jí)監(jiān)控系統(tǒng),它主要用于網(wǎng)絡(luò)監(jiān)視、性能分析以及故障報(bào)警,管理員可以通過Zabbix Web界面設(shè)置監(jiān)控規(guī)則、圖形化展示數(shù)據(jù),本文給大家介紹了zabbix監(jiān)控MySQL的兩種方式,需要的朋友可以參考下
    2024-08-08
  • 徹底解決MySQL使用中文亂碼的方法

    徹底解決MySQL使用中文亂碼的方法

    本文詳細(xì)講解了徹底解決MySQL使用中文亂碼的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • mysql如何按照中文排序解決方案

    mysql如何按照中文排序解決方案

    本文將詳細(xì)介紹mysql如何按照中文排序解決方案,需要的朋友可以參考下
    2012-11-11
  • 超越MySQL 對(duì)流行數(shù)據(jù)庫(kù)進(jìn)行分支的知識(shí)小結(jié)

    超越MySQL 對(duì)流行數(shù)據(jù)庫(kù)進(jìn)行分支的知識(shí)小結(jié)

    盡管MySQL是最受歡迎的程序之一,但是許多開發(fā)人員認(rèn)為有必要將其拆分成其他項(xiàng)目,并且每個(gè)分支項(xiàng)目都有自己的專長(zhǎng)。該需求,以及 Oracle 對(duì)核心產(chǎn)品增長(zhǎng)緩慢的擔(dān)憂,導(dǎo)致出現(xiàn)了許多開發(fā)人員感興趣的子項(xiàng)目和分支
    2012-01-01
  • mysql too many open connections問題解決方法

    mysql too many open connections問題解決方法

    這篇文章主要介紹了mysql too many open connections問題解決方法,其實(shí)是max_connections配置問題導(dǎo)致,它必須在[mysqld]下面才會(huì)生效,需要的朋友可以參考下
    2014-05-05
  • 解決MySQL安裝重裝時(shí)出現(xiàn)could not start the service mysql error:0問題的方法

    解決MySQL安裝重裝時(shí)出現(xiàn)could not start the service mysql error:0問題的方法

    這篇文章主要為大家詳細(xì)介紹了解決MySQL安裝重裝時(shí)出現(xiàn)could not start the service mysql error:0問題的方法,感興趣的小伙伴們可以參考一下
    2016-06-06
  • mysql事務(wù)隔離級(jí)別詳解

    mysql事務(wù)隔離級(jí)別詳解

    MySQL事務(wù)隔離級(jí)別是指在多個(gè)事務(wù)同時(shí)執(zhí)行時(shí),數(shù)據(jù)庫(kù)系統(tǒng)如何處理這些事務(wù)之間的相互影響。MySQL提供了四種隔離級(jí)別:讀未提交、讀已提交、可重復(fù)讀和串行化。每種隔離級(jí)別都有其優(yōu)缺點(diǎn),需要根據(jù)具體情況選擇合適的級(jí)別。
    2023-06-06

最新評(píng)論

库车县| 枣庄市| 应用必备| 财经| 洛浦县| 大丰市| 太白县| 桐庐县| 梧州市| 祥云县| 永定县| 开平市| 六盘水市| 沭阳县| 黄山市| 东乡县| 南漳县| 陵水| 浮山县| 通河县| 通化县| 科技| 泾阳县| 德阳市| 隆安县| 陕西省| 鄯善县| 苍溪县| 新昌县| 高雄市| 中方县| 大连市| 太白县| 桐庐县| 台南市| 德州市| 太康县| 广西| 渭南市| 东台市| 定结县|