第1章 數(shù)據(jù)庫的設計02_第1頁
第1章 數(shù)據(jù)庫的設計02_第2頁
第1章 數(shù)據(jù)庫的設計02_第3頁
第1章 數(shù)據(jù)庫的設計02_第4頁
第1章 數(shù)據(jù)庫的設計02_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

大外軟件學院計算機教研室

授課教師:景雨SQLServer數(shù)據(jù)庫應用

第1章數(shù)據(jù)庫的基本概念1.1數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫設計1.3數(shù)據(jù)庫應用系統(tǒng)1.4SQLServer2005環(huán)境1.2數(shù)據(jù)庫設計概述一、為什么要進行數(shù)據(jù)庫設計?

一個信息系統(tǒng)的各個部分能否緊密地結合在一起以及如何結合,關鍵在數(shù)據(jù)庫。因此只有對數(shù)據(jù)庫進行合理地邏輯設計和有效地物理設計才能開發(fā)出完善而高效的信息系統(tǒng)。所以數(shù)據(jù)庫設計是信息系統(tǒng)開發(fā)和建設的重要組成部分。把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來提供存儲、維護、檢索數(shù)據(jù)的功能使信息系統(tǒng)可以方便、及時、準確地從數(shù)據(jù)庫中獲得所需的信息.二、什么是數(shù)據(jù)庫設計?數(shù)據(jù)庫設計就是對于一個給定的應用環(huán)境構造最優(yōu)的數(shù)據(jù)庫模式;建立高效的數(shù)據(jù)庫以及應用系統(tǒng);能夠有效地存儲和管理數(shù)據(jù);滿足用戶的信息要求和處理要求;能夠廣泛地被數(shù)據(jù)庫管理系統(tǒng)接受;三、常見的數(shù)據(jù)庫設計方法(1)

關系模式的設計方法(2)

新奧爾良(NewOrleans)設計方法(3)

基于E-R模型的數(shù)據(jù)庫設計方法(4)

基于3NF的設計方法(5)

基于抽象語法規(guī)范的設計方法(6)

計算機輔助數(shù)據(jù)庫設計方法四、數(shù)據(jù)庫設計的基本步驟:系統(tǒng)規(guī)劃階段需求分析階段概念結構設計階段邏輯結構設計階段物理結構設計階段數(shù)據(jù)庫實施階段數(shù)據(jù)庫運行和維護階段系統(tǒng)規(guī)劃的任務:確定系統(tǒng)名稱、范圍確定系統(tǒng)開發(fā)目標功能和性能確定系統(tǒng)所需要的資源確定系統(tǒng)開發(fā)成本確定系統(tǒng)實施計劃和進度確定系統(tǒng)設計的原則和技術路線1.系統(tǒng)規(guī)劃系統(tǒng)規(guī)劃的成果:可行性分析報告數(shù)據(jù)庫應用系統(tǒng)規(guī)劃書2.需求分析一、需求分析定義與任務需求分析就是分析用戶的需要與要求需求分析是設計數(shù)據(jù)庫的起點需求分析的結果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設計,并影響到設計結果是否合理和實用。需求分析的重點是調查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。

概念結構設計是整個數(shù)據(jù)庫設計的關鍵,其主要任務是在需求分析階段產生的需求說明書的基礎上,按照特定的方法把它們抽象為一個不依賴于任何具體機器的數(shù)據(jù)模型,即概念模型。2.概念結構設計一、概念結構設計方法概念設計可以采用:自頂向下自底向上逐步擴張混合策略自底向上方法的主要步驟進行數(shù)據(jù)抽象設計局部概念結構(ER圖法)將局部概念結構合并成全局概念結構全局概念結構的優(yōu)化

E-R模型是由

P.S.Chen(美籍華人陳平山)于1967年提出的實體—聯(lián)系方法(Entity-RelationshipApproach)

E-R圖來描述現(xiàn)實世界的概念模型。E-R圖提供了表示實體、屬性和聯(lián)系的方法概念模型的E-R圖表示方法

A.實體

(Entity):表示客觀事物。

B.屬性

(Attributes)

:表示客觀事物的特征(屬性)

C.聯(lián)系

(Relations)

:客觀事物之間的聯(lián)系(1)ER模型中的三要素(三個基本語義)(2)刻劃工具:實體-聯(lián)系圖(ER圖)實體用矩形表示,矩形框內寫明實體名。

屬性

用橢圓表示,橢圓內寫明屬性名,用無向邊將屬性與實體連起來。聯(lián)系用菱形表示,菱形框內寫明聯(lián)系名,用無向邊與有關實體連接起來,同時在無向邊上注明聯(lián)系類型(1:1、1:n或m:n)。注意:聯(lián)系也可以有屬性,如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來。課程選修學生mn成績

A、一對一聯(lián)系

B、一對多聯(lián)系

C、多對多聯(lián)系(3)聯(lián)系的類型兩個不同實體之間的聯(lián)系有三種類型:兩個實體集之間的聯(lián)系(續(xù))

一對一聯(lián)系(1:1)

實例一個班級只有一個正班長一個班長只在一個班中任職定義:如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1

一對一聯(lián)系(1:1)舉例觀眾與座位

國家與首都

病人與病床

學校與校長燈泡與燈座例如:兩個實體集之間的聯(lián)系(續(xù))一對多聯(lián)系(1:n)實例一個班級中有若干名學生,每個學生只在一個班級中學習定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1:n一對多聯(lián)系(1:n)舉例城市與街道

宿舍與學生

父親與子女學院與教師例如:兩個實體集之間的聯(lián)系(續(xù))多對多聯(lián)系(m:n)實例課程與學生之間的聯(lián)系:一門課程同時有若干個學生選修一個學生可以同時選修多門課程定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系,記為m:n多對多聯(lián)系(m:n)舉例學生與課程

工廠與產品商店與顧客影片與觀眾例如:(3)如何建立實體-聯(lián)系模型ER圖建立E-R圖的過程如下:

(a)確定實體類型

(b)確定聯(lián)系類型

(c)把實體類型和聯(lián)系類型組合成E-R圖

(d)確定實體類型和聯(lián)系類型的屬性。

(e)確定實體類型的關鍵碼,在屬性名下劃一橫線。

三、采用E-R方法的數(shù)據(jù)庫概念設計的步驟:

A、設計局部E-R模型

B、設計全局E-R模型

C、優(yōu)化全局E-R模型B、設計全局概念模型設計全局概念模型分兩步實現(xiàn):1)合并將局部概念模型整理合并成全局概念模型2)解決沖突解決各種局部E-R圖之間的沖突問題,生成初步E-R圖。

②消除沖突屬性沖突,如屬性值的類型、取值范圍及取值單位,生日和年齡,cm和m,學生編號的方式;(b)結構沖突,如在某局部ER圖中課程是屬性,而在另一局部ER圖中課程是實體;(c)命名(實體、屬性、聯(lián)系)沖突,

同名異義:教室和宿舍均稱為房間;

異名同義:如教材和課本;C、全局E-R模型的優(yōu)化一個好的全局E-R模型除能準確、全面地反映用戶功能外,還應滿足下列條件:

①實體類型的個數(shù)盡可能少;②實體類型所含屬性的個數(shù)盡可能少;③實體類型間聯(lián)系冗余最?。粌?yōu)化目的和任務:消除不必要的冗余,使其保持最小冗余度。全局ER模型的優(yōu)化原則:1)實體類型的合并,如系主任和系2)冗余屬性的消除,如生日和年齡3)冗余聯(lián)系的消除系系主任擔任11系系名辦公地點聯(lián)系電話系主任名實體類型的合并概念設計---練習1商店與商品之間存在“銷售”關系,每個商店可銷售多種商品,每種商品也可放多個商店銷售,每個商店每銷售一種商品,有月銷售量;商店與職工之間存在著“聘用”關系,每個商店有許多職工,每個職工只能在一個商店工作,商店聘用職工有聘用期和工資。商店的屬性有商店編號、商店名、地址等;商品的屬性有商品名、商品號、規(guī)格、單價等;職工的屬性有職工編號、姓名、性別、業(yè)績等。根據(jù)需求畫出E-R圖。在E-R圖中需注明實體的屬性、聯(lián)系的類型以及實體的碼。概念設計---練習2用E-R圖表示某個工廠物資管理的概念模型物資管理涉及的實體及其屬性:倉庫:倉庫號、面積、電話號碼零件:零件號、名稱、規(guī)格、單價、描述供應商:供應商號、姓名、地址、電話號碼、帳號項目:項目號、預算、開工日期職工:職工號、姓名、年齡、職稱概念設計---練習2實體之間的聯(lián)系如下:

(1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。倉庫和零件具有多對多的聯(lián)系。用庫存量來表示某種零件在某個倉庫中的數(shù)量。(2)一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作,倉庫和職工之間是一對多的聯(lián)系。職工實體型中具有一對多的聯(lián)系(3)職工之間具有領導-被領導關系。即倉庫主任領導若干保管員。(4)供應商、項目和零件三者之間具有多對多的聯(lián)系概念設計---練習2由于DBMS一般采用關系數(shù)據(jù)模型,因此數(shù)據(jù)庫的邏輯結構設計,就是將概念結構設計中所得到的E-R圖轉換成等價的關系模式。概念結構設計是對客觀世界的描述,與實現(xiàn)無關;而邏輯結構設計依賴于實現(xiàn)的基礎DBMS。1.2.2邏輯結構設計的步驟邏輯結構設計的過程1.2.2E-R圖向關系模型的轉換原則問題一:轉換的原則是什么?問題二:關系模式是隨便轉化的么?問題三:如何把轉換后的關系模式變得優(yōu)化?問題一:轉換的原則是什么?關系數(shù)據(jù)庫的邏輯結構由一組關系模式組成,因而,從概念結構到關系數(shù)據(jù)庫邏輯結構的轉換就是從E-R圖轉換為關系模式。具體轉換方法是:〔原則1〕:一個實體類型轉換為一個關系模式,實體的屬性就是關系的屬性,實體的碼就是關系的碼。課程課程號學分課程名學生

學號

年齡姓名

性別例:將學生實體和課程實體分別轉換成兩個關系模式。學生關系模式(學號,姓名,性別,年齡)課程關系模式(課程號,課程名稱,學分)〔原則2〕m:n的聯(lián)系一個m:n聯(lián)系轉換為一個獨立的關系模式,與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉為新關系的屬性,而新關系的碼是各實體碼的組合。m:n轉換示例教師表(教師號,教師名,職稱)課程表(課程號,課程名,學分)授課表(教師號,課程號,授課時數(shù))nm課程教師授課教師名教師號課程號課程名學分職稱授課時數(shù)〔原則3〕1:n的聯(lián)系一個1:n聯(lián)系可以轉換為一個獨立的關系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為新關系的屬性,而新關系的碼為n端實體的碼。也可以與n端對應的關系模式合并。只需要將聯(lián)系本身的屬性和1端實體的鍵加入到n端對應的關系模式中。1:n轉換示例與n端合并:部門表(部門號,部門名)職工表(職工號,部門號,職工名,工資)

或者:產生獨立的關系模式:部門表(部門號,部門名)職工表(職工號,職工名,工資)工作表(職工號,部門號)n1職工部門工作部門名部門號職工號職工名工資一個1:1聯(lián)系可以轉換為一個獨立的關系模式,則與該聯(lián)系相連的實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,每個實體的碼均是該關系的候選碼,也可以與任意一端對應的關系模式合并。則需要在該關系模式的屬性中加入另一關系模式的碼和聯(lián)系本身的屬性?!苍瓌t4〕1:1的聯(lián)系1:1轉換示例部門表(部門號,部門名,經理號)經理表(經理號,經理名,電話)或者:部門表(部門號,部門名)經理表(經理號,部門號,經理名,電話)11經理部門管理部門名部門號經理號經理名電話〔原則5〕三個或三個以上實體間的一個多元聯(lián)系轉換為一個關系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性。而關系的碼為各實體碼的組合?!苍瓌t6〕同一實體集的實體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理。〔原則7〕具有相同碼的關系模式可合并?!苍瓌t5〕三個或三個以上實體間的一個多元聯(lián)系轉換為一個關系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性。而關系的碼為各實體碼的組合?!苍瓌t6〕同一實體集的實體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理?!苍瓌t7〕具有相同碼的關系模式可合并。例如:

每個工廠生產多種產品,且每種產品可以在多個工廠中生產,每個工廠按照固定的計劃數(shù)量生產產品;每個工廠聘用多名職工,且每個職工只能在一個工廠工作,工廠聘用職工有聘用期和工資。

工廠的屬性有工廠編號、廠名、地址,產品的屬性有產品編號、產品名、規(guī)格,職工的屬性有職工號、姓名。(1)根據(jù)需求畫出E-R圖,并在E-R圖中注明實體的屬性、聯(lián)系的類型以及實體標識符。(2)將E-R圖轉換成關系模式,并用下畫線標出每個關系模式的主碼。(1

溫馨提示

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

評論

0/150

提交評論