資料表設計考慮哪些問題

時間 2021-10-16 11:02:39

1樓:匿名使用者

ok我來說幾句 下面是資料庫設計過程中我們要注意的問題,和要遵循的原則1. 原始單據和實體的間關係

可以是對、對多、多對多關係在般情況下它們是對關係:即張原始單據對應且只對應個實體在特殊情況下它

們可能是對多或多對關係即張原始單證對應多個實體或多張原始單證對應個實體這裡實體可以理解為基本表明

確這種對應關係後對我們設計錄入介面大有好處

〖例1〗:份員工履歷資料在人力資源資訊系統中就對應 3個基本表:員工基本情況表、社會關係表、工作簡

曆表這就是「張原始單證對應多個實體」典型例子

2. 主鍵和外來鍵

般而言個實體不能既無主鍵又無外來鍵在e—r 圖中, 處於葉子部位實體, 可以定義主鍵也可以不定義主鍵(它

無子孫), 但必須要有外來鍵(它有父親)

主鍵和外來鍵設計在全域性資料庫設計中占有重要地位當全域性資料庫設計完成以後有個美國資料庫設計專家說

:「鍵到處都是鍵除了鍵的外什麼也沒有」這就是他資料庫設計經驗的談也反映了他對資訊系統核心(資料模型

)高度抽象思想:主鍵是實體高度抽象主鍵和外來鍵配對表示實體的間連線

3. 基本表性質

基本表和中間表、臨時表區別它具有如下 4個特性:

(1) 原子性基本表中字段是不可再分解

(2) 原始性基本表中記錄是原始資料(基礎資料)記錄

(3) 演繹性由基本表和**表中資料可以派生出所有輸出資料

(4) 穩定性基本表結構是相對穩定表中記錄是要長期儲存

理解基本表性質後在設計資料庫時就能將基本表和中間表、臨時表區分開來

4. 正規化標準

基本表及其欄位的間關係, 應盡量滿足第 3正規化但是滿足第 3正規化資料庫設計往往不是最好設計為了提高數

據庫執行效率常常需要降低正規化標準:適當增加冗餘達到以空間換時間目

〖例2〗:有張存放商品基本表如表1所示「金額」這個字段存在表明該錶設計不滿足第 3正規化「金額」可以

由「單價」乘以「數量」得到介紹說明「金額」是冗餘字段但是增加「金額」這個冗餘字段可以提高查詢統計

速度這就是以空間換時間作法

在rose 2002中規定列有兩種型別:資料列和計算列「金額」這樣列被稱為「計算列」而「單價」和「數量

」這樣列被稱為「資料列」

表1 商品表表結構

商品名稱 商品型號 單價 數量 金額

電視機 29吋 2,500 40 100,000

5. 通俗地理解 3個正規化

通俗地理解 3個正規化對於資料庫設計大有好處在資料庫設計中為了更好地應用 3個正規化就必須通俗地理 最後說一下 如果專案的表在500個左右的話 資料可以有些冗餘的 這樣可以大大的提高程式的執行效率如果這個專案要有很強的擴充套件性 請嚴格遵守 第三正規化 3nf 其實理論上這麼講,在正正開發中我們還是要根據實際情況來取捨的祝你好運!

2樓:匿名使用者

資料表設計時,應該注意你的表的效能問題,一般原則上達到第三正規化就可以了。過高的正規化會影響效能。當然,你要根據實際情況,有的分布式系統要求第二正規化來增大冗餘來達到分布式處理資料型別要盡可能的合理。

就是不要追求大,合適就可以了。留有一點的空間就可以了。那樣對你將來建索引有很大的影響。

資料表之間的關係一般在你搞需求分析的時候會弄清楚當然,設計整體表,最好採用自上而下設定整體,再用自下而上完成底層表

SQL觸發器更新兩個資料表的問題

將你表中設計到的text,ntext和image列 進行轉化如果是2000 text 轉化成varchar 8000 ntext 轉化成nvarchar 4000 image列 轉化成 varbinary 8000 2005 轉化 text 轉化成varchar max ntext 轉化成nvarc...

如何在EXCEL資料表中 大量資料 每行下插入多行資料行

以每行下插入三行為例。1 如圖,在原 右邊空列 g列 上填充序列。g1 g2單元格分別輸入0.1 3.1,選中兩個單元格,滑鼠移到g2右下角,按住滑鼠左鍵向下拖拉到g9。2 在g10到g36填充序列1 27.3 按g列公升序排序即可。完成後刪除g列。 excel如何快速插入多行 山桑弓 使用輔助列,...

SQL中如何在表中新增欄位,在資料表中新增一個欄位的SQL語句怎麼寫

我愛數學 alter table tablename1 add alter column fieldname1 fieldtype nfieldwidth nprecision null not null check lexpression1 error cmessagetext1 default ...