




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章數據庫理論基礎本節要點數據庫理論基礎數據庫系統構成數據庫設計理論概念模型設計關系模型什么是數據庫?數據庫(DataBase,DB)
是長期保存在計算機內的、有組織、可共享的數據集合。數據庫中的數據按一定的數據模型描述、組織和儲存,具有很小的冗余度、較高的數據獨立性和易擴展性,并可供多用戶共享。數據庫管理系統數據庫管理系統(DataBaseManagementSystem,DBMS)是為數據庫建立、使用和維護而配置的軟件系統。它是數據庫系統的核心組成部分,數據庫的一切操作,如查詢、更新、插入、刪除以及各種控制,都是通過DBMS進行的。數據庫系統數據庫系統(DataBaseSystem,DBS)是由數據庫、數據庫管理系統、應用程序、數據庫管理員、用戶等構成的人-機系統。數據、硬件、軟件、用戶注意:數據庫系統并不單指數據庫和數據庫管理系統,而是指帶有數據庫的整個計算機系統。DBMS數據庫應用程序操作系統數據庫管理員DBA用戶……數據庫系統的組成抽象轉換現實世界機器世界信息世界實體屬性數據庫設計數據庫設計過程E-R模型的基本概念實體(entity):客觀存在,可以相互區別的事物稱為實體。屬性(attribute):實體有很多特性,每一個特性稱為屬性。每一個屬性有一個值域,其類型可以是整數型、實數型、字符串型等。碼(Key):唯一標識實體的屬性集稱為碼。例如,學號是學生實體的碼。域(Domain):屬性的取值范圍稱為該屬性的域。實體型(EntityType):用實體名及其屬性名集合來抽象和刻畫的同類實體,稱為實體型。E-R模型的基本概念實體集(entityset):性質相同的同類實體的集合,稱實體集。聯系(relationship)是實體之間的相互關系。數據模型:能表示實體類型及實體間聯系的模型稱為“數據模型”。E-R圖的基本組成部分
E/R圖有四個主要部分:實體集,用矩形表示。屬性,用橢圓形表示。聯系,用菱形或三角形表示。直線,表示聯系的類型及實體與實體之間的聯系;多端用無箭頭的直線,一端用有箭頭的直線。數據聯系聯系(relationship)是實體之間的相互關系。二元聯系有以下三種類型:一對一聯系:如果實體集E1中每個實體至多和實體集E2中的一個實體有聯系,反之亦然,那么實體集E1和E2的聯系稱為“一對一聯系”,記為“1:1”。一對多聯系:如果實體集E1中每個實體可以與實體集E2中任意個(零個或多個)實體間有聯系,而E2中每個實體至多和E1中一個實體有聯系,那么稱E1對E2的聯系是“一對多聯系”,記為“1:N”。多對多聯系:如果實體集E1中每個實體可以與實體集E2中任意個(零個或多個)實體有聯系,反之亦然,那么稱E1和E2的聯系是“多對多聯系”,記為“M:N”。
實體1實體2聯系實體1實體2聯系實體1實體2聯系1﹕1聯系1﹕n聯系m﹕n聯系三種聯系的E-R圖三種聯系的E-R圖E-R圖實例例1:請設計一個數據庫。要求包括學生(student)、課程(course)和教師(teacher)的信息。
上述實體中存在如下聯系:一個學生可以選修多門課,而每門課也能由多個學生選修;一位教師可以教多門課,每門課也可以由多個教師講授;用E-R圖來描述此數據庫。學生信息:學號(sNo)、姓名(sname)、年齡(age)、地址(saddress);課程信息:課程號(cNo)、課程名(cname)、課程學分(credit);教師信息:教師的工號(tNo)、姓名(tname)、教師的地址(taddress)studentcourseteachertaketeachcreditscnamecNosaddressagesnamesNotaddresstnametNoscore注意:如果一個聯系具有屬性,則這些屬性也要用無向邊與該聯系連接起來。學生-課程-教師E-R圖條碼白酒容量度數編號銷售商聯系人地址電話名稱銷售數量單價白酒-銷售商E-R圖例2:實體:白酒、銷售商。兩者間的聯系如下:一個銷售商可以銷售多種白酒,每種白酒可由多個銷售商銷售;用E-R圖來描述此數據庫。概念模式設計方法二(UML)UML(UnifiedModelingLanguage,UML)是一種面向對象的、通用的建模語言。UML方法中用UML類圖(對象模型)表示概念模型。UML類圖主要描述系統的靜態結構,包括類和類間的聯系。UML對象模型實質上是一種擴展的E-R模型。與E-R模型相比,UML模型具有更強的表達能力。UML類圖與E-R圖中的術語E-R圖中術語UML圖中術語實體集(EntitySet)類(Class)實體(Entity)對象(Object)聯系(Relationship)關聯(Association)聯系元組(Tuple)關聯元組實體的基數(Cardinality)重復度(Multiplicity)UML類圖與E-R圖有許多類似之處,但是所用的術語和符號有所不同。數據模型數據模型,即邏輯數據模型。一個數據庫的數據模型由數據結構、數據操作和數據的約束條件三個部分組成,即數據模型的三要素。數據庫技術的發展是根據數據模型的發展來劃分的。根據所采用的數據模型不同,數據庫技術的可分為三代:第一代:采用層次模型、網狀模型的數據庫系統;第二代:采用關系模型的關系數據庫系統;第三代:以面向對象模型為主要特征的數據庫系統。層次模型:有且只有一個根結點;除了根結點,其它結點有且只有一個父結點。典型產品:1969年IBM公司的IMS系統網狀模型:允許結點有多于一個的父結點;可以有一個以上的結點沒有父結點。典型產品:CODASYL系統關系模型:用二維表格結構來表示實體和實體間聯系的數據模型。典型產品:AccessVisualFoxproSQLServerORACLEconferenceondatasystemlanguage對象模型:對象是現實世界中實體的模型化。將屬性集和方法集相同的所有對象組合在一起,構成了一個類。典型產品:ONTOSDB關系模型實例
一個關系的邏輯結構是一張二維表。它由行和列組成。關系模式是對關系的描述。
關系模式表示為:關系名(屬性1,屬性2,……屬性n)關系關系名關系模型的結構-
三要素之一元組:表中的一行即為一個元組或記錄;字段:表中的一列,列值稱為字段值,列名稱為字段名值域:字段值的取值范圍元組(記錄)屬性(字段)主鍵:能唯一標識一個元組的屬性集合。外鍵:若屬性組F不是關系R1的主鍵,但它是關系R2的主鍵,則F稱是關系R1的外鍵。主鍵主鍵外鍵關系的特性:每一列是不可再分的(原子性);每一列的取值范圍必須相同;任意兩個元組不能相同;列的順序可交換,不影響關系意義的表達;行的順序可交換,不影響關系意義的表達;不同的列取值范圍可以相同,但必須有唯一的屬性名。
操作對象是關系,操作結果也是關系。主要操作有:插入、刪除、查詢、更新等。描述操作的語言:標準查詢語言SQL(StructuredQueryLanguage)DDL(DataDefinitionLanguage)DML(DataManipulationLanguage)DCL(DataControlLanguage)關系模型的操作-三要素之二
關系的完整性約束:是指關系中數據與其描述的實際對象狀態保持一致的約束條件。它主要包括:實體完整性參照完整性用戶自定義完整(如:域完整性等)。關系的完整性約束-三要素之三實體完整性
也稱為行完整性。用于保證關系(表)中每一行數據惟一且不為空。
可通過建立“PRIMARY
KEY約束”(主鍵)、“惟一索引”、“UNIQUE約束”等實現。如:“學生”關系中的主鍵“學號”值不能為空,且具有唯一性。參照完整性也稱引用完成性,用于限制一個關系中某屬性(外鍵)取值必須是另一關系中主鍵的有效值,或者是Null。保證關系(表)之間數據的一致性。可通過創建“FOREIGN
KEY”(外鍵)實施參照完整性約束。
如:“學生”關系中的“專業號”是外鍵,其取值必須為“專業”關系中主鍵“專業號”的某個值,或者為空。用戶自定義完整性是用戶根據業務要求自定義的規則或格式約束。其中最主要的是域完整性。
域完整性:指列的完整性。它規定了屬性的取值必須是域中的值。如:規定學生『生日』只能取1980年1月1日至今的日期型數據;『性別』的取值只能是“男”、“女”之一。規定『學號』的取值是6位數字字符。
用戶自定義完整性約束可通過“CHECK約束”、“RULE規則”、“觸發器”等實現。E-R(UML)模型到關系模式的轉換1)實體(類)到關系模式的轉換2)聯系(關聯)到關系模式的轉換1)實體到關系模式的轉換
規則:將實體的名稱作為表的名稱,將實體的屬性作為表的列,并用下劃線標識出主屬性。student(snum,sname,sex,age),其中snum為主鍵。course(cnum,cname,credits),其中cnum為主鍵。2)聯系到關系模式的轉換1:1若實體間聯系是1:1,可以在兩個實體轉換成的兩個關系模式后,選擇在其中任意一個關系模式的屬性集中加入另一個關系模式的主鍵和聯系自身的屬性。1:1聯系不單獨轉換為一個獨立的關系。2)聯系到關系模式的轉換1:N若實體間聯系是1:N,則在N端實體轉換成的關系模式中加入1端實體的主鍵和聯系的屬性。同樣1:N聯系也不獨立構成一個關系。Teacher<<PK>>teacherIdteacherNamesexDepartment<<PK>>DepartmentIddeptNamelocation工作二元關系2)聯系到關系模式的轉換M:N若實體間聯系是M:N,則將聯系轉換成一個關系模式,其屬性為兩端實體的主鍵加上聯系自身的屬性,而聯系關系的主鍵為一復合鍵,通常是兩端實體主鍵的組合。對于“學生選課”E/R圖的課程和學生之間的多對多的聯系,可轉換成關系模式:
take(snum,cnum,grade)主鍵為復合鍵{snum,cnum}。例:關系的規范化學生選課表SnumSnameSdeptMnameCnamegrade991230賀小華計算機周至光數據庫96991239金謙計算機周至光操作系統90991239金謙計算機周至光編譯原理92993851陳剛建筑王勇建筑原理89992076呂宋自動化李霞自動化設計85992076呂宋自動化李霞電路原理82
數據冗余修改異常插入異常刪除異常問題?更新異常:刪除學號為991250的學生的選課記錄,丟掉了該生選修“市場營銷學”的事實,還失去了“市場營銷學”的學分是2的事實。插入異常:若有一門“法律”課,學分為3,尚無學生選修時,將不能輸入。學號課程學分991201人工智能3991225中國近代史綱要2991250市場營銷學2991275人工智能3991290中國近代史綱要2消除異常的方法:模式分解
若將以上的學生關系分解成“學生-選課”、“課程-學分”關系,更新異常、插入異常就都可消除了,對關系進行分解的過程就是規范化過程。學生選課關系課程學分關系學號課程991201人工智能991225中國近代史綱要991250市場營銷學991275人工智能991290中國近代史綱要課程學分人工智能3中國近代史綱要2市場營銷學2屬性間的三種聯系
函數依賴:如果給定一個屬性的值,就可以獲得另一個屬性的值。例如,若已知“課程名”的值,便可知道“授課學時”。“授課學時”依賴于“課程名”,或“課程名”決定“授課學時”。記作“課程名→授課學時”。
課程號課程名授課學時授課學期J001數據庫726J003C++程序設計542Z004操作系統725Z006編譯原理726X001數值分析543X002計算機組成原理364部分依賴:
下表的主鍵是屬性集合{學號,課程號}。但“學分”只由“課程號”決定,與“學號”無關,也就是“學分”屬性只由主鍵{學號,課程號}的一部分而不是全部來決定,把這種依賴稱為部分依賴。記作“{學號,課程號}→學分”。p學號姓名課程號課程名學分010101李燦J001數據庫4010101李燦J004操作系統4010101李燦X001數值分析3010201張鍵J001數據庫4020301劉名F009德語6010201張鍵F009德語6傳遞依賴:
下表的主鍵是“學號”,學生住宿的樓號依賴于學號。但是,學生應交的住宿費是由樓號決定的,也就是說,“收費”依賴于“樓號”,這是一種新的依賴關系:“樓號”依賴于“學號”,而“收費”又依賴于“樓號”。一般把這種依賴關系稱為“傳遞依賴”。記作“學號→收費”。t學好樓號收費01010125000102014600010103250001050188000101082500住宿關系規范化
所謂范式就是符合某一規范級別的關系模式的集合。共有六種范式:
1NF
2NF
3NF
BCNF
4NF
5NF
規范化:通過分解把屬于低級范式的關系模式轉換為幾個屬于高級范式的關系模式的集合,這一過程稱為規范化(Normalization)。1)第一范式(1NF)
定義:如果一個關系模式R的所有屬性都是不可分的基本數據項,則關系R屬于第一范式。字段不可分注意:集合、數組和結構都不能為第一范式關系中屬性的類型。符合第一范式的關系可能有插入、刪除異常。例如:在關系“選課”中,存在著部分依賴:
{學號,課程號}→學分將導致插入、刪除異常。p2)第二范式(
2NF
)
定義:若關系模式R屬于第一范式,且每個非主屬性都完全函數依賴于主鍵,則R屬于第二范式。有主鍵
注意:單個屬性作為主鍵的關系自動就是第二范式。第二范式中的關系存在更新異常.
例如:住宿關系(學號、樓號、收費),雖然學號是單屬性主鍵,屬于第二范式,而樓號、收費都由學號決定,存在傳遞依賴關系:“學號→收費”將導致更新異常。t3)第三范式(3NF)定義:如果一個關系R是第二范式的,并且每個非主屬性都不傳遞依賴于主鍵,則R屬于第三范式。非主鍵不能依賴例如:學生住宿關系可以分解為兩個關系:學生-樓號關系(學號,樓號)和樓號-收費關系(樓號,收費)。這兩個關系屬于第三范式。
樓號成收費250046008800學好樓號010101201020140101032
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年張家界市廣播電視臺(融媒體中心)人員招聘筆試備考題庫及參考答案詳解
- 班級共區衛生管理制度
- 生產企業物料管理制度
- 生產生活垃圾管理制度
- 生產調度組織管理制度
- 公安八一活動策劃方案
- 上班門衛管理制度
- 不當信息管理制度
- 專業采購管理制度
- 專家小組管理制度
- 物業工程交接管理方案
- 會議系統大會議室報價清單
- 普通建筑用石料凝灰巖礦開采項目開采方案與采礦工藝簡介
- 國開期末考試《建筑制圖基礎》機考試題及答案(第D-4套)
- 2022-2023學年部編版高中語文必修上冊第1-2課(群文閱讀)課件27張
- 崗位風險點辨識表
- 把信送給加西亞(英文版)
- 超星爾雅學習通《森林資源經營管理》章節測試含答案
- 大學學生代表大會流程課件
- 尾礦庫堆壩模型試驗
- 福建省普通公路建設項目施工單位管理標準化指南(共119頁)
評論
0/150
提交評論