三級(jí)數(shù)據(jù)庫技術(shù)輔導(dǎo)第五講:概念結(jié)構(gòu)設(shè)計(jì)

字號(hào):

2 概念結(jié)構(gòu)設(shè)計(jì)
     在早期的數(shù)據(jù)庫設(shè)計(jì),在需求分析階段后,就直接進(jìn)行邏輯結(jié)構(gòu)設(shè)計(jì)。由于此時(shí)既要考慮現(xiàn)實(shí)世界信息的聯(lián)系與特征,又要滿足特定的數(shù)據(jù)庫系統(tǒng)的約束要求,因而對(duì)于客觀世界的描述受到一定的限制。同時(shí),由于設(shè)計(jì)時(shí)要同時(shí)考慮多方面的問題,也使設(shè)計(jì)工作變得十分復(fù)雜。1976年P(guān).P.S.Chen提出在邏輯結(jié)構(gòu)設(shè)計(jì)之前先設(shè)計(jì)一個(gè)概念模型,并提出了數(shù)據(jù)庫設(shè)計(jì)的實(shí)體--聯(lián)系方法(Entity--Relationship Approach)。這種方法不包括深的理論,但提供了一個(gè)簡便、有效的方法,目前成為數(shù)據(jù)庫設(shè)計(jì)中通用的工具。
     有許多商業(yè)軟件支持E-R模型,如Sybase公司的PowerDesigner DataArchitect(新版本v9.5.1 for Windows)、微軟公司Microsoft InfoModeler (VisioModeler)等。
     使用E-R模型來進(jìn)行概念模型的設(shè)計(jì)通常分兩步進(jìn)行,首先是建立局部概念模型,然后綜合局部概念模型,成為全局概念模型。
    2.1 E-R模型基本符號(hào)
    實(shí)體的表示:用長方形
    聯(lián)系的表示:用菱形,1:1、1:n (m:1)、(m:n)
    屬性的表示:用橢圓形
    E-R圖具有以下幾個(gè)特性:
    一個(gè)聯(lián)系集合可以定義在兩個(gè)或兩個(gè)以上的實(shí)體集合上,例如老師--學(xué)生--課程的聯(lián)系集合S-T-C,就是定義在三個(gè)實(shí)體上。
    一個(gè)聯(lián)系集合也可以定義在一個(gè)實(shí)體集合上,例如零件下又分有子零件,每個(gè)零件又可由m個(gè)子零件組成,每個(gè)子零件又可組合成n個(gè)零件。
    對(duì)于給定的實(shí)體集合,可以定義一個(gè)以上的聯(lián)系集合,例如工程項(xiàng)目--工人可以定義兩個(gè)聯(lián)系集合,其中一個(gè)表示工程項(xiàng)目和工人的聯(lián)系,另一個(gè)表示工程項(xiàng)目和工人中的工程項(xiàng)目負(fù)責(zé)人的聯(lián)系。前者是n:m的聯(lián)系,后者是1:1的聯(lián)系。
    實(shí)體聯(lián)系圖可以表示一個(gè)實(shí)體類型對(duì)另一個(gè)實(shí)體類型的存在的依賴性,例如工人這一實(shí)體下反映其被撫養(yǎng)者的關(guān)系,就是依賴關(guān)系,這種聯(lián)系用箭頭表示,說明撫養(yǎng)者這個(gè)實(shí)體的存在取決于工人中的相應(yīng)的那個(gè)實(shí)體。
    2.2 初步E-R圖設(shè)計(jì)
     在數(shù)據(jù)分析的基礎(chǔ)上,就可以著手設(shè)計(jì)概念結(jié)構(gòu)。設(shè)計(jì)初步E-R圖的步驟:
    先設(shè)計(jì)局部E-R圖,也稱用戶視圖
    綜合各局部E-R圖,形成總的E-R圖,即用戶視圖的集成。
     在設(shè)計(jì)初步E-R圖時(shí),要盡量能充分地把組織中各部門對(duì)信息的要求集中起來,而不需要考慮數(shù)據(jù)的冗余問題。
     局部概念模型設(shè)計(jì)是從用戶的觀點(diǎn)出發(fā),設(shè)計(jì)符合用戶需求的概念結(jié)構(gòu)。局部概念模型設(shè)計(jì)的就是組織、分類收集到的數(shù)據(jù)項(xiàng),確定哪些數(shù)據(jù)項(xiàng)作為實(shí)體,哪些數(shù)據(jù)項(xiàng)作為屬性,哪些數(shù)據(jù)項(xiàng)是同一實(shí)體的屬性等。確定實(shí)體與屬性的原則:
    能作為屬性的盡量作為屬性而不要?jiǎng)潪閷?shí)體;
    作為屬性的數(shù)據(jù)元素與所描述的實(shí)體之間的聯(lián)系只能是1:n的聯(lián)系;
    作為屬性的數(shù)據(jù)項(xiàng)不能再用其他屬性加以描述,也不能與其他實(shí)體或?qū)傩园l(fā)生聯(lián)系。
    例1:一個(gè)機(jī)械制造廠的簡單管理系統(tǒng)。首先按工廠技術(shù)部門和工廠供應(yīng)部門設(shè)計(jì)兩個(gè)局部E-R圖。工廠技術(shù)部門關(guān)心的是產(chǎn)品的性能參數(shù),及由哪些零件組成,零件的材料和耗用量等;工廠供應(yīng)部門關(guān)心的是產(chǎn)品的價(jià)格,使用材料的價(jià)格及庫存量等。
     初步E-R圖是現(xiàn)實(shí)世界的純粹表示,可能存在冗余的數(shù)據(jù)和實(shí)體間冗余的聯(lián)系。所謂冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù),冗余的聯(lián)系是指可由基本聯(lián)系導(dǎo)出的聯(lián)系。
    2.3 基本E-R圖設(shè)計(jì)
     初步E-R圖由于存在冗余的信息,會(huì)破壞數(shù)據(jù)庫的完整性,給數(shù)據(jù)庫的管理帶來麻煩,以至引起數(shù)據(jù)不一致的錯(cuò)誤。因此,必須消除數(shù)據(jù)上的冗余和聯(lián)系上的冗余,消除冗余后的E-R圖,稱為基本E-R圖。
     消除冗余的方法,可以采用分析的方法。
    基本E-R圖滿足第三范式要求。
     用例1的分析方法,對(duì)于一個(gè)龐大的復(fù)雜系統(tǒng)是有困難的,可以將初步E-R圖轉(zhuǎn)換成函數(shù)依賴關(guān)系,利用規(guī)范化理論,將其分解為多個(gè)符合第三范式的函數(shù)依賴關(guān)系,再構(gòu)成基本E-R圖。