溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

視圖、表格設(shè)計(jì)

發(fā)布時(shí)間:2020-07-28 13:06:08 來源:網(wǎng)絡(luò) 閱讀:563 作者:ZeroOne01 欄目:MySQL數(shù)據(jù)庫

視圖:

視圖是用于包裝sql查詢語句的,有時(shí)候一條查詢語句可能要寫幾十行,如果每次給服務(wù)器都要發(fā)送這么長的查詢語句不太好,而且每次都要寫這么長的語句也比較麻煩和消耗時(shí)間,所以視圖就是用來解決這種問題的,視圖將查詢語句包裝成一張表。所以視圖又稱為偽表、虛擬表,因?yàn)槠鋵?shí)使用視圖時(shí)和使用表差不多。


創(chuàng)建視圖:

視圖關(guān)鍵字是VIEW。

代碼示例:

視圖、表格設(shè)計(jì)



視圖、表格設(shè)計(jì)


視圖有三種引擎MERGE、TEMPTABLE、UNDEFINED:

視圖、表格設(shè)計(jì)

一般情況下大多數(shù)都是使用MERGE引擎,UNDEFINED引擎是mysql的一個(gè)算法引擎。

代碼示例:

視圖、表格設(shè)計(jì)


修改視圖:

修改視圖使用修改關(guān)鍵字就可以了,跟修改表一樣,只不過這張表里的數(shù)據(jù)是一條sql查詢語句。

代碼示例:

視圖、表格設(shè)計(jì)




刪除視圖:

刪除視圖和刪除表格一樣用DROOP刪除。

代碼示例:

視圖、表格設(shè)計(jì)


表格設(shè)計(jì):

設(shè)計(jì)表格時(shí)在多方面考慮,并且表格設(shè)計(jì)下來后一般是不進(jìn)行更改的,所以設(shè)計(jì)表格的時(shí)候就要思考,如何設(shè)計(jì)表格以后不會出改動(dòng)表結(jié)構(gòu)的情況,并且設(shè)計(jì)的表格需要有彈性,能夠適應(yīng)一些可能會出現(xiàn)的情況。

錯(cuò)誤的表格設(shè)計(jì)方式示例:

視圖、表格設(shè)計(jì)

上圖設(shè)計(jì)錯(cuò)誤的地方有:1.不應(yīng)該使用自動(dòng)編號  2.性別不應(yīng)該使用Boolean類型  3.電話號碼不應(yīng)該使用int類型  4.愛好不應(yīng)該設(shè)計(jì)在此表中


問題1:使用int類型自動(dòng)編號的話,萬一哪一天數(shù)據(jù)量積累到一定程度int類型不夠用了怎么辦?一個(gè)系統(tǒng)會運(yùn)作多久你不得而知,萬一運(yùn)作很多年積累的數(shù)據(jù)量可能會超出int類型能夠存儲的范圍,所以在公司里開發(fā)不應(yīng)該使用自動(dòng)編號,可以使用varchar類型。


問題2:Boolean類型只有兩個(gè)值true和false,雖然性別看上去只有男和女兩個(gè)性別,但是萬一需要一個(gè)保密的選項(xiàng)或者需要其他選項(xiàng)的情況呢?所以應(yīng)該使用varchar類型會比較好一些,即便是使用枚舉類型也不是太好,因?yàn)槊杜e類型也是定死了選項(xiàng)。


問題3:雖然國內(nèi)的電話號碼普遍是11位,但是萬一需要存儲國外的電話號碼或者特別行政區(qū)的電話號碼和座機(jī)號碼呢?所以不能使用int類型,應(yīng)該使用varchar類型。


問題4:一個(gè)人的愛好可以有很多的,如果所有的愛好都存儲在一個(gè)字段里,需要修改、刪除、更改某個(gè)愛好的時(shí)候無法單個(gè)的去操作。應(yīng)該把愛好單獨(dú)放在另一個(gè)表里,然后與學(xué)生這個(gè)表形成對應(yīng)關(guān)系,這樣才能更好的操作數(shù)據(jù)。


正確的表格設(shè)計(jì)方式示例:

視圖、表格設(shè)計(jì)




視圖、表格設(shè)計(jì)



設(shè)計(jì)思想

1.如何去設(shè)計(jì)表

1.必須有主鍵

2.每一行要能區(qū)分開來

3.一個(gè)列里面不能含有多種值

4.多用字符串類型

5.在表格設(shè)計(jì)的時(shí)候不要使用大數(shù)據(jù)類型

6.不能有重復(fù)值出現(xiàn),其中一張表不能重復(fù)其他表格里已經(jīng)存在的數(shù)據(jù)

2.我們怎么把業(yè)務(wù)形成表

一對多 一個(gè)主鍵對多個(gè)外鍵


一對一 主鍵對主鍵


多對多 需要三張表來維護(hù)

例如

一個(gè)人可以學(xué)習(xí)多門課程

一門課程可以給多個(gè)學(xué)生學(xué)習(xí)

一個(gè)角色可以有很多功能

一個(gè)功能可以分配到很多個(gè)角色



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI