關鍵字:數據庫設計 設計規范 技巧
假設有兩個表:
Customer 和 Order。Customer 表的前綴是 cu_,所以該表內的子段名如下:cu_name_id、cu_surname、cu_initials 和cu_address 等。Order 表的前綴是 or_,所以子段名是:
or_order_id、or_cust_name_id、or_quantity 和 or_description 等。
這樣從數據庫中選出全部數據的 SQL 語句可以寫成如下所示:
Select * From Customer, Order Where cu_surname = “MYNAME“ ;
and cu_name_id = or_cust_name_id and or_quantity = 1
在沒有這些前綴的情況下則寫成這個樣子(用別名來區分):
Select * From Customer, Order Where Customer.surname = “MYNAME“ ;
and Customer.name_id = Order.cust_name_id and Order.quantity = 1
第 1 個 SQL 語句沒少鍵入多少字符。但如果查詢涉及到 5 個表乃至更多的列[字段]你就知道這個技巧多有用了。
5) 選擇數字類型和文本類型的長度應盡量充足
假設客戶ID 為10 位數長。那你應該把數據庫表字段的長度設為12 或者13 個字符長。但這額外占據的空間卻無需將來重構整個數據庫就可以實現數據庫規模的增長了。
6) 增加刪除標記字段
在表中包含一個“刪除標記”字段,這樣就可以把行標記為刪除。在關系數據庫里不要單獨刪除某一行;最好采用清除數據程序而且要仔細維護索引整體性。
7) 提防大小寫混用的對象名和特殊字符
采用全部大寫而且包含下劃符的名字具有更好的可讀性(CUSTOMER_DATA),絕對不要在對象名的字符之間留空格。
8) 小心保留詞
要保證你的字段名沒有和保留詞、數據庫系統或者常用訪問方法沖突,比如,用 DESC 作為說明字段名。后果可想而知!DESC 是 DESCENDING 縮寫后的保留詞。表里的一個 SELECT * 語句倒是能用,但得到的卻是一大堆毫無用處的信息。
9) 保持字段名和類型的一致性
在命名字段并為其指定數據類型的時候一定要保證一致性。假如字段在表1中叫做“agreement_number”,就別在表2里把名字改成“ref1”。假如數據類型在表1里是整數,那在表2里可就別變成字符型了。當然在表1(ABC)有處鍵ID,則為了可讀性,在表2做關聯時可以命名為ABC_ID。
10) 避免使用觸發器
觸發器的功能通??梢杂闷渌绞綄崿F。在調試程序時觸發器可能成為干擾。假如你確實需要采用觸發器,你最好集中對它文檔化。