MYSQL基礎(chǔ)教程1課件_第1頁
MYSQL基礎(chǔ)教程1課件_第2頁
MYSQL基礎(chǔ)教程1課件_第3頁
MYSQL基礎(chǔ)教程1課件_第4頁
MYSQL基礎(chǔ)教程1課件_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、數(shù)據(jù)庫設(shè)計第二學期第1頁,共33頁。ACCP第一學期SQL知識回顧數(shù)據(jù)庫基本概念SQL查詢語言基本知識SQL Server2000的使用2第2頁,共33頁。ACCP第二學期SQL 課程目標理解數(shù)據(jù)庫設(shè)計過程T-SQL編程理解事務的概念視圖存儲過程觸發(fā)器游標SQL 安全模型3第3頁,共33頁。第一章數(shù)據(jù)庫設(shè)計第4頁,共33頁。目標理解與數(shù)據(jù)庫設(shè)計有關(guān)的概念,如數(shù)據(jù)庫建模實體關(guān)系模型理解用于設(shè)計數(shù)據(jù)庫的 E-R 圖及其實現(xiàn)理解數(shù)據(jù)規(guī)范化數(shù)據(jù)完整性了解數(shù)據(jù)字典、數(shù)據(jù)完整性和數(shù)據(jù)庫服務器設(shè)計5第5頁,共33頁。數(shù)據(jù)庫設(shè)計和建模必要性好的數(shù)據(jù)庫結(jié)構(gòu)有利于:節(jié)省數(shù)據(jù)的存儲空間能夠保證數(shù)據(jù)的完整性方便進行數(shù)

2、據(jù)庫應用系統(tǒng)的開發(fā)設(shè)計不好的數(shù)據(jù)庫結(jié)構(gòu)將導致數(shù)據(jù)冗余、存儲空間浪費內(nèi)存空間浪費6第6頁,共33頁。設(shè)計數(shù)據(jù)庫 不管數(shù)據(jù)庫的大小和復雜程度如何,可以用下列基本步驟來設(shè)計數(shù)據(jù)庫:收集信息標識對象設(shè)計數(shù)據(jù)模型標識每個對象的信息類型標識對象之間的關(guān)系7第7頁,共33頁。數(shù)據(jù)建模的概念 將現(xiàn)實世界的數(shù)據(jù)轉(zhuǎn)換成信息世界的數(shù)據(jù) 的過程稱為建模8第8頁,共33頁。數(shù)據(jù)建模步驟商業(yè)信息需求可操作的數(shù)據(jù)庫外模式概念模式內(nèi)模式商業(yè)視圖系統(tǒng)視圖9第9頁,共33頁。建立外模式外模式是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖是與某一應用有關(guān)的數(shù)據(jù)的邏輯表現(xiàn)不依賴于 數(shù)據(jù)庫的邏輯結(jié)構(gòu),

3、外模式是與用戶有關(guān)的數(shù)據(jù)模型10第10頁,共33頁。建立概念模型1-2概念模式是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。概念模式是整個組織的數(shù)據(jù)視圖,表示數(shù)據(jù)庫中的全部數(shù)據(jù)內(nèi)容,因此一個數(shù)據(jù)庫只有一個概念模式。11第11頁,共33頁。建立概念模型2-2概念模式由若干個概念記錄類型組成,它不僅要描述概念記錄類型,還要描述記錄之間的聯(lián)系、所允許的操作、數(shù)據(jù)的完整性、安全性和其它數(shù)據(jù)控制方面的要求。概念模型不涉及到存儲結(jié)構(gòu)、訪問技術(shù)等細節(jié)。設(shè)計概念模型的方法有多種,例如實體關(guān)系模型、對象模型等。12第12頁,共33頁。建立內(nèi)模型內(nèi)模式是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在

4、數(shù)據(jù)庫內(nèi)部的表示方法。 一個數(shù)據(jù)庫只有一個內(nèi)模式。 內(nèi)模式定義了所有內(nèi)部記錄類型、索引和文件的組織形式,以及數(shù)據(jù)控制方面的細節(jié)。13第13頁,共33頁。使用DBMS設(shè)計數(shù)據(jù)庫體系結(jié)構(gòu)14第14頁,共33頁。概念模型設(shè)計實體關(guān)系模型實體關(guān)系模型:DB 設(shè)計過程,并且表示 DB 的整個邏輯結(jié)構(gòu) 實體:實體可以是具體的(例如一個人或一本書),也可以是抽象的(如一個節(jié)日或一個概念)屬性:實體是由一組屬性來表示的。例如:Person(個人)實體的屬性有 Name(名稱)、SSN、Age(年齡)、Street(街道)、City(城市)關(guān)系:關(guān)系是兩個或多個實體之間的聯(lián)系15第15頁,共33頁。關(guān)系的類型X

5、 X X X Y Y Y Y 一對一X X X X Y Y Y Y 一對多X X X X Y Y Y 多對一X X X X Y Y Y Y 多對多16第16頁,共33頁。E-R 圖的符號符號含義實體類型弱實體類型關(guān)系類型屬性鍵屬性多值屬性復合屬性派生屬性17第17頁,共33頁。E-R 圖1-2StreetCustomerCust_NameCityDateAcct_TypeAcct_NumberAccountCustAcctDepositorStreetCustomerCust_NameCityDateCustAcctDepositorAcct_TypeAcct_NumberAccount一對多

6、一對一18第18頁,共33頁。E-R 圖2-2StreetCustomerCust_NameCityDateCustAcctDepositorAcct_TypeAcct_NumberAccountAccountAcct_numberAcct_Type LogTransactionDateAmountTrans_Number多對多有弱實體集的 E-R 圖19第19頁,共33頁。什么是規(guī)范化 我們的任務是研究模式設(shè)計,研究設(shè)計一個“好”的(沒有“毛病”的)關(guān)系模式的辦法。 數(shù)據(jù)依賴是通過一個關(guān)系中屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)間的相互關(guān)系。20第20頁,共33頁。三級范式1-3第一范式的定義:

7、如果一個表中沒有重復組(即行與列的交叉點上只有一個值,而不是一組值),且定義了關(guān)鍵字、所有非關(guān)鍵屬性都依賴于關(guān)鍵字,則這個表屬于第一范式(常記成1NF)。 例如,圖1中的表屬于1NF,它的關(guān)鍵字是。21第21頁,共33頁。三級范式2-3第二范式的定義: 如果一個表屬于1NF,且不包含部分依賴性,既沒有任何屬性只依賴于關(guān)鍵字的一部分,則這個表屬于第二范式(常記成2NF )。 將1NF轉(zhuǎn)換成2NF的方法是分解。22第22頁,共33頁。三級范式3-3第三范式的定義: 如果一個表屬于2NF,且不包含傳遞依賴性,則這個表是第三范式(常記成3NF)。 滿足3NF的表中不包含傳遞依賴,即沒有一個非關(guān)鍵屬性依

8、賴于另一個非關(guān)鍵屬性,或者說沒有一個非關(guān)鍵屬性決定另一個非關(guān)鍵屬性。23第23頁,共33頁。規(guī)范化實例1-5假設(shè)某建筑公司要設(shè)計一個數(shù)據(jù)庫。公司的業(yè)務規(guī)則概括說明如下:公司承擔多個工程項目,每一項工程有:工程號、工程名稱、施工人員等;公司有多名職工,每一名職工有:職工號、姓名、性別、職務(工程師、技術(shù)員)等;公司按照工時和小時工資率支付工資,小時工資率由職工的職務決定(例如,技術(shù)員的小時工資率與工程師不同)。公司定期制定一個工資報表,如圖-1所示。24第24頁,共33頁。規(guī)范化實例2-5工程號工程名稱職工號姓名職務小時工資率工時實發(fā)工資A1花園大廈1001齊光明工程師6513845.00100

9、2李思岐技術(shù)員6016960.001004葛宇宏律師60191140.00小計2945.00A2立交橋1001齊光明工程師6515975.001003鞠明亮工人5517935.00小計1910.00A3臨江飯店1002李思岐技術(shù)員60181080.001004葛宇洪技術(shù)員6014840.00小計1920.00圖-1 某公司的工資表25第25頁,共33頁。規(guī)范化實例3-5工程號工程名稱職工號姓名職務小時工資率工時A1花園大廈1001齊光明工程師6513A1花園大廈1002李思岐技術(shù)員6016A1花園大廈1004葛宇宏律師6019A2立交橋1001齊光明工程師6513A2立交橋1003鞠明亮工人5

10、517A3臨江飯店1002李思岐技術(shù)員6018A3臨江飯店1004葛宇洪技術(shù)員6014圖-226第26頁,共33頁。規(guī)范化實例4-51表中包含大量的冗余,可能會導致數(shù)據(jù)異常: a.更新異常 例如,修改職工號=1001的職務,則必須修改所有職工號=1001的行。 b. 添加異常 若要增加一個新的職工時,首先必須給這名職工分配一個工程?;蛘邽榱颂砑右幻侣毠さ臄?shù)據(jù),先給這名職工分配一個虛擬的工程。(因為主關(guān)鍵字不能為空) c. 刪除異常 例如,1001號職工要辭職,則必須刪除所有職工號1001的數(shù)據(jù)行。這樣的刪除操作,很可能丟失了其它有用的數(shù)據(jù)。27第27頁,共33頁。規(guī)范化實例5-52采用這種方

11、法設(shè)計表的結(jié)構(gòu),雖然很容易產(chǎn)生工資報表,但是每當一名職工分配一個工程時,都要重復輸入大量的數(shù)據(jù)。這種重復的輸入操作,很可能導致數(shù)據(jù)的不一致性。28第28頁,共33頁。用函數(shù)依賴圖表示所有屬性之間存在的函數(shù)依賴關(guān)系,如圖3所示。 1. 圖上方的箭頭表示關(guān)鍵屬性決定非關(guān)鍵屬性。 2. 圖下方的箭頭表示屬性之間的函數(shù)依賴性。 函數(shù)依賴圖工程號工程名稱職工號姓名職務小時工資率工時圖-3函數(shù)依賴圖29第29頁,共33頁。再看這三個表的函數(shù)依賴圖工程號工程名稱職工號姓名職務小時工資率工程號職工號工時圖-4 三個表的函數(shù)依賴圖30第30頁,共33頁。畫出四個表的函數(shù)依賴圖 從函數(shù)依賴圖可見,已經(jīng)消除職工表中的傳遞依賴,這四個表都屬于第三范式。 在絕大多數(shù)情況下,一個數(shù)據(jù)庫的所有表都滿足3NF,就基本達到數(shù)據(jù)庫設(shè)計的目標。工程號工程名稱職工號姓名職務職務小時工資率工程號職工號工時31第31頁,共33頁。數(shù)

溫馨提示

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

評論

0/150

提交評論