表命名是以英文名稱為原則,表示該錶的具體意義,例如商品表可以叫item,商品表可以叫item_image。
如果公司業務複雜,資料庫過多,schema也比較多,則要根據schema的來命名,例如:在crm下面可以用crm開頭命名crm_user.
臨時表應該以tmp開頭tmp_user,這樣的表一段時間後將會清除。
備份資料使用的表應該使用bak開頭,這樣的表在被確認不需要後將被清除。
注:表的命名不能超過30個字元
表達該字段的含義
不能用oracle中的保留字
注釋一定要詳細加上,如status 狀態,0 有效,1刪除
注:字段長度也盡量簡化(如crm_test_times_currently,太長)
主鍵(primary key)索引
pk_表名_列名
唯一鍵(unique key)索引
uk_表名_列名
普通索引
ind_表名_列名
注:索引的命名不能超過30個字元(在索引中的列名可以簡寫,一般情況下不簡寫索引中的表名)
過程的命名規則
以sp_開頭,過程中要註解此過程的作者,編寫時間,此過程的功能
函式的命名規則
以fun_開頭,函式中要註解此函式的作者,編寫時間,此函式的功能
變數的命名規則
本地變數以l_開頭;
傳遞引數:p_變數名_in (傳入)
p_變數名_out(傳出)
游標型別cur_開頭;
序列的命名
seq_表名_列名
如何在程式中使用序列所產生的值
insert into test(id,nick)
values(seq_test_id.nextval,'test');
如何查詢序列的當前值:
select seq_test_id.currval from dual;
sql語句所有表名,欄位名全部小寫,sql保留字大寫;
select *查詢語句不允許出現,要明確寫查詢哪些列;
連線符or、in、and、以及=、<=、>=等前後加上乙個空格
sql語句注意縮排
where子句書寫時,每個條件佔一行,語句另起一行時,以保留字或者連線符開始,連線符右對齊
多表連線時,使用表的別名來引用列
sql示例:
select aa.title,aw.bid,aw.closingdate,u.nick
from t_users u,
t_test tt
t_item aa
where u.id = tt.seller
and aw.auction = aa.id
and u.nick =『test』;
where條件中儘量減少使用常量比較,改用繫結變數
儘量減少order by和group by排序操作 ,有些排序操作可以由應用程式完成
如必須使用排序操作,請遵循如下規則 :
1.排序列上有索引
2.如結果集不需唯一,使用union all代替
union
盡量避免對索引列進行計算,或者對列進行函式操作然後查詢
例如:select t.id from test t
where upper(t.nick) = :1
正確的是:
select t.id from test t
where t.nick = upper(:1)
注意繫結變數與索引列資料型別的一致性
表test欄位id的型別為number
錯誤的是:
select t.subject from test
where t.id=『5』;
此寫法將不會走id欄位上的索引,執行計畫為全表掃瞄
正確的是:
select t.subject from test
where t.id=5;
分頁sql寫法
select * from (select t.*,rownum as rn from (select id,name,*** from test order by id desc) t where rownum < 21) where rn >19;
適當使用提示優化
select /* + index(a idx_test)*/ count(*) from test a;
SQL基本書寫規則
1.dbms的種類 dbms 主要通過資料的儲存格式 資料庫的種類 來進行分類,現階段主要有以下 5 種型別.物件導向資料庫 object oriented database,oodb xml資料庫 xml database,xmldb 鍵值儲存系統 key value store,kvs 舉例 m...
QSS 書寫規則
借用css 的靈感,qt也支援qt自己的css,簡稱qss。同css 相似,qss的主要功能與最終目的都是能使介面的表現與介面的元素分離,即質與形的分離,就如同乙個人可以在不同的時候穿上不同的衣服一樣,css機制的引入,使得設計一種 與介面控制項分離的軟體成為可能,應用程式也能像web介面那樣隨意地...
2 SQL的基本書寫規則
對於 sql 初學者,在寫 sql 語句時,只要遵守下面幾個書寫規則,就可以避免很多錯誤。這些規則都非常簡單,下面我們來逐一介紹。在 rdbms 關係型資料庫 當中,sql 語句是逐條執行的,一條 sql 語句代表著資料庫的乙個操作。我們通常在句子的句尾加註標點表示這句話結束,中文句子以句號。結尾,...