mysql三大范式_MySQL学习笔记
生活随笔
收集整理的這篇文章主要介紹了
mysql三大范式_MySQL学习笔记
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)
1、總-總體流程圖2、分-【提取屬性】業(yè)務(wù)分析評(píng)價(jià)的屬性:{用戶(hù),課程主標(biāo)題,內(nèi)容,綜合評(píng)分,內(nèi)容實(shí)用,簡(jiǎn)潔易懂,邏輯分析,發(fā)布時(shí)間} 問(wèn)答評(píng)論屬性:{類(lèi)型,標(biāo)題,內(nèi)容,關(guān)聯(lián)章節(jié),筆記標(biāo)題,筆記內(nèi)容,發(fā)布時(shí)間}3、分-【屬性->對(duì)象】邏輯設(shè)計(jì)(1)寬表設(shè)計(jì)模式:存在數(shù)據(jù)冗余問(wèn)題
寬表設(shè)計(jì)模式(2)數(shù)據(jù)庫(kù)三大范式:解決數(shù)據(jù)冗余問(wèn)題
數(shù)據(jù)庫(kù)三大范式(3)反范式設(shè)計(jì):空間換時(shí)間
主要針對(duì)關(guān)聯(lián)表進(jìn)行反范式化設(shè)計(jì)2、數(shù)據(jù)庫(kù)物理設(shè)計(jì)
(1)常見(jiàn)引擎
| INNODB | Y | 最常用的事務(wù)存儲(chǔ)引擎 |
(2)根據(jù)INNODB特性?xún)?yōu)化表
- 根據(jù)INNODB特性?xún)?yōu)化表邏輯:
- 數(shù)據(jù)庫(kù)主鍵替換業(yè)務(wù)主鍵
- 減少關(guān)聯(lián)表提高查詢(xún)效率【增加了數(shù)據(jù)冗余】
- 保證數(shù)據(jù)的一致【建立主外鍵】
- 操作步驟:
- 將表的自增列添加進(jìn)去
- 將關(guān)聯(lián)列改造為主外鍵
(3)數(shù)據(jù)類(lèi)型
- 優(yōu)先選擇符合存儲(chǔ)數(shù)據(jù)需求的最小數(shù)據(jù)類(lèi)型
- 謹(jǐn)慎使用ENUM,TEXT字符串類(lèi)型
- 財(cái)務(wù)相關(guān),必須使用decimal類(lèi)型
(4)對(duì)象命名
- 庫(kù)/表/列 用小寫(xiě)英文和下劃線
- 禁止使用保留字
- 見(jiàn)名知意
- 臨時(shí)表,前綴:tmp,后綴:日期
- 備份表,前綴:bak,后綴:日期
- 所有存儲(chǔ)相同數(shù)據(jù)的列名和列類(lèi)型必一致
3、數(shù)據(jù)庫(kù)的訪問(wèn)
- MAC下連接數(shù)據(jù)庫(kù):cd /usr/local/mysql/bin/./mysql -uroot -p - Windows下連接數(shù)據(jù)庫(kù):mysql -u root -p- 查看用戶(hù)列表mysql> select user,host from mysql.user;+------------------+-----------+| user | host |+------------------+-----------+| mc_class | 127.0.0.1 || mysql.infoschema | localhost || mysql.session | localhost || mysql.sys | localhost || root | localhost |+------------------+-----------+5 rows in set (0.00 sec)4、開(kāi)發(fā)階段:
(1)創(chuàng)建數(shù)據(jù)庫(kù)賬戶(hù)
- 查看創(chuàng)建命令help create user; - 查看mysql支持的插件show plugins; - 創(chuàng)建一個(gè)用戶(hù)CREATE USER mc_class@'127.0.0.1'IDENTIFIED WITH 'mysql_native_password' by '123456'; - 連接:./mysql -umc_class -p123456 -h127.0.0.1(2)權(quán)限的下放和回收
- 查看數(shù)據(jù)庫(kù)支持哪些權(quán)限:show privilegesG; - 可以授予的權(quán)限-- insert-- delete-- update-- select-- execute - 實(shí)戰(zhàn)【授予查詢(xún)權(quán)限】-- 賦予用戶(hù)查詢(xún)某表中某列mysql> GRANT select(user,host) on mysql.user to mc_class@'127.0.0.1';Query OK, 0 rows affected (0.01 sec)-- 賦予用戶(hù)查詢(xún)某表下所有列mysql> GRANT select on mysql.user to mc_class@'127.0.0.1';Query OK, 0 rows affected (0.01 sec)-- 賦予用戶(hù)查詢(xún)某數(shù)據(jù)庫(kù)下所有表的權(quán)限mysql> GRANT select on mysql.* to mc_class@'127.0.0.1';Query OK, 0 rows affected (0.01 sec)--賦予增刪改查mysql> GRANT select,delete,insert,update ON mysql.* To mc_class@'127.0.0.1';Query OK, 0 rows affected (0.01 sec) - 回收用戶(hù)權(quán)限mysql> REVOKE delete,insert,update ON mysql.* FROM mc_class@'127.0.0.1';Query OK, 0 rows affected (0.01 sec)(3)數(shù)據(jù)庫(kù)對(duì)象的創(chuàng)建操作
- DDL建立/修改/刪除數(shù)據(jù)庫(kù):create/alter/drop databasecreate DATABASE imc_db;建立/修改/刪除表:create/alter/drop table建立/修改/刪除索引:create/alter/drop index清空表:truncate table(先刪除數(shù)據(jù),再保留結(jié)構(gòu),不會(huì)有刪除日志)重命名表:rename table建立/修改/刪除:create/alter/drop view 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的mysql三大范式_MySQL学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 17岁花季少女药物中毒致脑死亡!这几个习
- 下一篇: linux cmake编译源码,linu