《數據庫設計》PPT課件.ppt
《《數據庫設計》PPT課件.ppt》由會員分享,可在線閱讀,更多相關《《數據庫設計》PPT課件.ppt(68頁珍藏版)》請在裝配圖網上搜索。
第四章數據庫設計,數據庫設計步驟需求分析概念結構設計邏輯結構設計物理設計數據庫實施數據庫運行和維護小結,數據庫設計:是指在給定的應用環(huán)境下,根據用戶的應用需求構造優(yōu)良的數據庫模式,建立數據庫及其應用系統(tǒng),使之能夠有效地存儲數據,滿足各種用戶的應用需求。數據庫設計特點:數據庫設計側重于對數據的分析和設計,數據庫設計應該在整個設計過程中把結構(數據)設計和行為(處理)設計密切結合起來數據庫設計應該與應用系統(tǒng)設計相結合結構(數據)設計:設計數據庫框架或數據庫結構行為(處理)設計:設計應用程序、事務處理等,數據庫設計的步驟,數據庫設計是一項涉及多學科的綜合性技術,是一項龐大的工程項目。,信息的三個世界之間的關系,現(xiàn)實世界,信息世界,數據世界,一般開發(fā)策略:自頂向下,逐步求精,分而治之。,數據庫應用開發(fā)的過程的六個階段,從現(xiàn)實世界中獲取并抽象用戶的信息需求,用戶信息需求的綜合歸納,形成獨立于任何DBMS的信息結構的設計,得到的是概念模型,是從用戶的角度進行的數據描述。常用E-R圖,將概念模式轉換成用關系模型表達的模式,并進行規(guī)范化處理,根據DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成數據庫內模式,,,邏輯結構,編制程序實現(xiàn)所設計數據庫結構的過程,即利用具體的DBMS的支撐語言完成前段設計的數據庫結構,運行和維護階段體現(xiàn)了數據庫設計的宗旨,即數據庫整個設計過程的各階段不是線性發(fā)展的,而是迭代式逐步求精進行的,?,一、需求分析,1.需求分析的任務及方法2.高校管理系統(tǒng)的信息需求,?,需求分析的任務,,一、需求分析,,需求分析任務,:,需求分析重點,調查、收集與分析用戶在數據管理中的信息要求、處理要求、安全性與完整性要求。,信息要求是用戶需要從數據庫中獲得信息的內容與性質。由用戶的信息要求可以導出數據要求,即在數據庫中需要存儲哪些數據。,處理要求是指用戶要求完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯(lián)機處理。,,,,,,收集資料,了解用戶需求,安全性要求:對存放的信息的安全保密要求,完整性要求:數據應滿足怎樣的約束條件,,,需求分析的方法,,,需求分析,,用戶缺少計算機知識;設計人員缺少用戶的專業(yè)知識;用戶需求發(fā)生變化,難!,分析和表達用戶的需求:,主要包括自頂向下和自底向上兩類方法,,自頂向下的結構化分析方法,需求分析的方法,,需求分析,,從最上層的系統(tǒng)組織機構入手,采用逐層分解的方式分析系統(tǒng),并且把每一層用數據流圖和數據字典描述。,(StructuredAnalysis):,●,數據字典,,需求分析,,數據流圖表達了數據和處理過程的關系。系統(tǒng)中的數據則借助數據字典(DataDictionary)來描述。,數據字典,數據字典(1),,需求分析,,“學號”數據項:數據項:學號含義說明:唯一標識每個學生別名:學生編號類型:字符型長度:8取值范圍:00000000至99999999取值含義:前兩位標別該學生所在年級,后六位按順序編號與其他數據項的邏輯關系:,“學生”數據結構:數據結構:學生含義說明:是學籍管理子系統(tǒng)的主體數據結構,定義了一個學生的有關信息組成:學號,姓名,性別,年齡,所在系,年級,,,,,,數據流“體檢結果”:數據流:體檢結果說明:學生參加體格檢查的最終結果數據流來源:體檢數據流去向:批準組成:……平均流量:……高峰期流量:……,數據存儲“學生登記表”:數據存儲:學生登記表說明:記錄學生的基本情況流入數據流:……流出數據流:……組成:……數據量:每年3000張存取方式:隨機存取,,,,,,,處理過程“分配宿舍”:處理過程:分配宿舍說明:為所有新生分配學生宿舍輸入:學生,宿舍,輸出:宿舍安排處理:在新生報到后,為所有新生分配學生宿舍。要求同一間宿舍只能安排同一性別的學生,同一個學生只能安排在一個宿舍中。每個學生的居住面積不小于3平方米。安排新生宿舍其處理時間應不超過15分鐘。,,⑴任務,DB應用系統(tǒng)要處理的對象(組織、企業(yè)、部門等)進行全面了解,收集用戶對DB的以下需求,以數據流程圖和DD等書面形式確定下來。①信息需求:系統(tǒng)用到的所有的信息及其聯(lián)系②處理需求:未來系統(tǒng)對數據進行什么樣的處理③安全性需求:對存放的信息的安全保密要求④完整性需求:數據應滿足怎樣的約束條件,?,①確定系統(tǒng)范圍。②確定用戶對未來系統(tǒng)的各種要求,包括信息要求、處理要求、安全性和完整性要求。③深入分析用戶的業(yè)務處理,用數據流程圖表達整個系統(tǒng)的數據的流向和對數據進行的處理,描述數據與處理間的關系。④分析系統(tǒng)數據,產生數據字典DD,以描述數據流程圖中涉及的各數據項、數據結構、數據流、數據存儲和處理等。,⑵工作,??,2.高校管理系統(tǒng)的信息需求,⑴教學管理子系統(tǒng)的信息需求⑵工資及福利管理子系統(tǒng),?,⑴教學管理子系統(tǒng)的信息需求,管理對象與存儲信息:①學生:學號、姓名、性別、年齡等。②班級:班級號、班級名、人數等。③教師:教師號、姓名、性別、職稱、E-mail地址(同一教師可有多個E-mail地址)、電話號碼和家庭地址(城市、區(qū)、街道、郵政編碼)等。④課程:課程號、課程名、學分、周學時、課程類型(周數)等。⑤專業(yè):專業(yè)號、專業(yè)名、選修門數等。⑥系:系號、系名等。,??,分析課程:課程號、課程名、學分、周學時、課程類型(周數)等。其中:課程類型:共同限選課、專業(yè)選修課(選修人數上限、人數下限)或必修課(課程負責人)。共同限選課:不分專業(yè)、面向全校學生的選修課。專業(yè)選修課:面向本專業(yè)學生的選修課,某一專業(yè)的學生只能選修自己專業(yè)的專業(yè)選修課。每個專業(yè)都規(guī)定了學生可以選修的專業(yè)選修課的門數,不同專業(yè)所規(guī)定的選修課門數是不同的。,?,教學管理子系統(tǒng)中各對象間的聯(lián)系:①每個學生都屬于一個班級,而一個班級可以有多個學生;②每個班級屬于一個專業(yè),一個專業(yè)可以有多個班級;③一個專業(yè)屬于一個系,一個系可以有多個專業(yè);④一個教師屬于一個系,一個系可以有多個教師;⑤每個教師可教授多門課程,同一門課程可有不同的教師教授。但同一教師不能重復教授某門課程,教師在固定的時間和教室教授某門具體課程;⑥每個學生可修讀若干門課程(選修課或必修課),每門課程可有多個學生修讀。對任何課程學生都可申請免修不免考;⑦某個具體的學生參加某門課程的學習,應有一個固定的教師。,?,主要負責管理教師的工資、崗位津貼、養(yǎng)老金、公積金、課時獎金、住房貸款以及醫(yī)療費報銷等。管理對象與存儲信息:①教師:教師編號、姓名、性別、工齡、職稱、基本工資、養(yǎng)老金、公積金等。②課程:包括課程號、課程名、總課時等。③職稱:包括職稱號、職稱名、崗位津貼和住房貸款額等。④被贍養(yǎng)人:包括姓名以及與教師的關系等。學校負責為被贍養(yǎng)人報銷醫(yī)藥費。,??,⑵工資及福利管理子系統(tǒng),工資及福利管理子系統(tǒng)中各對象間的聯(lián)系:①一個教師的被贍養(yǎng)人可有多個,而一個被贍養(yǎng)人僅被一個教師贍養(yǎng)。如果,夫妻雙方都在學校工作,他們的被贍養(yǎng)人信息只能掛靠在其中某一人上;②每個教師可教授多門課程,同一門課程可以有不同的教師教授,但同一個教師不能教授兩門相同的課程。并假設教師在每個學期末都要接受學生的評估,而教師的課時獎金與評教等級有關;③每個教師當前被聘任的職稱是惟一的,而不同的教師可被聘同一職稱。,?,二、概念結構設計,1.局部E-R模型的設計2.全局E-R模型的設計,?,(1).確定實體集和屬性,作為屬性的事物應符合的原則:①除了復合屬性,其他屬性都不能具有需要描述的特性。②屬性不能與其它實體發(fā)生聯(lián)系。符合上述原則的事物應作為屬性,其余的應作為實體。,E-mail:多值屬性家庭地址:復合屬性,(2)確定實體集間的聯(lián)系,1.局部E-R模型的設計,⑴局部E-R模型的設計步驟⑵設計教學管理子系統(tǒng)的E-R模型⑶設計工資及福利管理子系統(tǒng)的E-R模型,?,⑴局部E-R模型的設計步驟,?,需求分析結果,確定局部結構的范圍,全局E-R模型的設計,有,無,設計局部E-R模型,確定局部結構的實體,定義局部結構的屬性,定義局部結構的聯(lián)系,,如何抽象實體和屬性,實體:現(xiàn)實世界中一組具有某些共同特性和行為的對象就可以抽象為一個實體。對象和實體之間是“ismemberof”的關系。例:在學校環(huán)境中,可把張三、李四等對象抽象為學生實體。屬性:對象類型的組成成分可以抽象為實體的屬性。組成成分與對象類型之間是“ispartof”的關系。例:學號、姓名、專業(yè)、年級等可以抽象為學生實體的屬性。其中學號為標識學生實體的碼。,確定實體集和屬性,確定實體集和屬性,①除了復合屬性,其他屬性都不能具有需要描述的特性。②屬性不能與其它實體發(fā)生聯(lián)系。符合上述原則的事物應作為屬性,其余的應作為實體。,E-mail:多值屬性家庭地址:復合屬性,作為屬性的事物應符合的原則:,確定實體集間的聯(lián)系,⑵設計教學管理子系統(tǒng)的E-R模型,?,,⑶設計工資及福利管理子系統(tǒng)的E-R模型,?,2.全局E-R模型的設計,全局E-R模型的設計過程⑴合并局部E-R模型⑵消除冗余數據和冗余聯(lián)系⑶例,?,局部E-R模型,,合并兩個局部E-R模型,檢查并消除沖突,檢查并消除冗余,邏輯結構設計,請按鍵,★,依次取出所有的局部E-R模型,進行合并,直至所有的局部E-R模型都合并完為止。在合并過程中要檢查并消除局部E-R模型間的一些沖突。沖突的種類:①屬性沖突②命名沖突③結構沖突,?,⑴合并局部E-R模型,①屬性沖突,包括屬性域沖突和屬性取值單位的沖突。屬性域的沖突:指同一屬性在不同局部E-R模型中有不同數據類型、取值范圍或取值集合。,?,②命名沖突,同名異義:是指具有不同意義的對象在不同的局部E-R模型中卻使用了相同的名字。異名同義:是指具有同一意義的對象在不同的局部E-R模型中卻使用了不同的名字。,?,③結構沖突,同一對象在不同的局部E-R模型中具有不同的抽象如:課程實體中有課程類型屬性,課程類型又作為另一實體。應同一實體在不同的局部E-R模型中包含不同的屬性個數和排列次序實體間的聯(lián)系在不同的局部E-R模型中具有不同的類型。,?,⑵消除冗余數據和冗余聯(lián)系,檢查合并后的E-R模型中有無冗余數據和冗余聯(lián)系,如有則根據實際情況消除之。,?,教學管理與工資及福利管理子系統(tǒng)中,教師的職工號存在命名沖突;教師實體存在結構沖突。,⑶例,??,教師實體存在命名沖突與結構沖突,進行統(tǒng)一與合并。,教師,統(tǒng)一與合并后,?,請按鍵,★,課程實體存在結構沖突,進行合并,?,教學管理子系統(tǒng),工資及福利子系統(tǒng),合并后,請按鍵,★,教授聯(lián)系的合并,?,教學管理子系統(tǒng),工資及福利子系統(tǒng),合并后,請按鍵,★,課程、教師和學生實體及相互之間的聯(lián)系將“教授”和“上課”聯(lián)系和并為如下的“教授”(冗余),?,請按鍵,★,合并后生成的全局E-R模型,?,三、邏輯結構設計,⑴任務⑵考慮因素⑶RDBMS產品的邏輯結構設計⑷邏輯結構的設計過程⑸全局E-R模型轉換成初始關系模型的規(guī)則,?,⑴任務,根據E-R模型和需求分析所產生的文檔,并綜合考慮所選擇的具體DBMS的特點,設計出整個DB的邏輯結構。,?,⑵考慮因素,包括DBMS產品的性能和價格,以及所設計的應用系統(tǒng)的功能復雜程度。,?,⑶RDBMS產品的邏輯結構設計,指設計DB中所應包含的各個關系模式的結構,包括各關系模式的名稱、每一關系模式中各屬性的名稱、數據類型、取值范圍等內容。,?,⑷邏輯結構的設計過程,?,需求分析文檔、全局E-R模型、具體DBMS的特性,,設計初始關系模型,取出一關系模式,并對其進行評價,關系模式的規(guī)范化,關系模型的反規(guī)范化,請按鍵,★,⑸全局E-R模型轉換成初始關系模型的規(guī)則,①E-R模型中的一個常規(guī)實體集轉換為一個關系模式②E-R模型中的多值屬性轉換為一個關系模式③E-R模型中的一個聯(lián)系轉換為一個關系模式④根據實際情況,將具有相同鍵的關系模式合并,?,①E-R模型中的一個常規(guī)實體集轉換為一個關系模式,該關系模式的屬性由原實體集中的各屬性組成,關系模式的關鍵字也就是原實體集的關鍵字。班級(班級號,班級名,人數)學生(學號,姓名,性別,年齡)職稱(職稱號,職稱名,崗位津貼,住房貸款額)課程類型(類型號,類型名,周數)專業(yè)(專業(yè)號,專業(yè)名,選修門數)系(系號,系名),?,②E-R模型中的多值屬性轉換為一個關系模式,該關系模式的屬性由多值屬性及其相應實體的關鍵字組成。教師實體集中的E-mail地址屬性轉換成的關系模式如下:Email(教師號,E-mail地址),?,該關系模式的屬性由與該聯(lián)系相連的各實體集的鍵和聯(lián)系的屬性組成,該關系模式的鍵則應根據實體集間的聯(lián)系的不同類型分別考慮。1:1聯(lián)系:與該聯(lián)系相連的各實體集的關鍵字均可作關系模式的關鍵字;1:n聯(lián)系:關系模式的關鍵字應是n端實體集的關鍵字;m:n聯(lián)系:關系模式的關鍵字由與該聯(lián)系相連的各實體集的關鍵字組成。,??,③E-R模型中一個聯(lián)系轉換為一個關系模式,分類(課程號,類型號),?,考試(學生號,課程號,成績),?,班級(班級號,班級名,人數)包括(班級號,專業(yè)號)關系模式合并為:班級(班級號,班級名,人數,專業(yè)號)學生(學號,姓名,性別,年齡)屬于(學號,班級號)關系模式合并為:學生(學號,姓名,性別,年齡,班級號),??,④根據實際情況,將具有相同鍵的關系模式合并,四、物理設計,物理設計:指為給定的一個邏輯數據模型選擇最適合應用環(huán)境的物理結構。RDB的物理結構:指數據的存取方法和存儲結構。數據庫物理設計的步驟:1.確定DB的物理結構2.評價物理結構,數據庫物理設計的步驟,,,,邏輯模型,⑴設計人員必須了解的問題,①詳細了解給定的DBMS的功能和特點,特別是該DBMS所提供的物理環(huán)境和功能。②熟悉應用環(huán)境,了解所設計的應用系統(tǒng)中各部分的重要程度、處理頻率、對響應時間的要求,并把它們作為物理設計過程中平衡時間和空間效率時的依據。③了解外存設備的特性,如分塊原則、塊因子大小的規(guī)定、設備的I/O特性等等。,?,①確定數據的存儲結構。需考慮存取時間、空間效率和維護代價間的平衡。如在引入冗余數據以加快存取速度時應兼顧系統(tǒng)的空間效率。②選擇合適的存取路徑。如確定該為哪些關系模式建立索引,索引關鍵字是什么等等。③確定數據的存放位置。如確定數據存放在一個磁盤上還是多個磁盤上,什么數據應存放在高速存儲器上,什么應存放在低速存儲器上等。④確定存取分布。許多DBMS都提供了一些存儲分配參數供設計者使用。如緩沖區(qū)的大小和個數、塊的長度、塊因子的大小等等。設計者必須規(guī)定其中的一些參數的設置。,?,⑵物理設計的內容,例1:假設學生關系按所在系建有索引,現(xiàn)在要查詢信息系的所有學生名單。信息系的500名學生分布在500個不同的物理塊上時,至少要執(zhí)行500次I/O操作。如果將同一系的學生元組集中存放,則每讀一個物理塊可得到多個滿足查詢條件的元組,從而顯著地減少了訪問磁盤的次數。例2:CREATECLUSTERINDEXStusnameONStudent(Sname);在Student表的Sname(姓名)列上建立一個聚簇索引,而且Student表中的記錄將按照Sname值的升序存放例3:假設用戶經常要按系別查詢學生成績單,這一查詢涉及學生關系和選修關系的連接操作,即需要按學號連接這兩個關系,為提高連接操作的效率,可以把具有相同學號值的學生元組和選修元組在物理上聚簇在一起。這就相當于把多個關系按“預連接”的形式存放,從而大大提高連接操作的效率。,舉例說明,五、數據庫實施,數據庫實施的工作內容定義數據庫結構組織數據入庫編制與調試應用程序數據庫試運行,?,⑴建立DB的結構,利用給定的DBMS所提供的命令,建立DB的模式、外模式和內模式。對RDB來說,就是創(chuàng)建DB、建立DB中所包含的各個基本表、視圖、索引等等。例,定義表結構:接下來是在這些基本表上定義視圖:如果需要使用聚簇,在建基本表之前,應先用CREATECLUSTER語句定義聚族。,CREATEVIEW....(……………);,CREATETABLE學生(學號CHAR(8),……………);,必須將分散在各個不同部門的數據抽取出來,輸入計算機,并經過分類轉換,使它們的結構與新系統(tǒng)DB的結構一致,然后才能輸入到DB中去。程序調試時需要將少部分的、適合程序調試用的數據裝入到DB,系統(tǒng)運行正常后則需要將所有的原始數據裝入到DB。,⑵將原始數據裝入DB,⑶應用程序的編制調試,與數據載入同時進行的工作是應用程序的編制和調試。,(4)DB的試運行,應用程序調試完成,并且已有一小部分數據入庫后,就可以開始數據庫的試運行。數據庫試運行也稱為聯(lián)合調試,其主要工作包括:1)功能測試:實際運行應用程序,執(zhí)行對數據庫的各種操作,測試應用程序的各種功能。2)性能測試:測量系統(tǒng)的性能指標,分析是否符合設計目標。(原因:應用程序:修改應用程序的源代碼;DB結構不合理:修改物理結構或邏輯結構)。應經常對DB中的數據進行備份(該階段,系統(tǒng)很不穩(wěn)定,容易給DB中的數據造成破壞)。,?,六、數據庫運行和維護,DBS投入運行后,由DBA對DBD進行經常性的維護工作。⑴DB的轉儲和恢復定期對DB進行備份⑵DB的安全性和完整性控制應根據實際情況調整⑶DB性能的監(jiān)督、分析和改造進行分析,不斷改進⑷DB的重組織與重構造更新操作、應用環(huán)境變化,?,數據庫設計小結,數據庫的設計過程需求分析概念結構設計邏輯結構設計物理設計實施運行維護設計過程中往往還會有許多反復。,小結(續(xù)),數據庫各級模式的形成數據庫的各級模式是在設計過程中逐步形成的需求分析階段綜合各個用戶的應用需求(信息、處理、安全、完整)概念設計階段形成獨立于機器特點、獨立于各個DBMS產品的概念模式(信息世界模型),用E-R圖來描述。在邏輯設計階段將E-R圖轉換成具體的數據庫產品支持的數據模型如關系模型,形成數據庫邏輯模式。然后根據用戶處理的要求,安全性的考慮,在基本表的基礎上再建立必要的視圖(VIEW)形成數據的外模式。在物理設計階段根據DBMS特點和處理的需要,進行物理存儲安排,設計索引,形成數據庫內模式。,整個數據庫設計過程體現(xiàn)了結構特征與行為特征的緊密結合。,小結(續(xù)),目前很多DBMS都提供了一些輔助工具(CASE工具),為加快數據庫設計速度,設計人員可根據需要選用。例如需求分析完成之后,設計人員可以使用ORACLEDESIGNER2000畫E-R圖,將E-R圖轉換為關系數據模型,生成數據庫結構;畫數據流圖,生成應用程序。利用CASE工具生成的僅僅是數據庫應用系統(tǒng)的一個雛形,比較粗糙,數據庫設計人員需要根據用戶的應用需求進一步修改該雛形,使之成為一個完善的系統(tǒng)。早期就選擇某種CASE工具固然能減少數據庫設計的復雜性,加快數據庫設計的速度,但往往容易將自己限制于某一個DBMS上,而不是根據概念設計的結果選擇合適的DBMS。,?,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 數據庫設計 數據庫 設計 PPT 課件
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-11508608.html