官术网_书友最值得收藏!

1.5 概念模型

概念模型用于信息世界的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計人員進(jìn)行數(shù)據(jù)庫設(shè)計的有力工具,也是數(shù)據(jù)庫設(shè)計人員和用戶之間進(jìn)行交流的語言。

概念模型的表示方法很多,最常用的就是我們常說的實(shí)體-聯(lián)系方法(Entity-Relationship),該方法運(yùn)用E-R圖來描述現(xiàn)實(shí)世界,E-R方法也稱E-R模型。

1.5.1 實(shí)體-聯(lián)系模型

實(shí)體模型是設(shè)計數(shù)據(jù)庫的先導(dǎo)。用戶需要先列出實(shí)際問題或者客戶的要求,然后對實(shí)體及其聯(lián)系進(jìn)行模擬,建立一個正確的實(shí)體模型。

1.實(shí)體型

實(shí)體是客觀存在并可相互區(qū)別的事物。實(shí)體是實(shí)實(shí)在在的客觀存在,例如一本書、一個學(xué)生、一輛轎車等。實(shí)體本身不能被裝進(jìn)數(shù)據(jù)庫,在數(shù)據(jù)庫里出現(xiàn)的實(shí)體只能是實(shí)體的名稱或標(biāo)識符以及實(shí)體的一部分屬性。

2.屬性

屬性是實(shí)體具有的某一特性,是實(shí)體的一些外在特征。例如一本書的作者、出版社、定價、出版日期、頁碼數(shù),一個學(xué)生的姓名、學(xué)號、年齡、系別、出生年月等。屬性的差異使我們把同一類實(shí)體的不同個體區(qū)分開來。

例如,【庫存信息】實(shí)體可以由【產(chǎn)品ID】、【產(chǎn)品編號】、【產(chǎn)品名稱】等屬性組成。

根據(jù)系統(tǒng)的需求,每個屬性都有它的數(shù)據(jù)類型和特性。特性是指定該屬性在某些情況下是否是必需的,屬性有默認(rèn)值以及屬性的取值限制等。

3.聯(lián)系

在現(xiàn)實(shí)世界中,事物內(nèi)部及事物間的聯(lián)系在信息世界里反映為實(shí)體(集)內(nèi)部及實(shí)體(集)間的聯(lián)系。例如一名學(xué)生閱讀一本書,其中“閱讀”就是一名學(xué)生與一本書之間的聯(lián)系。

例如,將【圖書編號】與借閱記錄相互聯(lián)系起來。主要表現(xiàn)在該書是否已經(jīng)被讀者借閱,是否已經(jīng)歸還。

1.5.2 實(shí)體-聯(lián)系方法

實(shí)體-聯(lián)系模型(E-R模型)是P.P.Chen于1976年提出的,它直接從現(xiàn)實(shí)世界中抽象出實(shí)體類型及實(shí)體間的聯(lián)系。用E-R圖表示數(shù)據(jù)結(jié)構(gòu),是一種在數(shù)據(jù)庫設(shè)計過程中表示數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的方法。

它的主導(dǎo)思想是使用實(shí)體(Entity)、實(shí)體的屬性(Attribution)以及實(shí)體之間的關(guān)系(Relationship)來表示數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)。因此,在E-R圖中的具體表示方法為:

?實(shí)體型 用矩形表示,矩形框內(nèi)標(biāo)明實(shí)體名。

?屬性 用橢圓形表示,并用無向邊將其與實(shí)體連接起來。

?聯(lián)系 用菱形表示,菱形框內(nèi)標(biāo)明聯(lián)系名,并用無向邊連接有關(guān)實(shí)體,同時在無向邊旁標(biāo)明聯(lián)系類型。

下面我們用E-R圖來完成圖書借閱信息管理系統(tǒng)的概念模型設(shè)計。

首先,要設(shè)計圖書借閱信息管理系統(tǒng)的數(shù)據(jù)庫,并不是直接設(shè)計表,而是進(jìn)行需求分析,從而得出該系統(tǒng)運(yùn)作的數(shù)據(jù)流程圖,但這部分內(nèi)容不是本書的重點(diǎn),我們不做詳細(xì)闡述。我們從設(shè)計局部E-R圖開始進(jìn)行概念模型設(shè)計。

在原有的數(shù)據(jù)流程圖的基礎(chǔ)上設(shè)計局部E-R圖,并提取實(shí)體型。因此,可以將實(shí)體型歸納起來,大致有出版社、圖書、讀者、員工、規(guī)則等。

1.“出版社”實(shí)體型

在“出版社”實(shí)體型中,包含有“出版社號”和“名稱”實(shí)體內(nèi)容。其中“出版社號”為主鍵。

2.“讀者”實(shí)體型

在“讀者”實(shí)體型中,包含有“姓名”、“單位”、“編號”等實(shí)體內(nèi)容。其中“編號”為主鍵。

3.“圖書”實(shí)體型

在“圖書”實(shí)體型中,包含有“書號”、“書名”、“作者”等實(shí)體內(nèi)容。其中“書號”為主鍵。

4.“工作人員”實(shí)體型

在“工作人員”實(shí)體型中,包含有“編號”、“姓名”等實(shí)體內(nèi)容。其中“編號”為主鍵。

5.“規(guī)則”實(shí)體型

在“規(guī)則”實(shí)體型中,包含有“租金”、“類別”、“罰款”實(shí)體內(nèi)容。其中“類別”為主鍵。

其次,研究各實(shí)體型之間的聯(lián)系,我們發(fā)現(xiàn)各實(shí)體之間的聯(lián)系如下圖所示。

其中“借閱”和“違反”兩個聯(lián)系又有各自的屬性,其局部E-R圖如下。

通過上述的實(shí)體形態(tài)設(shè)計的E-R圖,再來研究各實(shí)體形態(tài)之間的聯(lián)系。也可以參照用戶自己設(shè)計的流程圖,來建立實(shí)體形態(tài)聯(lián)系,并完善各自之間的關(guān)系類型,如下圖所示創(chuàng)建的各實(shí)體形態(tài)聯(lián)系。

根據(jù)上述規(guī)則,結(jié)合E-R圖,我們可得出以下幾個關(guān)系定義。

讀者:{讀者編號,單位,姓名}

出版社:{出版社編號,出版社名稱}

圖書:{書號,書名,作者,單價,出版社}

規(guī)則:{類別,租金,罰金}

員工:{編號,姓名

借閱:{借閱編號,書籍編號,讀者編號,借書日期,應(yīng)還日期,工作人員}

違規(guī)記錄:{違規(guī)編號,讀者編號,繳款日期,金額,繳款類別}

然后,結(jié)合前面講過的范式理論進(jìn)行數(shù)據(jù)關(guān)系優(yōu)化,從而得出最終的表定義。

E-R模型是對現(xiàn)實(shí)世界的一種抽象,它抽取了客觀事物中人們所關(guān)心的信息,忽略了非本質(zhì)的細(xì)節(jié),并對這些信息進(jìn)行了精確地描述。E-R圖表示的概念模型與具體的DBMS支持的數(shù)據(jù)模型相獨(dú)立,是各種數(shù)據(jù)模型的共同基礎(chǔ),因而是抽象和描述現(xiàn)實(shí)世界的有力工具。

完成了E-R圖后,就可以將E-R圖轉(zhuǎn)換為真正的數(shù)據(jù)表結(jié)構(gòu)。在E-R圖向數(shù)據(jù)表轉(zhuǎn)換過程中,首先需要將實(shí)體轉(zhuǎn)換為一個獨(dú)立的數(shù)據(jù)表,然后將實(shí)體的屬性轉(zhuǎn)換為數(shù)據(jù)表中的字段,最后根據(jù)實(shí)體之間的關(guān)系建立數(shù)據(jù)表。

主站蜘蛛池模板: 伊吾县| 北京市| 西平县| 馆陶县| 濉溪县| 惠安县| 康定县| 麻栗坡县| 上杭县| 阜宁县| 洞口县| 大新县| 汾阳市| 舞钢市| 东乌| 陇西县| 云安县| 日喀则市| 酒泉市| 沛县| 休宁县| 丰镇市| 武定县| 贵定县| 丰宁| 福鼎市| 双城市| 拉孜县| 灵台县| 修武县| 秦皇岛市| 宜都市| 腾冲县| 泽库县| 阿勒泰市| 揭西县| 临武县| 盐亭县| 平湖市| 元谋县| 巴彦淖尔市|