數據模型及其設計_第1頁
數據模型及其設計_第2頁
數據模型及其設計_第3頁
數據模型及其設計_第4頁
數據模型及其設計_第5頁
已閱讀5頁,還剩88頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據模型及其設計第一頁,共九十三頁,2022年,8月28日主要內容:數據庫數據主要特性數據抽象過程數據模型的基本概念概念模型設計關系數據模型關系模型設計關系數據庫創建數據裝入第二頁,共九十三頁,2022年,8月28日3.1數據庫數據主要特性結構化特性(structural)持久性特性(persistence)

海量特性(greatcapacity)

有效性特性(effectiveness)第三頁,共九十三頁,2022年,8月28日1.結構化特性五個內涵:第一,數據有“型”和“值”的區分第二,數據有語義的定義第三,數據有聚合和組配第四,數據有集合的組織第五,數據有關聯關系第四頁,共九十三頁,2022年,8月28日3.2數據抽象過程—4個世界從組織到數據庫有一個抽象過程,抽象過程經過4個階段:現實世界概念世界邏輯世界物理世界第五頁,共九十三頁,2022年,8月28日3.2.1現實世界組織活動活動對象(個體集合)個體或事物規則處理第六頁,共九十三頁,2022年,8月28日3.2.1現實世界活動組織活動要表示的對象對對象的約束對象間的關系第七頁,共九十三頁,2022年,8月28日3.2.1現實世界活動組織活動對象的特征對象應符合的條件對象間的關聯組織模型第八頁,共九十三頁,2022年,8月28日3.2.1現實世界例子約束:學生所學課程都必須是本校開設的課程只有本校學生才能獲得本校課程的成績教師參加工作的年齡必須在20以上學生或教師的性別必須為男性或女性特征:表示對象學生有學號、姓名、性別、出生日期、…等課程有課程代號、名稱、學分、學時等活動:對象間相互關系學生“學習”一門課程,教師“教”一門課程第九頁,共九十三頁,2022年,8月28日3.2.1現實世界組織模型:是一個組織中所有對象,在規定規則的指導和控制下,相互協調運動而構成的一個有機整體。第十頁,共九十三頁,2022年,8月28日3.2.1現實世界組織模型對象個體特征事物(或個體)及其聯系事物的集合(即對象)事物(即個體)表現事物第十一頁,共九十三頁,2022年,8月28日3.2.2概念世界又稱信息世界或觀念世界,是對現實世界的第1層次抽象,是現實世界在頭腦中的反映組織模型對象個體特征概念模型(信息模型)實體集合實體屬性把各種復雜的聯系抽象化為簡單的“1對1”、“1對多”和“多對多”3種基本聯系第十二頁,共九十三頁,2022年,8月28日3.2.3邏輯世界也稱數據世界,是概念世界的一種數據表示也可以看成是對現實世界的第2層次的抽象邏輯世界直接與數據庫相關,即通過邏輯世界把現實世界映射到數據庫中數據的結構分為4級,數據項、記錄、文件和數據庫第十三頁,共九十三頁,2022年,8月28日3.2.3邏輯世界表示和存儲信息

組織模型對象個體特征概念模型(信息模型)實體集合實體屬性數據模型文件記錄字段表示和存儲信息

組織模型對象個體特征概念模型(信息模型)實體集合實體屬性數據模型文件記錄字段第十四頁,共九十三頁,2022年,8月28日3.2.4物理世界也稱計算機世界或存儲世界是數據的物理存儲,或者說是在計算機存儲設備(如磁盤)上的存儲是現實世界的第3層次的抽象第十五頁,共九十三頁,2022年,8月28日4個世界的關系第十六頁,共九十三頁,2022年,8月28日3.3數據模型的基本概念數據模型的意義:

定義數據及其操作的一種抽象表示數據模型包括3項內容:

1.數據結構描述(實體與聯系的表示)2.可對數據執行的操作及其方式

3.數據的完整性約束條件數據模型的種類:

1.面向現實世界的“信息模型”

2.面向DBMS的“數據模型”第十七頁,共九十三頁,2022年,8月28日3.3數據模型的基本概念現實世界DBMS信息模型數據模型現實世界的抽象化現實世界的數據表示轉換模式DBMS表達數據模型第十八頁,共九十三頁,2022年,8月28日實體與聯系1.實體“實體”是個體(具體事物)的抽象物,“實體集合”是同類事物的集合。并對實體集合命名,以標識一個實體。如:“教學管理”中有實體: 學生 教師 課程 系科 職稱 專業 工資 第十九頁,共九十三頁,2022年,8月28日實體與聯系2.聯系與聯系的類型聯系的意義:聯系是不同實體之間的一種協調“關系”聯系可能是簡單的,也可能是很復雜的兩實體集合之間可能有聯系三實體集合之間可能有聯系一個實體集合內的實體之間可能有聯系任何復雜的聯系都可以看成是若干簡單的“基本聯系”的組合第二十頁,共九十三頁,2022年,8月28日實體與聯系聯系的意義:學生教師課程1課程1課程1課程1課程書籍教課學習使用教材參考書第二十一頁,共九十三頁,2022年,8月28日實體與聯系幾種基本聯系:“一對一”聯系(表示為1:1)“一對多”聯系(表示為1:m)“多對多”聯系(表示為n:m)第二十二頁,共九十三頁,2022年,8月28日實體與聯系“一對一”的聯系設有實體集合A和B。若A中1個實體至多與B中1個實體有聯系,反之亦然。稱之。例:一門課程只選用一本教材一個學生只有一個床位一個學校只有一位校長AB1:1第二十三頁,共九十三頁,2022年,8月28日實體與聯系“一對多”的聯系設有實體集合A和B。若A中1個實體與B中任意個實體有聯系;反之,B中1個實體只與A中1個實體有聯系;稱之。例:一對夫婦可以有任意個孩子一個系有多個專業一個省有多個縣/市AB1:m第二十四頁,共九十三頁,2022年,8月28日實體與聯系“一對多”的聯系第二十五頁,共九十三頁,2022年,8月28日實體與聯系“多對多”的聯系設有實體集合A和B。若A中1個實體與B中任意個實體有聯系;反之,B中1個實體與A中多個實體有聯系;稱之。例:一個學生選修多門課程,一門課程有多個學生選修一個工廠生產幾種產品,一種產品有幾個工廠生產ABn:m第二十六頁,共九十三頁,2022年,8月28日實體與聯系“多對多”的聯系第二十七頁,共九十三頁,2022年,8月28日實體與聯系以上3種基本聯系可以構造各種復雜聯系形式,如:第二十八頁,共九十三頁,2022年,8月28日3.3.2約束條件約束條件是保證數據庫中數據完整性的手段。完整性是指數據的正確性、合理性和相容性。三種基本的完整性約束條件:數據的數據類型定義是最初等的約束條件對于一個實體的不同屬性之間在不同實體集合之間第二十九頁,共九十三頁,2022年,8月28日數據模型的設計步驟兩個階段:概念設計:設計出信息模型(也稱為概念模型)邏輯設計:設計出數據(邏輯)模型(與DBMS相關)主要任務:識別實體及其屬性、實體間聯系、聯系方式及其派生屬性等信息運用“E-R方法”(Entity–Relation)設計畫出“E-R圖”一方面是精確地表示出信息模型的結構另一方面是根據需求分析信息細化模型第三十頁,共九十三頁,2022年,8月28日3.4信息(概念)模型的設計第三十一頁,共九十三頁,2022年,8月28日設計要點識別實體和屬性識別聯系分析聯系類型識別“處理功能”從局部到全局在概念設計時要區別基本實體和導出實體概念設計時只考慮基本實體之間的聯系這種分析必須具有一般性,不依特定實例為依據根據處理功能繪制E-R圖是概念設計的關鍵性步驟第三十二頁,共九十三頁,2022年,8月28日3.4.2E-R圖方法E-R圖是概念(信息)模型的一種表示法,故稱E-R方法概念模型又稱“實體-聯系模型”或稱“E–R模型”“E–R模型”用“E–R”圖表示第三十三頁,共九十三頁,2022年,8月28日3.4.2E-R方法E–R的圖形元素矩形框橢圓框菱形框連接線表示實體集合表示屬性表示聯系表示連接第三十四頁,共九十三頁,2022年,8月28日3.4.2E-R方法1.實體集合與屬性的圖示實體名屬性名1屬性名2屬性名n…用矩形圖表示實體集合,實體集合名置于矩形屬性名置于橢圓中每一個屬性圖都用折線與實體集合圖連接第三十五頁,共九十三頁,2022年,8月28日3.4.2E-R圖方法實體集合的表示:例如:學生學號姓名出生日期性別籍貫專業系科照片第三十六頁,共九十三頁,2022年,8月28日3.4.2E-R圖方法2.兩實體集合聯系的圖示用菱形圖元表示聯系聯系的名置于菱形中用折線連接兩個相聯系實體集合可以在菱形圖元兩端的折線上標出聯系類型第三十七頁,共九十三頁,2022年,8月28日聯系的表示實體名1屬性名11屬性名12屬性名1n…實體名2屬性名21屬性名22屬性名2n…n聯系m屬性屬性n聯系m實體名2實體名1屬性屬性第三十八頁,共九十三頁,2022年,8月28日3.4.2E-R圖方法聯系的表示:n選修m分數學生課程學生教師課程專業系科職稱工資屬在選修教授是在發教學管理的E-R模型第三十九頁,共九十三頁,2022年,8月28日3.4.2E-R圖方法3.單實體集合聯系的圖示同一個實體集合可以建立其內部實體間的聯系如教師集合中有校長、院長、系主任等領導人員第四十頁,共九十三頁,2022年,8月28日3.4.2E-R圖方法4.多實體集合聯系的圖示多個實體集合之間的聯系例如:教師、課程和學生三者之間建立聯系第四十一頁,共九十三頁,2022年,8月28日3.4.3概念設計實例教學管理系統的需求分析畫出局部E-R圖第四十二頁,共九十三頁,2022年,8月28日3.4.3概念設計實例局部E-R圖涉及的實體比較多,從這些功能著手畫出局部E-R圖第四十三頁,共九十三頁,2022年,8月28日3.4.3概念設計實例局部E-R圖第四十四頁,共九十三頁,2022年,8月28日3.4.3概念設計實例集成全局E-R圖集成的過程可以從一個最復雜的E-R圖開始,然后逐個地把其他局部E-R圖疊加上去。直至包含所有實體集合及其聯系為止忽略了所有實體集合的屬性圖形元素第四十五頁,共九十三頁,2022年,8月28日3.5關系數據模型第四十六頁,共九十三頁,2022年,8月28日關系模型1.什么是關系?2.關系的性質3.關鍵詞1簡言之,一張二維表。也稱表、關系表、數據表。屬性:字段行:元組2屬性的原子性屬性的同質性記錄的唯一性屬性次序的無關性元組次序的無關性關系的動態性關系的有限性3關鍵詞由本關系中的字段組成(一個字段或幾個字段的組合)關鍵詞的作用是標識表中記錄,以便于記錄查找和操作關系可能有4種關鍵詞第四十七頁,共九十三頁,2022年,8月28日關系模型屬性列字段關系名表名文件名元組行記錄返回1.關系的定義第四十八頁,共九十三頁,2022年,8月28日關系模型3.關鍵詞(1)超關鍵詞(SuperKey)(2)候選關鍵詞(CandidateKey)(3)主關鍵詞(PrimaryKey)(4)外關鍵詞(ForeignKey)關系中能唯一確定一個元組(或記錄)的一個或幾個屬性的組合如,學生表中,(學號,姓名) 課程表中,(課程代號,學分,學時)如果K是某關系的超關鍵詞,若從K中減少一個屬性就不能唯一確定一個元組,則K是候選關鍵詞如,學生表中,(學號)課程表中,(課程代號)從關系的所有候選關鍵詞中選定一個候選關鍵詞確定為這個關系的先行關鍵詞,稱為關鍵詞。設有關系A和B,若屬性組合K是A的主關鍵詞,但不是B的關鍵詞,則稱K是B相對于A的外關鍵詞。如有關系,學生(學號,姓名,性別,…) 成績(學號,課程號,分數)(學號)是“學生”的主關鍵詞,但不是“成績”的主關鍵詞,則稱(學號)是“成績”的外關鍵詞。第四十九頁,共九十三頁,2022年,8月28日3.5.3關系模型的特點概念簡單功能強大存儲透明數據獨立性高基礎堅實第五十頁,共九十三頁,2022年,8月28日3.6關系模型設計數據庫的邏輯數據模型設計起始于概念模型,與DBMS有關DBMS的分類:

層次模型數據庫管理系統---HDBMS

網狀模型數據庫管理系統---NDBMS

關系模型數據庫管理系統---RDBMS

第五十一頁,共九十三頁,2022年,8月28日3.6關系模型設計HDBMS概念模型層次模型NDBMS網狀模型RDBMS關系模型

設計方法:從概念模型向數據模型轉換符合信息要求符合構造規則第五十二頁,共九十三頁,2022年,8月28日從概念模型到關系模型HDBMS概念模型層次模型NDBMS網狀模型RDBMS關系模型設計方法第五十三頁,共九十三頁,2022年,8月28日從概念模型到關系模型概念模型RDBMS關系模型把“實體集合”轉換為“表”把“聯系”轉換為“表”對關系進行“規范化”設計方法第五十四頁,共九十三頁,2022年,8月28日從概念模型到關系模型設計步驟1.形式化第一步,對概念模型“符號化”第二步,定義數據類型第二步,確定實體“關鍵字”2.“模型轉行”第一步,把實體轉換成“表”第二步,把聯系轉換成“表”3.“模型優化”對表進行關系“規范化”處理4.設置約束條件設計數據“完整性約束”條件n:m1:11:n第五十五頁,共九十三頁,2022年,8月28日從概念模型到關系模型設計步驟:第一步,對概念模型“符號化”

用符號表示實體名、屬性名、聯系名如: 學生xs學號xh姓名xm性別xb…

課程代號kcdh課程名kcm…

系代號xdh系名ximing… …第五十六頁,共九十三頁,2022年,8月28日從概念模型到關系模型設計步驟:第二步,確定各字段的數據“類型”按照屬性的語義和DBMS的規定設計每個字段的數據類型。第五十七頁,共九十三頁,2022年,8月28日從概念模型到關系模型設計步驟:第三步,確定實體“關鍵字”

對每個實體確定一個關鍵字如:

學生表的關鍵字為xh

課程表的關鍵字為kcdh

系名表的關鍵字為xdh …第五十八頁,共九十三頁,2022年,8月28日從概念模型到關系模型設計步驟:第四步,把實體轉換成“表”

把概念模型中出現的每一個實體轉換成一個表如:xs(xh,xm,xb,jg,csrq,zp) js(gh,xm,xb,csrq,gzrq,jl) kc(kcdh,kcm,kss,bxk,xf) xim(xdh,ximing) zc(zcdh,zc) zy(zydh,zymc,xz) gz(gh,jbgz,gwjt,zhjt,zfbt,zfgj,ylbx,…) 第五十九頁,共九十三頁,2022年,8月28日從概念模型到關系模型設計步驟:第五步,把聯系轉換成“表” 對不同的聯系類型分別進行轉換。第六十頁,共九十三頁,2022年,8月28日從概念模型到關系模型n選修m分數學生課程對“n:m”聯系的轉換:

把聯系的兩實體的關鍵字字段和聯系的字段合并構成一個表,并確定關鍵字與外關鍵字如,Cj(xh,kcdh,cj)

主關鍵字為(xh,kcdh)

外關鍵字為(xh)和(kcdh)第六十一頁,共九十三頁,2022年,8月28日從概念模型到關系模型系科學生對“1:m”聯系的轉換:

把1端實體的關鍵字字段加入到n端實體中,并確定外關鍵字。如,xs(xh,xm,xb,jg,csrq,zp,xdh)

外關鍵字為(xdh)1是m第六十二頁,共九十三頁,2022年,8月28日從概念模型到關系模型教師工資對“1:1”聯系的轉換:

把一個實體的關鍵字字段加入到另一個實體中,并確定外關鍵字。如,gz(gh,jbgz,gwjt,zhjt,zfbt,zfgj,ylbx,grsds,qt,yfgz,sfgz)1是1第六十三頁,共九十三頁,2022年,8月28日從概念模型到關系模型設計步驟:第六步,對所轉換得到的關系模型做規范化和性能優化處理一個非形式化的的判別方法是:一個關系一個概念如:學生、課程和成績是3個不同的概念,用3個關系表示

第六十四頁,共九十三頁,2022年,8月28日從概念模型到關系模型設計步驟:第七步,設計數據“完整性約束”條件按照屬性的限制和DBMS的規定設計數據完整性約束條件。數據完整性約束條件的類別:

1.字段完整性

2.實體完整性

3.參照完整性

4.用戶自定義完整性第六十五頁,共九十三頁,2022年,8月28日從概念模型到關系模型

設計步驟:

第七步,設計數據“完整性約束”條件1.字段完整性 是對字段規定的完整性條件。有:

是否可以存儲“空值”?

取值范圍是什么?

數據格式是什么? 有無“默認值”?第六十六頁,共九十三頁,2022年,8月28日從概念模型到關系模型

1.字段完整性例子: xh,gh,kcdh,xdh,zcdh,zydh等是關鍵字,不可為空值

xh的格式應為“99999999”

xb字段只能取值“男”或“女”,默認值為“男”

cj字段的值應為“0≤cj≤100”的整數 在校學生的年齡應大于等于13歲

…等等第六十七頁,共九十三頁,2022年,8月28日從概念模型到關系模型

設計步驟:

第七步,設計數據“完整性約束”條件2.實體完整性 是對實體規定的完整性條件。有:

記錄有效性規則是什么? 對實體操作時有什么限制? 第六十八頁,共九十三頁,2022年,8月28日從概念模型到關系模型

2.實體完整性例子:

教師表:參加工作時的年齡必須在20歲以上 不可隨意刪除任何記錄

工資表:實發工資金額應為收入與支出的差 不可隨意增加記錄 課程表:不可隨意修改必修課的記錄數據

…等等第六十九頁,共九十三頁,2022年,8月28日從概念模型到關系模型

設計步驟:

第七步,設計數據“完整性約束”條件3.參照完整性 是控制兩個相關表之間一致性的完整性條件。有:

對一個表進行“插入”、“刪除”或“修改”時,是否要受另一個相關表的制約,使兩表保持一致性?第七十頁,共九十三頁,2022年,8月28日從概念模型到關系模型

3.參照完整性例子:

學生表與成績表: 在成績表中插入一個新記錄時,要求學號已在學生表中存在。 刪除學生表中一個記錄時,要求同時刪除成績表中與該記錄中學號相關的記錄。 當修改學生表中的一個學生的學號時,同時要求修改成績表中相關的學號第七十一頁,共九十三頁,2022年,8月28日3.6.2關系模型設計實例1.形式化1)定義標識符和主關鍵詞屬性標識定義如下:屬性名標識符屬性名標識符屬性名標識符屬性名標識符學號sno教師代號tno課程代號cno系科代號dno學生姓名sname教師姓名tname課程名稱ctitle系科名稱dname性別sex性別sex必修/選修Req_elec系主任dhead出生日期birday籍貫city學時數period辦公地址addr籍貫city出生日期birthday學分數credit科系代號dno工作日期jobday照片photo職稱title系代號dno第七十二頁,共九十三頁,2022年,8月28日3.6.2關系模型設計實例實體集合標識和主關鍵字定義如下:屬性名標識符主關鍵詞學生信息表students學號(sno)教師信息表teachers教師代號(tno)課程目錄表courses課程代號(cno)系科信息表dept系代號(dno)第七十三頁,共九十三頁,2022年,8月28日3.6.2關系模型設計實例聯系標識符和外關鍵字定義如下:屬性名標識符外關鍵詞隸屬is_a系代號(dno)在編be_in系代號(dno)修課grade學號(sno),課程代號(cno)授課offer教師代號(tno),課程代號(cno)第七十四頁,共九十三頁,2022年,8月28日3.6.2關系模型設計實例2.“模型轉換”1)轉換4個實體集合為關系表學生關系表:students(sno,sname,sex,birday,city,photo)教師關系表:teachers(tno,tname,sex,birday,city,jobday,title)課程關系表:courses(cno,ctitle,Req_elec,period,score)系科關系表:dept(dno,dname,dhead,daddr)第七十五頁,共九十三頁,2022年,8月28日3.6.2關系模型設計實例2.“模型轉換”1)轉換4個聯系為關系表隸屬:是1:n型聯系在編:是1:n型聯系修課:是n:m型聯系授課:是n:m型聯系得到6個表格第七十六頁,共九十三頁,2022年,8月28日3.6.2關系模型設計實例3.“模型優化”6個關系表各自表示了一個概念,不含有多余字段,所以都是規范化的表格了4.“設置約束條件”1).字段約束條件sex(性別)=“男”或“女”;16≤當年-學生birday(出生日期)≤35;20≤當年–教師birday(出生日期);title(職稱)=“教授”或“副教授”或“講師”或“助教”;credit(學分數)≤12;0≤score(分數)≤100;req_elec(必修/選修)=“必”“選”;term(學期)=大于等于1,小于等于10的正整數;第七十七頁,共九十三頁,2022年,8月28日3.6.2關系模型設計實例4.“設置約束條件”2).實體約束條件對teachers(教師表),jobday–birday≥20年;對courses(課程表),period=score×18;3).關系表間約束條件:對students(學生表),dno必須在dept中; 對teachers(教師表),dno必須在dept中; 對grade(成績表),sno必須在students中,cno必須在courses中; 對offer(開課表),tno必須在teachers中,cno必須在courses中。第七十八頁,共九十三頁,2022年,8月28日創建VFP數據庫第七十九頁,共九十三頁,2022年,8月28日在數據庫上創建數據表第八十頁,共九十三頁,2022年,8月28日3.7.3創建聯系和表間約束條件1.建立永久聯系的方法第八十一頁,共九十三頁,2022年,8月28日3.7.3創建聯系和表間約束條件臨時聯系也稱關聯,使用setrelation命令建立setrelation命令的常用格式是:setrelationtoeExpression1INTOnWordArea1|cTableAlias1eExpression1建立臨時聯系的索引關鍵字nWordArea1(工作區號)或者cTableAlias1(表的別名)說明臨時聯系是當前工作區的表到哪個表的一般是父表的主索引、子表的普通索引第八十二頁,共九十三頁,2022年,8月28日3.7.3創建聯系和表間約束條件2.建立參照完整性的約束條件參照完整性約束條件分為3個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論