資料需求分析:資料庫設計者需要同應用領域的專家和使用者進行深入的溝通,產生使用者需求規格說明書。
概念設計:定義資料庫中表示的實體、實體的屬性、實體之間的聯絡以及實體和聯絡集之上的約束。概念設計階段會導致e-r圖(實體-聯絡圖)的構建,它提供了對模式的圖形化表示。
功能需求規格說明:完善的概念模式還需指明企業的功能需求。在功能需求規格說明(specification of functional requirement)中,使用者描述將在資料上進行各類操作(或事物)。操作的例子包括修改或更新資料,搜尋並取回特定資料,以及刪除資料。設計者可以檢查所設計的模式,以確保其滿足功能需求。
邏輯設計階段:將以實體-聯絡模型定義的概念模式對映到關係模式。
物理設計階段:指明資料庫的物理特徵,包括檔案組織格式和索引結構的選擇等等。
設計乙個資料庫模式的時候必須確保避免兩個主要的缺陷:冗餘和不完整。
具有相同型別(或屬性)的乙個實體集合。
相同型別聯絡的集合。
簡單和復合屬性:復合屬性可以劃分為更小的部分(其他屬性),例如name可以設計為包括first_name, middle_initial, last_name 的復合屬性。 address 、street 、 name 復合屬性
單值和多值屬性:乙個屬性對於特定實體只有乙個值,即單值屬性。多值屬性例如:每個的教師可以有0個、1個或2個**號碼,不同的教師可以有不同數量的**號碼。 多值屬性
派生屬性:可以從別的屬性中派生出來。例如:instructor 實體集有屬性age 和 date_of_birth ,我們就可以從date_of_birth 計算出 age 。因此age 就是派生屬性。 age
一對多:a中的乙個實體可以與b中的任意數目(0個或多個)的實體相關聯,而b中的乙個實體至多與a中的乙個實體相關聯。
多對多:a中的乙個實體可以與b中的任意數目(0個或多個)的實體相關聯,而且b中的乙個實體也可以與a中的任意數目(0個或多個)的實體相關聯。
上圖(a)中,a 在聯絡集中的參與是全部( total participation)的,b 在聯絡集中的參與是部分(partial participation)的。上圖(b),a 和b 在聯絡集中的都是全部參與。
超碼,候選碼,主碼的概念與關係模式上的的定義相同。
**雙線顯示實體在聯絡集中的參與度,雙線表明全部參與
**雙菱形代表連線到弱實體集的標誌性聯絡集
一對一:
一對多:一名教師可以指導多名學生
多對多:section 和 time_slot 多對多對映,其中section全部參與。
基數約束:每個student最少有乙個instructor , 最多也有乙個instructor ; 每個instructor 最多可以指導無數個(多個)student , 最少 0 個。
弱實體集:沒有足夠的屬性以形成主碼的實體集。 圖中section 為弱實體集。其分辨符用虛下劃線表示。
相對的,有主碼的實體集為強實體集。 例如: course 。
弱實體集與強實體集關聯才有
意義。此強實體集被稱為標識(identifying)或屬主實體集(owner entity set)。弱實體集存在依賴於標識實體集。將弱實體集與其標識實體集相連的聯絡稱為標識性聯絡(identifying relationship) 。
以下圖為例
student( id , name , tot_cred )
通過為每個子屬性建立乙個單獨的屬性來處理復合屬性(並不為復合屬性自身建立乙個單獨的屬性)。例如對於復合屬性位址,它包含省份,城市等子屬性。在轉化為關係模式的時候,把這些子屬性都拆分出來。
對於從弱實體集轉換而來的模式,該模式的主碼由其所依賴的強實體集的主碼和弱實體集的分辨符組合而成。 section( course_id , sec_id , semester , year )
設r是聯絡集,那麼r的屬性是所有參與r的實體集的主碼跟r的描述性屬性的並集。
多對一的約束:以advisor為例,是student 到 instructor 多對一的 ,它的主碼為student 的主碼 s_id。還在聯絡集advisor上建立了外碼約束,屬性i_id參照instructor , 屬性s_id參照student 。
第七章 資料庫設計
資料庫設計概述 資料庫設計是指對於乙個給定的應用環境,構造 設計 優化的資料庫邏輯模式和物理結構,並據此建立資料庫及其應用系統,使之能夠有效地儲存和管理資料,滿足各種使用者的應用需求,包括資訊管理要求和資料操作要求。1 資料庫設計的特點 2 資料庫設計方法 計算機的基礎知識 軟體工程的原理和方法 程...
資料庫第七章 NoSQL資料庫
對資料處理的要求 定義 指無法在一定時間範圍內用常規軟體工具進行捕捉 管理和處理的資料集合 特點 挑戰 儲存關鍵技術包括 在可用性 一致性 高併發 高容量等方面達到平衡 not only sql database,非關係型 開源 具有水平擴充套件能力的分布式資料庫 特性 base特性 資料庫一致性 ...
資料庫作業16 第七章 資料庫設計
7 e r圖 10 習題 7 關係模式 系 系號,系名,學校名 班 班號,系號,系名,學生數 學生 學號,姓名,班號,系號 課程 課程號,課程名,課時 選課 學號,課程號,成績 教研室 教研室編號,系號,教研室人數 教授 教師編號,教師姓名,職稱,教研室編號 習題 8 關係模式 倉庫 倉庫編號,儲存...