第一步:首先要根據需求分析的結果(資料流圖、資料字典等)對現實世界的資料進行抽象, 設計各個區域性檢視即分E-R圖。關係的屬性一半來自資料字典。 第二步:整合區域性檢視。 概念結構是對現實世界的一種抽象,一般有三種抽象: ⑴分類 ( is member of ) ⑵聚集 ( is part of ) ⑶概括 ( is subset of ) 設計分E-R圖的步驟是:⑴選擇區域性應用 在需求分析階段,透過對應用環境和要求進行詳盡的調查分析,用多層資料流圖和資料字典描述了整個系統。 設計分E-R圖的第一步,就是要根據系統的具體情況,在多層的資料流圖中選擇一個適當層次的(經驗很重要)資料流圖,讓這組圖中每一部分對應一個區域性應用,我們即可以以這一層次的資料流圖為出發點,設計分E-R圖。 一般而言,中層的資料流圖能較好地反映系統中各區域性應用的子系統組成,因此人們往往以中層資料流圖作為設計分E-R圖的依據 ⑵逐一設計分E-R圖 每個區域性應用都對應了一組資料流圖,區域性應用涉及的資料都已經收集在資料字典中了。現在就是要將這些資料從資料字典中抽取出來,參照資料流圖, 標定區域性應用中的實體, 實體的屬性、標識實體的碼, 確定實體之間的聯絡及其型別(1:1、1:n、m:n)。 標定區域性應用中的實體 現實世界中一組具有某些共同特性和行為的物件就可以抽象為一個實體。物件和實體之間是 "is member of "的關係。例如在學校環境中,可以把張三、李四、王五等物件抽象為學生實體。 物件型別的組成成分可以抽象為實體的屬性。組成成分與物件型別之間是 "is part of "的關係。例如學號、姓名、專業、年級等可以抽象為學生實體的屬性。其中學號為標識學生實體的碼。 實體的屬性、標識實體的碼 實際上實體與屬性是相對而言的,很難有截然劃分的界限。同一事物,在一種應用環境中作為 "屬性 ",在另一種應用環境中就必須作為 "實體 "。一般說來,在給定的應用環境中: ⑴屬性不能再具有需要描述的性質。即屬性必須是不可分的資料項。 ⑵屬性不能與其他實體具有聯絡。聯絡只發生在實體之間。 確定實體之間的聯絡及其型別(1:1、 1:n、 m:n)。 根據需求分析,要考察實體之間是否存在聯絡,有無多餘聯絡 (二)、 合併分E-R圖,生成初步E-R圖。 各分E-R圖之間的衝突主要有三類:屬性衝突、命名衝突和結構衝突。 1.屬性衝突 (1) 屬性域衝突,即屬性值的型別、取值範圍或取值集合不同。 例如:屬性“零件號”有的定義為字元型,有的為數值型。 (2) 屬性取值單位衝突。 例如:屬性“重量”有的以克為單位,有的以公斤為單位。 2.命名衝突 (1) 同名異義。 不同意義物件相同名稱。 (2) 異名同義(一義多名)。同意義物件不相同名稱。“專案”和“課題” 3.結構衝突 (1) 同一物件在不同應用中具有不同的抽象。例如 "課程 "在某一區域性應用中被當作實體,而在另一區域性應用中則被當作屬性。 (2) 同一實體在不同區域性檢視中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。 (3) 實體之間的聯絡在不同區域性檢視中呈現不同的型別。 例如實體E1與E2在區域性應用A中是多對多聯絡,而在區域性應用B中是一對多聯絡;又如在區域性應用X中E1與E2發生聯絡,而在區域性應用Y中E1、E2、E3三者之間有聯絡。解決方法是根據應用的語義對實體聯絡的型別進行綜合或調整。 (三).修改與重構,生成基本E-R圖 分E-R圖經過合併生成的是初步E-R圖。之所以稱其為初步E-R圖,是因為其中可能存在冗餘的資料和冗餘的實體間聯絡,即存在可由基本資料匯出的資料和可由其他聯絡匯出的聯絡。冗餘資料和冗餘聯絡容易破壞資料庫的完整性,給資料庫維護增加困難,因此得到初步E-R圖後,還應當進一步檢查E-R圖中是否存在冗餘,如果存在,應設法予以消除。修改、重構初步E-R圖以消除冗餘,主要採用分析方法。除此外,還可以用規範化理論來消除冗餘,這些內容一般在資料庫原理課程中,用一種公式化的方法來消除冗餘。
第一步:首先要根據需求分析的結果(資料流圖、資料字典等)對現實世界的資料進行抽象, 設計各個區域性檢視即分E-R圖。關係的屬性一半來自資料字典。 第二步:整合區域性檢視。 概念結構是對現實世界的一種抽象,一般有三種抽象: ⑴分類 ( is member of ) ⑵聚集 ( is part of ) ⑶概括 ( is subset of ) 設計分E-R圖的步驟是:⑴選擇區域性應用 在需求分析階段,透過對應用環境和要求進行詳盡的調查分析,用多層資料流圖和資料字典描述了整個系統。 設計分E-R圖的第一步,就是要根據系統的具體情況,在多層的資料流圖中選擇一個適當層次的(經驗很重要)資料流圖,讓這組圖中每一部分對應一個區域性應用,我們即可以以這一層次的資料流圖為出發點,設計分E-R圖。 一般而言,中層的資料流圖能較好地反映系統中各區域性應用的子系統組成,因此人們往往以中層資料流圖作為設計分E-R圖的依據 ⑵逐一設計分E-R圖 每個區域性應用都對應了一組資料流圖,區域性應用涉及的資料都已經收集在資料字典中了。現在就是要將這些資料從資料字典中抽取出來,參照資料流圖, 標定區域性應用中的實體, 實體的屬性、標識實體的碼, 確定實體之間的聯絡及其型別(1:1、1:n、m:n)。 標定區域性應用中的實體 現實世界中一組具有某些共同特性和行為的物件就可以抽象為一個實體。物件和實體之間是 "is member of "的關係。例如在學校環境中,可以把張三、李四、王五等物件抽象為學生實體。 物件型別的組成成分可以抽象為實體的屬性。組成成分與物件型別之間是 "is part of "的關係。例如學號、姓名、專業、年級等可以抽象為學生實體的屬性。其中學號為標識學生實體的碼。 實體的屬性、標識實體的碼 實際上實體與屬性是相對而言的,很難有截然劃分的界限。同一事物,在一種應用環境中作為 "屬性 ",在另一種應用環境中就必須作為 "實體 "。一般說來,在給定的應用環境中: ⑴屬性不能再具有需要描述的性質。即屬性必須是不可分的資料項。 ⑵屬性不能與其他實體具有聯絡。聯絡只發生在實體之間。 確定實體之間的聯絡及其型別(1:1、 1:n、 m:n)。 根據需求分析,要考察實體之間是否存在聯絡,有無多餘聯絡 (二)、 合併分E-R圖,生成初步E-R圖。 各分E-R圖之間的衝突主要有三類:屬性衝突、命名衝突和結構衝突。 1.屬性衝突 (1) 屬性域衝突,即屬性值的型別、取值範圍或取值集合不同。 例如:屬性“零件號”有的定義為字元型,有的為數值型。 (2) 屬性取值單位衝突。 例如:屬性“重量”有的以克為單位,有的以公斤為單位。 2.命名衝突 (1) 同名異義。 不同意義物件相同名稱。 (2) 異名同義(一義多名)。同意義物件不相同名稱。“專案”和“課題” 3.結構衝突 (1) 同一物件在不同應用中具有不同的抽象。例如 "課程 "在某一區域性應用中被當作實體,而在另一區域性應用中則被當作屬性。 (2) 同一實體在不同區域性檢視中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。 (3) 實體之間的聯絡在不同區域性檢視中呈現不同的型別。 例如實體E1與E2在區域性應用A中是多對多聯絡,而在區域性應用B中是一對多聯絡;又如在區域性應用X中E1與E2發生聯絡,而在區域性應用Y中E1、E2、E3三者之間有聯絡。解決方法是根據應用的語義對實體聯絡的型別進行綜合或調整。 (三).修改與重構,生成基本E-R圖 分E-R圖經過合併生成的是初步E-R圖。之所以稱其為初步E-R圖,是因為其中可能存在冗餘的資料和冗餘的實體間聯絡,即存在可由基本資料匯出的資料和可由其他聯絡匯出的聯絡。冗餘資料和冗餘聯絡容易破壞資料庫的完整性,給資料庫維護增加困難,因此得到初步E-R圖後,還應當進一步檢查E-R圖中是否存在冗餘,如果存在,應設法予以消除。修改、重構初步E-R圖以消除冗餘,主要採用分析方法。除此外,還可以用規範化理論來消除冗餘,這些內容一般在資料庫原理課程中,用一種公式化的方法來消除冗餘。