ETH官方钱包

前往
大廳
主題

【mysql】一些關(guān)於建表的不重要問(wèn)題筆記

伶乃 | 2022-01-06 16:32:17 | 巴幣 104 | 人氣 292

因?yàn)槲液芟矚g在不重要的小地方鑽牛角尖,所以就有了這篇筆記。
以前寫資料庫(kù)的時(shí)候是為了趕期末交差,所以老師給甚麼規(guī)定就寫甚麼也沒(méi)特別去在意這些地方,但久違的碰了不弄清楚就覺(jué)得很不舒服。

命名規(guī)則:

1. mysql會(huì)全部小寫命名,資料庫(kù)會(huì)區(qū)分大小寫,而mssql則習(xí)慣以帕斯卡命名(首字大寫),資料庫(kù)部曲分大小寫。
2. schema會(huì)以專案名稱命名。
3. 表格以用途命名,使用單複數(shù)好像是一場(chǎng)宗教戰(zhàn)爭(zhēng)沒(méi)有共識(shí),個(gè)人也偏好使用複數(shù)。
4. 欄位命名除了id會(huì)特別用表格當(dāng)前綴之外其他並沒(méi)有硬性規(guī)定,看得懂即可,目前個(gè)人偏好除非會(huì)頻繁的使用join否則都不加前綴(id也是)。


Datasource:

為了讓資料庫(kù)能夠從外面連近來(lái)而建立的東東。
關(guān)於一個(gè)專案一個(gè) datasource 還是多個(gè)專案一個(gè) datasource 再一個(gè)專案一個(gè) schema,會(huì)根據(jù)專案的規(guī)模、團(tuán)隊(duì)而定。
個(gè)人開發(fā)的話可以選擇後者,方便同一管理,不過(guò)還是要使用之後才能更確切的體會(huì)到差別,總之還是可以先隨自己喜歡的來(lái)。
datasource 的命名沒(méi)有硬性規(guī)定,可以隨自己喜歡。

關(guān)於型別的設(shè)定:

在設(shè)定字串的時(shí)候會(huì)習(xí)慣給予長(zhǎng)度,應(yīng)該主要是效能問(wèn)題,看很多技術(shù)文章多個(gè)2byte都會(huì)讓人很計(jì)較,但小規(guī)模的專案應(yīng)該就沒(méi)有影響了,畢竟現(xiàn)在空間也很便宜。
nvachar 和 varchar 、 nchar 和 char的差異在編碼上,有n會(huì)統(tǒng)一字元長(zhǎng)度,有沒(méi)有n都可以儲(chǔ)存中文字元,所以實(shí)際的差別我還不是很能理解。
習(xí)慣上
char用來(lái)存固定長(zhǎng)度的英數(shù)字串
varchar用來(lái)存不固定長(zhǎng)度的英數(shù)字串
nchar用來(lái)存固定長(zhǎng)度的含非英數(shù)字元字串
nvarchat用來(lái)存不固定長(zhǎng)度的含非英數(shù)字元字串

-----------------------
以後有想到其他建表相關(guān)的東東會(huì)補(bǔ)充在這篇

創(chuàng)作回應(yīng)

更多創(chuàng)作