最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件_第1頁
最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件_第2頁
最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件_第3頁
最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件_第4頁
最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件_第5頁
已閱讀5頁,還剩119頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫原理與應用數(shù)據(jù)庫系統(tǒng)概論第四版王珊薩師煊數(shù)據(jù)庫原理與應用數(shù)據(jù)庫系統(tǒng)概論1第7章數(shù)據(jù)庫設計數(shù)據(jù)庫設計的基本步驟概念結構設計和邏輯結構設計的常用方法第7章數(shù)據(jù)庫設計數(shù)據(jù)庫設計的基本步驟27.1數(shù)據(jù)庫設計概述數(shù)據(jù)庫設計是建立數(shù)據(jù)庫及其應用系統(tǒng)的技術,是信息系統(tǒng)開發(fā)和建設中的核心技術。具體說,數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應用需求。7.1數(shù)據(jù)庫設計概述數(shù)據(jù)庫設計是建立數(shù)據(jù)庫及其應用37.1數(shù)據(jù)庫設計概述(續(xù))1、數(shù)據(jù)庫設計的特點數(shù)據(jù)庫建設的基本規(guī)律“三分技術,七分管理,十二分基礎數(shù)據(jù)”結構設計與行為設計相結合目前許多計算機輔助軟件工程(ComputerAidedSoftwareEngineering,簡稱CASE)工具已經把數(shù)據(jù)庫設計作為軟件工程設計的一部分。如ROSE,UML(UnifiedModelinglanguage)等。7.1數(shù)據(jù)庫設計概述(續(xù))1、數(shù)據(jù)庫設計的特點4最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件57.1數(shù)據(jù)庫設計概述(續(xù))2、數(shù)據(jù)庫設計方法在過去相當長的一段時期內,數(shù)據(jù)庫設計主要采用手工試湊法。長時間以來,人們努力探索,提出了各種數(shù)據(jù)庫設計方法,這些方法運用軟件工程的思想和方法,提出了各種設計準則和規(guī)程,都屬于規(guī)范設計方法。規(guī)范設計方法的基本思想是過程迭代和逐步求精。7.1數(shù)據(jù)庫設計概述(續(xù))2、數(shù)據(jù)庫設計方法67.1數(shù)據(jù)庫設計概述(續(xù))2、數(shù)據(jù)庫設計方法新奧爾良(NewOrleans)方法把數(shù)據(jù)庫設計分為四個階段:需求分析(分析用戶要求)概念設計(信息分析和定義)邏輯設計(設計實現(xiàn))物理設計(物理數(shù)據(jù)庫設計)7.1數(shù)據(jù)庫設計概述(續(xù))2、數(shù)據(jù)庫設計方法77.1數(shù)據(jù)庫設計概述(續(xù))數(shù)據(jù)庫設計方法基于E-R模型的數(shù)據(jù)庫設計方法概念設計階段廣泛采用3NF(第三范式)的設計方法邏輯階段可采用的有效方法ODL(ObjectDefinitionLanguage)方法面向對象的數(shù)據(jù)庫設計方法7.1數(shù)據(jù)庫設計概述(續(xù))數(shù)據(jù)庫設計方法87.1數(shù)據(jù)庫設計概述(續(xù))3、數(shù)據(jù)庫設計的基本步驟需求分析概念結構設計邏輯結構設計物理結構設計數(shù)據(jù)庫實施數(shù)據(jù)庫運行和維護7.1數(shù)據(jù)庫設計概述(續(xù))3、數(shù)據(jù)庫設計的基本步驟9最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件107.2需求分析1、需求分析的任務需求分析的任務是通過詳細調查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確用戶的各種需求,然后在此基礎上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設計數(shù)據(jù)庫。7.2需求分析1、需求分析的任務117.2需求分析(續(xù))調查的重點是“數(shù)據(jù)”和“處理”,通過調查、分析,獲得用戶對數(shù)據(jù)庫的如下要求:信息要求。指用戶需要從數(shù)據(jù)庫中獲得信息的內容與性質。由信息要求可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。處理要求。指用戶要完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯(lián)機處理。安全性與完整性要求。7.2需求分析(續(xù))調查的重點是“數(shù)據(jù)”和“處理”,通過調127.2需求分析(續(xù))2、需求分析的方法(1)開展調查包括調查組織機構、調查業(yè)務活動、調查用戶的各種要求等。調查方法:跟班作業(yè)、開調查會、調查表、查閱記錄(2)采用結構化的分析方法進行分析7.2需求分析(續(xù))2、需求分析的方法137.2需求分析(續(xù))3、數(shù)據(jù)流圖與數(shù)據(jù)字典數(shù)據(jù)流圖(DataFlowDiagram,DFD)是從“數(shù)據(jù)”和“對數(shù)據(jù)的加工”兩方面表達數(shù)據(jù)處理系統(tǒng)工作過程的一種圖形表示法。7.2需求分析(續(xù))3、數(shù)據(jù)流圖與數(shù)據(jù)字典147.2需求分析(續(xù))3、數(shù)據(jù)流圖與數(shù)據(jù)字典數(shù)據(jù)字典(DataDictionary,DD)是各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程五個部分。其中數(shù)據(jù)項是數(shù)據(jù)的最小組成單位,若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結構,數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結構的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內容。7.2需求分析(續(xù))3、數(shù)據(jù)流圖與數(shù)據(jù)字典157.2需求分析(續(xù))學生選課系統(tǒng)數(shù)據(jù)流圖和數(shù)據(jù)字典示例分析:7.2需求分析(續(xù))學生選課系統(tǒng)數(shù)據(jù)流圖和數(shù)據(jù)字典示例分析16最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件17數(shù)據(jù)字典描述:

數(shù)據(jù)項名:學生編號

說明:標識每個學生身份

類型:CHAR

長度:8

別名:學號

取值范圍:970000-979999數(shù)據(jù)結構:學生個人信息

說明:說明了學生的個人情況。

組成:學號、姓名、性別密碼

數(shù)據(jù)字典描述:18

數(shù)據(jù)流名:選課申請

說明:由學生個人信息,欲選課程信息組成選課申請

來自過程:無

流至過程:身份驗證輸出數(shù)據(jù)流:課程上課時間

數(shù)據(jù)描述:課程編號上課時間

數(shù)量:每學期200-300個

存取方式:隨機存取數(shù)據(jù)存儲:上課時間信息

說明:說明了每門課的上課時間,一門課可以有多個上課時間,同一時間可以有多門課程在上課。

數(shù)據(jù)流名:選課申請

說明:由學生個人信息,欲選課程信息19處理過程:身份驗證

說明:對學生輸入的帳號,密碼進行驗證,確定正確,得到相應的學生編號。

輸入:學生帳號;密碼;選課的課程編號。

輸出:學生編號;選課的課程編號

程序提要說明:

(1)對輸入的學生個人信息,檢查學號和密碼是否正確?

(2)對身份正確的學生檢查要選修的課程是否允許?

(3)檢查是否正確返回信息。

處理過程:身份驗證

說明:對學生輸入的帳號,密碼進行驗207.2需求分析(續(xù))數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫設計過程中不斷修改、充實、完善的。明確地把需求收集和分析作為數(shù)據(jù)庫設計的第一階段是十分重要的。這一階段收集到的基礎數(shù)據(jù)(用數(shù)據(jù)字典來表達)和一組數(shù)據(jù)流程圖(DataFlowDiagram,簡稱DFD)是下一步進行概念設計的基礎。(1)要考慮到可擴充性(2)強調用戶的參與7.2需求分析(續(xù))數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫217.3概念結構設計1、概念結構(1)能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。是對現(xiàn)實世界的一個真實模型。(2)易于理解。(3)易于更改和擴充。(4)易于向關系、網狀、層次等各種數(shù)據(jù)模型轉換。數(shù)據(jù)庫設計的關鍵:形成獨立于具體DBMS的概念模型描述概念模型的有力工具是E-R模型7.3概念結構設計1、概念結構227.3概念結構設計(續(xù))2、概念結構設計的方法與步驟自頂向下。首先定義全局概念結構的框架,然后逐步細化。自底向上。先定義各局部的應用的概念結構,然后將它們集成,得到全局概念結構。逐步擴張。首先定義最重要的核心概念結構,然后向外擴充,直至總體概念結構?;旌喜呗裕鹤皂斚蛳潞妥缘紫蛏舷嘟Y合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。

通常情況下,采用自頂向下進行需求分析、然后再自底向上地設計概念結構。7.3概念結構設計(續(xù))2、概念結構設計的方法與步驟237.3概念結構設計(續(xù))概念結構設計的步驟:7.3概念結構設計(續(xù))概念結構設計的步驟:247.3概念結構設計(續(xù))3、數(shù)據(jù)抽象與局部視圖設計數(shù)據(jù)抽象概念結構是對現(xiàn)實世界的一種抽象。所謂抽象是對實際的人、物、事和概念進行人為處理,抽取所關心的共同特性,忽略非本質的細節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。7.3概念結構設計(續(xù))3、數(shù)據(jù)抽象與局部視圖設計253、數(shù)據(jù)抽象與局部視圖設計數(shù)據(jù)抽象1)分類(classificatin)2)聚集(Aggregation)3)概括(Generalization)7.3概念結構設計(續(xù))定義某一類概念作為現(xiàn)實世界中一組對象的類型,這些對象具有某些共同的特性和行為定義某一類型的組成成分。它抽象了對象內部類型和成分之間的“ispartof”的語義。定義某一類型之間的一種子集聯(lián)系。它抽象了類型之間的“issubsetof”的語義。3、數(shù)據(jù)抽象與局部視圖設計7.3概念結構設計(續(xù))定義某一267.3概念結構設計(續(xù))3、數(shù)據(jù)抽象與局部視圖設計局部視圖設計1)選擇局部應用作為設計分E-R圖的出發(fā)點2)逐個設計分E-R圖在E-R圖設計時,現(xiàn)實世界的事物能作為屬性對待的,盡量作為屬性對待。應遵循以下兩個原則:屬性是不可分的數(shù)據(jù)項,不能包含其他屬性屬性不能與其他實體具有聯(lián)系7.3概念結構設計(續(xù))3、數(shù)據(jù)抽象與局部視圖設計27最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件287.3概念結構設計(續(xù))4、視圖的集成視圖集成方式:多個分E-R圖一次集成;逐步集成;視圖集成步驟合并修改和重構7.3概念結構設計(續(xù))4、視圖的集成297.3概念結構設計(續(xù))1)合并分E-R圖,生成初步E-R圖合理消除各分E-R圖的沖突是合并分E-R圖的主要工作與關鍵所在。屬性沖突屬性域沖突,如學號的類型有的采用整型,有的采用字符型。屬性取值單位的沖突,如身高采用米還是厘米。命名沖突同名異義,即不同對象在不同的E-R圖中具有相同的名字異名同義,即同一對象在不同的E-R圖中具有了不同的名字結構沖突同一對象在一個視圖中作為實體,在另一個視圖中可能作為屬性或聯(lián)系。同一實體在不同分E-R圖中所包含的屬性個數(shù)和屬性排列次序不完全相同不同的視圖聯(lián)系類型不一致7.3概念結構設計(續(xù))1)合并分E-R圖,生成初步E-R307.3概念結構設計(續(xù))2)消除不必要的冗余,設計基本E-R圖冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導出的數(shù)據(jù),冗余的聯(lián)系是指可由其它聯(lián)系導出的聯(lián)系。消除了冗余后的初步E-R圖稱為基本E-R圖。Q3=Q1*Q2Q3為冗余數(shù)據(jù)Q4=∑Q5Q4為冗余數(shù)據(jù)刪除Q3,多余的聯(lián)系也應刪除Q4可視實際需要而定,若經常進行統(tǒng)計,則可以保留,以提高系統(tǒng)查詢效率Q47.3概念結構設計(續(xù))2)消除不必要的冗余,設計基本E-31最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件32最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件33最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件34最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件357.4邏輯結構設計邏輯結構設計的任務就是把概念結構設計階段設計好的基本E-R圖轉換為與選用DBMS所支持的數(shù)據(jù)模型相符合的邏輯結構。7.4邏輯結構設計邏輯結構設計的任務就是把概念結構設計階段367.4邏輯結構設計(續(xù))1、E-R圖向關系模型的轉換一個實體型轉換為一個關系模式。實體的屬性就是關系的屬性,實體的碼就是關系的碼。對于實體的聯(lián)系則有以下不同的情況:7.4邏輯結構設計(續(xù))1、E-R圖向關系模型的轉換37或E1(k,

a,h,

s)E2(h,b)E1(k,a)E2(h,b)R(k,h,s)一個1:1聯(lián)系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,每個實體的碼均是該關系的候選碼。如果與某一端實體對應的關系模式合并,則需要在該關系模式的屬性中加入另一個關系模式的碼和聯(lián)系本身的屬性。1:1聯(lián)系或E1(k,a)一個1:1聯(lián)系可以轉換為一381:N聯(lián)系或E1(k,a)E2(h,b,k,s)E1(k,a)E2(h,b)R(h,k,s)一個1:n聯(lián)系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并,如果轉換為一個獨立的關系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。1:N聯(lián)系或E1(k,a)一個1:n聯(lián)系39M:N聯(lián)系E1(k,a)E2(h,b)R(h,k,s)一個m:n聯(lián)系轉換為一個關系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合。M:N聯(lián)系E1(k,a)一個m:n聯(lián)系轉換為40多元聯(lián)系E1(k,a)E2(h,b)E3(i,c)R(k,h,i,s)三個或三個以上實體間的一個多元聯(lián)系可以轉換為一個關系模式,與該多元聯(lián)系相連的各實體間的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合。多元聯(lián)系E1(k,a)三個或三個以上實體間的417.4邏輯結構設計(續(xù))具有相同的碼的關系模式可合并。課程-教師:{課程號,課序號,教師號}課程-教科書:{課程號,課序號,教科書}具有相同的主碼,可以合并成一個關系教學:{課程號,課序號,教師號,教科書}7.4邏輯結構設計(續(xù))具有相同的碼的關系模式可合并。課程427.4邏輯結構設計(續(xù))2、數(shù)據(jù)模型的優(yōu)化確定數(shù)據(jù)依賴對于各個關系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系。按照數(shù)據(jù)依賴的理論對關系模式進行分析,確定屬于第幾范式。按照需求分析的處理要求,確定是否要對某些模式進行合并或分解。對關系模式進行必要的分解(水平分解、垂直分解)水平分解:將元組分為若干個子集合,把經常使用的數(shù)據(jù)分解成子集合,以提高系統(tǒng)的效率。垂直分解:把關系模式的屬性分解為若干個子集合。7.4邏輯結構設計(續(xù))2、數(shù)據(jù)模型的優(yōu)化437.4邏輯結構設計(續(xù))3、設計用戶子模式將概念模型轉換為全局邏輯模型后,還應根據(jù)局部應用需求、DBMS的特點,設計用戶的外模式。通常利用視圖設計用戶的外模式。定義用戶的外模式應注重考慮用戶的習慣與方便。使用更符合用戶習慣的別名可以對不同級別的用戶定義不同的視圖,以保證系統(tǒng)的安全性。簡化用戶對系統(tǒng)的使用。如將一些常用的復雜查詢定義為視圖。7.4邏輯結構設計(續(xù))3、設計用戶子模式44示例:學生包括學號,姓名,性別,年齡等基本信息;課程包括課程編號,課程名等;教師包括教師代號,姓名,性別,職稱等;上述實體存在如下聯(lián)系:一個學生可以選修多門課程,一門課程可為多個學生選修;一個教師可講授多門課程,一門課程由一個教師講授;(1)試畫出這個數(shù)據(jù)庫的E-R圖。(2)將E-R模型轉化為適當?shù)年P系模型,并給出候選關鍵字。示例:學生包括學號,姓名,性別,年齡等基本信息;課程包括課程45學生課程教師選修講授學號姓名性別年齡課程號課程名教師號姓名性別職稱成績學生(學號,姓名,性別,年齡)課程(課程號,課程名)教師(教師號,姓名,性別,職稱)選修(學號,課程號,成績)講授(課程號,教師號)MN1P學生(學號,姓名,性別,年齡)課程(課程號,課程名,教師號)教師(教師號,姓名,性別,職稱)選修(學號,課程號,成績)相同碼合并學生課程教師選修講授學號姓名性別年齡課程號課程名教師號姓名性467.5數(shù)據(jù)庫的物理設計數(shù)據(jù)庫的物理設計就是為給定的邏輯數(shù)據(jù)模型選取一個最適合應用要求的物理結構的過程。通常分為兩步:確定數(shù)據(jù)庫的物理結構,在關系數(shù)據(jù)庫中主要指存取方法和存儲結構;對物理結構進行評價,評價的重點是時間和空間效率。7.5數(shù)據(jù)庫的物理設計數(shù)據(jù)庫的物理設計就是為給定的477.5數(shù)據(jù)庫的物理設計(續(xù))1、數(shù)據(jù)庫物理設計的內容和方法主要內容包括:(1)為關系模式選擇存取方法;(2)設計關系、索引等數(shù)據(jù)庫文件的物理存儲結構設計的原則:事務響應時間短、存儲空間利用率高、事務吞吐率大7.5數(shù)據(jù)庫的物理設計(續(xù))1、數(shù)據(jù)庫物理設計的內容和方法487.5數(shù)據(jù)庫的物理設計(續(xù))2、關系模式存取方法選擇存取方式是快速存取數(shù)據(jù)庫中數(shù)據(jù)的技術。索引方法(B+樹索引)如果一個(或一組)屬性經常在查詢條件中出現(xiàn),則考慮在這個(這組)屬性上建立索引;如果一個屬性(一組)經常作為最大值或最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引;如果一個(一組)屬性經常在連接操作的連接條件中出現(xiàn),則考慮在這個屬性上建立索引;7.5數(shù)據(jù)庫的物理設計(續(xù))2、關系模式存取方法選擇497.5數(shù)據(jù)庫的物理設計(續(xù))2、關系模式存取方法選擇聚簇方法聚簇:為了提高某個屬性(或屬性組)的查詢速度,把這個或這些屬性(聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊,稱為聚簇。對于經常建立連接操作的多個關系也可按照連接屬性聚集存放。連接屬性稱為聚簇碼。一個數(shù)據(jù)庫可以建立多個聚簇,但是一個關系只能加入一個聚簇。7.5數(shù)據(jù)庫的物理設計(續(xù))2、關系模式存取方法選擇507.5數(shù)據(jù)庫的物理設計(續(xù))建立候選聚簇的設計原則:(1)對經常在一起進行連接操作的關系可以建立聚簇;(2)如果一個關系的一組屬性經常建立在相等比較條件中,則該單個關系可建立聚簇;(3)如果一個關系的一個(或一組)屬性上的值重復率很高,則此單個關系可建立聚簇。檢查原則:(1)從聚簇中刪除經常進行全表掃描的關系;(2)從聚簇中刪除更新操作遠多于連接操作的關系;(3)一個關系只能在一個聚簇中;7.5數(shù)據(jù)庫的物理設計(續(xù))建立候選聚簇的設計原則:51舉例:CREATECLUSTEREDINDEXStusnameONStudent(Sname);在Student表的Sname(姓名)列上建立一個聚簇索引,而且Student表中的記錄將按照Sname值的升序存放。建立和維護聚簇的開銷是非常大的。對于分組查詢、排序查詢等,使用聚簇索引可以提高查詢效率。舉例:CREATECLUSTEREDINDEXStus527.5數(shù)據(jù)庫的物理設計(續(xù))3、確定數(shù)據(jù)庫的存儲結構確定數(shù)據(jù)的存放位置和存儲結構要綜合考慮存取時間、存儲空間利用率和維護代價3個方面的因素。確定數(shù)據(jù)的存放位置將數(shù)據(jù)的易變部分與穩(wěn)定部分、經常存取部分和存取頻率較低部分分開存放確定系統(tǒng)配置7.5數(shù)據(jù)庫的物理設計(續(xù))3、確定數(shù)據(jù)庫的存儲結構537.5數(shù)據(jù)庫的物理設計(續(xù))4、評價物理結構主要從定量估算各種方案的存儲空間、存取時間和維護代價入手,對估算結果進行權衡、比較,選擇出一個較優(yōu)的合理的物理結構。7.5數(shù)據(jù)庫的物理設計(續(xù))4、評價物理結構547.6數(shù)據(jù)庫的實施和維護1、數(shù)據(jù)的載入和應用程序的調試2、數(shù)據(jù)庫的試運行3、數(shù)據(jù)庫的運行和維護7.6數(shù)據(jù)庫的實施和維護1、數(shù)據(jù)的載入和應用程序的調試55本章小結了解數(shù)據(jù)庫設計的特點;數(shù)據(jù)庫物理設計的內容和評價;數(shù)據(jù)庫的實施和維護;掌握數(shù)據(jù)庫設計的基本步驟;數(shù)據(jù)庫設計過程中數(shù)據(jù)字典的內容;數(shù)據(jù)庫設計各階段的具體設計內容、設計方法;特別是E-R模型和邏輯模型設計;本章小結了解數(shù)據(jù)庫設計的特點;數(shù)據(jù)庫物理設計的內容和評價;數(shù)561、某商業(yè)集團數(shù)據(jù)庫中有三個實體。商店的屬性有編號、商店名、地址等;商品屬性有編號、商品名、規(guī)格、單價等;職工屬性有編號、姓名、性別、業(yè)績等。每個商店可銷售多種商品,每種商品也可放在多個商店銷售,有月銷售量;每個商店有多名職工,每個職工只能在一個商店工作,商店聘用職工有聘期和月薪。2、學校管理系統(tǒng)設計。學校有若干個系,每個系有若干名教師和學生;每個教師可以擔任若干門課程,并參加多項項目,一門課程可以有多個教師擔任,一個項目也可以有多個教師參加,教師參加項目有排名屬性;每個學生可以同時選修多門課程,一門課程可以被多個學生選修,學生選修課程有成績屬性。教師,學生與系之間有“領導”的關系。練習1、某商業(yè)集團數(shù)據(jù)庫中有三個實體。商店的屬性有編號、商店名、57商品商店職工銷售聘用mnm1月銷量聘期月薪名稱地址編號編號名稱規(guī)格單價編號姓名性別業(yè)績商品商店職工銷售聘用mnm1月銷量聘期月薪名稱地址編號編號名58商店(商店編號,名稱,地址)商品(商品編號,名稱,規(guī)格,單價)職工(職工編號,姓名,性別,業(yè)績)銷售(商店號,商品編號,月銷量)聘用(職工編號,月薪,聘期,商店編號)商店(商店編號,名稱,地址)商品(商品編號,名稱,規(guī)格,單價)職工(職工編號,姓名,性別,業(yè)績,月薪,聘期,商店編號)銷售(商店號,商品編號,月銷量)商店(商店編號,名稱,地址)商店(商店編號,名稱,地址)59最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件60系(系號,系名,系主任)學生(學號,姓名,年齡,系號)教師(教師號,教師名,職稱,系號)項目(項目號,名稱)課程(課程號,課程名,學分)任課(教師號,課程號)參加項目(教師號,項目號)選修(學號,課程號,成績)系(系號,系名,系主任)61練習(1)試畫出這個數(shù)據(jù)庫的E-R圖。 (2)轉化為適當?shù)年P系模型,并給出候選關鍵字。練習(1)試畫出這個數(shù)據(jù)庫的E-R圖。62數(shù)據(jù)庫原理與應用數(shù)據(jù)庫系統(tǒng)概論第四版王珊薩師煊數(shù)據(jù)庫原理與應用數(shù)據(jù)庫系統(tǒng)概論63第7章數(shù)據(jù)庫設計數(shù)據(jù)庫設計的基本步驟概念結構設計和邏輯結構設計的常用方法第7章數(shù)據(jù)庫設計數(shù)據(jù)庫設計的基本步驟647.1數(shù)據(jù)庫設計概述數(shù)據(jù)庫設計是建立數(shù)據(jù)庫及其應用系統(tǒng)的技術,是信息系統(tǒng)開發(fā)和建設中的核心技術。具體說,數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應用需求。7.1數(shù)據(jù)庫設計概述數(shù)據(jù)庫設計是建立數(shù)據(jù)庫及其應用657.1數(shù)據(jù)庫設計概述(續(xù))1、數(shù)據(jù)庫設計的特點數(shù)據(jù)庫建設的基本規(guī)律“三分技術,七分管理,十二分基礎數(shù)據(jù)”結構設計與行為設計相結合目前許多計算機輔助軟件工程(ComputerAidedSoftwareEngineering,簡稱CASE)工具已經把數(shù)據(jù)庫設計作為軟件工程設計的一部分。如ROSE,UML(UnifiedModelinglanguage)等。7.1數(shù)據(jù)庫設計概述(續(xù))1、數(shù)據(jù)庫設計的特點66最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件677.1數(shù)據(jù)庫設計概述(續(xù))2、數(shù)據(jù)庫設計方法在過去相當長的一段時期內,數(shù)據(jù)庫設計主要采用手工試湊法。長時間以來,人們努力探索,提出了各種數(shù)據(jù)庫設計方法,這些方法運用軟件工程的思想和方法,提出了各種設計準則和規(guī)程,都屬于規(guī)范設計方法。規(guī)范設計方法的基本思想是過程迭代和逐步求精。7.1數(shù)據(jù)庫設計概述(續(xù))2、數(shù)據(jù)庫設計方法687.1數(shù)據(jù)庫設計概述(續(xù))2、數(shù)據(jù)庫設計方法新奧爾良(NewOrleans)方法把數(shù)據(jù)庫設計分為四個階段:需求分析(分析用戶要求)概念設計(信息分析和定義)邏輯設計(設計實現(xiàn))物理設計(物理數(shù)據(jù)庫設計)7.1數(shù)據(jù)庫設計概述(續(xù))2、數(shù)據(jù)庫設計方法697.1數(shù)據(jù)庫設計概述(續(xù))數(shù)據(jù)庫設計方法基于E-R模型的數(shù)據(jù)庫設計方法概念設計階段廣泛采用3NF(第三范式)的設計方法邏輯階段可采用的有效方法ODL(ObjectDefinitionLanguage)方法面向對象的數(shù)據(jù)庫設計方法7.1數(shù)據(jù)庫設計概述(續(xù))數(shù)據(jù)庫設計方法707.1數(shù)據(jù)庫設計概述(續(xù))3、數(shù)據(jù)庫設計的基本步驟需求分析概念結構設計邏輯結構設計物理結構設計數(shù)據(jù)庫實施數(shù)據(jù)庫運行和維護7.1數(shù)據(jù)庫設計概述(續(xù))3、數(shù)據(jù)庫設計的基本步驟71最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件727.2需求分析1、需求分析的任務需求分析的任務是通過詳細調查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確用戶的各種需求,然后在此基礎上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設計數(shù)據(jù)庫。7.2需求分析1、需求分析的任務737.2需求分析(續(xù))調查的重點是“數(shù)據(jù)”和“處理”,通過調查、分析,獲得用戶對數(shù)據(jù)庫的如下要求:信息要求。指用戶需要從數(shù)據(jù)庫中獲得信息的內容與性質。由信息要求可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。處理要求。指用戶要完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯(lián)機處理。安全性與完整性要求。7.2需求分析(續(xù))調查的重點是“數(shù)據(jù)”和“處理”,通過調747.2需求分析(續(xù))2、需求分析的方法(1)開展調查包括調查組織機構、調查業(yè)務活動、調查用戶的各種要求等。調查方法:跟班作業(yè)、開調查會、調查表、查閱記錄(2)采用結構化的分析方法進行分析7.2需求分析(續(xù))2、需求分析的方法757.2需求分析(續(xù))3、數(shù)據(jù)流圖與數(shù)據(jù)字典數(shù)據(jù)流圖(DataFlowDiagram,DFD)是從“數(shù)據(jù)”和“對數(shù)據(jù)的加工”兩方面表達數(shù)據(jù)處理系統(tǒng)工作過程的一種圖形表示法。7.2需求分析(續(xù))3、數(shù)據(jù)流圖與數(shù)據(jù)字典767.2需求分析(續(xù))3、數(shù)據(jù)流圖與數(shù)據(jù)字典數(shù)據(jù)字典(DataDictionary,DD)是各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程五個部分。其中數(shù)據(jù)項是數(shù)據(jù)的最小組成單位,若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結構,數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結構的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內容。7.2需求分析(續(xù))3、數(shù)據(jù)流圖與數(shù)據(jù)字典777.2需求分析(續(xù))學生選課系統(tǒng)數(shù)據(jù)流圖和數(shù)據(jù)字典示例分析:7.2需求分析(續(xù))學生選課系統(tǒng)數(shù)據(jù)流圖和數(shù)據(jù)字典示例分析78最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件79數(shù)據(jù)字典描述:

數(shù)據(jù)項名:學生編號

說明:標識每個學生身份

類型:CHAR

長度:8

別名:學號

取值范圍:970000-979999數(shù)據(jù)結構:學生個人信息

說明:說明了學生的個人情況。

組成:學號、姓名、性別密碼

數(shù)據(jù)字典描述:80

數(shù)據(jù)流名:選課申請

說明:由學生個人信息,欲選課程信息組成選課申請

來自過程:無

流至過程:身份驗證輸出數(shù)據(jù)流:課程上課時間

數(shù)據(jù)描述:課程編號上課時間

數(shù)量:每學期200-300個

存取方式:隨機存取數(shù)據(jù)存儲:上課時間信息

說明:說明了每門課的上課時間,一門課可以有多個上課時間,同一時間可以有多門課程在上課。

數(shù)據(jù)流名:選課申請

說明:由學生個人信息,欲選課程信息81處理過程:身份驗證

說明:對學生輸入的帳號,密碼進行驗證,確定正確,得到相應的學生編號。

輸入:學生帳號;密碼;選課的課程編號。

輸出:學生編號;選課的課程編號

程序提要說明:

(1)對輸入的學生個人信息,檢查學號和密碼是否正確?

(2)對身份正確的學生檢查要選修的課程是否允許?

(3)檢查是否正確返回信息。

處理過程:身份驗證

說明:對學生輸入的帳號,密碼進行驗827.2需求分析(續(xù))數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫設計過程中不斷修改、充實、完善的。明確地把需求收集和分析作為數(shù)據(jù)庫設計的第一階段是十分重要的。這一階段收集到的基礎數(shù)據(jù)(用數(shù)據(jù)字典來表達)和一組數(shù)據(jù)流程圖(DataFlowDiagram,簡稱DFD)是下一步進行概念設計的基礎。(1)要考慮到可擴充性(2)強調用戶的參與7.2需求分析(續(xù))數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫837.3概念結構設計1、概念結構(1)能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。是對現(xiàn)實世界的一個真實模型。(2)易于理解。(3)易于更改和擴充。(4)易于向關系、網狀、層次等各種數(shù)據(jù)模型轉換。數(shù)據(jù)庫設計的關鍵:形成獨立于具體DBMS的概念模型描述概念模型的有力工具是E-R模型7.3概念結構設計1、概念結構847.3概念結構設計(續(xù))2、概念結構設計的方法與步驟自頂向下。首先定義全局概念結構的框架,然后逐步細化。自底向上。先定義各局部的應用的概念結構,然后將它們集成,得到全局概念結構。逐步擴張。首先定義最重要的核心概念結構,然后向外擴充,直至總體概念結構。混合策略:自頂向下和自底向上相結合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。

通常情況下,采用自頂向下進行需求分析、然后再自底向上地設計概念結構。7.3概念結構設計(續(xù))2、概念結構設計的方法與步驟857.3概念結構設計(續(xù))概念結構設計的步驟:7.3概念結構設計(續(xù))概念結構設計的步驟:867.3概念結構設計(續(xù))3、數(shù)據(jù)抽象與局部視圖設計數(shù)據(jù)抽象概念結構是對現(xiàn)實世界的一種抽象。所謂抽象是對實際的人、物、事和概念進行人為處理,抽取所關心的共同特性,忽略非本質的細節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。7.3概念結構設計(續(xù))3、數(shù)據(jù)抽象與局部視圖設計873、數(shù)據(jù)抽象與局部視圖設計數(shù)據(jù)抽象1)分類(classificatin)2)聚集(Aggregation)3)概括(Generalization)7.3概念結構設計(續(xù))定義某一類概念作為現(xiàn)實世界中一組對象的類型,這些對象具有某些共同的特性和行為定義某一類型的組成成分。它抽象了對象內部類型和成分之間的“ispartof”的語義。定義某一類型之間的一種子集聯(lián)系。它抽象了類型之間的“issubsetof”的語義。3、數(shù)據(jù)抽象與局部視圖設計7.3概念結構設計(續(xù))定義某一887.3概念結構設計(續(xù))3、數(shù)據(jù)抽象與局部視圖設計局部視圖設計1)選擇局部應用作為設計分E-R圖的出發(fā)點2)逐個設計分E-R圖在E-R圖設計時,現(xiàn)實世界的事物能作為屬性對待的,盡量作為屬性對待。應遵循以下兩個原則:屬性是不可分的數(shù)據(jù)項,不能包含其他屬性屬性不能與其他實體具有聯(lián)系7.3概念結構設計(續(xù))3、數(shù)據(jù)抽象與局部視圖設計89最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件907.3概念結構設計(續(xù))4、視圖的集成視圖集成方式:多個分E-R圖一次集成;逐步集成;視圖集成步驟合并修改和重構7.3概念結構設計(續(xù))4、視圖的集成917.3概念結構設計(續(xù))1)合并分E-R圖,生成初步E-R圖合理消除各分E-R圖的沖突是合并分E-R圖的主要工作與關鍵所在。屬性沖突屬性域沖突,如學號的類型有的采用整型,有的采用字符型。屬性取值單位的沖突,如身高采用米還是厘米。命名沖突同名異義,即不同對象在不同的E-R圖中具有相同的名字異名同義,即同一對象在不同的E-R圖中具有了不同的名字結構沖突同一對象在一個視圖中作為實體,在另一個視圖中可能作為屬性或聯(lián)系。同一實體在不同分E-R圖中所包含的屬性個數(shù)和屬性排列次序不完全相同不同的視圖聯(lián)系類型不一致7.3概念結構設計(續(xù))1)合并分E-R圖,生成初步E-R927.3概念結構設計(續(xù))2)消除不必要的冗余,設計基本E-R圖冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導出的數(shù)據(jù),冗余的聯(lián)系是指可由其它聯(lián)系導出的聯(lián)系。消除了冗余后的初步E-R圖稱為基本E-R圖。Q3=Q1*Q2Q3為冗余數(shù)據(jù)Q4=∑Q5Q4為冗余數(shù)據(jù)刪除Q3,多余的聯(lián)系也應刪除Q4可視實際需要而定,若經常進行統(tǒng)計,則可以保留,以提高系統(tǒng)查詢效率Q47.3概念結構設計(續(xù))2)消除不必要的冗余,設計基本E-93最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件94最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件95最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件96最新-數(shù)據(jù)庫系統(tǒng)概論第七章-課件977.4邏輯結構設計邏輯結構設計的任務就是把概念結構設計階段設計好的基本E-R圖轉換為與選用DBMS所支持的數(shù)據(jù)模型相符合的邏輯結構。7.4邏輯結構設計邏輯結構設計的任務就是把概念結構設計階段987.4邏輯結構設計(續(xù))1、E-R圖向關系模型的轉換一個實體型轉換為一個關系模式。實體的屬性就是關系的屬性,實體的碼就是關系的碼。對于實體的聯(lián)系則有以下不同的情況:7.4邏輯結構設計(續(xù))1、E-R圖向關系模型的轉換99或E1(k,

a,h,

s)E2(h,b)E1(k,a)E2(h,b)R(k,h,s)一個1:1聯(lián)系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,每個實體的碼均是該關系的候選碼。如果與某一端實體對應的關系模式合并,則需要在該關系模式的屬性中加入另一個關系模式的碼和聯(lián)系本身的屬性。1:1聯(lián)系或E1(k,a)一個1:1聯(lián)系可以轉換為一1001:N聯(lián)系或E1(k,a)E2(h,b,k,s)E1(k,a)E2(h,b)R(h,k,s)一個1:n聯(lián)系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并,如果轉換為一個獨立的關系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。1:N聯(lián)系或E1(k,a)一個1:n聯(lián)系101M:N聯(lián)系E1(k,a)E2(h,b)R(h,k,s)一個m:n聯(lián)系轉換為一個關系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合。M:N聯(lián)系E1(k,a)一個m:n聯(lián)系轉換為102多元聯(lián)系E1(k,a)E2(h,b)E3(i,c)R(k,h,i,s)三個或三個以上實體間的一個多元聯(lián)系可以轉換為一個關系模式,與該多元聯(lián)系相連的各實體間的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合。多元聯(lián)系E1(k,a)三個或三個以上實體間的1037.4邏輯結構設計(續(xù))具有相同的碼的關系模式可合并。課程-教師:{課程號,課序號,教師號}課程-教科書:{課程號,課序號,教科書}具有相同的主碼,可以合并成一個關系教學:{課程號,課序號,教師號,教科書}7.4邏輯結構設計(續(xù))具有相同的碼的關系模式可合并。課程1047.4邏輯結構設計(續(xù))2、數(shù)據(jù)模型的優(yōu)化確定數(shù)據(jù)依賴對于各個關系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系。按照數(shù)據(jù)依賴的理論對關系模式進行分析,確定屬于第幾范式。按照需求分析的處理要求,確定是否要對某些模式進行合并或分解。對關系模式進行必要的分解(水平分解、垂直分解)水平分解:將元組分為若干個子集合,把經常使用的數(shù)據(jù)分解成子集合,以提高系統(tǒng)的效率。垂直分解:把關系模式的屬性分解為若干個子集合。7.4邏輯結構設計(續(xù))2、數(shù)據(jù)模型的優(yōu)化1057.4邏輯結構設計(續(xù))3、設計用戶子模式將概念模型轉換為全局邏輯模型后,還應根據(jù)局部應用需求、DBMS的特點,設計用戶的外模式。通常利用視圖設計用戶的外模式。定義用戶的外模式應注重考慮用戶的習慣與方便。使用更符合用戶習慣的別名可以對不同級別的用戶定義不同的視圖,以保證系統(tǒng)的安全性。簡化用戶對系統(tǒng)的使用。如將一些常用的復雜查詢定義為視圖。7.4邏輯結構設計(續(xù))3、設計用戶子模式106示例:學生包括學號,姓名,性別,年齡等基本信息;課程包括課程編號,課程名等;教師包括教師代號,姓名,性別,職稱等;上述實體存在如下聯(lián)系:一個學生可以選修多門課程,一門課程可為多個學生選修;一個教師可講授多門課程,一門課程由一個教師講授;(1)試畫出這個數(shù)據(jù)庫的E-R圖。(2)將E-R模型轉化為適當?shù)年P系模型,并給出候選關鍵字。示例:學生包括學號,姓名,性別,年齡等基本信息;課程包括課程107學生課程教師選修講授學號姓名性別年齡課程號課程名教師號姓名性別職稱成績學生(學號,姓名,性別,年齡)課程(課程號,課程名)教師(教師號,姓名,性別,職稱)選修(學號,課程號,成績)講授(課程號,教師號)MN1P學生(學號,姓名,性別,年齡)課程(課程號,課程名,教師號)教師(教師號,姓名,性別,職稱)選修(學號,課程號,成績)相同碼合并學生課程教師選修講授學號姓名性別年齡課程號課程名教師號姓名性1087.5數(shù)據(jù)庫的物理設計數(shù)據(jù)庫的物理設計就是為給定的邏輯數(shù)據(jù)模型選取一個最適合應用要求的物理結構的過程。通常分為兩步:確定數(shù)據(jù)庫的物理結構,在關系數(shù)據(jù)庫中主要指存取方法和存儲結構;對物理結構進行評價,評價的重點是時間和空間效率。7.5數(shù)據(jù)庫的物理設計數(shù)據(jù)庫的物理設計就是為給定的1097.5數(shù)據(jù)庫的物理設計(續(xù))1、數(shù)據(jù)庫物理設計的內容和方法主要內容包括:(1)為關系模式選擇存取方法;(2)設計關系、索引等數(shù)據(jù)庫文件的物理存儲結構設計的原則:事務響應時間短、存儲空間利用率高、事務吞吐率大7.5數(shù)據(jù)庫的物理設計(續(xù))1、數(shù)據(jù)庫物理設計的內容和方法1107.5數(shù)據(jù)庫的物理設計(續(xù))2、關系模式存取方法選擇存取方式是快速存取數(shù)據(jù)庫中數(shù)據(jù)的技術。索引方法(B+樹索引)如果一個(或一組)屬性經常在查詢條件中出現(xiàn),則考慮在這個(這組)屬性上建立索引;如果一個屬性(一組)經常作為最大值或最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引;如果一個(一組)屬性經常在連接操作的連接條件中出現(xiàn),則考慮在這個屬性上建立索引;7.5數(shù)據(jù)庫的物理設計(續(xù))2、關系模式存取方法選擇1117.5數(shù)據(jù)庫的物理設計(續(xù))2、關系模式存取方法選擇聚簇方法聚簇:為了提高某個屬性(或屬性組)的查詢速度,把這個或這些屬性(聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊,稱為聚簇。對于經常建立連接操作的多個關系也可按照連接屬性聚集存放。連接屬性稱為聚簇碼。一個數(shù)據(jù)庫可以建立多個聚簇,但是一個

溫馨提示

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

評論

0/150

提交評論