[匯入]資料庫設計的一設想

來源:互聯網
上載者:User

還是接上一個POST的一個想法,我不想每次查詢的時候都查詢備忘欄位,而又不想每次都寫很到的SQL語句,雖然可以用一些SQL語句產生器,但畢竟越簡單越好。

於是想在資料庫的設計上想點辦法。例如我的資料庫裡有5個表裡會有備忘欄位,於是我想應該可以把這5個表的所有備忘都放到一個表裡,而我的設計可以是這樣的:
t_comment裡的欄位c_id,c_table1ID,c_table2ID,c_table3ID,c_tabl4ID,c_table5ID,c_comment,而其中前5個分別為表的記錄的ID號,用來區別備忘屬於哪個表及哪個記錄。

例如,我在表1裡只用基本資料而不用備忘,就可以直接用:
select * from t_table1
如果要加備忘:
select t_table.*,t_comment.c_comment from t_table1,t_comment where t_table1.t_id=t_comment.t_table1ID
因為要使用備忘的時候很少,而且相對於前一個SQL語句的使用頻繁度來說,後一個幾乎是不用的。而在一個系統裡,如果存在一些表,它的備忘是不可少的,而又不是每一條記錄都會有備忘,這樣的做法可以省很多SQL語句的代碼,而且在資源上也會省很多。

這樣管理和運行都會好很多,而且在SQL語句的寫法上,平均起來也會好很多。。。。。決定這樣做了。

當然,如果反向的想一下,在每一個表裡,把備忘欄位都修改為備忘表裡的ID,也是一個好的做法,這就要看備忘的使用頻率來決定用哪一個方法了。

文章來源:http://computer.mblogger.cn/wucountry/posts/49781.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.