資料庫的另一種設計方法

2022-02-07 21:32:44 字數 1030 閱讀 6574

最近參與了乙個專案的開發,在開發的過程中發現資料庫的設計有點意思,順便拿來給大家分享一下。

對於乙個專案來說,資料庫無疑是很重要,如果資料庫設計不好,專案就很難開發的優秀,所以乙個資料庫的設計就顯得尤其重要。

在我這個專案中,有乙個訂單表(orderform),乙個商品資訊表(googsinfo),乙個系統參數列(syspram)暫且拿這幾張表做例子.在表orderform和googsinfo中,所有的字段一律全部都為wg01, wg02, wg03, wg04…..wg30這樣的30個字段,這些字段全都是無意義的,如圖:

然後在系統參數列(sysparam)裡就標明這些表的意義,包括表裡欄位的意義,如圖

這裡每個表裡的所有欄位都被清楚的表述出它的意義,然後我們在操作sql語句的時候就只作業系統參數列。比如一條select語句:

原句:select wg01,wg02 from freightinfo

改變後的:select (select fieldname from sysparma where showname=』配送編號』),

(select fieldname from sysparma where showname=』聯絡人**』) from freightinfo.

當然,大家現在看起來好像改變後的比原句複雜多了,但是如果我們寫乙個公共類來解析系統引數表裡的字段,那我們在寫類似select wg01,wg02 from freightinfo

這樣的查詢語句時,就完全沒有必要硬編碼在**中,只要通過改變你傳入的引數就可以獲取到不通過的字段,如果你的公共類做得更強大的話,那sql語句的型別(比如:select,updae,delete,insert)等你都可以通過傳入引數來得到不同的sql語句,這就有點像hribernate,不過不同的是hrebernate把配置寫到了xml檔案裡,而這裡是把配置寫到了資料庫裡,操作起來更方便。在以後我們就根本不用關心表的結構問題,哪怕它換成了其他的系統,我也只要改動一下系統引數表裡的資料就可以了,完全不用擔心欄位的問題,因為所有的字段都是無意義,這樣使用的重複性就可以大大提高。

這就是我的見解,有什麼不足的地方,還請多多請教!

Redis 另一種資料庫

最近與同學聊天過程時,兩人聊到了redis,很詫異於該同學對redis方面知識的匱乏,便對redis做乙個簡略的總結 資料庫我們都知道,也都非常熟悉mysql資料庫的使用,於是會想當然的認為資料庫都是同源的,在這種想法下,會對redis不以為然,這樣,在工作時,將會對其手足無措,由於在工作中的需要,...

另一種尊重

上中學的時候,有一節課印象非常深刻。老師問我們如果無意闖入乙個房間,發現房間裡有一位女士正在洗澡,這時應該怎麼辦?有同學回答就當什麼也沒看見,退出房間。還有同學回答 說聲對不起!女士。然後退出去。老師笑了笑說,還有更好的答案,那就是 對不起,先生!有一對結婚多年的夫妻,有一次出差在外的妻子有一件急事...

另一種勝利

另一種勝利 written by allen lee 剛才我的扣殺,出界了5.3厘公尺。雖然很可惜,但還是出界了,請確認下吧。幹 真是的,那些任性的傢伙!但是,到最後還只顧自己網球原則的正直笨蛋,和一定要用迴旋蛇標打中單人區的笨蛋,給我們看了場好比賽啊。龍崎 海棠和幹他們雖然輸了這場比賽,但他們堅持...