版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
DATABASESYSTEMCONCEPTS第7章數據庫設計和E-R模型引子現計劃為某大學設計一個教室管理信息系統(tǒng),管理的內容包括教室、班級、教師、學生、課程、教學設備、教室管理員。請按你的理解完成以下要求。畫出E-R圖,轉換成關系模式,根據關系模式,用關系代數寫出以下查詢:引子(1)找出姓名為王平的學生周一3、4節(jié)上課的教室號、課程名、教師名、班長名(2)找出周四5、6節(jié)能容納150以上、具有投影儀和空調且使用狀態(tài)正常的空教室,給出教室號、管理員姓名、管理員電話引子P28:圖2-9;P63:圖3-18,圖3-19,圖3-20對應的E-R圖是什么?提綱基本概念映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換7.1設計過程概覽歷史ER模型:Entity-RelationshipModel1976年,P.P.S.Chen提出ER模型,用ER圖來描述概念模型觀點世界是由一組稱作實體的基本對象和這些對象之間的聯系構成的語義模型力圖表達數據的意義概念模型設計例:學生選修課程學生課程選修姓名學號系別課程名先修課學分成績用矩形表示實體集,在框內寫上實體名用橢圓表示實體的屬性用無向邊把實體與其屬性連接起來用菱形表示實體間的聯系將參與聯系的實體用線段連接mn聯系的數量邏輯模型設計學生=(學號,姓名,系別)課程=(課程名,先修課,學分)選修=(學號,課程名,成績)銀行系統(tǒng)的ER圖邏輯模型設計customer=(customer-id,…,Employee-id)loan=(loan-number,…,
Branch-number
)account=(
account-number,
,…,
Branch-number)Branch=(Branch-number
,…)Employee=(Employee-id,…,manager-id)Payment=(loan-number,Payment-number…,)Borrower=(customer-id,loan-number,…,)Depositor==(customer-id,account-number,
…,)7.2實體-聯系模型一、實體集實體(Entity)客觀存在并可相互區(qū)分的事物叫實體實體名標識,如學生,課程如學生:張三、李四,課程:計算機原理、數據庫概論實體集(EntitySet)同型實體的集合稱為實體集,如全體學生實體集可相交實體型實體型實體名和屬性名組成實體型。對關系模型就是關系模式。例如,學生(學號,姓名,性別,年齡,系別,入學時間),是學生實體型。(98080221,王平,女,19,計算機,1998)是一個實體。customer-idcustomer-namecustomer-streetcustomer-cityloanamount基本概念--實體基本概念—屬性屬性(Attribute)實體特征,通過其值區(qū)分不同的實體例如,學生=(學號,姓名,年齡,系)學生實體集={(001,李明,年齡,21,中文),…},一般:實體對應表中一個元組(記錄)屬性對應表中一個字段(數據項)實體集對應一個表屬性的類型簡單屬性:不可再分的屬性如學號、年齡、性別復合屬性:可以劃分為更小的屬性可以把相關屬性聚集起來,使模型更清晰如電話號碼=區(qū)號+本地號碼出生日期=年、月、日
如出生日期定義為簡單屬性取1984/8/12屬性的類型屬性的類型單值屬性:每一個特定的實體在該屬性上的取值唯一如學生的學號,年齡、性別、系別等多值屬性:屬性上有多于一個的取值如作者(張平,李華,劉寧)NULL屬性null表示“空值”,屬性上沒有值時設為null,定義數據庫時可選,進行邏輯、計數或求和時有規(guī)定。如一個學生年齡為空時,年齡>20,怎么判
屬性的類型派生屬性從其他相關的屬性或實體派生出來的屬性值學生=(學號,姓名,出生日期,年齡,平均成績)選課=(學號,課程號,成績)
年齡:由系統(tǒng)時間減出生日期得到平均成績:由選課的成績除以課程總數來得到。年齡、平均成績稱為派生屬性,出生日期、成績稱為基屬性,或存儲屬性屬性在ER圖中的表示表示要點多值屬性用雙橢圓表示派生屬性用虛橢圓表示學生姓名選修課程學生姓名平均成績系別屬性在ER圖中的表示基本概念—域域(Domain)屬性的取值范圍例如,性別的域為(男、女)月份的域為1到12的整數,成績的域取integer域對應數據類型域可取缺省定義,也可以用語句顯式定義CREATEDOMAINAGE_DOMAINSMALLINT基本概念--碼碼(Key)能唯一標識實體的屬性或最小屬性集,也稱為實體鍵。具有唯一性的特點,即給出碼屬性的一個值,到實體集中或只找出一個實體或一個也找不到如果有多個碼,每個碼都稱為侯選碼,從中指定一個作為主碼。例如職工實體集中,職工號為候選碼,若姓名不重,也是候選碼。超碼:候選碼的超集,比候選碼有多余的屬性,也能唯一標識一個實體。任一表都有碼。基本ER圖要點碼在ER圖中的表示實體集屬性中作為主碼的一部分的屬性用下劃線來標明。學生課程選修姓名學號系別課程名先修課學分基本ER圖要點基本概念--聯系聯系集聯系:實體之間的相互關聯,用聯系名標識,分為兩(多)實體集之間實體的關聯,同一實體集內部實體之間的關聯。如學生與課程間的選課,學生與學生間的領導聯系的類型兩實體集之間1:1聯系如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之關聯,反之亦然。注意:至多一個,意味著可以沒有。映射的基數如“職工”與“部門”之間的“管理”聯系(假定每個部門只有一個經理,一個職工不能兼任兩個部門經理)注:一對一不是一一對應職工部門管理基本概念--聯系
例如,班級實體集與學生實體集間有1∶1的班長聯系,聯系名是班長。兩實體集之間1:n聯系如果對于實體集A中的每個實體,實體集B中有n個實體(n≥0)與之關聯,反之,對實體集B中的每個實體,實體集A中至多有一個實體與之關聯。例如,院系實體集與學生實體集有一對多的隸屬聯系,聯系名是隸屬。注意,n的取值可以為0,這意味著A中的某個實體在B中并沒有實體與之關聯。映射基數在ER圖中的表示多方實體集單方實體集聯系R從A到B是多對一ABR表示要點用箭頭或線段來表示聯系的映射基數映射的基數如“教師”和“學生”之間的“班主任”聯系教師學生班主任基本概念--聯系兩實體集之間m:n聯系如果對于實體集A中的每個實體,實體集B中有m個實體(m≥0)與之關聯,反之,對于實體集B的每個實體,實體集A中也有n個實體(n≥0)與之關聯。例如,課程實體集與學生實體集之間有選課聯系,聯系名是選課。注意,n和m的值都可以為0。多實體集之間m:n:p聯系例如,設備實體集,供貨商實體集,工程實體集之間的供貨聯系,聯系名是供應。映射的基數兩個實體間多對多如“學生”和“課程”之間的“選修”聯系學生課程選修聯系R從A到B是多對多ABR多個實體集間聯系如“課程”,“教員”,“參考書”之間的“講課”聯系教員參考書講課課程映射的基數基本概念--聯系聯系集borrower基本概念--聯系實體集customer與account之間的聯系集depositor具有屬性access-date基本概念--聯系同一實體集內聯系
同一實體集內各實體間的聯系也呈現一對一,一對多,多對多的形式。例如,職工實體集內部有一對多的領導聯系;學生實體集內有一對一的同位聯系;零部件實體集內有組裝的m∶n的聯系。聯系的參與度(participation)。每個實體有一個參與聯系的次數,取最小、最大的參與次數min和max,定義實體集的參與度。映射的基數一個實體集內的二元聯系一對一eiE,至多存在一個ejE,與之相聯系(j≠i)如“職工”之間的“配偶”聯系一對多如“職工”內部的“領導”聯系多對多如“零件”之間的“構成”聯系職工領導領導屬下職工配偶丈夫妻子構成零件母零件子零件基本概念--聯系聯系的參與度(participation)。每個實體有一個參與聯系的次數,取最小、最大的參與次數min和max,定義實體集的參與度。min=0,稱聯系為部分參與;如果min>0,稱聯系為全參與。Max限制每個實體的參與次數。參與在ER圖中的表示customer部分參與聯系borrowerLoan完全參與聯系borrower用雙線連接聯系與完全參與的實體基本概念--聯系
聯系的屬性。實體有屬性,聯系也可以有屬性。例如,選課聯系中可以有成績屬性。聯系集參與聯系的實體組成的集合。聯系一般也用表來表示,取各實體的主碼和聯系的屬性組成表結構基本概念--聯系例如學生實體集與課程實體集有選課聯系,聯系集屬性是學號、課程號以及成績。選課的學生和被選的課程參加聯系集。注意:聯系一般用表來表示,是否建立表與聯系的類型有關。聯系集的碼聯系一般也用表來表示,其碼由各實體的主碼組成。如選課表的碼是學號和課程號。基本概念--角色角色(Role)實體在聯系中的作用稱為實體的角色當同一個實體集不止一次參與一個聯系集時,為區(qū)別各實體的參與聯系的方式,需要顯式指明其角色如學生與學生間的班長關系,職工與職工之間的經理關系,課程之間的先修關系角色在ER圖中的表示角色表示當需要顯式區(qū)分角色時,在連接菱形和矩形的線上加上說明性標注以區(qū)別不同的角色職員雇傭管理工作角色在ER圖中的表示映射的基數映射的基數會影響到ER設計,例如customer與account之間是1:n聯系,則可將access-date作為account的屬性映射的基數若customer與account之間是m:n聯系,access-date則必須作為聯系集depositor的屬性映射的基數One-To-ManyOne-To-One映射的基數Many-To-ManyMany-To-One存在依賴存在依賴(ExistenceDependency)如果實體x的存在依賴于實體y的存在,則稱x存在依賴于yy稱作支配實體,x稱作從屬實體如果y被刪除,則x也要被刪除考慮分期付款的例子,對每一個“貸款”實體,有若干個“還款”實體與之關聯,“還款”實體存在依賴于“貸款”實體全部參與與存在依賴設ARB,若A存在依賴于B,則A全部參與聯系R提綱基本概念及對應的ER模型映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換弱實體集弱實體集(WeakEntitySet)如果一個實體集的所有屬性都不足以形成主碼,則稱這樣的實體集為弱實體集貸款(貸款號,金額),還款(還款號,還款日期,金額),每個“貸款”的各個“還款”不同,但不同“貸款”之間的“還款”卻可能相同,因此“還款”是一個弱實體集產品(名稱,價格),公司(名稱,地址,聯系電話),“產品”與“公司”之間有“制造”聯系,“產品”是一個弱實體集。弱實體集弱實體集與其擁有者之間的聯系稱作標識性聯系(identifyingrelationship)弱實體集與強實體集之間是一對多的聯系弱實體集與存在依賴弱實體集必然存在依賴于強實體集(StrongEntitySet)存在依賴并不總會導致一個弱實體集,從屬實體集可以有自己的主碼 如實體集信用卡(信用卡號,客戶帳號,金額),它存在依賴于客戶帳號實體集,但信用卡有自己的主碼信用卡號。弱實體集分辨符(Discriminator)弱實體集中用于區(qū)別依賴于某個特定強實體集的屬性集合。也稱作部分碼(partialkey)如“還款”中的還款號弱實體集的主碼由該弱實體集所存在依賴的強實體集的主碼和該弱實體集的分辨符組成如“還款”主碼=貸款號+還款號“產品”主碼=公司名稱+產品名稱。弱實體集為什么使用弱實體集?通過為弱實體集加上合適的屬性,可轉變?yōu)閺妼嶓w集,為什么還要使用弱實體集?避免數據冗余(強實體集碼重復),以及因此帶來的數據的不一致性弱實體集反映了一個實體對其它實體依賴的邏輯結構弱實體集可以隨它們的強實體集的刪除而自動刪除弱實體集可以物理地隨它們的強實體集存儲弱實體集弱實體集的引入作為層次結構的一部分實體集的一些多值、復合屬性可以抽取出來作為弱實體集如果弱實體集不但參與和強實體集之間的標識性聯系,而且參與和其它實體集的聯系,或者弱實體集本身含有很多屬性,則將其表述為弱實體集如果弱實體集只參與和強實體集之間的標識性聯系,或者弱實體集本身屬性不多,則將其表述為屬性弱實體集參與其它聯系消費帳戶隸屬消費號帳戶號消費金額金額利息隸屬順序號利息記息弱實體集弱實體集在E-R圖中的表示弱實體集以雙邊框的矩形表示標識性聯系以雙邊框的菱形表示從聯系集用雙線(全部參與)連接弱實體集,用箭頭(一對多聯系)指向強實體集弱實體集的分辨符用下劃虛線標明弱實體集還款貸款隸屬還款號貸款號還款金額貸款金額弱實體集產品公司制造產品名地址價格公司名聯系電話弱實體集提綱基本概念及對應的ER模型映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換擴展ER特性特殊化(Specialization)概括(Generalization)屬性繼承(AttributeInheritance)設計約束(DesignConstraints)聚集(Aggregation)特殊化特殊化實體集中某些子集具有區(qū)別于該實體集內其它實體的特性,可以根據這些差異特性對實體集進行分組,這一分組的過程稱作特殊化自頂向下、逐步求精父類子類子類=特例=更小的實體集=更多的屬性一個銀行帳號可以有存款帳號、貸款帳號學生可以有研究生、本科生特殊化特殊化在E-R圖中的表示特殊化用標記為ISA的三角形來表示ISA=“isa”,表示高層實體和低層實體之間的“父類-子類”聯系本科生研究生學生ISA碩士ISA博士姓名學號DissertationPapers軍訓特殊化概括概括各個實體集根據共有的性質,合成一個較高層的實體集。概括是一個高層實體集與若干個低層實體集之間的包含關系自底向上、逐步合成概括Vs特殊化概括與特殊化是個互逆的過程,在E-R圖中的表示方法是相同的特殊化強調同一實體集內不同實體之間的差異,概括強調不同實體集之間的相似性反映了數據庫設計的不同方法屬性繼承屬性繼承高層實體集的屬性被低層實體集自動繼承低層實體集特有的性質僅適用于某個特定的低層實體集如“Dissertation”屬性只適用于“研究生”實體集層次結構(Hierarchy)實體集作為低層實體集只能參與到一個ISA聯系中格結構(Lattice)低層實體集可以參與到多個ISA聯系中如“博士”算參加工作,會繼承“職工”實體集的一些屬性
“博士”繼承了“研究生”與“職工”的所有屬性。如果“研究生”與“職工”有相同名稱的屬性,如“姓名”,則在“博士”中用“研究生.姓名”,“職工.姓名”區(qū)別開來。本科生研究生學生ISA碩士ISA博士姓名學號DissertationPapers軍訓職工姓名工齡ISA屬性繼承成員資格確定哪些實體能成為給定低層實體集的成員條件定義的(Condition-Defined)一個實體成員資格的確定基于該實體是否滿足一個顯式的條件或謂詞假定“學生”實體集具有屬性“學生類型”,則所有的學生實體根據“學生類型”進行成員資格認定,如一個學生的“學生類型”=“本科生”,則他就可以歸入低層“本科生”實體集中系統(tǒng)可以自動檢查條件定義的約束用戶定義的(User-Defined)由數據庫用戶來指定一個實體歸入哪個低層實體集如一個學生被老師分配到某個項目組設計約束成員身份同一個概括中,一個實體是否可以屬于多個不同低層實體集不相交的(Disjoint)一個實體至多屬于一個低層實體集如一個學生只能參加一個項目組有重疊的(Overlapping)同一實體可以同時屬于同一概括的多個低層實體集如一個老師可以參加多個項目組設計約束全部性約束確定高層實體集中的一個實體是否必須屬于某個概括的至少一個低層實體集全部的(Total)每個高層實體必須屬于一個低層實體集如學生必須屬于“本科生”或“研究生”的一種部分的(Partial)允許一些高層實體不屬于任何低層實體集如學生可以不屬于任何項目組。、設計約束聚集聯系之間存在重疊,如何表達聯系之間的聯系?實例:職工參加項目,并在此過程中可能使用機器職工項目參加姓名工種名稱類型機器名型號方案2工時使用機器聚集職工項目參加并使用姓名工種名稱類型機器名型號方案1工時機器聚集姓名名稱機器名e1j1m1e1j1m2e1j2m3e2j1m1姓名名稱工時e1j13e1j24e2j15e3j24e4j24e5j26e6j25姓名名稱機器名工時e1j1m13e1j1m23e1j2m34e2j1m15e3j2null4e4j2null4e5j2null6e6j2null5方案1方案2聚集是一種抽象,通過它聯系被作為高層實體集。實體集A與B以及它們的聯系可被看成另一實體集C使用聚集來消除冗余將聯系作為抽象實體允許聯系之間存在聯系將聯系抽象進新的實體中聚集ABR1R2D聚集職工項目參加姓名工種名稱類型機器名型號工時使用機器制造商批發(fā)商聯營名稱地址名稱地址產品名價格時間分送產品聚集ER圖表示匯總ER圖表示匯總提綱基本概念及對應的ER模型映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換對于一個數據對象究竟作為實體還是屬性或聯系是相對的,決定于應用背景和設計者的偏愛。一般說來,按數據粒度確定實體與屬性,能形成元組的設計成實體,只是單一數據項的設計成屬性。設計E-R圖時一定與將來轉化成關系模式結合起來,要考慮表的多少,查找數據的方便。ER模型設計要點實體集Vs屬性職工姓名電話適于一個員工只有一部電話的情況職工電話聯系電話姓名號碼地址適于多個員工共有一部電話,一個員工多個電話,電話本身具有多個屬性的情況ER模型設計要點員工抽象為一個實體電話若只是一個數據項則作為員工的屬性,電話若需多個屬性描述設計成實體。例:員工有多部電話,一個電話屬多個員工,電話在不同的地方
1.設計成屬性,表結構是:員工=(姓名,性別,職務,號碼,地點)這樣,查找員工的電話號方便,查找地點也方便,但數據冗余大,姓名,性別,職務隨電話增加而冗余。ER模型設計要點2.若設計成實體,表結構是:員工=(姓名,性別,職務)電話=(號碼,地址)聯系電話=(姓名,號碼)這樣,冗余小了,但查找某員工的電話地點要查兩個表。ER模型設計要點ER模型設計要點實體有多方面性質,屬性沒有,如城市為屬性,只一個,為實體,可以多個屬性項目名稱城市項目城市位于名稱名稱面積人口ER模型設計要點實體中,多值屬性,還要其它若干屬性,則將該多值屬性定義為另一實體供應商可以供應多種零件供應商姓名零件零件供應名稱供應商姓名地址電話ER模型設計要點實體集Vs聯系集教師課程開課姓名名稱單純表示“教師”實體與“課程”實體之間的行為聯系實體與聯系:靜態(tài)與動態(tài),若多個老師開同一門課,則每個老師與該課程的聯系都需重復記錄很多相同的信息,開課改為實體,與課程是1:N,與教師是N:M開課時間地點班級教師課程開課姓名名稱時間地點班級ER模型設計要點實體與聯系:靜態(tài)與動態(tài),若多個老師開同一門課,則每個老師與該課程的聯系都需重復記錄很多相同的信息,開課改為實體,與課程是1:N,與教師是N:M開課時間地點班級教師課程開課姓名名稱時間地點班級ER模型設計要點例如,病人,醫(yī)生,病歷,病歷作為實體,是四個表,作為聯系是三個表ER模型設計要點提綱基本概念及對應的ER模型映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換概念數據庫設計過程ER方案選擇對現實世界概念要作出準確而有效的表達用實體集還是屬性用實體集還是聯系集用二元聯系還是多元聯系用強實體集還是弱實體集是否要用概括是否要用聚集概念數據庫設計過程需求分析結果確定局部結構范圍實體定義聯系定義屬性分配局部ER模式設計全局ER模式設計概念數據庫設計過程局部ER模式確定公共實體類型合并兩個局部ER模式檢查并消除沖突全局ER模式設計還有未合并的局部模式?全局ER模式優(yōu)化無有概念數據庫設計過程-消除沖突屬性沖突屬性域的沖突:屬性的類型、取值范圍不同如不同學校的學號編碼方式不同屬性取值單位沖突如重量分別采用磅、千克結構沖突同一對象在不同應用中的抽象不同如職工在某應用中是實體,在另一應用中則抽象為屬性同一實體在不同E-R圖中屬性組成不同實體之間的聯系在不同E-R圖中呈現不同的類型命名沖突同名異義:不同意義的對象具有相同的名字異名同義:同一意義的對象具有不同的名字概念數據庫設計過程合并實體類型消除冗余屬性消除冗余聯系全局ER模式優(yōu)化全局ER模式邏輯數據庫設計銀行系統(tǒng)的ER圖概念數據庫設計過程例:在教學管理系統(tǒng)中,要處理的數據有學生,班級,課程,教師,參考書五部分,
聯系根據語義說明,本例的語義說明是,每個學生隸屬一個班級;每個學生要選修多門課程;每門課程可由多個學生選修,每個學生選修的課程有一個成績;一門課程可由多個教師開設,并指定多本參考書,而一個教師只能講授一門課程,一本參考書只用于一門課程,學生中有班級領導。概念數據庫設計過程例:在工廠管理系統(tǒng)中,需要管理的數據由五部分組成,職工,部門,產品,零件,供應商其屬性如下:職工:職工號,姓名,性別,年齡,工種,級別部門:部門號,部門名,負責人,電話產品:產品號,產品名,型號概念數據庫設計過程零件:零件代號,零件名稱,規(guī)格,價格供應商:供應商名,地址,聯系人,電話語義說明如下:職工隸屬一個部門,每個職工有一個直屬領導;一個產品由多個職工生產,由一個職工負責檢驗;一個產品由多零件組裝,一種零件可以組裝多種產品;產品和零件既可以由供應商供應,也可以由職工加工。提綱基本概念及對應的ER模型映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換7.6轉換為關系模式實體關系屬性關系的屬性S(SNO,SNAME,DEPT)學生姓名學號系別屬性的轉換多值屬性新的關系+所在實體的碼選課(學號,所選課程號)學生姓名學號所選課程復合屬性將每個組合屬性作為復合屬性所在實體的屬性學生姓名學號年月出生日期日學生(學號,姓名,年,月,日)關系模式的轉換弱實體集:所對應的關系的碼由弱實體集本身的分辯符再加上所依賴的強實體集的碼產品(產品名,價格,公司名)
產品公司制造產品名地址價格公司名聯系電話弱實體集與強實體集之間的聯系已經在弱實體集所對應的關系中表示出來了ER模型向關系模式的轉換ER模型向關系模式的轉換概括:
高層實體集和低層實體集分別轉為表低層實體集所對應的關系包括高層實體集的碼本科生研究生學生ISA碩士ISA博士姓名學號DissertationPapers軍訓學生(姓名,學號)本科生(學號,軍訓)研究生(學號,論文)ER模型向關系模式的轉換如果概括是不相交并且是全部的,即一個高層實體最多并且只能屬于一個低層實體集,則可以不為高層實體集建立關系碼,低層實體集所對應的關系包括上層實體集的的所有屬性本科生(學號,姓名,軍訓)研究生(學號,姓名,論文)本科生研究生學生ISA碩士ISA博士姓名學號DissertationPapers軍訓ER模型向關系模式的轉換ER模型向關系模式的轉換方案1
person(name,street,city)customer(name,credit-rating)employee(name,salary)缺點:查詢employee的地址需要訪問兩個表方案2person(name,street,city)customer(name,street,city,credit-rating)employee(name,street,city,salary)如果概括是全部的,無須創(chuàng)建person表缺點:地址信息對同時是customer和employee的人存儲兩次ER模型向關系模式的轉換聚集:
實體集A與B以及它們的聯系R被看成實體集C,C與另一實體集D構成聯系S,則S所對應的關系的碼由R和D的碼構成。使用(職工姓名,項目名稱,機器名)職工項目參加姓名工種項目名稱類型機器名型號工時使用機器ER模型向關系模式的轉換一.實體轉換強實體集,將每個強實體集直接轉換為一個關系,實體的碼作為關系的碼,實體的屬性作為關系的屬性。弱實體集,將每個弱實體集直接轉換為一個關系,關系中增加強實體集的碼。多值屬性單獨建表超類實體建表,屬性包括所有共有屬性。ER模型向關系模式的轉換子類實體建表,屬性包括超類的碼和子類所獨有的屬性。如果概括是不相交的且全部的,不為超類建表,只為子類建表。聚集可以單獨建表,也可以不建表,用聯系對聯系表達。二.實體間聯系的轉換總原則:N:M聯系單獨建表,其他,增加屬性。ER模型向關系模式的轉換兩實體間1:N的聯系。將1方實體的碼納入N方實體對應的關系中,作為N方實體關系的外碼。如果聯系本身有屬性,則將屬性也納入N方實體對應的關系中。例:倉庫實體與產品實體為1:N的聯系,其中倉號、產品號分別為兩實體的碼,E-R圖如下:轉換步驟:(1)實體轉換為關系:倉庫(倉號,地點,面積,負責人)產品(產品號,名稱,價格)ER模型向關系模式的轉換(2)N方增加屬性:產品(產品號,名稱,價格,倉號,數量,位置)(3)最終轉換結果:倉庫(倉號,地點,面積,負責人產品(產品號,名稱,價格,倉號,數量,位置)ER模型向關系模式的轉換同一實體間1:N的聯系。在實體對應的關系中增加屬性,屬性包括:與N個體相聯系的1個體的碼,以及聯系的屬性。例:職工實體之間有1:N的領導聯系,其中職工號為碼。E-R圖如下:轉換步驟:(1)實體轉換為關系:職工(職工號,姓名,性別,職務))ER模型向關系模式的轉換(2)增加屬性:職工(職工號,姓名,性別,職務,領導職工號,評價最終轉換結果:職工(職工號,姓名,性別,職務,領導職工號,評價)關系實例:
ER模型向關系模式的轉換職工職工號姓名性別職務領導職工號評價1張三男職員2合格2李四女副科3不合格3王五男科長4趙六男職員2優(yōu)秀ER模型向關系模式的轉換3.兩實體間M:N的聯系。聯系單獨轉換為一個關系,屬性包括:兩實體的碼、聯系的屬性。例:學生與課程之間有M:N的聯系,學號、課號分別是實體的碼,E-R圖如下:轉換步驟:(1)實體轉換為關系:學生(學號,姓名,系別,系主任)課程(課號,課名,學分)ER模型向關系模式的轉換(2)聯系轉換為關系:選課(學號,課號,成績,時間)(3)最終轉換結果:學生(學號,姓名,系別,系主任)課程(課號,課名,學分)選課(學號,課號,成績,時間)ER模型向關系模式的轉換同一實體間M:N的聯系。聯系單獨轉換為一個關系,屬性包括:個體的碼、與之有聯系的另一個體的碼、以及聯系的屬性。例:零部件實體之間有M:N的組裝聯系,其中代號為碼。E-R圖如下:轉換步驟:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 平衡正向移動與轉化率變化的關系
- 九年語文課件教學課件
- 汽車總經銷合同模板
- 強電設備采購合同模板
- 閑置花瓶出售合同模板
- 火鍋店特許經營合同模板
- 美容學徒培訓合同模板
- 政府采購內部承包合同模板
- 辭職賠償合同模板
- 食堂廣告合同模板
- 中圖版2024-2025學年八年級地理上冊期中卷含答案
- 國開2024年秋《教育心理學》形成性考核1-4答案
- 市政道路及設施零星養(yǎng)護服務技術方案(技術標)
- 2024助貸委托服務協(xié)議合同模板
- 小腸梗阻的診斷與治療中國專家共識(2023版)解讀
- 創(chuàng)建健康促進醫(yī)院工作匯報課件
- GB_T 14976-2012流體輸送用不銹鋼無縫鋼管
- UPS蓄電池計算公式
- 五育融合深度育人PPT課件
- 乳頭溢液的診斷及處理ppt課件
- 五一勞動節(jié)生活小大人主題班會
評論
0/150
提交評論