表命名是以英文名稱為原則,表示該錶的具體意義,例如商品表可以叫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;
如何成為優秀的技術開發人員?
1.保持學習 乙個非常重要的觀點是 如果你停留在乙個地方不前,並不代表你能一直呆在那裡,而是代表你正在落後 不進則退 往前進並不意味著你是就能進步 這至少你不會淪落到最後 付出就會有收穫 程式設計師為了保持向前發展,就需要不斷學習 我們需要的不是慢慢的往前走,而是我們要奔跑起來!下面列出這方面的幾個...
如何成為優秀的技術開發人員?
1.保持學習 乙個非常重要的觀點是 如果你停留在乙個地方不前,並不代表你能一直呆在那裡,而是代表你正在落後 不進則退 往前進並不意味著你是就能進步 這至少你不會淪落到最後 付出就會有收穫 程式設計師為了保持向前發展,就需要不斷學習 我們需要的不是慢慢的往前走,而是我們要奔跑起來!下面列出這方面的幾個...
IT開發人員
其路五 轉行到市場 絞盡腦汁的想想,我所知道的人之中只有兩個開發人員去了市場,這兩個人都不能說是朋友,認識而已。他們都是主動要求去了市場,結果是這兩個人均在市場都是乾到一年左右,然後都自已開公司了。呵呵,很奇怪,極高的轉行成功率!不過仔細想想,我對這兩個人的思路佩服的五體投地。能下決心仍掉每月5 6...