關於物件導向的資料庫設計的想法

2021-06-29 02:36:01 字數 852 閱讀 2248

第一步,分析業務,找出系統中業務物件

分析物件間關係,包括呼叫關係、依賴關係。

物件包括資料和方法,在做資料庫設計時主要關注物件資料。

第二步,分析物件資料,找出需要儲存的部分

物件有很多資料成員,不是所有成員都要儲存。比如有些成員是根據其他成員計算出來的。

第三步,對映物件到資料庫

1、 根據需要儲存的物件,確定表結構; 2、

根據物件間關係,確定外來鍵及其他約束。

鍵設計的原則:

a、關欄位建立外來鍵。

b、所有的鍵都必須唯一,要避免n-n關聯,要全部優化為1-n關聯。 c、

避免使用復合鍵。

d、外來鍵總是關聯唯一的鍵字段。

主鍵通常使用自增整數,避免與業務發生關聯。因為業務會變化,但是主鍵不能變。

第四步,根據正規化,消除冗餘資料

第五步,根據效能需求,改善查詢效率 1、

允許少量冗餘

多表聯查很慢。如果引入少量冗餘,能夠消除多表聯查,可以提高查詢效率。但是有冗餘資料,會增加資料維護複雜性,可能出現不一致。因此需要在效率和正規化之間折衷。 2、

設計索引 1.

在經常用作where條件的字段上建立索引; 2.

在sql語句中經常進行group by、order by的字段上建立索引; 3.

在取值比較分散、重複值較少的字段上建立索引; 4.

用於聯接的列(主健/外健)上建立索引; 5.

在經常訪問的多個列上建立復合索引,但要注意復合索引的建立順序要按照使用的頻度來確定;

3、設計儲存過程 4、

根據預估資料量,對關鍵表進行分表、分割槽。

第六步,根據安全性、可靠性需求,設計備份策略

資料庫設計,錯誤設計的想法

當全域性資料庫的設計完成以後,有個美國資料庫設計專家說 鍵,到處都是鍵,除了鍵之外,什麼也沒有 這就是他的資料庫設計經驗之談,也反映了他對資訊系統核心 資料模型 的高度抽象思想。因為 主鍵是實體的高度抽象,主鍵與外來鍵的配對,表示實體之間的連線。程式設計的精華就在於高度抽象,將最複雜的情況,抽象為最...

關於物件導向和設計模式的一些想法

上週和兩個朋友聊天談到了物件導向,大家對程式中物件定義的範疇進行了討論。物件可以是現實世界中的實體,物件可以是作用在這些實體上的一組操作,也可以是多個實體之間的相互作用。程式設計師經常把需要實現的一種服務定義為物件,或者乙個流程定義為物件。面對現實世界中的諸多因素,究竟能抽象出哪些物件定義?我從討論...

關於物件導向的一點想法

c 等語言的 物件導向 是源 級別的,是由編譯器為你呈現的 一片 物件導向 的假象 它只限於編譯器的這一頭 輸入 編譯器的另一頭 輸出 同樣是一堆十分 physical 的二進位制指令序列,和c等面向過程的語言的編譯輸出沒有本質區別。所以newb程式設計師說,我能用c寫出和c 同樣編譯結果的東東來 ...