版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第七章數據庫設計與模型第一頁,共125頁。引子現方案為某大學設計一個教室管理信息系統(tǒng),管理的內容包括教室、班級、教師、學生、課程、教學設備、教室管理員。請按你的理解完成以下要求。畫出E-R圖,轉換成關系模式,根據關系模式,用關系代數寫出以下查詢:第二頁,共125頁。引子〔1〕找出姓名為王平的學生周一3、4節(jié)上課的教室號、課程名、教師名、班長名〔2〕找出周四5、6節(jié)能容納150以上、具有投影儀和空調且使用狀態(tài)正常的空教室,給出教室號、管理員姓名、管理員第三頁,共125頁。引子P28:圖2-9;P63:圖3-18,圖3-19,圖3-20對應的E-R圖是什么?第四頁,共125頁。提綱根本概念映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換第五頁,共125頁。7.1設計過程概覽歷史ER模型:Entity-RelationshipModel1976年,提出ER模型,用ER圖來描述概念模型觀點世界是由一組稱作實體的根本對象和這些對象之間的聯系構成的語義模型力圖表達數據的意義第六頁,共125頁。概念模型設計例:學生選修課程學生課程選修姓名學號系別課程名先修課學分成績用矩形表示實體集,在框內寫上實體名用橢圓表示實體的屬性用無向邊把實體與其屬性連接起來用菱形表示實體間的聯系將參與聯系的實體用線段連接mn聯系的數量第七頁,共125頁。邏輯模型設計學生=〔學號,姓名,系別〕課程=〔課程名,先修課,學分〕選修=〔學號,課程名,成績〕第八頁,共125頁。銀行系統(tǒng)的ER圖第九頁,共125頁。邏輯模型設計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,…,)第十頁,共125頁。7.2實體-聯系模型一、實體集實體(Entity)客觀存在并可相互區(qū)分的事物叫實體實體名標識,如學生,課程如學生:張三、李四,課程:計算機原理、數據庫概論實體集(EntitySet)同型實體的集合稱為實體集,如全體學生實體集可相交第十一頁,共125頁。實體型實體型實體名和屬性名組成實體型。對關系模型就是關系模式。例如,學生(學號,姓名,性別,年齡,系別,入學時間),是學生實體型。(98080221,王平,女,19,計算機,1998)是一個實體。第十二頁,共125頁。customer-idcustomer-namecustomer-streetcustomer-cityloanamount根本概念--實體第十三頁,共125頁。根本概念—屬性屬性(Attribute)實體特征,通過其值區(qū)分不同的實體例如,學生=〔學號,姓名,年齡,系〕學生實體集={〔001,李明,年齡,21,中文〕,…},一般:實體對應表中一個元組〔記錄〕屬性對應表中一個字段〔數據項〕實體集對應一個表第十四頁,共125頁。屬性的類型簡單屬性:不可再分的屬性如學號、年齡、性別復合屬性:可以劃分為更小的屬性可以把相關屬性聚集起來,使模型更清晰如號碼=區(qū)號+本地號碼出生日期=年、月、日如出生日期定義為簡單屬性取1984/8/12第十五頁,共125頁。屬性的類型第十六頁,共125頁。屬性的類型單值屬性:每一個特定的實體在該屬性上的取值唯一如學生的學號,年齡、性別、系別等多值屬性:屬性上有多于一個的取值如作者〔張平,李華,劉寧〕NULL屬性null表示“空值〞,屬性上沒有值時設為null,定義數據庫時可選,進行邏輯、計數或求和時有規(guī)定。如一個學生年齡為空時,年齡>20,怎么判
第十七頁,共125頁。屬性的類型派生屬性從其他相關的屬性或實體派生出來的屬性值學生=〔學號,姓名,出生日期,年齡,平均成績〕選課=〔學號,課程號,成績〕年齡:由系統(tǒng)時間減出生日期得到平均成績:由選課的成績除以課程總數來得到。年齡、平均成績稱為派生屬性,出生日期、成績稱為基屬性,或存儲屬性第十八頁,共125頁。屬性在ER圖中的表示表示要點多值屬性用雙橢圓表示派生屬性用虛橢圓表示學生姓名選修課程學生姓名平均成績系別第十九頁,共125頁。屬性在ER圖中的表示第二十頁,共125頁。根本概念—域域(Domain)屬性的取值范圍例如,性別的域為〔男、女〕月份的域為1到12的整數,成績的域取integer域對應數據類型域可取缺省定義,也可以用語句顯式定義CREATEDOMAINAGE_DOMAINSMALLINT第二十一頁,共125頁。根本概念--碼碼(Key)能唯一標識實體的屬性或最小屬性集,也稱為實體鍵。具有唯一性的特點,即給出碼屬性的一個值,到實體集中或只找出一個實體或一個也找不到如果有多個碼,每個碼都稱為侯選碼,從中指定一個作為主碼。例如職工實體集中,職工號為候選碼,假設姓名不重,也是候選碼。超碼:候選碼的超集,比候選碼有多余的屬性,也能唯一標識一個實體。任一表都有碼。第二十二頁,共125頁。根本ER圖要點碼在ER圖中的表示實體集屬性中作為主碼的一局部的屬性用下劃線來標明。學生課程選修姓名學號系別課程名先修課學分第二十三頁,共125頁。根本ER圖要點第二十四頁,共125頁。根本概念--聯系聯系集聯系:實體之間的相互關聯,用聯系名標識,分為兩〔多〕實體集之間實體的關聯,同一實體集內部實體之間的關聯。如學生與課程間的選課,學生與學生間的領導聯系的類型兩實體集之間1:1聯系如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之關聯,反之亦然。注意:至多一個,意味著可以沒有。第二十五頁,共125頁。映射的基數如“職工〞與“部門〞之間的“管理〞聯系〔假定每個部門只有一個經理,一個職工不能兼任兩個部門經理)注:一對一不是一一對應職工部門管理第二十六頁,共125頁。根本概念--聯系
例如,班級實體集與學生實體集間有1∶1的班長聯系,聯系名是班長。兩實體集之間1:n聯系如果對于實體集A中的每個實體,實體集B中有n個實體(n≥0)與之關聯,反之,對實體集B中的每個實體,實體集A中至多有一個實體與之關聯。例如,院系實體集與學生實體集有一對多的隸屬聯系,聯系名是隸屬。注意,n的取值可以為0,這意味著A中的某個實體在B中并沒有實體與之關聯。第二十七頁,共125頁。映射基數在ER圖中的表示多方實體集單方實體集聯系R從A到B是多對一ABR表示要點用箭頭或線段來表示聯系的映射基數第二十八頁,共125頁。映射的基數如“教師〞和“學生〞之間的“班主任〞聯系教師學生班主任第二十九頁,共125頁。根本概念--聯系兩實體集之間m:n聯系如果對于實體集A中的每個實體,實體集B中有m個實體(m≥0)與之關聯,反之,對于實體集B的每個實體,實體集A中也有n個實體(n≥0)與之關聯。例如,課程實體集與學生實體集之間有選課聯系,聯系名是選課。注意,n和m的值都可以為0。多實體集之間m:n:p聯系例如,設備實體集,供貨商實體集,工程實體集之間的供貨聯系,聯系名是供給。第三十頁,共125頁。映射的基數兩個實體間多對多如“學生〞和“課程〞之間的“選修〞聯系學生課程選修聯系R從A到B是多對多ABR第三十一頁,共125頁。多個實體集間聯系如“課程〞,“教員〞,“參考書〞之間的“講課〞聯系教員參考書講課課程映射的基數第三十二頁,共125頁。根本概念--聯系聯系集borrower第三十三頁,共125頁。根本概念--聯系實體集customer與account之間的聯系集depositor具有屬性access-date第三十四頁,共125頁。根本概念--聯系同一實體集內聯系
同一實體集內各實體間的聯系也呈現一對一,一對多,多對多的形式。例如,職工實體集內部有一對多的領導聯系;學生實體集內有一對一的同位聯系;零部件實體集內有組裝的m∶n的聯系。聯系的參與度(participation)。每個實體有一個參與聯系的次數,取最小、最大的參與次數min和max,定義實體集的參與度。第三十五頁,共125頁。映射的基數一個實體集內的二元聯系一對一eiE,至多存在一個ejE,與之相聯系〔j≠i〕如“職工〞之間的“配偶〞聯系一對多如“職工〞內部的“領導〞聯系多對多如“零件〞之間的“構成〞聯系職工領導領導屬下職工配偶丈夫妻子構成零件母零件子零件第三十六頁,共125頁。根本概念--聯系聯系的參與度(participation)。每個實體有一個參與聯系的次數,取最小、最大的參與次數min和max,定義實體集的參與度。min=0,稱聯系為局部參與;如果min>0,稱聯系為全參與。Max限制每個實體的參與次數。第三十七頁,共125頁。參與在ER圖中的表示customer局部參與聯系borrowerLoan完全參與聯系borrower用雙線連接聯系與完全參與的實體第三十八頁,共125頁。根本概念--聯系
聯系的屬性。實體有屬性,聯系也可以有屬性。例如,選課聯系中可以有成績屬性。聯系集參與聯系的實體組成的集合。聯系一般也用表來表示,取各實體的主碼和聯系的屬性組成表結構第三十九頁,共125頁。根本概念--聯系例如學生實體集與課程實體集有選課聯系,聯系集屬性是學號、課程號以及成績。選課的學生和被選的課程參加聯系集。注意:聯系一般用表來表示,是否建立表與聯系的類型有關。聯系集的碼聯系一般也用表來表示,其碼由各實體的主碼組成。如選課表的碼是學號和課程號。第四十頁,共125頁。根本概念--角色角色〔Role〕實體在聯系中的作用稱為實體的角色當同一個實體集不止一次參與一個聯系集時,為區(qū)別各實體的參與聯系的方式,需要顯式指明其角色如學生與學生間的班長關系,職工與職工之間的經理關系,課程之間的先修關系第四十一頁,共125頁。角色在ER圖中的表示角色表示當需要顯式區(qū)分角色時,在連接菱形和矩形的線上加上說明性標注以區(qū)別不同的角色職員雇傭管理工作第四十二頁,共125頁。角色在ER圖中的表示第四十三頁,共125頁。映射的基數映射的基數會影響到ER設計,例如customer與account之間是1:n聯系,那么可將access-date作為account的屬性第四十四頁,共125頁。映射的基數假設customer與account之間是m:n聯系,access-date那么必須作為聯系集depositor的屬性第四十五頁,共125頁。映射的基數One-To-ManyOne-To-One第四十六頁,共125頁。映射的基數Many-To-ManyMany-To-One第四十七頁,共125頁。存在依賴存在依賴〔ExistenceDependency〕如果實體x的存在依賴于實體y的存在,那么稱x存在依賴于yy稱作支配實體,x稱作附屬實體如果y被刪除,那么x也要被刪除考慮分期付款的例子,對每一個“貸款〞實體,有假設干個“還款〞實體與之關聯,“還款〞實體存在依賴于“貸款〞實體全部參與與存在依賴設ARB,假設A存在依賴于B,那么A全部參與聯系R第四十八頁,共125頁。提綱根本概念及對應的ER模型映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換第四十九頁,共125頁。弱實體集弱實體集〔WeakEntitySet〕如果一個實體集的所有屬性都缺乏以形成主碼,那么稱這樣的實體集為弱實體集貸款〔貸款號,金額〕,還款〔還款號,還款日期,金額〕,每個“貸款〞的各個“還款〞不同,但不同“貸款〞之間的“還款〞卻可能相同,因此“還款〞是一個弱實體集產品〔名稱,價格〕,公司〔名稱,地址,聯系〕,“產品〞與“公司〞之間有“制造〞聯系,“產品〞是一個弱實體集。第五十頁,共125頁。弱實體集弱實體集與其擁有者之間的聯系稱作標識性聯系(identifyingrelationship)弱實體集與強實體集之間是一對多的聯系弱實體集與存在依賴弱實體集必然存在依賴于強實體集〔StrongEntitySet)存在依賴并不總會導致一個弱實體集,附屬實體集可以有自己的主碼 如實體集信用卡〔信用卡號,客戶帳號,金額〕,它存在依賴于客戶帳號實體集,但信用卡有自己的主碼信用卡號。第五十一頁,共125頁。弱實體集分辨符〔Discriminator)弱實體集中用于區(qū)別依賴于某個特定強實體集的屬性集合。也稱作局部碼〔partialkey)如“還款〞中的還款號弱實體集的主碼由該弱實體集所存在依賴的強實體集的主碼和該弱實體集的分辨符組成如“還款〞主碼=貸款號+還款號“產品〞主碼=公司名稱+產品名稱。第五十二頁,共125頁。弱實體集為什么使用弱實體集?通過為弱實體集加上適宜的屬性,可轉變?yōu)閺妼嶓w集,為什么還要使用弱實體集?防止數據冗余〔強實體集碼重復〕,以及因此帶來的數據的不一致性弱實體集反映了一個實體對其它實體依賴的邏輯結構弱實體集可以隨它們的強實體集的刪除而自動刪除弱實體集可以物理地隨它們的強實體集存儲第五十三頁,共125頁。弱實體集弱實體集的引入作為層次結構的一局部實體集的一些多值、復合屬性可以抽取出來作為弱實體集如果弱實體集不但參與和強實體集之間的標識性聯系,而且參與和其它實體集的聯系,或者弱實體集本身含有很多屬性,那么將其表述為弱實體集如果弱實體集只參與和強實體集之間的標識性聯系,或者弱實體集本身屬性不多,那么將其表述為屬性第五十四頁,共125頁。弱實體集參與其它聯系消費帳戶隸屬消費號帳戶號消費金額金額利息隸屬順序號利息記息第五十五頁,共125頁。弱實體集弱實體集在E-R圖中的表示弱實體集以雙邊框的矩形表示標識性聯系以雙邊框的菱形表示從聯系集用雙線〔全部參與〕連接弱實體集,用箭頭〔一對多聯系〕指向強實體集弱實體集的分辨符用下劃虛線標明第五十六頁,共125頁。弱實體集還款貸款隸屬還款號貸款號還款金額貸款金額第五十七頁,共125頁。弱實體集產品公司制造產品名地址價格公司名聯系電話第五十八頁,共125頁。弱實體集第五十九頁,共125頁。提綱根本概念及對應的ER模型映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換第六十頁,共125頁。擴展ER特性特殊化〔Specialization〕概括〔Generalization〕屬性繼承〔AttributeInheritance〕設計約束〔DesignConstraints〕聚集〔Aggregation〕第六十一頁,共125頁。特殊化特殊化實體集中某些子集具有區(qū)別于該實體集內其它實體的特性,可以根據這些差異特性對實體集進行分組,這一分組的過程稱作特殊化自頂向下、逐步求精父類子類子類=特例=更小的實體集=更多的屬性一個銀行帳號可以有存款帳號、貸款帳號學生可以有研究生、本科生第六十二頁,共125頁。特殊化特殊化在E-R圖中的表示特殊化用標記為ISA的三角形來表示ISA=“isa〞,表示高層實體和低層實體之間的“父類-子類〞聯系本科生研究生學生ISA碩士ISA博士姓名學號DissertationPapers軍訓第六十三頁,共125頁。特殊化第六十四頁,共125頁。概括概括各個實體集根據共有的性質,合成一個較高層的實體集。概括是一個高層實體集與假設干個低層實體集之間的包含關系自底向上、逐步合成概括Vs特殊化概括與特殊化是個互逆的過程,在E-R圖中的表示方法是相同的特殊化強調同一實體集內不同實體之間的差異,概括強調不同實體集之間的相似性反映了數據庫設計的不同方法第六十五頁,共125頁。屬性繼承屬性繼承高層實體集的屬性被低層實體集自動繼承低層實體集特有的性質僅適用于某個特定的低層實體集如“Dissertation〞屬性只適用于“研究生〞實體集層次結構〔Hierarchy〕實體集作為低層實體集只能參與到一個ISA聯系中格結構〔Lattice〕低層實體集可以參與到多個ISA聯系中如“博士〞算參加工作,會繼承“職工〞實體集的一些屬性第六十六頁,共125頁?!安┦卡暲^承了“研究生〞與“職工〞的所有屬性。如果“研究生〞與“職工〞有相同名稱的屬性,如“姓名〞,那么在“博士〞中用“研究生.姓名〞,“職工.姓名〞區(qū)別開來。本科生研究生學生ISA碩士ISA博士姓名學號DissertationPapers軍訓職工姓名工齡ISA屬性繼承第六十七頁,共125頁。成員資格確定哪些實體能成為給定低層實體集的成員條件定義的(Condition-Defined)一個實體成員資格確實定基于該實體是否滿足一個顯式的條件或謂詞假定“學生〞實體集具有屬性“學生類型〞,那么所有的學生實體根據“學生類型〞進行成員資格認定,如一個學生的“學生類型〞=“本科生〞,那么他就可以歸入低層“本科生〞實體集中系統(tǒng)可以自動檢查條件定義的約束用戶定義的(User-Defined)由數據庫用戶來指定一個實體歸入哪個低層實體集如一個學生被老師分配到某個工程組設計約束第六十八頁,共125頁。成員身份同一個概括中,一個實體是否可以屬于多個不同低層實體集不相交的(Disjoint)一個實體至多屬于一個低層實體集如一個學生只能參加一個工程組有重疊的(Overlapping)同一實體可以同時屬于同一概括的多個低層實體集如一個老師可以參加多個工程組設計約束第六十九頁,共125頁。全部性約束確定高層實體集中的一個實體是否必須屬于某個概括的至少一個低層實體集全部的(Total)每個高層實體必須屬于一個低層實體集如學生必須屬于“本科生〞或“研究生〞的一種局部的(Partial)允許一些高層實體不屬于任何低層實體集如學生可以不屬于任何工程組。、設計約束第七十頁,共125頁。聚集聯系之間存在重疊,如何表達聯系之間的聯系?實例:職工參加工程,并在此過程中可能使用機器職工項目參加姓名工種名稱類型機器名型號方案2工時使用機器聚集職工項目參加并使用姓名工種名稱類型機器名型號方案1工時機器第七十一頁,共125頁。聚集方案1方案2第七十二頁,共125頁。聚集是一種抽象,通過它聯系被作為高層實體集。實體集A與B以及它們的聯系可被看成另一實體集C使用聚集來消除冗余將聯系作為抽象實體允許聯系之間存在聯系將聯系抽象進新的實體中聚集ABR1R2D第七十三頁,共125頁。聚集職工項目參加姓名工種名稱類型機器名型號工時使用機器第七十四頁,共125頁。制造商批發(fā)商聯營名稱地址名稱地址產品名價格時間分送產品聚集第七十五頁,共125頁。ER圖表示匯總第七十六頁,共125頁。ER圖表示匯總第七十七頁,共125頁。提綱根本概念及對應的ER模型映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換第七十八頁,共125頁。對于一個數據對象究竟作為實體還是屬性或聯系是相對的,決定于應用背景和設計者的偏愛。一般說來,按數據粒度確定實體與屬性,能形成元組的設計成實體,只是單一數據項的設計成屬性。設計E-R圖時一定與將來轉化成關系模式結合起來,要考慮表的多少,查找數據的方便。ER模型設計要點第七十九頁,共125頁。實體集Vs屬性職工姓名電話適于一個員工只有一部電話的情況職工電話聯系電話姓名號碼地址適于多個員工共有一部電話,一個員工多個電話,電話本身具有多個屬性的情況ER模型設計要點第八十頁,共125頁。員工抽象為一個實體假設只是一個數據項那么作為員工的屬性,假設需多個屬性描述設計成實體。例:員工有多部,一個屬多個員工,在不同的地方1.設計成屬性,表結構是:員工=〔姓名,性別,職務,號碼,地點〕這樣,查找員工的號方便,查找地點也方便,但數據冗余大,姓名,性別,職務隨增加而冗余。ER模型設計要點第八十一頁,共125頁。2.假設設計成實體,表結構是:員工=〔姓名,性別,職務〕=〔號碼,地址〕聯系=〔姓名,號碼〕這樣,冗余小了,但查找某員工的地點要查兩個表。ER模型設計要點第八十二頁,共125頁。ER模型設計要點實體有多方面性質,屬性沒有,如城市為屬性,只一個,為實體,可以多個屬性項目名稱城市項目城市位于名稱名稱面積人口第八十三頁,共125頁。ER模型設計要點實體中,多值屬性,還要其它假設干屬性,那么將該多值屬性定義為另一實體供給商可以供給多種零件供應商姓名零件零件供應名稱供應商姓名地址電話第八十四頁,共125頁。ER模型設計要點實體集Vs聯系集教師課程開課姓名名稱單純表示“教師”實體與“課程”實體之間的行為聯系第八十五頁,共125頁。實體與聯系:靜態(tài)與動態(tài),假設多個老師開同一門課,那么每個老師與該課程的聯系都需重復記錄很多相同的信息,開課改為實體,與課程是1:N,與教師是N:M開課時間地點班級教師課程開課姓名名稱時間地點班級ER模型設計要點第八十六頁,共125頁。實體與聯系:靜態(tài)與動態(tài),假設多個老師開同一門課,那么每個老師與該課程的聯系都需重復記錄很多相同的信息,開課改為實體,與課程是1:N,與教師是N:M開課時間地點班級教師課程開課姓名名稱時間地點班級ER模型設計要點第八十七頁,共125頁。例如,病人,醫(yī)生,病歷,病歷作為實體,是四個表,作為聯系是三個表ER模型設計要點第八十八頁,共125頁。提綱根本概念及對應的ER模型映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換第八十九頁,共125頁。概念數據庫設計過程ER方案選擇對現實世界概念要作出準確而有效的表達用實體集還是屬性用實體集還是聯系集用二元聯系還是多元聯系用強實體集還是弱實體集是否要用概括是否要用聚集第九十頁,共125頁。概念數據庫設計過程需求分析結果確定局部結構范圍實體定義聯系定義屬性分配局部ER模式設計全局ER模式設計第九十一頁,共125頁。概念數據庫設計過程局部ER模式確定公共實體類型合并兩個局部ER模式檢查并消除沖突全局ER模式設計還有未合并的局部模式?全局ER模式優(yōu)化無有第九十二頁,共125頁。概念數據庫設計過程-消除沖突屬性沖突屬性域的沖突:屬性的類型、取值范圍不同如不同學校的學號編碼方式不同屬性取值單位沖突如重量分別采用磅、千克結構沖突同一對象在不同應用中的抽象不同如職工在某應用中是實體,在另一應用中那么抽象為屬性同一實體在不同E-R圖中屬性組成不同實體之間的聯系在不同E-R圖中呈現不同的類型命名沖突同名異義:不同意義的對象具有相同的名字異名同義:同一意義的對象具有不同的名字第九十三頁,共125頁。概念數據庫設計過程合并實體類型消除冗余屬性消除冗余聯系全局ER模式優(yōu)化全局ER模式邏輯數據庫設計第九十四頁,共125頁。銀行系統(tǒng)的ER圖第九十五頁,共125頁。概念數據庫設計過程例:在教學管理系統(tǒng)中,要處理的數據有學生,班級,課程,教師,參考書五局部,聯系根據語義說明,本例的語義說明是,每個學生隸屬一個班級;每個學生要選修多門課程;每門課程可由多個學生選修,每個學生選修的課程有一個成績;一門課程可由多個教師開設,并指定多本參考書,而一個教師只能講授一門課程,一本參考書只用于一門課程,學生中有班級領導。第九十六頁,共125頁。概念數據庫設計過程例:在工廠管理系統(tǒng)中,需要管理的數據由五局部組成,職工,部門,產品,零件,供給商其屬性如下:職工:職工號,姓名,性別,年齡,工種,級別部門:部門號,部門名,負責人,產品:產品號,產品名,型號第九十七頁,共125頁。概念數據庫設計過程零件:零件代號,零件名稱,規(guī)格,價格供給商:供給商名,地址,聯系人,語義說明如下:職工隸屬一個部門,每個職工有一個直屬領導;一個產品由多個職工生產,由一個職工負責檢驗;一個產品由多零件組裝,一種零件可以組裝多種產品;產品和零件既可以由供給商供給,也可以由職工加工。第九十八頁,共125頁。提綱根本概念及對應的ER模型映射約束弱實體集擴展ER特性ER模型設計要點概念數據庫設計過程ER模型向關系模式的轉換第九十九頁,共125頁。7.6轉換為關系模式實體關系屬性關系的屬性S(SNO,SNAME,DEPT)學生姓名學號系別第一百頁,共125頁。屬性的轉換多值屬性新的關系+所在實體的碼選課〔學號,所選課程號〕學生姓名學號所選課程復合屬性將每個組合屬性作為復合屬性所在實體的屬性學生姓名學號年月出生日期日學生(學號,姓名,年,月,日)第一百零一頁,共125頁。關系模式的轉換弱實體集:所對應的關系的碼由弱實體集本身的分辯符再加上所依賴的強實體集的碼產品〔產品名,價格,公司名〕
產品公司制造產品名地址價格公司名聯系電話弱實體集與強實體集之間的聯系已經在弱實體集所對應的關系中表示出來了第一百零二頁,共125頁。ER模型向關系模式的轉換第一百零三頁,共125頁。ER模型向關系模式的轉換概括:
高層實體集和低層實體集分別轉為表低層實體集所對應的關系包括高層實體集的碼本科生研究生學生ISA碩士ISA博士姓名學號DissertationPapers軍訓學生(姓名,學號)本科生〔學號,軍訓〕研究生〔學號,論文〕第一百零四頁,共125頁。ER模型向關系模式的轉換如果概括是不相交并且是全部的,即一個高層實體最多并且只能屬于一個低層實體集,那么可以不為高層實體集建立關系碼,低層實體集所對應的關系包括上層實體集的的所有屬性本科生〔學號,姓名,軍訓〕研究生〔學號,姓名,論文〕本科生研究生學生ISA碩士ISA博士姓名學號DissertationPapers軍訓第一百零五頁,共125頁。ER模型向關系模式的轉換第一百零六頁,共125頁。ER模型向關系模式的轉換方案1person〔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的人存儲兩次第一百零七頁,共125頁。ER模型向關系模式的轉換聚集: 實體集A與B以及它們的聯系R被看成實體集C,C與另一實體集D構成聯系S,那么S所對應的關系的碼由R和D的碼構成。使用(職工姓名,工程名稱,機器名)職工項目參加姓名工種項目名稱類型機器名型號工時使用機器第一百零八頁,共125頁。ER模型向關系模式的轉換一.實體轉換強實體集,將每個強實體集直接轉換為一個關系,實體的碼作為關系的碼,實體的屬性作為關系的屬性。弱實體集,將每個弱實體集直接轉換為一個關系,關系中增加強實體集的碼。多值屬性單獨建表超類實體建表,屬性包括所有共有屬性。第一百零九頁,共125頁。ER模型向關系模式的轉換子類實體建表,屬性包括超類的碼和子類所獨有的屬性。如果概括是不相交的且全部的,不為超類建表,只為子類建表。聚集可以單獨建表,也可以不建表,用聯系對聯系表達。二.實體間聯系的轉換總原那么:N:M聯系單獨建表,其他,增加屬性。第一百一十頁,共125頁。ER模型向關系模式的轉換兩實體間1:N的聯系。將1方實體的碼納入N方實體對應的關系中,作為N方實體關系的外碼。如果聯系本身有屬性,那么將屬性也納入N方實體對應的關系中。例:倉庫實體與產品實體為1:N的聯系,其中倉號、產品號分別為兩實體的碼,E-R圖如下:轉換步驟:〔1〕實體轉換為關系:倉庫〔倉號,地點,面積,負責人〕產品〔產品號,名稱,價格〕第一百一十一頁,共125頁。ER模型向關系模式的轉換〔2〕N方增加屬性:產品〔產品號,名稱,價格,倉號,數量,位置〕〔3〕最終轉換結果:倉庫〔倉號,地點,面積,負責人產品〔產品號,名稱,價格,倉號,數量,位置〕第一百一十二頁,共125頁。ER模型向關系模式的轉換同一實體間1:N的聯系。在實體對應的關系中增加屬性,屬性包括:與N個體相聯系的1個體的碼,以及聯系的屬性。例:職工實體之間有1:N的領導聯系,其中職工號為碼。E-R圖如下:轉換步驟:〔1〕實體轉換為關系:職工〔職工號,姓名,性別,職務〕〕第一百一十三頁,共125頁。ER模型向關系模式的轉換〔2〕增加屬性:職工〔職工號,姓名,性別,職務,領導職工號,評價最終轉換結果:職工〔職工號,姓名,性別,職務,領導職工號,評價〕關系實例:第一百一十四頁,共125頁。ER模型向關系模式的轉換職工職工號姓名性別職務領導職工號評價1張三男職員2合格2李四女副科3不合格3王五男科長4趙六男職員2優(yōu)秀第一百一十五頁,共125頁。ER模型向關系模式的轉換3.兩實體間M:N的聯系。聯系單獨轉換為一個關系,屬性包括:兩實體的碼、聯系的屬性。例:學生與課程之間有M:N的聯系,學號、課號分別是實體的碼,E-R圖如下:轉換步驟:〔1〕實體轉換為關系:學生〔學號,姓名,系別,系主任〕課程〔課號,課名,學分〕第一百一十六頁,共125頁。ER模型向關系模式的轉換〔2〕聯系轉換為關系:選課〔學號,課號,成績,時間〕〔3〕最終轉換結果:學生〔學號,姓名,系別,系主任〕課
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年河北石家莊財經職業(yè)學院招聘17人考試筆試備考題庫及答案解析
- 少先隊工作經驗分享與建議
- 2025湖南郴州高新區(qū)綜合服務中心招募見習生6人考試筆試模擬試題及答案解析
- 2025黑龍江省乳制品行業(yè)市場競爭與發(fā)展?jié)摿ι疃日{研報告
- 2025黑色金屬行業(yè)的市場深度調研及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025黑山旅游業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y調整布局規(guī)劃報告匯編
- 2025香蕉蘋果種植技術優(yōu)化及產值評估分析項目報告
- 2025預制菜食品加工設備行業(yè)市場前瞻需求供給潛力及投資評估規(guī)劃分析報告
- 2025韓國生物制藥原料市場競爭態(tài)勢分析及投資機會規(guī)劃研究報告
- 2025韓國智能電視行業(yè)應用拓展分析及投資生態(tài)構建規(guī)劃分析研究報告
- 啦啦操課件教學課件
- 2025年及未來5年市場數據中國拋光液市場運行態(tài)勢及行業(yè)發(fā)展前景預測報告
- 2026年網絡安全法培訓課件
- 2025年全國新能源電力現貨交易價格趨勢報告
- 2025重慶市涪陵區(qū)人民政府江東街道辦事處選聘本土人才5人(公共基礎知識)測試題附答案解析
- 2025智慧物流系統(tǒng)市場發(fā)展趨勢技術創(chuàng)新市場競爭態(tài)勢與商業(yè)模式演進深度研究報告
- GB/T 46476-2025電工鋼帶和鋼片幾何特性的測量方法
- 2025西部機場集團航空物流有限公司招聘筆試考試參考試題及答案解析
- 【生物】考點總復習-2025-2026學年人教版生物八年級上冊
- 北京市朝陽區(qū)2024-2025學年五年級上學期期末考試語文試題
- 2025年網絡運維工程師專業(yè)技術考試試題及答案
評論
0/150
提交評論