前往
大廳
主題

【mysql】一些關於建表的不重要問題筆記

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

因為我很喜歡在不重要的小地方鑽牛角尖,所以就有了這篇筆記。
以前寫資料庫的時候是為了趕期末交差,所以老師給甚麼規定就寫甚麼也沒特別去在意這些地方,但久違的碰了不弄清楚就覺得很不舒服。

命名規則:

1. mysql會全部小寫命名,資料庫會區分大小寫,而mssql則習慣以帕斯卡命名(首字大寫),資料庫部曲分大小寫。
2. schema會以專案名稱命名。
3. 表格以用途命名,使用單複數好像是一場宗教戰爭沒有共識,個人也偏好使用複數。
4. 欄位命名除了id會特別用表格當前綴之外其他並沒有硬性規定,看得懂即可,目前個人偏好除非會頻繁的使用join否則都不加前綴(id也是)。


Datasource:

為了讓資料庫能夠從外面連近來而建立的東東。
關於一個專案一個 datasource 還是多個專案一個 datasource 再一個專案一個 schema,會根據專案的規模、團隊而定。
個人開發的話可以選擇後者,方便同一管理,不過還是要使用之後才能更確切的體會到差別,總之還是可以先隨自己喜歡的來。
datasource 的命名沒有硬性規定,可以隨自己喜歡。

關於型別的設定:

在設定字串的時候會習慣給予長度,應該主要是效能問題,看很多技術文章多個2byte都會讓人很計較,但小規模的專案應該就沒有影響了,畢竟現在空間也很便宜。
nvachar 和 varchar 、 nchar 和 char的差異在編碼上,有n會統一字元長度,有沒有n都可以儲存中文字元,所以實際的差別我還不是很能理解。
習慣上
char用來存固定長度的英數字串
varchar用來存不固定長度的英數字串
nchar用來存固定長度的含非英數字元字串
nvarchat用來存不固定長度的含非英數字元字串

-----------------------
以後有想到其他建表相關的東東會補充在這篇

創作回應

更多創作