• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    數(shù)據(jù)庫設(shè)計(jì)中E—R模型設(shè)計(jì)的探究

    2014-08-30 20:21:07溫杰
    無線互聯(lián)科技 2014年8期
    關(guān)鍵詞:屬性實(shí)體數(shù)據(jù)庫

    溫杰

    摘 要:數(shù)據(jù)庫設(shè)計(jì)中概念模型設(shè)計(jì)的核心是E-R模型設(shè)計(jì)。設(shè)計(jì)實(shí)踐中,設(shè)計(jì)者感到更多的困惑是實(shí)體的選擇、屬性的確定及實(shí)體間聯(lián)系的確定。在此提出了如何選擇實(shí)體,如何確定實(shí)體的屬性及如何確定實(shí)體間的聯(lián)系。這就是文中要側(cè)重探討的問題。

    關(guān)鍵詞:數(shù)據(jù)庫;設(shè)計(jì);E-R模型;實(shí)體;屬性

    Abstract:The core design of conceptual model in database design is the design of E-R model.In the design practice,Designers feel more confused is to determine the relationship of entities,attributes the choice between.In this paper presents how to select entity,How to determine the attributes of entities and how to determine the link between the entity.This article is to focus on the problem.

    Key words:data base;design;E-R model;entity;property

    1 問題提出

    實(shí)體-聯(lián)系模型(簡稱E-R模型或E-R圖),在軟件工程、數(shù)據(jù)庫設(shè)計(jì)以及信息系統(tǒng)開發(fā)中都占有重要位置,已經(jīng)成為一個(gè)必用的工具,與之相關(guān)的文章也很多。在E-R模型設(shè)計(jì)實(shí)踐中,設(shè)計(jì)者感到更多的困惑是實(shí)體的選擇、屬性的確定及實(shí)體間聯(lián)系的確定。這就是文章中要側(cè)重探討的問題。

    2 E-R模型概述

    E-R模型是不受任何DBMS約束的面向用戶的表達(dá)方法,在數(shù)據(jù)庫設(shè)計(jì)中,它是數(shù)據(jù)庫概念模型設(shè)計(jì)中被廣泛應(yīng)用的數(shù)據(jù)建模工具。

    E-R模型的構(gòu)成成分是實(shí)體集、屬性和聯(lián)系集,其表示方法如下:

    ⑴實(shí)體用矩形框表示,矩形框內(nèi)寫上實(shí)體名。

    ⑵實(shí)體的屬性用橢圓框表示,框內(nèi)寫上屬性名,并用無向邊與其實(shí)體相連。

    ⑶實(shí)體間的聯(lián)系用菱形框表示,聯(lián)系以適當(dāng)?shù)暮x命名,名字寫在菱形框中,用無向連線將參加聯(lián)系的實(shí)體矩形框分別與菱形框相連,并在連線上標(biāo)明聯(lián)系的類型。聯(lián)系的類型可分為:

    1:1(一對(duì)一),如一個(gè)廠長管理一個(gè)工廠,一個(gè)工廠有一個(gè)廠長。

    1:N(一對(duì)多),如一個(gè)廠長領(lǐng)導(dǎo)多名員工,一個(gè)員工被一個(gè)廠長所領(lǐng)導(dǎo)。

    M:N(多對(duì)多),如一個(gè)機(jī)器由多種零部件組成,一種零部件可以用到多個(gè)機(jī)器上。

    例如,學(xué)生成績管理E-R圖如圖1所示。

    3 實(shí)體的選擇

    一個(gè)信息系統(tǒng)會(huì)涉及到很多實(shí)體,如一個(gè)教學(xué)管理系統(tǒng),可能涉及到的實(shí)體有:學(xué)生、學(xué)生宿舍、學(xué)生家庭、學(xué)生活動(dòng)、教師、教師家庭、教學(xué)管理人員、課程、教材、教材管理員、教室、教師管理人員、教室設(shè)備等若干實(shí)體。如何確定哪些實(shí)體是我們所需要的,就是我們這里要討論的。

    實(shí)體是對(duì)問題域中有意義的事物的抽象,它們既可能是物理實(shí)體,也可能是抽象概念。具體地說,大多數(shù)客觀事物可分為下述4類:

    ⑴可感知的物理實(shí)體,例如,飛機(jī)、汽車、書、房屋等等。

    ⑵人或組織的角色,例如,醫(yī)生、教師、雇主、雇員、計(jì)算機(jī)系、財(cái)務(wù)處等等。

    ⑶應(yīng)該記憶的事件,例如,會(huì)議、演出、訪問、交通事故等等。

    ⑷需要說明的概念,例如,政策、保險(xiǎn)政策、版權(quán)法等等。

    在分析所設(shè)計(jì)的系統(tǒng)中,可以參照上列4類常見事物,找出在當(dāng)前問題域中的候選實(shí)體。如上述學(xué)生成績管理,我們可以找出很多實(shí)體,如任課教師、上課教室、所用教材等。但是,現(xiàn)實(shí)世界中存在的許多實(shí)體,不能把它們都納入到系統(tǒng)中來,僅需要把與本問題密切相關(guān)的實(shí)體確定為目標(biāo)系統(tǒng)中的實(shí)體。有些實(shí)體在其他問題中可能很重要,但與當(dāng)前要解決的問題無關(guān),同樣也應(yīng)該把它們刪掉。如任課教師,很多人會(huì)想到學(xué)生成績管理離不開教師。如果我們的問題中僅僅需要學(xué)生成績,而不需要知道任課教師信息,那么,我們就不要選擇教師做該問題的實(shí)體了。

    4 實(shí)體屬性的確定

    屬性就是描述實(shí)體的特征值。任何實(shí)體都會(huì)有很多屬性。如學(xué)生實(shí)體的屬性可以有:學(xué)號(hào)、姓名、性別、出生日、籍貫、政治面貌、專業(yè)、家長、身高、體重、視力…。在設(shè)計(jì)E-R圖時(shí)如何確定哪些屬性是我們所需要的?

    屬性的確定既與問題域有關(guān),也和目標(biāo)系統(tǒng)的任務(wù)有關(guān)。應(yīng)該僅考慮與具體應(yīng)用直接相關(guān)的屬性,不要考慮那些超出所要解決的問題范圍的屬性。

    確定屬性的幾條原則:

    ⑴該系統(tǒng)系需要保留的數(shù)據(jù)(即原始數(shù)據(jù))。根據(jù)用戶的需求陳述或系統(tǒng)應(yīng)實(shí)現(xiàn)的功能,可知道系統(tǒng)需要記錄(保留)的數(shù)據(jù)。如本例中,所選用的學(xué)生屬性是學(xué)生實(shí)體最基本的屬性,也是學(xué)生管理者所需要的學(xué)生基本屬性。另外,該系統(tǒng)又有別于“學(xué)生管理”,所以在這里沒有出現(xiàn)更多的學(xué)生屬性。

    ⑵該系統(tǒng)加工處理所需要的數(shù)據(jù)(即原始數(shù)據(jù))。這是從系統(tǒng)加工處理的角度來考慮的原始數(shù)據(jù)。如本例中有功能描述“統(tǒng)計(jì)每個(gè)學(xué)生已經(jīng)獲得的學(xué)分”;我們可以知道,除了成績數(shù)據(jù),學(xué)分也是不可少的原始數(shù)據(jù),而學(xué)分屬性是課程實(shí)體的屬性。

    ⑶輸出(包括查詢)的信息所包含的數(shù)據(jù)(即原始數(shù)據(jù)或結(jié)果數(shù)據(jù));一般,查詢可能需要輸出原始數(shù)據(jù),而打印的統(tǒng)計(jì)報(bào)表多為結(jié)果數(shù)據(jù)。如本例中有功能描述“學(xué)生可以查詢自己的全部成績”,為實(shí)現(xiàn)此功能,需要使用該系統(tǒng)的原始數(shù)據(jù)——成績。又如功能描述“打印《專業(yè)成績統(tǒng)計(jì)表》”,為實(shí)現(xiàn)此功能,需要在系統(tǒng)中有“專業(yè)成績統(tǒng)計(jì)”的加工處理,并將原始數(shù)據(jù)加工成《專業(yè)成績統(tǒng)計(jì)表》中的數(shù)據(jù)(結(jié)果數(shù)據(jù))并保存。而“打印《專業(yè)成績統(tǒng)計(jì)表》”所用的就是這個(gè)已經(jīng)保存結(jié)果數(shù)據(jù)。

    ⑷實(shí)體的屬性應(yīng)該是與該實(shí)體自身緊密相關(guān)的特征值。這一點(diǎn)對(duì)是關(guān)系規(guī)范化理論的通俗解釋。我們所設(shè)計(jì)的關(guān)系,通常應(yīng)滿足第三范式(3NF)。因?yàn)镋-R模型的最終實(shí)現(xiàn)是要建立關(guān)系數(shù)據(jù)庫。

    ⑸所確定的實(shí)體屬性以夠用為佳。這是從提高系統(tǒng)運(yùn)行效率、減少數(shù)據(jù)輸入量、減少存儲(chǔ)空間的占用量等方面考慮的。

    ⑹對(duì)于聯(lián)系類型為1:1的兩個(gè)實(shí)體,需要在雙方實(shí)體的屬性中,加上對(duì)方的主鍵(雙向聯(lián)系),或只在聯(lián)系的主要方實(shí)體的屬性中,加上對(duì)方的主鍵(單項(xiàng)聯(lián)系)。如“學(xué)生”和“家長”是1:1的聯(lián)系,如果只需要“根據(jù)學(xué)生查看其家長信息”,那么,就可以只建立從學(xué)生到家長的單項(xiàng)聯(lián)系。再如,“廠長”和“工廠”是1:1的聯(lián)系,如果 “有時(shí)需要根據(jù)廠長查看其工廠信息,而有時(shí)又需要根據(jù)工廠查看其廠長信息”,這種情況的需求,就要建立二者的雙向聯(lián)系。

    ⑺對(duì)于聯(lián)系類型為1:N的兩個(gè)實(shí)體,需要在N方實(shí)體的屬性中,加上1方實(shí)體的主鍵。如“廠長”和“員工”是1:N聯(lián)系。在需求陳述中有“在查詢職工信息時(shí),有時(shí)需要查看其廠長信息”。這就需要用上面的方法實(shí)現(xiàn)這種聯(lián)系。

    ⑻如果兩個(gè)實(shí)體間的聯(lián)系類型為M:N的。實(shí)現(xiàn)這種聯(lián)系的方法是另外建立一個(gè)關(guān)系(在邏輯模型中要單獨(dú)建立一個(gè)關(guān)系,在E-R模型中可以不表示)。但是,當(dāng)這種聯(lián)系帶有屬性時(shí)(如本例中的聯(lián)系“學(xué)習(xí)”就帶有屬性“成績”),這個(gè)屬性就必須要在E-R圖中表示出來。

    5 實(shí)體間聯(lián)系的確定

    實(shí)體之間的聯(lián)系是客觀存在的,尤其是一個(gè)系統(tǒng)中的實(shí)體,總會(huì)找出各種各樣的、相互交錯(cuò)的聯(lián)系。正如一個(gè)家庭中的每個(gè)成員,都會(huì)與其他成員存在多種聯(lián)系。在設(shè)計(jì)E-R圖時(shí),是不是都要把這些聯(lián)系表示出來?回答是“否”!那么,哪些聯(lián)系要表示,哪些不要表示呢?這要看“用戶需求”。假如上面說的一個(gè)家庭,需求陳述說“只需要查看每個(gè)成員的個(gè)人信息”。那么,就可以不必建立成員之間的聯(lián)系。再如,前面的“成績管理”例子,如果改成“學(xué)生及課程查詢系統(tǒng)”,需求是“查詢學(xué)生信息”和“查詢課程信息”。那么,“學(xué)生”實(shí)體和“課程”實(shí)體就沒有必要建立聯(lián)系了。

    聯(lián)系的確定既與問題域(用戶需求)有關(guān),也和目標(biāo)系統(tǒng)的任務(wù)有關(guān)。應(yīng)該僅考慮與具體應(yīng)用所需要的聯(lián)系,不要考慮那些超出所要解決的問題范圍的聯(lián)系。這里也明確提出,一個(gè)問題中的實(shí)體不一定都要建立聯(lián)系。

    有些聯(lián)系是可以直接從需求陳述或系統(tǒng)的功能中找到,如“根據(jù)學(xué)生信息查找其學(xué)習(xí)的課程”;就可以確定“學(xué)生”實(shí)體和“課程”實(shí)體之間有聯(lián)系。但也有一些聯(lián)系是間接找到的,這些實(shí)體之間通常具有交易或接觸的性質(zhì),例如,學(xué)習(xí)、購買、構(gòu)成、納稅、結(jié)婚等等,而且這些聯(lián)系往往還帶有重要的屬性。如“成績管理”例子中的聯(lián)系“學(xué)習(xí)”,其屬性“成績”是很重要的。再如“顧客購買商品”,就有“顧客”實(shí)體,“商品”實(shí)體,它們的聯(lián)系是“購買”,其重要屬性是“購買數(shù)量”。

    6 結(jié)束語

    一個(gè)實(shí)際系統(tǒng)的E-R模型是數(shù)據(jù)庫設(shè)計(jì)的基礎(chǔ),它應(yīng)該與具體的問題域和目標(biāo)系統(tǒng)的任務(wù)密切相關(guān),不可照搬照套!此文特別提出了如何選擇實(shí)體,如何確定實(shí)體的屬性及如何確定實(shí)體間的聯(lián)系。

    文章中所提出的觀點(diǎn)屬于個(gè)人經(jīng)驗(yàn)總結(jié),是否合適,還要請(qǐng)有關(guān)專家學(xué)者們批評(píng)指正。

    [參考文獻(xiàn)]

    [1]WANG Shan,SA Shixuan.Introduction to database systems [M] (Fourth Edition).Beijing:Higher Education Press (HEP),2010.王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第4版),北京:高等教育出版社,2010.

    [2]MIAO Xuelan.Principles and applications of database systems [M].Beijing:Higher Education Press (HEP),2007.8.苗雪蘭,等.數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程,北京:機(jī)械工業(yè)出版社,2007.8.

    [3]Love208e column- CSDN blog,Database design--ER plans[EB/OL].love208e的專欄-CSDN博客,數(shù)據(jù)庫設(shè)計(jì)--ER圖[EB/OL].

    猜你喜歡
    屬性實(shí)體數(shù)據(jù)庫
    前海自貿(mào)區(qū):金融服務(wù)實(shí)體
    中國外匯(2019年18期)2019-11-25 01:41:54
    實(shí)體的可感部分與實(shí)體——兼論亞里士多德分析實(shí)體的兩種模式
    兩會(huì)進(jìn)行時(shí):緊扣實(shí)體經(jīng)濟(jì)“釘釘子”
    振興實(shí)體經(jīng)濟(jì)地方如何“釘釘子”
    數(shù)據(jù)庫
    對(duì)兩種實(shí)體觀的探析
    青春歲月(2016年22期)2016-12-23 13:59:29
    用好文件“屬性” 解決實(shí)際問題
    論集體建設(shè)用地使用權(quán)的用益物權(quán)屬性
    關(guān)于公允價(jià)值本質(zhì)與特性的探析
    數(shù)據(jù)庫
    湖南省| 始兴县| 昌宁县| 沭阳县| 武汉市| 阿勒泰市| 岑巩县| 道孚县| 晋江市| 军事| 丰都县| 澜沧| 托克托县| 莱阳市| 天水市| 宁化县| 莎车县| 沁阳市| 阿巴嘎旗| 宁强县| 偃师市| 大余县| 临湘市| 淄博市| 阳高县| 张家口市| 黑山县| 五华县| 扎鲁特旗| 东辽县| 东山县| 华亭县| 新昌县| 宾阳县| 龙州县| 柞水县| 定州市| 潮州市| 富顺县| 松江区| 油尖旺区|