程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 數據庫-概念結構設計

數據庫-概念結構設計

編輯:DB2教程

數據庫-概念結構設計


概念結構設計

什麼是概念結構設計
將需求分析得到的用戶需求抽象為信息結構即概念模型的過程就是概念結構設計
概念結構是各種數據模型的共同基礎,它比數據模型更獨立於機器、更抽象,從而更加穩定
概念結構設計是整個數據庫設計的關鍵
概念結構設計的特點
(1) 能真實、充分地反映現實世界
(2) 易於理解
(3) 易於更改
(4) 易於向關系、網狀、層次等各種數據模型轉換
描述概念模型的工具
E-R模型
概念模型獨立於具體的DBMS

概念結構設計的方法與步驟

設計概念結構的四類方法
自頂向下
首先定義全局概念結構的框架,然後逐步細化

自底向上
首先定義各局部應用的概念結構,然後將它們集成起來,得到全局概念結構

逐步擴張
首先定義最重要的核心概念結構,然後向外擴充,以滾雪球的方式逐步生成其他概念結構,直至總體概念結構

混合策略
將自頂向下和自底向上相結合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。

數據抽象

抽象是對實際的人、物、事和概念中抽取所關心的共同特性,忽略非本質的細節,並把這些特性用各種概念精確地加以描述。
概念結構是對現實世界的一種抽象
三種常用抽象
1. 分類(Classification)
定義某一類概念作為現實世界中一組對象的類型
抽象了對象值和型之間的“is member of”的語義
2. 聚集(Aggregation)
定義某一類型的組成成分
抽象了對象內部類型和成分之間“is part of”的語義
3. 概括(Generalization)
定義類型之間的一種子集聯系
抽象了類型之間的“is subset of”的語義
繼承性

局部視圖設計

設計分E-R圖的步驟:
⒈選擇局部應用
⒉逐一設計分E-R圖

在多層的數據流圖中選擇一個適當層次的數據流圖,作為設計分E-R圖的出發點
通常以中層數據流圖作為設計分E-R圖的依據
任務
將各局部應用涉及的數據分別從數據字典中抽取出來
參照數據流圖,標定各局部應用中的實體、實體的屬性、標識實體的碼
確定實體之間的聯系及其類型(1:1,1:n,m:n)
兩條准則:
(1)屬性不能再具有需要描述的性質。即屬性必須是不可分的數據項,不能再由另一些屬性組成
(2)屬性不能與其他實體具有聯系。聯系只發生在實體之間
[實例]銷售管理子系統分E-R圖的設計

銷售管理子系統的主要功能:
處理顧客和銷售員送來的訂單
工廠是根據訂貨安排生產的
交出貨物同時開出發票
收到顧客付款後,根據發票存根和信貸情況進行應收款處理

沖突的種類

屬性沖突
兩類屬性沖突

屬性域沖突
屬性值的類型
取值范圍
取值集合不同

屬性取值單位沖突

命名沖突
兩類命名沖突

同名異義:不同意義的對象在不同的局部應用中具有相同的名字

異名同義(一義多名):同一意義的對象在不同的局部應用中具有不同的名字

結構沖突
三類結構沖突
同一對象在不同應用中具有不同的抽象
同一實體在不同分E-R圖中所包含的屬性個數和屬性排列次序不完全相同
實體之間的聯系在不同局部視圖中呈現不同的類型

冗余

冗余的數據是指可由基本數據導出的數據
冗余的聯系是指可由其他聯系導出的聯系

冗余數據和冗余聯系容易破壞數據庫的完整性,給數據庫維護增加困難
消除不必要的冗余後的初步E-R圖稱為基本E-R圖

消除冗余的方法

分析方法
以數據字典和數據流圖為依據
根據數據字典中關於數據項之間的邏輯關系
效率VS冗余信息
需要根據用戶的整體需求來確定
若人為地保留了一些冗余數據,則應把數據字典中數據關聯的說明作為完整性約束條件
Q4=∑Q5
一旦Q5修改後就應當觸發完整性檢查,對Q4進行修改
規范化理論
函數依賴的概念提供了消除冗余聯系的形式化工具
集成過程,解決了以下問題:
異名同義,項目和產品含義相同
庫存管理中職工與倉庫的工作關系已包含在勞動人事管理的部門與職工之間的聯系之中,所以可以取消
職工之間領導與被領導關系可由部門與職工(經理)之間的領導關系、部門與職工之間的從屬關系兩者導出,所以也可以取消

驗證整體概念結構

視圖集成後形成一個整體的數據庫概念結構,對該整體概念結構還必須進行進一步驗證,確保它能夠滿足下列條件:
整體概念結構內部必須具有一致性,不存在互相矛盾的表達
整體概念結構能准確地反映原來的每個視圖結構,包括屬性、實體及實體間的聯系
整體概念結構能滿足需要分析階段所確定的所有要求

整體概念結構最終還應該提交給用戶,征求用戶和有關人員的意見,進行評審、修改和優化,然後把它確定下來,作為數據庫的概念結構,作為進一步設計數據庫的依據。
概念結構設計的步驟
抽象數據並設計局部視圖
集成局部視圖,得到全局概念結構
驗證整體概念結構
設計局部視圖
⒈ 選擇局部應用
2. 逐一設計分E-R圖
標定局部應用中的實體、屬性、碼,實體間的聯系
用E-R圖描述出來
集成局部視圖
1.合並分E-R圖,生成初步E-R圖
消除沖突
屬性沖突
命名沖突
結構沖突
2. 修改與重構
消除不必要的冗余,設計生成基本E-R圖
分析方法
規范化理論

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved