




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《數據庫原理及應用》?精品課件合集目錄數據建模需求分析概念結構設計邏輯結構設計物理結構設計第九講數據庫設計數據建模概念一級抽象二級抽象實體概念模型關系模型學生課程學習mn現實世界信息世界計算機世界把現實世界中的對象(實體)特征抽象出來,使用計算機進行描述,這個過程稱為數據建模,需要對三個世界(現實世界、信息世界、計算機世界)進行兩次抽象。1.現實世界的個體:個體是一個實際存在的且可以被識別的事物。
可以是可接觸的具體事物,如學生;
也可以是不可接觸的抽象概念,如課程;
個體之間往往存在一定的關聯關系。學生課程數據建模概念2.信息世界的概念模型實體(Entity):即現實世界的個體,在信息世界一般面對的是個體的集合,稱為實體集。屬性:實體集共有的某一特征。聯系(Relationship):實體集內部以及實體集之間的相互關系。數據建模概念3.機器世界中的關系模型關系模式:是由概念模型轉換得到的邏輯模型。關系表:是由關系模式+數據的定義+完整性約束,即物理模型。關系模式:學生(學號,姓名,專業名,性別,出生日期,總學分,備注)課程(課程號,課程名,開課學期,學時,學分)成績(學號,課程號,成績)數據建模過程數據設計概述數據庫設計是指對于一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求。共分四步。第1步需要分析需求分析說明書第2步概念結構設計概念模型:E-R圖第3步邏輯結構設計邏輯模型:關系模式第4步物理結構設計物理模型:建表語句需求分析需求分析的目標和任務:對某數據庫系統的整個應用情況作全面的詳細調查,確定企業組織的目標,收集支持系統總的設計目標的基礎數據和對這些數據的要求,確定用戶的需求,并把這些要求寫成用戶和數據庫設計者都能接受的文檔——需求分析說明書。需求分析方法:對數據庫的需求分析往往是嵌套在對數據庫系統功能的需求分析中,但也可以把對數據庫的需求分析從中抽取出來,單獨進行分析與設計。需求分析(1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中;
倉庫有倉庫號、倉庫類型和面積,零件有零件號、名稱、
規格、單價、描述等屬性。(2)一個職工只能在一個倉庫工作,一個倉庫有多個職工當保管員;
職工有職工號、姓名、性別、職務、出生年月屬性。(3)職工之間有領導與被領導關系,倉庫主任領導若干保管員;(4)一個供應商可以供應若干項目多種零件;而一個項目可以使用不同供應商供應的多種零件;一種零件可由不同供應商供給多個工程項目。供應商有供應商號、姓名、住址、電話、帳號,項目有項目號、預算、開工日期等屬性。例:以下是從某數據庫系統需要說明書中抽取出來與數據庫設計相關的語義,根據語義完成概念結構設計。所謂模型就是從特定角度對客觀事物及其聯系的一種簡化抽象和描述。概念模型信息世界中,對客觀實體及其聯系的描述,建立概念模型的工具很多,其中比較常用的是E-R模型,即實體關系模型(Entity-RelationshipModel)。概念模型1.E-R模型1976年,由美籍華裔計算機科學家陳品山(PeterChen)發明,這種數據模型典型的用在信息系統設計的第一階段。E-R模型是建立在語義基礎上的,即語義制造模型,即與時間/歷史等有關。E-R模型的基本觀點:世界是由一組稱作實體的基本對象和這些對象之間的聯系構成的。概念結構設計就是根據需求分析文檔畫出E-R圖。概念模型2.E-R圖中的符號約定實體名長方形:表示實體,內注實體名;聯系名屬性名橢圓:表示實體的屬性,內注屬性名,主碼屬性加下劃線;
無向邊:表示將實體與相關的屬性和聯系連接。菱形:表示實體間的聯系,內注聯系名,一般用為動詞;概念模型3.實體間聯系的類型一元聯系:同一實體集合內的實體間的聯系如:班長管理學生;領導管理員工;一個零件由多個零件組成。二元聯系:兩個不同實體集合的實體間聯系如:學生選修課程;學生借閱圖書。
多元聯系:兩個以上不同實體集合的實體間的聯系如:某工程項目需要多個供應商提供多種零件概念模型4.實體間聯系的基數(1)1:1聯系:若對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯系,反之亦然,則稱實體集A與實體集B具有一對一聯系,記為1:1。概念模型(2)1:n聯系:若對于實體集A中的每一個實體,實體集B中有n個實體與之聯系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯系,則稱實體集A與實體集B具有一對多的聯系,記為1:n。二元實現間1:n聯系一元實現間1:n聯系概念模型(3)m:n聯系:若對于實體集A中的每一個實體,實體集B中有n個實體與之聯系,反之亦然,則稱實體集A與實體集B具有多對多的聯系,記為m:n。二元實現間m:n聯系多元實現間m:n聯系概念模型實體間發生聯系時往往會產生中間屬性,中間屬性屬于聯系,不屬于任何實體。5.聯系的屬性概念模型概念結構設計【例9.1】:以下是某數據庫系統與數據庫設計相關的語義,請根據語義進行概念結構設計,畫出E-R圖。(1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中;
倉庫有倉庫號、倉庫類型和面積,零件有零件號、名稱、
規格、單價、描述等屬性。(2)一個職工只能在一個倉庫工作,一個倉庫有多個職工當保管員;
職工有職工號、姓名、性別、職務、出生年月屬性。(3)職工之間有領導與被領導關系,倉庫主任領導若干保管員;(4)一個供應商可以供應若干項目多種零件;而一個項目可以使用不同供應商供應的多種零件;一種零件可由不同供應商供給多個工程項目。供應商有供應商號、姓名、住址、電話、帳號,項目有項目號、預算、開工日期等屬性。(1)確定實體:實體往往是需求說明書中的名詞概念結構設計(2)確定實體的屬性及鍵(主屬性)概念結構設計(3)確定實體的聯系概念結構設計(4)確定聯系的基數和屬性概念結構設計邏輯結構設計
邏輯結構設計的任務是把概念結構設計階段得到的E-R圖轉換為關系模式。
1.邏輯結構設計的目標和任務(1)實體到關系模式的轉換;(2)聯系到關系模式的轉換。2.設計方法,分兩步完成實體的名和屬性就是關系的名和屬性,實體的碼就是關系的碼。關系的名和屬性也可以不同,但意義要相同。(1)實體到關系模式的轉換student(sno,sname,sex,age,sdept)1學生學號姓名性別年齡專業邏輯結構設計1∶1聯系:由于兩個實體的地位是平等的,可以將任意一端對應的關系模式合并,方法為在一個關系模式中加入另一個關系模式的碼。(2)聯系到關系模式的轉換工資卡(卡號,……)員工(員工號,……,工資卡號)員工持有工資卡11工資卡(卡號,……,員工號)員工(員工號,……)邏輯結構設計1∶n聯系:一般將1端實體的碼和聯系本身的屬性與n端的關系模式合并。部門(部門號,……)職工(職工號,……,部門號)部門有職工1n邏輯結構設計職工(職工號,姓名,性別,領導)1∶n聯系:只有一個實體的1∶n聯系,該聯系在轉換過程中需要在實體關系模式的屬性中加入另一個屬性。邏輯結構設計邏輯設計項目(項目編號,……)職工(職工號,……)參加(項目編號,職工號,參與時間,……)m∶n聯系:與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,各實體碼組成關系的碼或關系碼的一部分,或定義一個自增型的邏輯主鍵。項目參與職工mn參與時間項目(項目編號,……)職工(職工號,……)參加(id,項目編號,職工號,參與時間,……)
m∶n聯系供應商(供應商號,……)項目(項目號,……)零件(零件號,……)訂單(供應商號,項目號,零件號,數量)供應商(供應商號,……)項目(項目號,……)零件(零件號,……)訂單(id,供應商號,項目號,零件號,數量)邏輯結構設計【例9.3】將例9.1數據庫系統設計所得到的E-R圖轉換為相應的關系模式。邏輯結構設計(1)將實體轉換為關系模式供應商(供應商號,姓名,帳號,地址,電話)項目(項目號,預算,開工日期)零件(零件號,名稱,規格,單價,描述)職工(職工號,姓名,性別,職務,出生年月)倉庫(倉庫號,倉庫類型,倉庫面積)邏輯結構設計(2)將聯系轉換為關系模式供應(id,供應商號,項目號,零件號,數量)存放(零件號,倉庫號,庫存量)職工(職工號,姓名,性別,職務,倉庫號,領導)邏輯結構設計(3)合并關系模式。供應商(供應商號,姓名,帳號,地址,電話)項目(項目號,預算,開工日期)零件(零件號,名稱,規格,單價,描述)倉庫(倉庫號,倉庫類型,倉庫面積)供應(id,供應商號,項目號,零件號,數量)存放(零件號,倉庫號,庫存量)職工(職工號,姓名,性別,職務,倉庫號,領導)邏輯結構設計(4)標出外鍵供應商(供應商號,姓名,帳號,地址,電話)項目(項目號,預算,開工日期)零件(零件號,名稱,規格,單價,描述)職工(職工號,姓名,性別,職務,出生年月,倉庫號,領導)倉庫(倉庫號,倉庫類型,倉庫面積)供應(id,供應商號,項目號,零件號,數量)存放(零件號,倉庫號,庫存量)邏輯結構設計業務主鍵:把具有業務邏輯含義的字段作為主鍵,如學號,課程號。邏輯主鍵:把一個與當前表中信息無關的字段作為其主鍵,如自增整型。(1)使用邏輯主鍵的主要原因有:業務主鍵一旦改變,則系統中關聯該主鍵部分的修改將是不可避免的,最典型的例子就是身份證升位和駕駛執照號換用身份證號的業務變更。業務主鍵過大,不利于傳輸、處理和存儲。一般如果業務主鍵超過8字節就應該考慮使用邏輯主鍵。使用邏輯主鍵替代多對多關系中的復合主鍵,因為復合主鍵處理效率非常低,而邏輯主鍵的字節少,處理效率都很高。關于業務主鍵與邏輯主鍵的使用原則邏輯結構設計有些業務主鍵中的字符串是有特殊含義的,如學號中往往包含入學年份、學院、專業等信息,此時不能使用邏輯主鍵替代業務主鍵;增加邏輯主鍵就是增加了一個業務無關的字段,而用戶通常都是對于業務相關的字段進行查找(比如員工的工號,學生的學號),這樣我們還必須為這些業務字段加索引,增加了系統的開銷。對于如銀行系統,其安全性比性能更加重要,這時候就會考慮使用業務主鍵,業務主鍵需要在重要的表中有冗余存在,例如身份證號、存折號、卡號等。(2)使用業務主鍵的主要原因有:邏輯結構設計物理結構設計選取一個最適合應用環境要求的物理結構的過程,稱為數據庫的物理設計。物理設計過程需要對存取時間、存儲空間利用率和維護代價及各種用戶要求進行權衡,其結果可以產生多種方案。在實施數據庫前,對這些方案進行細致的評價,以選擇一個較優的方案。數據庫物理設計的主要目標是:提高數據庫的性能;節省存儲容量。1.物理結構設計的目標
(1)確定數據庫的物理結構,在RDBMS中主要指存取方法和存儲結構。確定DBMS選型;確定系統架構設計及其環境配置;確定表結構、索引、視圖、存儲過程、觸發器、日志和備份等;確定系統的完整性、一致性和安全性等要求。
2.物理結構設計的步驟物理結構設計(2)對物理結構進行評價。評價的重點是時間和空間效率,選擇一個較優的方案。數據庫服務器部署環境一般為Linux系統,在Linux系統下默認是區分大小寫。因此,數據庫名、表名、字段名,都使用小寫字母;表名僅僅表示表里面的實體內容,不應該表示實體數量,如學生表用student,而不是students;如果存儲的字符串長度幾乎相等,使用char類型varchar類型長度不要超過5000,如果存儲長度大于此值,定義字段類型為text。小數類型根據不同的數據庫產品可定義為decimal或number,禁止使用float和double。表必備的附加字段:create_time,update_time,記錄記錄創建和修改時間。業務上具有唯一特性的字段,即使是組合字段,也必須創建唯一索引。超過三個表禁止join操作,多表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于小樣本的非正態分布抽樣誤差分析-洞察闡釋
- 乙肝選擇題題庫及答案
- 安全教育日試題及答案
- 零信任流量監控模型-洞察闡釋
- 云服務支持下的汽車維修模式創新-洞察闡釋
- 2025公司終止合同證明樣本
- 酒店餐飲業財務記賬代理與成本控制合同
- 深入了解博世的碳化硅(SiC)半導體技術
- 統編版二年級語文上冊第24課《風娃娃》教案
- 心內科復試題目及答案
- (高清版)JTST 272-2-2023 內河航運工程造價指標
- 橋臺樁基礎設計計算書
- 特種設備“日管控、周排查、月調度”表格
- 24春國家開放大學《教育法學》終結性考試(大作業)參考答案
- 中國建筑信息模型(BIM)行業發展狀況與前景趨勢研究報告2024-2029年
- 小學科學學法指導
- 分級護理制度培訓
- 寰樞關節錯位
- 《泌尿系統檢查》課件
- 關于水痘的護理查房
- 蘇教版小學科學四年級下冊各單元測試卷附答案
評論
0/150
提交評論