公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃設(shè)計(jì)]教材_第1頁(yè)
公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃設(shè)計(jì)]教材_第2頁(yè)
公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃設(shè)計(jì)]教材_第3頁(yè)
公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃設(shè)計(jì)]教材_第4頁(yè)
公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃設(shè)計(jì)]教材_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 項(xiàng)目二項(xiàng)目二 公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃設(shè)計(jì)公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃設(shè)計(jì)【教學(xué)目標(biāo)【教學(xué)目標(biāo)】(1)理解數(shù)據(jù)庫(kù)的基本概念。)理解數(shù)據(jù)庫(kù)的基本概念。(2)理解數(shù)據(jù)庫(kù)組織數(shù)據(jù)的模型。)理解數(shù)據(jù)庫(kù)組織數(shù)據(jù)的模型。(3)掌握關(guān)系型數(shù)據(jù)庫(kù)的有關(guān)基本概念。)掌握關(guān)系型數(shù)據(jù)庫(kù)的有關(guān)基本概念。(4)理解范式理論。)理解范式理論。【能力目標(biāo)【能力目標(biāo)】(1)能夠?qū)?shí)際應(yīng)用系統(tǒng)進(jìn)行項(xiàng)目需求分析。)能夠?qū)?shí)際應(yīng)用系統(tǒng)進(jìn)行項(xiàng)目需求分析。(2)能夠根據(jù)項(xiàng)目需求分析進(jìn)行數(shù)據(jù)庫(kù)的概念模型)能夠根據(jù)項(xiàng)目需求分析進(jìn)行數(shù)據(jù)庫(kù)的概念模型 設(shè)計(jì)。設(shè)計(jì)。(3)能夠?qū)ⅲ┠軌驅(qū)-R 模型轉(zhuǎn)換為關(guān)系模型。模型轉(zhuǎn)換為關(guān)系模型。(4)能夠利用

2、范式理論對(duì)數(shù)據(jù)表進(jìn)行優(yōu)化設(shè)計(jì)。)能夠利用范式理論對(duì)數(shù)據(jù)表進(jìn)行優(yōu)化設(shè)計(jì)。(5)通過項(xiàng)目需求分析,培養(yǎng)與客戶溝通的能力。)通過項(xiàng)目需求分析,培養(yǎng)與客戶溝通的能力?!竟ぷ魅蝿?wù)【工作任務(wù)】 根據(jù)公司管理系統(tǒng)的工作流程,設(shè)計(jì)一個(gè)滿足該公司管根據(jù)公司管理系統(tǒng)的工作流程,設(shè)計(jì)一個(gè)滿足該公司管理的數(shù)據(jù)庫(kù)。按照數(shù)據(jù)庫(kù)設(shè)計(jì)的思想及基本步驟對(duì)公司理的數(shù)據(jù)庫(kù)。按照數(shù)據(jù)庫(kù)設(shè)計(jì)的思想及基本步驟對(duì)公司管理數(shù)據(jù)庫(kù)進(jìn)行如下設(shè)計(jì)。管理數(shù)據(jù)庫(kù)進(jìn)行如下設(shè)計(jì)。(1)公司管理數(shù)據(jù)庫(kù)的需求分析。)公司管理數(shù)據(jù)庫(kù)的需求分析。(2)公司管理數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)。)公司管理數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)。(3)公司管理數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)。)公司管理數(shù)據(jù)庫(kù)的

3、邏輯設(shè)計(jì)。(4)公司管理數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。)公司管理數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。 理論知識(shí)準(zhǔn)備理論知識(shí)準(zhǔn)備根據(jù)數(shù)據(jù)模型應(yīng)用目的的不同,可以將數(shù)據(jù)模型分為兩類:根據(jù)數(shù)據(jù)模型應(yīng)用目的的不同,可以將數(shù)據(jù)模型分為兩類:概念模型(也稱信息模式)和數(shù)據(jù)模型。概念模型(也稱信息模式)和數(shù)據(jù)模型。1實(shí)體實(shí)體 實(shí)體是客觀存在且相互區(qū)別的事物及事物之間的聯(lián)系,例實(shí)體是客觀存在且相互區(qū)別的事物及事物之間的聯(lián)系,例如,在數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)時(shí)有客戶實(shí)體、訂單實(shí)體、雇如,在數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)時(shí)有客戶實(shí)體、訂單實(shí)體、雇員實(shí)體和產(chǎn)品實(shí)體。員實(shí)體和產(chǎn)品實(shí)體。2屬性屬性 屬性是指實(shí)體所具有的某種特性。屬性用來描述一個(gè)實(shí)體,屬性是指實(shí)體所具

4、有的某種特性。屬性用來描述一個(gè)實(shí)體,例如,產(chǎn)品實(shí)體有產(chǎn)品例如,產(chǎn)品實(shí)體有產(chǎn)品ID、產(chǎn)品名等各種屬性。、產(chǎn)品名等各種屬性。2 2. .1 1 2.1.1 概念模型概念模型3聯(lián)系聯(lián)系(1)一對(duì)一聯(lián)系:如果對(duì)于實(shí)體)一對(duì)一聯(lián)系:如果對(duì)于實(shí)體A中的每一個(gè)實(shí)體,實(shí)體中的每一個(gè)實(shí)體,實(shí)體B中至多有一個(gè)實(shí)體與其發(fā)生聯(lián)系,反之亦然,則稱實(shí)體中至多有一個(gè)實(shí)體與其發(fā)生聯(lián)系,反之亦然,則稱實(shí)體A與與實(shí)體實(shí)體B是一對(duì)一聯(lián)系,記作是一對(duì)一聯(lián)系,記作1:1。(2)一對(duì)多聯(lián)系:如果對(duì)于實(shí)體)一對(duì)多聯(lián)系:如果對(duì)于實(shí)體A中的每一個(gè)實(shí)體,實(shí)體中的每一個(gè)實(shí)體,實(shí)體B中有中有n(n0)個(gè)實(shí)體與之發(fā)生聯(lián)系;反之,對(duì)于實(shí)體)個(gè)實(shí)體與之發(fā)

5、生聯(lián)系;反之,對(duì)于實(shí)體B中中的每一個(gè)實(shí)體,實(shí)體的每一個(gè)實(shí)體,實(shí)體A中至多有一個(gè)實(shí)體與之發(fā)生聯(lián)系,則中至多有一個(gè)實(shí)體與之發(fā)生聯(lián)系,則稱實(shí)體稱實(shí)體A與實(shí)體與實(shí)體B是一對(duì)多聯(lián)系,記作是一對(duì)多聯(lián)系,記作1:n。這是一種最常。這是一種最常見的一種聯(lián)系。見的一種聯(lián)系。(3)多對(duì)多聯(lián)系:如果對(duì)于實(shí)體)多對(duì)多聯(lián)系:如果對(duì)于實(shí)體A中的每一個(gè)實(shí)體,實(shí)體中的每一個(gè)實(shí)體,實(shí)體B中有中有n(n0)個(gè)實(shí)體與之發(fā)生聯(lián)系;反之,對(duì)于實(shí)體)個(gè)實(shí)體與之發(fā)生聯(lián)系;反之,對(duì)于實(shí)體B中中的每一個(gè)實(shí)體,實(shí)體的每一個(gè)實(shí)體,實(shí)體A中有中有m(m0)個(gè)實(shí)體與之發(fā)生聯(lián)系,)個(gè)實(shí)體與之發(fā)生聯(lián)系,則稱實(shí)體則稱實(shí)體 A與實(shí)體與實(shí)體B是多對(duì)多聯(lián)系,記作

6、是多對(duì)多聯(lián)系,記作m:n。 圖2-2 一對(duì)多聯(lián)系 圖2-3 多對(duì)多聯(lián)系 4E-R方法方法E-R方法是一種用來在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中表示數(shù)據(jù)庫(kù)系統(tǒng)結(jié)方法是一種用來在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中表示數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的方法,又被稱為構(gòu)的方法,又被稱為EAR方法或方法或EAR模型。它的主導(dǎo)思想模型。它的主導(dǎo)思想是使用實(shí)體(是使用實(shí)體(Entity)、實(shí)體的屬性()、實(shí)體的屬性(Attribution)、實(shí)體)、實(shí)體之間的關(guān)系(之間的關(guān)系(Relationship)來表示數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)。)來表示數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)。在在E-R模型圖中,用方框表示實(shí)體,用菱形表示聯(lián)系,用橢模型圖中,用方框表示實(shí)體,用菱形表示聯(lián)系,用橢圓形表

7、示屬性。圓形表示屬性。 雇員實(shí)體和訂單實(shí)體之間的聯(lián)系2.1.2 數(shù)據(jù)模型數(shù)據(jù)模型1數(shù)據(jù)模型的三要素?cái)?shù)據(jù)模型的三要素 現(xiàn)實(shí)世界中的客觀事物經(jīng)過概念模型的抽象和描現(xiàn)實(shí)世界中的客觀事物經(jīng)過概念模型的抽象和描述,最終要轉(zhuǎn)換為計(jì)算機(jī)所能識(shí)別的數(shù)據(jù)模型。述,最終要轉(zhuǎn)換為計(jì)算機(jī)所能識(shí)別的數(shù)據(jù)模型。(1)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是對(duì)數(shù)據(jù)靜態(tài)特征的描述。)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是對(duì)數(shù)據(jù)靜態(tài)特征的描述。數(shù)據(jù)的靜態(tài)特征包括數(shù)據(jù)的基本結(jié)構(gòu)、數(shù)據(jù)間的數(shù)據(jù)的靜態(tài)特征包括數(shù)據(jù)的基本結(jié)構(gòu)、數(shù)據(jù)間的聯(lián)系和對(duì)數(shù)據(jù)取值范圍的約束。聯(lián)系和對(duì)數(shù)據(jù)取值范圍的約束。(2)數(shù)據(jù)操作。數(shù)據(jù)操作是指對(duì)數(shù)據(jù)動(dòng)態(tài)特征的描)數(shù)據(jù)操作。數(shù)據(jù)操作是指對(duì)數(shù)據(jù)動(dòng)態(tài)特征

8、的描述,包括對(duì)數(shù)據(jù)進(jìn)行的操作及相關(guān)操作規(guī)則。述,包括對(duì)數(shù)據(jù)進(jìn)行的操作及相關(guān)操作規(guī)則。(3)數(shù)據(jù)的完整性約束。數(shù)據(jù)的完整性約束是對(duì)數(shù))數(shù)據(jù)的完整性約束。數(shù)據(jù)的完整性約束是對(duì)數(shù)據(jù)靜態(tài)和動(dòng)態(tài)特征的限定,是用來描述數(shù)據(jù)模型據(jù)靜態(tài)和動(dòng)態(tài)特征的限定,是用來描述數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系應(yīng)該具有的制約和依存規(guī)則,以中數(shù)據(jù)及其聯(lián)系應(yīng)該具有的制約和依存規(guī)則,以保證數(shù)據(jù)的正確、有效和相容。保證數(shù)據(jù)的正確、有效和相容。2層次模型層次模型 數(shù)據(jù)庫(kù)的有類型,是根據(jù)數(shù)據(jù)模型劃分的。目前常用的數(shù)據(jù)庫(kù)的有類型,是根據(jù)數(shù)據(jù)模型劃分的。目前常用的數(shù)據(jù)模型主要有層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)?shù)據(jù)模型主要有層次模型、網(wǎng)狀模型、關(guān)系

9、模型和面向?qū)ο竽P汀F渲?,層次模型、網(wǎng)狀模型是非關(guān)系模型。象模型。其中,層次模型、網(wǎng)狀模型是非關(guān)系模型。(1)有且只有一個(gè)節(jié)點(diǎn)沒有父節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)稱為根節(jié)點(diǎn)。)有且只有一個(gè)節(jié)點(diǎn)沒有父節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)稱為根節(jié)點(diǎn)。(2)根以外的其他節(jié)點(diǎn)有且只有一個(gè)父節(jié)點(diǎn)。)根以外的其他節(jié)點(diǎn)有且只有一個(gè)父節(jié)點(diǎn)。3網(wǎng)狀模型網(wǎng)狀模型 在現(xiàn)實(shí)世界中,事物之間的聯(lián)系更多的是非層次在現(xiàn)實(shí)世界中,事物之間的聯(lián)系更多的是非層次關(guān)系的,用層次模型表示非樹形結(jié)構(gòu)是很不直接關(guān)系的,用層次模型表示非樹形結(jié)構(gòu)是很不直接的,網(wǎng)狀模型則可以克服這一點(diǎn)。的,網(wǎng)狀模型則可以克服這一點(diǎn)。(1)允許一個(gè)以上的節(jié)點(diǎn)無(wú)父節(jié)點(diǎn)。)允許一個(gè)以上的節(jié)點(diǎn)無(wú)父節(jié)點(diǎn)。

10、(2)一個(gè)節(jié)點(diǎn)可以有多于一個(gè)的父節(jié)點(diǎn)。)一個(gè)節(jié)點(diǎn)可以有多于一個(gè)的父節(jié)點(diǎn)。 4關(guān)系模型關(guān)系模型 關(guān)系模型是目前應(yīng)用最廣泛,也是最重要的一種數(shù)據(jù)模關(guān)系模型是目前應(yīng)用最廣泛,也是最重要的一種數(shù)據(jù)模型。重要的是型。重要的是RDBS提供了結(jié)構(gòu)化查詢語(yǔ)言(提供了結(jié)構(gòu)化查詢語(yǔ)言(Strctured Query Language,SQL),它是在關(guān)系數(shù)據(jù)庫(kù)中定義和),它是在關(guān)系數(shù)據(jù)庫(kù)中定義和操縱數(shù)據(jù)的標(biāo)準(zhǔn)語(yǔ)言。操縱數(shù)據(jù)的標(biāo)準(zhǔn)語(yǔ)言。(1)數(shù)據(jù)結(jié)構(gòu)。關(guān)系模型中基本的數(shù)據(jù)結(jié)構(gòu)是二維表。每)數(shù)據(jù)結(jié)構(gòu)。關(guān)系模型中基本的數(shù)據(jù)結(jié)構(gòu)是二維表。每個(gè)實(shí)體可以看成一個(gè)二維表,它存放實(shí)體本身的數(shù)據(jù),實(shí)個(gè)實(shí)體可以看成一個(gè)二維表,它存放

11、實(shí)體本身的數(shù)據(jù),實(shí)體間的聯(lián)系也用二維表表表達(dá)。在關(guān)系模型中,每個(gè)二維體間的聯(lián)系也用二維表表表達(dá)。在關(guān)系模型中,每個(gè)二維表稱為一個(gè)關(guān)系,并且有一個(gè)名稱,稱為關(guān)系名。表稱為一個(gè)關(guān)系,并且有一個(gè)名稱,稱為關(guān)系名。產(chǎn)品ID 產(chǎn)品名 類別ID 單價(jià)(元) 庫(kù)存量(件)1牛奶 1 2.30 200 2冰激凌 11.50 400 3果凍 13.00 300 4打印紙 240.00 100 5墨盒 2200.00 150 (2)數(shù)據(jù)操縱與完整性約束。關(guān)系模型的數(shù)據(jù)操縱)數(shù)據(jù)操縱與完整性約束。關(guān)系模型的數(shù)據(jù)操縱主要有查詢、插入、刪除和更新。進(jìn)行插入、刪除、主要有查詢、插入、刪除和更新。進(jìn)行插入、刪除、更新操作時(shí)

12、要滿足關(guān)系模型的完整性約束條件。更新操作時(shí)要滿足關(guān)系模型的完整性約束條件。(3)存儲(chǔ)結(jié)構(gòu)。關(guān)系模型中,實(shí)體及實(shí)體間的聯(lián)系都用二維)存儲(chǔ)結(jié)構(gòu)。關(guān)系模型中,實(shí)體及實(shí)體間的聯(lián)系都用二維表來表示。在數(shù)據(jù)庫(kù)的物理組織中,二維表以文件形式存表來表示。在數(shù)據(jù)庫(kù)的物理組織中,二維表以文件形式存儲(chǔ)。儲(chǔ)。(4)優(yōu)點(diǎn)。關(guān)系數(shù)據(jù)模型的主要優(yōu)點(diǎn)如下。)優(yōu)點(diǎn)。關(guān)系數(shù)據(jù)模型的主要優(yōu)點(diǎn)如下。 具有嚴(yán)格的數(shù)據(jù)理論基礎(chǔ),關(guān)系數(shù)據(jù)模型是建立在嚴(yán)格具有嚴(yán)格的數(shù)據(jù)理論基礎(chǔ),關(guān)系數(shù)據(jù)模型是建立在嚴(yán)格的數(shù)據(jù)概念基礎(chǔ)上的。的數(shù)據(jù)概念基礎(chǔ)上的。 概念單一,不管是實(shí)體本身還是實(shí)體之間的聯(lián)系都用關(guān)概念單一,不管是實(shí)體本身還是實(shí)體之間的聯(lián)系都用關(guān)系

13、(表)來表示,這些關(guān)系必須是規(guī)范化的,使得數(shù)據(jù)結(jié)系(表)來表示,這些關(guān)系必須是規(guī)范化的,使得數(shù)據(jù)結(jié)構(gòu)非常清晰、簡(jiǎn)單。構(gòu)非常清晰、簡(jiǎn)單。 在用戶的眼中,無(wú)論是原始數(shù)據(jù)還是結(jié)果都是二維表,在用戶的眼中,無(wú)論是原始數(shù)據(jù)還是結(jié)果都是二維表,不用考慮數(shù)據(jù)的存儲(chǔ)路徑。因此,提高了數(shù)據(jù)的獨(dú)立性、不用考慮數(shù)據(jù)的存儲(chǔ)路徑。因此,提高了數(shù)據(jù)的獨(dú)立性、安全性,同時(shí)也提高了開發(fā)效率。安全性,同時(shí)也提高了開發(fā)效率。5面向?qū)ο竽P兔嫦驅(qū)ο竽P?面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)支持面向?qū)ο髷?shù)據(jù)模型。面向?qū)ο髷?shù)面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)支持面向?qū)ο髷?shù)據(jù)模型。面向?qū)ο髷?shù)據(jù)庫(kù)是面向?qū)ο髷?shù)據(jù)庫(kù)技術(shù)和面向?qū)ο蟪绦蛟O(shè)計(jì)相結(jié)合的據(jù)庫(kù)是面向?qū)ο髷?shù)據(jù)庫(kù)技術(shù)和面向

14、對(duì)象程序設(shè)計(jì)相結(jié)合的產(chǎn)物,面向?qū)ο蟮姆椒ㄊ敲嫦驅(qū)ο髷?shù)據(jù)庫(kù)模型的基礎(chǔ),這產(chǎn)物,面向?qū)ο蟮姆椒ㄊ敲嫦驅(qū)ο髷?shù)據(jù)庫(kù)模型的基礎(chǔ),這種數(shù)據(jù)模型能夠適應(yīng)更復(fù)雜的數(shù)據(jù)處理技術(shù)。種數(shù)據(jù)模型能夠適應(yīng)更復(fù)雜的數(shù)據(jù)處理技術(shù)。 面向?qū)ο竽P椭械暮诵母拍钍菍?duì)象(面向?qū)ο竽P椭械暮诵母拍钍菍?duì)象(Object)和類)和類Class)。)。(1)對(duì)象和類。對(duì)象類似于)對(duì)象和類。對(duì)象類似于E-R模型中的實(shí)體,但更為復(fù)雜。模型中的實(shí)體,但更為復(fù)雜。每個(gè)對(duì)象不僅有數(shù)據(jù)特征,還有狀態(tài)(每個(gè)對(duì)象不僅有數(shù)據(jù)特征,還有狀態(tài)(State)特征和行)特征和行為(為(Behavior)特征,并把它們封裝在一起。)特征,并把它們封裝在一起。(2)面

15、向?qū)ο竽P偷膬?yōu)缺點(diǎn)。)面向?qū)ο竽P偷膬?yōu)缺點(diǎn)。2.1.3 數(shù)據(jù)庫(kù)系統(tǒng)模型數(shù)據(jù)庫(kù)系統(tǒng)模型1層次型數(shù)據(jù)庫(kù)層次型數(shù)據(jù)庫(kù)2網(wǎng)絡(luò)型數(shù)據(jù)庫(kù)網(wǎng)絡(luò)型數(shù)據(jù)庫(kù)3關(guān)系型數(shù)據(jù)庫(kù)關(guān)系型數(shù)據(jù)庫(kù) 關(guān)系型數(shù)據(jù)庫(kù)使用的存儲(chǔ)結(jié)構(gòu)是多個(gè)二維表格。表中的一關(guān)系型數(shù)據(jù)庫(kù)使用的存儲(chǔ)結(jié)構(gòu)是多個(gè)二維表格。表中的一行稱為一條記錄或元組,用來描述一個(gè)對(duì)象的信息;表中行稱為一條記錄或元組,用來描述一個(gè)對(duì)象的信息;表中的一列稱為一個(gè)字段或?qū)傩?,用來描述?duì)象的一個(gè)屬性。的一列稱為一個(gè)字段或?qū)傩?,用來描述?duì)象的一個(gè)屬性。2.1.4 關(guān)系數(shù)據(jù)庫(kù)的基本理論關(guān)系數(shù)據(jù)庫(kù)的基本理論1關(guān)系的定義關(guān)系的定義 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是用二維表的形式來表示實(shí)體及實(shí)關(guān)系模型的數(shù)

16、據(jù)結(jié)構(gòu)是用二維表的形式來表示實(shí)體及實(shí)體之間聯(lián)系的數(shù)據(jù)模型。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是由行和列體之間聯(lián)系的數(shù)據(jù)模型。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是由行和列組成的二維表。任意兩行互不相同,列值是不可分的數(shù)據(jù)組成的二維表。任意兩行互不相同,列值是不可分的數(shù)據(jù)項(xiàng),行和列的次序任意。項(xiàng),行和列的次序任意。 (1)表中每一項(xiàng)都必須是不可再分的最小數(shù)據(jù)項(xiàng),這也是)表中每一項(xiàng)都必須是不可再分的最小數(shù)據(jù)項(xiàng),這也是對(duì)關(guān)系的最基本限定。對(duì)關(guān)系的最基本限定。(2)表中不能出現(xiàn)數(shù)據(jù)完全相同的兩行。)表中不能出現(xiàn)數(shù)據(jù)完全相同的兩行。 (3)表中同一列的數(shù)據(jù)類型是相同的,也就是說,列中所)表中同一列的數(shù)據(jù)類型是相同的,也就是說,列中所有分

17、量是同類型的數(shù)據(jù),來自同一值域。如果把每一列稱有分量是同類型的數(shù)據(jù),來自同一值域。如果把每一列稱為一個(gè)屬性,則每一列的列名或?qū)傩悦粦?yīng)該相同。為一個(gè)屬性,則每一列的列名或?qū)傩悦粦?yīng)該相同。(4)表中各行或各列的次序可以任意交換,不改變關(guān)系的)表中各行或各列的次序可以任意交換,不改變關(guān)系的實(shí)際意義。實(shí)際意義。2關(guān)系模型的常用術(shù)語(yǔ)關(guān)系模型的常用術(shù)語(yǔ)(1)關(guān)系()關(guān)系(Relation):一個(gè)關(guān)系通常對(duì)應(yīng)于一張表,):一個(gè)關(guān)系通常對(duì)應(yīng)于一張表,如表如表2-1所示。所示。(2)元組()元組(Tuple):二維表中的一行即為一個(gè)元組):二維表中的一行即為一個(gè)元組(記錄)。(記錄)。(3)屬性()屬性(A

18、ttribute):二維表中的一列即為一個(gè)屬性,):二維表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名。給每一個(gè)屬性起一個(gè)名稱即屬性名。(4)域()域(Domain):屬性的取值范圍稱為該屬性的域。):屬性的取值范圍稱為該屬性的域。屬性的域是由屬性的性質(zhì)及要表達(dá)的意義確定的,如商品屬性的域是由屬性的性質(zhì)及要表達(dá)的意義確定的,如商品的單價(jià)只能取大于零的數(shù)。的單價(jià)只能取大于零的數(shù)。(5)主關(guān)鍵字或主碼()主關(guān)鍵字或主碼(Key):表中的某個(gè)屬性或幾個(gè)):表中的某個(gè)屬性或幾個(gè)屬性組合稱為關(guān)鍵字,它可以唯一確定一個(gè)元組,如產(chǎn)品屬性組合稱為關(guān)鍵字,它可以唯一確定一個(gè)元組,如產(chǎn)品關(guān)系中的產(chǎn)品關(guān)系中

19、的產(chǎn)品ID,可以唯一確定一種產(chǎn)品,因此產(chǎn)品,可以唯一確定一種產(chǎn)品,因此產(chǎn)品ID稱稱為這個(gè)關(guān)系的關(guān)鍵字。為這個(gè)關(guān)系的關(guān)鍵字。(6)外關(guān)鍵字、外鍵或外碼()外關(guān)鍵字、外鍵或外碼(Foreign Key):一個(gè)關(guān)系中):一個(gè)關(guān)系中的屬性或?qū)傩越M合不是本關(guān)系的主碼,而是另一關(guān)系的主碼,的屬性或?qū)傩越M合不是本關(guān)系的主碼,而是另一關(guān)系的主碼,則稱該屬性或?qū)傩越M合是該關(guān)系的外主關(guān)鍵字。則稱該屬性或?qū)傩越M合是該關(guān)系的外主關(guān)鍵字。(7)關(guān)系模式()關(guān)系模式(Relation Schema):對(duì)關(guān)系的描述稱為關(guān)):對(duì)關(guān)系的描述稱為關(guān)系模式,它描述的是二維表的結(jié)構(gòu)。系模式,它描述的是二維表的結(jié)構(gòu)。關(guān)系模式一般表示為

20、:關(guān)系名(屬性關(guān)系模式一般表示為:關(guān)系名(屬性1,屬性,屬性2,屬性,屬性n)例如,上面的關(guān)系可描述為:例如,上面的關(guān)系可描述為:產(chǎn)品(產(chǎn)品產(chǎn)品(產(chǎn)品ID,產(chǎn)品名,類別,產(chǎn)品名,類別ID,單價(jià),庫(kù)存量)。,單價(jià),庫(kù)存量)。在關(guān)系模型中,實(shí)體以及實(shí)體間的聯(lián)系都是用關(guān)系來表示的。在關(guān)系模型中,實(shí)體以及實(shí)體間的聯(lián)系都是用關(guān)系來表示的。例如,學(xué)生、課程、選課之間的多對(duì)多聯(lián)系在關(guān)系模型中可例如,學(xué)生、課程、選課之間的多對(duì)多聯(lián)系在關(guān)系模型中可以表示如下。以表示如下。學(xué)生(學(xué)號(hào),姓名,年齡,性別,專業(yè))學(xué)生(學(xué)號(hào),姓名,年齡,性別,專業(yè))課程(課號(hào),課程名,課時(shí)數(shù))課程(課號(hào),課程名,課時(shí)數(shù))選修(學(xué)號(hào),課

21、程號(hào),成績(jī)選修(學(xué)號(hào),課程號(hào),成績(jī))3關(guān)系的完整性關(guān)系的完整性 數(shù)據(jù)完整性是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性和正確性。數(shù)據(jù)數(shù)據(jù)完整性是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性和正確性。數(shù)據(jù)庫(kù)是否具備完整性涉及數(shù)據(jù)是否正確、可信和一致。關(guān)系庫(kù)是否具備完整性涉及數(shù)據(jù)是否正確、可信和一致。關(guān)系模型的完整性包括實(shí)體完整性、域完整性、參照完整性和模型的完整性包括實(shí)體完整性、域完整性、參照完整性和用戶定義的完整性。用戶定義的完整性。(1)實(shí)體完整性()實(shí)體完整性(Entity Integrity):實(shí)體完整性的目的):實(shí)體完整性的目的是確保數(shù)據(jù)庫(kù)中所有實(shí)體的唯一性,也就是不應(yīng)使用完全是確保數(shù)據(jù)庫(kù)中所有實(shí)體的唯一性,也就是不應(yīng)使用完全

22、相同的數(shù)據(jù)記錄。可以通過設(shè)定主鍵(相同的數(shù)據(jù)記錄??梢酝ㄟ^設(shè)定主鍵(Primary Key)、)、唯一鍵(唯一鍵(Unique Key)、唯一索引()、唯一索引(Unique Index)和)和標(biāo)識(shí)列(標(biāo)識(shí)列(Identity Column)等多種方法來實(shí)現(xiàn)實(shí)體完整)等多種方法來實(shí)現(xiàn)實(shí)體完整性,其中最常用的是使用主鍵。性,其中最常用的是使用主鍵。(2)區(qū)域完整性()區(qū)域完整性(Domain Integrity):區(qū)域完整性是要):區(qū)域完整性是要求數(shù)據(jù)表中的數(shù)據(jù)位于某一個(gè)特定的允許范圍內(nèi)??梢允骨髷?shù)據(jù)表中的數(shù)據(jù)位于某一個(gè)特定的允許范圍內(nèi)??梢允褂媚J(rèn)值(用默認(rèn)值(Default)、核查()、核查

23、(Check)、外鍵()、外鍵(Foreign Key)、數(shù)據(jù)類型()、數(shù)據(jù)類型(Data Type)和規(guī)則()和規(guī)則(Rule)等多種)等多種方法來實(shí)現(xiàn)區(qū)域完整性。方法來實(shí)現(xiàn)區(qū)域完整性。(3)參照完整性()參照完整性(Referential Integrity):參照完整性是):參照完整性是用來維護(hù)相關(guān)數(shù)據(jù)表之間數(shù)據(jù)一致性的手段,通過實(shí)現(xiàn)參用來維護(hù)相關(guān)數(shù)據(jù)表之間數(shù)據(jù)一致性的手段,通過實(shí)現(xiàn)參照完整性,可以避免因一個(gè)數(shù)據(jù)表的記錄改變而造成另一照完整性,可以避免因一個(gè)數(shù)據(jù)表的記錄改變而造成另一個(gè)數(shù)據(jù)表內(nèi)的數(shù)據(jù)變成無(wú)效的值。個(gè)數(shù)據(jù)表內(nèi)的數(shù)據(jù)變成無(wú)效的值。(4)用戶定義完整性:這種數(shù)據(jù)完整性由用戶根據(jù)

24、實(shí)際應(yīng))用戶定義完整性:這種數(shù)據(jù)完整性由用戶根據(jù)實(shí)際應(yīng)用中的需要自行定義??梢杂脕韺?shí)現(xiàn)用戶定義完整性的方用中的需要自行定義。可以用來實(shí)現(xiàn)用戶定義完整性的方法有:規(guī)則、觸發(fā)器、存儲(chǔ)過程和數(shù)據(jù)表創(chuàng)建時(shí)可以使用法有:規(guī)則、觸發(fā)器、存儲(chǔ)過程和數(shù)據(jù)表創(chuàng)建時(shí)可以使用的所有約束(的所有約束(Constraint)。例如,在)。例如,在employee表和表和p_order表中,如果某雇員負(fù)責(zé)的訂單數(shù)超過表中,如果某雇員負(fù)責(zé)的訂單數(shù)超過5個(gè),那么個(gè),那么該雇員的該雇員的“薪水薪水”應(yīng)大于應(yīng)大于5000。4專門的關(guān)系運(yùn)算專門的關(guān)系運(yùn)算 專門的關(guān)系運(yùn)算包括選擇、投影、連接等。專門的關(guān)系運(yùn)算包括選擇、投影、連接等。

25、(1)選擇運(yùn)算()選擇運(yùn)算(Selection)。選擇運(yùn)算是從指定的關(guān)系中,)。選擇運(yùn)算是從指定的關(guān)系中,選取其中滿足條件的若干個(gè)元組,組成新的關(guān)系。選擇的選取其中滿足條件的若干個(gè)元組,組成新的關(guān)系。選擇的結(jié)果是原關(guān)系的一個(gè)子集,且關(guān)系的模型不變。結(jié)果是原關(guān)系的一個(gè)子集,且關(guān)系的模型不變。(2)投影運(yùn)算。投影運(yùn)算是從指定的關(guān)系中,按給定的條件)投影運(yùn)算。投影運(yùn)算是從指定的關(guān)系中,按給定的條件選取若干個(gè)屬性列,從而構(gòu)成一個(gè)新的關(guān)系。選取若干個(gè)屬性列,從而構(gòu)成一個(gè)新的關(guān)系。(3)連接運(yùn)算()連接運(yùn)算(Join)。)。 選擇和投影運(yùn)算都屬于單目運(yùn)算,它們的操作對(duì)象只是一選擇和投影運(yùn)算都屬于單目運(yùn)算,

26、它們的操作對(duì)象只是一個(gè)關(guān)系。連接運(yùn)算是雙目運(yùn)算,需要兩個(gè)關(guān)系作為操作對(duì)個(gè)關(guān)系。連接運(yùn)算是雙目運(yùn)算,需要兩個(gè)關(guān)系作為操作對(duì)象。象。2.1.5 范式理論范式理論 關(guān)系數(shù)據(jù)庫(kù)范式理論是在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中將要依關(guān)系數(shù)據(jù)庫(kù)范式理論是在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中將要依據(jù)的準(zhǔn)則,數(shù)據(jù)庫(kù)結(jié)構(gòu)必須要滿足這些準(zhǔn)則,才能確保數(shù)據(jù)的準(zhǔn)則,數(shù)據(jù)庫(kù)結(jié)構(gòu)必須要滿足這些準(zhǔn)則,才能確保數(shù)據(jù)的準(zhǔn)確性和可靠性。這些準(zhǔn)則被稱為規(guī)范化形式,即范據(jù)的準(zhǔn)確性和可靠性。這些準(zhǔn)則被稱為規(guī)范化形式,即范式。在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中,對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢查和修改并使式。在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中,對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢查和修改并使它符合范式的過程叫做規(guī)范化。它符合范式的過程叫做規(guī)范化

27、。 范式按照規(guī)范化的級(jí)別分為范式按照規(guī)范化的級(jí)別分為5種:種: 第一范式(第一范式(1NF) 第二范式(第二范式(2NF) 第三范式(第三范式(3NF) 第四范式(第四范式(4NF) 第五范式(第五范式(5NF) 在實(shí)際的數(shù)據(jù)庫(kù)設(shè)計(jì)過程中,通常需要用到的是前三類范在實(shí)際的數(shù)據(jù)庫(kù)設(shè)計(jì)過程中,通常需要用到的是前三類范式。式。1 1第一范式第一范式 第一范式要求每一個(gè)數(shù)據(jù)項(xiàng)都不能拆分成兩個(gè)或兩個(gè)以上第一范式要求每一個(gè)數(shù)據(jù)項(xiàng)都不能拆分成兩個(gè)或兩個(gè)以上的數(shù)據(jù)項(xiàng)。例如,教師(編號(hào),姓名,性別,職稱職務(wù))的數(shù)據(jù)項(xiàng)。例如,教師(編號(hào),姓名,性別,職稱職務(wù))并不滿足第一范式,因?yàn)椴⒉粷M足第一范式,因?yàn)椤奥毞Q職務(wù)

28、職稱職務(wù)”屬性可以再分解為屬性可以再分解為職稱、職務(wù)兩個(gè)字段。職稱、職務(wù)兩個(gè)字段。課程編號(hào)課程編號(hào)課程名稱課程名稱課程類別課程類別學(xué)分學(xué)分 授課情況授課情況部門部門教師教師001SQL Server實(shí)用技實(shí)用技術(shù)術(shù) 信息技術(shù)信息技術(shù)3計(jì)算機(jī)應(yīng)用工計(jì)算機(jī)應(yīng)用工程系程系徐人鳳徐人鳳002JAVA技術(shù)的開發(fā)技術(shù)的開發(fā)應(yīng)用應(yīng)用信息技術(shù)信息技術(shù)2計(jì)算機(jī)應(yīng)用工計(jì)算機(jī)應(yīng)用工程系程系程偉彬程偉彬2 2第二范式第二范式 如果一個(gè)數(shù)據(jù)表已經(jīng)滿足第一范式,而且該數(shù)據(jù)如果一個(gè)數(shù)據(jù)表已經(jīng)滿足第一范式,而且該數(shù)據(jù)表中的任何一個(gè)非主鍵字段的數(shù)值都依賴于該數(shù)表中的任何一個(gè)非主鍵字段的數(shù)值都依賴于該數(shù)據(jù)表的主鍵字段,那么該數(shù)據(jù)

29、表滿足第二范式,據(jù)表的主鍵字段,那么該數(shù)據(jù)表滿足第二范式,即即2NF2NF。例如,在。例如,在p_orderp_order表中,數(shù)據(jù)表的主鍵是表中,數(shù)據(jù)表的主鍵是訂單訂單IDID。其中,。其中,“產(chǎn)品名產(chǎn)品名”字段完全依賴于字段完全依賴于“產(chǎn)產(chǎn)品品ID”ID”字段,而不是取決于訂單字段,而不是取決于訂單IDID。課程編號(hào)課程編號(hào)課程名稱課程名稱課程類別課程類別學(xué)分學(xué)分部門部門教師教師001SQL Server實(shí)用技實(shí)用技術(shù)術(shù) 信息技術(shù)信息技術(shù)3計(jì)算機(jī)應(yīng)用工程計(jì)算機(jī)應(yīng)用工程系系徐人鳳徐人鳳002JAVA技術(shù)的開發(fā)應(yīng)技術(shù)的開發(fā)應(yīng)用用信息技術(shù)信息技術(shù)2計(jì)算機(jī)應(yīng)用工程計(jì)算機(jī)應(yīng)用工程系系程偉彬程偉彬 不

30、滿足第二范式的不滿足第二范式的p_order表表訂單ID產(chǎn)品ID產(chǎn)品名 數(shù)量(件)雇員ID客戶ID訂貨日期 27269毛巾 1000011712/05/2006 28156臉盆 500021815/05/2006訂單ID產(chǎn)品ID數(shù)量(件)雇員ID客戶ID訂貨日期 272691000011712/05/2006 28156500021815/05/2006 滿足第二范式的滿足第二范式的p_order表表3第三范式第三范式 如果一個(gè)數(shù)據(jù)表已經(jīng)滿足第二范式,而且該數(shù)據(jù)表中如果一個(gè)數(shù)據(jù)表已經(jīng)滿足第二范式,而且該數(shù)據(jù)表中的任何兩個(gè)非主鍵字段的數(shù)值之間不存在函數(shù)依賴關(guān)的任何兩個(gè)非主鍵字段的數(shù)值之間不存在函

31、數(shù)依賴關(guān)系,那么該數(shù)據(jù)表滿足第三范式,即系,那么該數(shù)據(jù)表滿足第三范式,即3NF。 不滿足第三范式的不滿足第三范式的employee表表雇員ID姓名性別薪水(元)獎(jiǎng)金(元)0001張三男30006000002李四男4000800 滿足第三范式的滿足第三范式的employee表表 雇員ID姓名性別薪水(元)0001張三男30000002李四男4000 通過對(duì)表的規(guī)范化過程可以看出,數(shù)據(jù)表規(guī)范化的程通過對(duì)表的規(guī)范化過程可以看出,數(shù)據(jù)表規(guī)范化的程度越高,數(shù)據(jù)冗余就越小,同時(shí)造成人為錯(cuò)誤的可能性就度越高,數(shù)據(jù)冗余就越小,同時(shí)造成人為錯(cuò)誤的可能性就越??;反之,規(guī)范化的程度越低,在查詢檢索時(shí)需要做的越?。环?/p>

32、之,規(guī)范化的程度越低,在查詢檢索時(shí)需要做的關(guān)系等工作就越多,數(shù)據(jù)庫(kù)在操作過程中需要訪問的數(shù)據(jù)關(guān)系等工作就越多,數(shù)據(jù)庫(kù)在操作過程中需要訪問的數(shù)據(jù)表以及之間的關(guān)系也就越多。因此,在數(shù)據(jù)庫(kù)設(shè)計(jì)的規(guī)范表以及之間的關(guān)系也就越多。因此,在數(shù)據(jù)庫(kù)設(shè)計(jì)的規(guī)范化過程中,要根據(jù)數(shù)據(jù)庫(kù)需求的實(shí)際情況,選擇一個(gè)折衷化過程中,要根據(jù)數(shù)據(jù)庫(kù)需求的實(shí)際情況,選擇一個(gè)折衷的規(guī)范化程度。的規(guī)范化程度。 公司管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)公司管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)的關(guān)鍵環(huán)節(jié)。數(shù)據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)的關(guān)鍵環(huán)節(jié)。數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)是在庫(kù)設(shè)計(jì)的目標(biāo)是在DBMS的支持下,按照數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范的支持下,按照數(shù)據(jù)

33、庫(kù)設(shè)計(jì)規(guī)范化的要求和用戶需求,規(guī)劃、設(shè)計(jì)一個(gè)結(jié)構(gòu)良好、使用方化的要求和用戶需求,規(guī)劃、設(shè)計(jì)一個(gè)結(jié)構(gòu)良好、使用方便、效率較高的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。便、效率較高的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。 數(shù)據(jù)庫(kù)的設(shè)計(jì)一般分為數(shù)據(jù)庫(kù)的設(shè)計(jì)一般分為6步:步: 需求分析需求分析 概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì) 邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì) 物理設(shè)計(jì)物理設(shè)計(jì) 數(shù)據(jù)庫(kù)實(shí)施數(shù)據(jù)庫(kù)實(shí)施 運(yùn)行及維護(hù)運(yùn)行及維護(hù)2 2. .2 2 2.2.1 需求分析需求分析 進(jìn)行數(shù)據(jù)庫(kù)軟件開發(fā),首先要了解與分析用戶需求。需求進(jìn)行數(shù)據(jù)庫(kù)軟件開發(fā),首先要了解與分析用戶需求。需求分析是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)過程的基礎(chǔ),需求分析做得是否準(zhǔn)分析是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)過程的基礎(chǔ),需求分析做得是

34、否準(zhǔn)確與充分將決定數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開發(fā)速度與質(zhì)量。確與充分將決定數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開發(fā)速度與質(zhì)量。 在需求分析階段,將對(duì)需要存儲(chǔ)的數(shù)據(jù)進(jìn)行收集和整理,在需求分析階段,將對(duì)需要存儲(chǔ)的數(shù)據(jù)進(jìn)行收集和整理,并組織建立完整的數(shù)據(jù)集。并組織建立完整的數(shù)據(jù)集。 圖圖2-9 公司銷售的數(shù)據(jù)流程公司銷售的數(shù)據(jù)流程2.2.2 概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì) 概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的關(guān)鍵。它通過概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的關(guān)鍵。它通過對(duì)用戶需求進(jìn)行綜合、歸納和抽象,確定實(shí)體、屬性及它對(duì)用戶需求進(jìn)行綜合、歸納和抽象,確定實(shí)體、屬性及它們之間的聯(lián)系,形成一個(gè)獨(dú)立于具體們之間的聯(lián)系,形成一個(gè)獨(dú)立于具體DBMS并

35、反映用戶需并反映用戶需求的概念模型。實(shí)際上,概念結(jié)構(gòu)設(shè)計(jì)就是將系統(tǒng)需求分求的概念模型。實(shí)際上,概念結(jié)構(gòu)設(shè)計(jì)就是將系統(tǒng)需求分析階段得到的用戶需求抽象為信息結(jié)構(gòu)的過程,一般可以析階段得到的用戶需求抽象為信息結(jié)構(gòu)的過程,一般可以利用利用E-R圖來描述概念結(jié)構(gòu)。圖來描述概念結(jié)構(gòu)。E-R圖是數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)圖是數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)最常用的工具之一。計(jì)最常用的工具之一。 在需求分析的基礎(chǔ)上,用在需求分析的基礎(chǔ)上,用E-R模型表示數(shù)據(jù)及其相互模型表示數(shù)據(jù)及其相互間的聯(lián)系,產(chǎn)生反映用戶信息需求的數(shù)據(jù)模型。概念設(shè)計(jì)間的聯(lián)系,產(chǎn)生反映用戶信息需求的數(shù)據(jù)模型。概念設(shè)計(jì)的目的是準(zhǔn)確地描述應(yīng)用領(lǐng)域的信息模式,支持用戶的各

36、的目的是準(zhǔn)確地描述應(yīng)用領(lǐng)域的信息模式,支持用戶的各種應(yīng)用,概念設(shè)計(jì)的成果是繪制出公司管理數(shù)據(jù)庫(kù)系統(tǒng)的種應(yīng)用,概念設(shè)計(jì)的成果是繪制出公司管理數(shù)據(jù)庫(kù)系統(tǒng)的E-R圖。圖。 通過對(duì)公司管理數(shù)據(jù)庫(kù)的概念設(shè)計(jì),獲得以下兩方通過對(duì)公司管理數(shù)據(jù)庫(kù)的概念設(shè)計(jì),獲得以下兩方面的成果。面的成果。(1)公司管理數(shù)據(jù)庫(kù)需要表述的信息有以下幾種。)公司管理數(shù)據(jù)庫(kù)需要表述的信息有以下幾種。 產(chǎn)品信息產(chǎn)品信息 客戶信息客戶信息 雇員信息雇員信息 訂單信息訂單信息(2)公司管理數(shù)據(jù)庫(kù)系統(tǒng)的)公司管理數(shù)據(jù)庫(kù)系統(tǒng)的E-R模型,如圖所示。模型,如圖所示。2.2.3 邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì) 邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是將概念結(jié)構(gòu)設(shè)計(jì)階段所

37、產(chǎn)生的邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是將概念結(jié)構(gòu)設(shè)計(jì)階段所產(chǎn)生的E-R模型轉(zhuǎn)換為具體的模型轉(zhuǎn)換為具體的DBMS所支持的數(shù)據(jù)模型,并對(duì)該數(shù)所支持的數(shù)據(jù)模型,并對(duì)該數(shù)據(jù)模型進(jìn)行優(yōu)化。據(jù)模型進(jìn)行優(yōu)化。 1轉(zhuǎn)換數(shù)據(jù)表轉(zhuǎn)換數(shù)據(jù)表 利用利用E-R圖到關(guān)系模式轉(zhuǎn)換的有關(guān)知識(shí),將前圖所示的圖到關(guān)系模式轉(zhuǎn)換的有關(guān)知識(shí),將前圖所示的公司管理數(shù)據(jù)庫(kù)系統(tǒng)的公司管理數(shù)據(jù)庫(kù)系統(tǒng)的E-R圖轉(zhuǎn)換為系統(tǒng)的數(shù)據(jù)表。圖轉(zhuǎn)換為系統(tǒng)的數(shù)據(jù)表。 邏輯模式的規(guī)范化和性能優(yōu)化邏輯模式的規(guī)范化和性能優(yōu)化 由由E-R圖轉(zhuǎn)換的數(shù)據(jù)庫(kù)邏輯模型還只是邏輯模式的雛形,圖轉(zhuǎn)換的數(shù)據(jù)庫(kù)邏輯模型還只是邏輯模式的雛形,要成為邏輯模式,還需要進(jìn)行以下幾個(gè)方面的處理。要成為

38、邏輯模式,還需要進(jìn)行以下幾個(gè)方面的處理。(1)對(duì)數(shù)據(jù)庫(kù)的性能、存儲(chǔ)空間等進(jìn)行優(yōu)化。)對(duì)數(shù)據(jù)庫(kù)的性能、存儲(chǔ)空間等進(jìn)行優(yōu)化。產(chǎn)品產(chǎn)品ID產(chǎn)產(chǎn) 品品 名名單價(jià)(元)單價(jià)(元)類類 別別 名名庫(kù)存量庫(kù)存量(件)(件)1牛奶牛奶 2.30飲料飲料 2002冰激凌冰激凌1.50飲料飲料 4003果凍果凍3.00飲料飲料 3004打印紙打印紙40.00計(jì)算機(jī)耗材計(jì)算機(jī)耗材1005墨盒墨盒 200.00計(jì)算機(jī)耗材計(jì)算機(jī)耗材150 產(chǎn)品信息表(產(chǎn)品信息表(product)1產(chǎn)品ID 產(chǎn) 品 名類別ID單價(jià)(元) 類別ID庫(kù)存量(件)1牛奶 12.3012002冰激凌11.5014003果凍13.0013004打

39、印紙240.0021005墨盒 2200.002150 產(chǎn)品信息表(產(chǎn)品信息表(product)2類別ID類別名說明1飲料 軟飲料、咖啡、茶、啤酒和淡啤酒2計(jì)算機(jī)耗材 打印紙等 3日用品牙刷等 4谷類/麥片面包、餅干、生面團(tuán)和谷物 5肉/家禽精制肉6特制品 干果和豆乳 7海鮮海菜和魚 類別信息表(類別信息表(category) 可以看到,通過優(yōu)化后的產(chǎn)品信息不僅避免了數(shù)據(jù)的冗可以看到,通過優(yōu)化后的產(chǎn)品信息不僅避免了數(shù)據(jù)的冗余,而且不會(huì)因修改產(chǎn)生異常。余,而且不會(huì)因修改產(chǎn)生異常。 修改產(chǎn)品信息表(修改產(chǎn)品信息表(product)后的邏輯模式)后的邏輯模式(2)數(shù)據(jù)庫(kù)邏輯模型的規(guī)范化。)數(shù)據(jù)庫(kù)邏輯

40、模型的規(guī)范化。關(guān)系數(shù)據(jù)庫(kù)范式理論是數(shù)據(jù)庫(kù)設(shè)計(jì)的理論指南和基礎(chǔ),是數(shù)關(guān)系數(shù)據(jù)庫(kù)范式理論是數(shù)據(jù)庫(kù)設(shè)計(jì)的理論指南和基礎(chǔ),是數(shù)據(jù)庫(kù)設(shè)計(jì)過程中要依據(jù)的準(zhǔn)則,數(shù)據(jù)庫(kù)結(jié)構(gòu)只有滿足這些準(zhǔn)據(jù)庫(kù)設(shè)計(jì)過程中要依據(jù)的準(zhǔn)則,數(shù)據(jù)庫(kù)結(jié)構(gòu)只有滿足這些準(zhǔn)則,才能確保數(shù)據(jù)的準(zhǔn)確性和可靠性。這些準(zhǔn)則被稱為規(guī)范則,才能確保數(shù)據(jù)的準(zhǔn)確性和可靠性。這些準(zhǔn)則被稱為規(guī)范化形式,即范式?;问?,即范式。 規(guī)范化后的公司管理數(shù)據(jù)庫(kù)邏輯模式規(guī)范化后的公司管理數(shù)據(jù)庫(kù)邏輯模式3確定數(shù)據(jù)表和表中的字段確定數(shù)據(jù)表和表中的字段下面是對(duì)以上下面是對(duì)以上5個(gè)數(shù)據(jù)表進(jìn)行的簡(jiǎn)單定義。個(gè)數(shù)據(jù)表進(jìn)行的簡(jiǎn)單定義。(1)customer表:用來存儲(chǔ)有關(guān)客戶的信息,其結(jié)構(gòu)

41、表:用來存儲(chǔ)有關(guān)客戶的信息,其結(jié)構(gòu)如表所示。如表所示。字 段 名 稱數(shù) 據(jù) 類 型預(yù) 計(jì) 長(zhǎng) 度特 殊 限 制客戶IDint 默認(rèn) 唯一,且不可為空公司名稱 char 聯(lián)系人姓名 char 30 聯(lián)系方式char 8地址char 12 郵編char 30 (2)p_order表:用來存儲(chǔ)有關(guān)訂單的信息,其結(jié)構(gòu)如表:用來存儲(chǔ)有關(guān)訂單的信息,其結(jié)構(gòu)如表所示。表所示。 字 段 名 稱數(shù) 據(jù) 類 型預(yù) 計(jì) 長(zhǎng) 度特 殊 限 制客戶IDint 默認(rèn) 唯一,且不可為空產(chǎn)品ID int 默認(rèn) 數(shù)量 int 默認(rèn) 雇員ID int 默認(rèn) 客戶ID int 默認(rèn) 訂貨日期 datetime 默認(rèn) p_order

42、表表(3)employee表:用來存儲(chǔ)有關(guān)雇員的信息,表:用來存儲(chǔ)有關(guān)雇員的信息,其結(jié)構(gòu)如表所示。其結(jié)構(gòu)如表所示。字 段 名 稱數(shù) 據(jù) 類 型預(yù) 計(jì) 長(zhǎng) 度特 殊 限 制客戶IDint 默認(rèn) 唯一,且不可為空姓名char 8性別 char 2 出生年月 datetime 默認(rèn) 雇傭日期 datetime 默認(rèn) 特長(zhǎng)char 默認(rèn) 薪水 money 默認(rèn) employee表表(4)product表:用來存儲(chǔ)有關(guān)產(chǎn)品的信息,其結(jié)構(gòu)如表所表:用來存儲(chǔ)有關(guān)產(chǎn)品的信息,其結(jié)構(gòu)如表所示。示。字 段 名 稱數(shù) 據(jù) 類 型預(yù) 計(jì) 長(zhǎng) 度特 殊 限 制產(chǎn)品IDint 默認(rèn) 唯一,且不可為空產(chǎn)品名 char 10

43、 類別ID int 默認(rèn) 單價(jià) money 默認(rèn) 庫(kù)存量 int 默認(rèn) product表表(5)category表:用來存儲(chǔ)有關(guān)產(chǎn)品類別的信息,其結(jié)表:用來存儲(chǔ)有關(guān)產(chǎn)品類別的信息,其結(jié)構(gòu)如表所示。構(gòu)如表所示。字 段 名 稱數(shù) 據(jù) 類 型預(yù) 計(jì) 長(zhǎng) 度特 殊 限 制類別ID int 默認(rèn) 唯一,且不可為空 類別名 Char默認(rèn) 庫(kù)存量 char 16 category表表4建立約束建立約束(1)建立主鍵約束,以唯一標(biāo)識(shí)數(shù)據(jù)表的各條記錄。)建立主鍵約束,以唯一標(biāo)識(shí)數(shù)據(jù)表的各條記錄。(2)建立數(shù)據(jù)表之間的關(guān)聯(lián),并根據(jù)建立的關(guān)聯(lián),實(shí)現(xiàn)表)建立數(shù)據(jù)表之間的關(guān)聯(lián),并根據(jù)建立的關(guān)聯(lián),實(shí)現(xiàn)表之間的參照完整性。

44、通過前面實(shí)體關(guān)系的轉(zhuǎn)換,我們建立之間的參照完整性。通過前面實(shí)體關(guān)系的轉(zhuǎn)換,我們建立了數(shù)據(jù)表之間的關(guān)聯(lián),如圖所示。了數(shù)據(jù)表之間的關(guān)聯(lián),如圖所示。公司管理數(shù)據(jù)庫(kù)中表間的關(guān)聯(lián)公司管理數(shù)據(jù)庫(kù)中表間的關(guān)聯(lián)根據(jù)表間關(guān)聯(lián),建立參照完整性,即完整的公司管理數(shù)據(jù)庫(kù)根據(jù)表間關(guān)聯(lián),建立參照完整性,即完整的公司管理數(shù)據(jù)庫(kù)系統(tǒng)的邏輯模式,如圖所示。系統(tǒng)的邏輯模式,如圖所示。完整的公司管理數(shù)據(jù)庫(kù)系統(tǒng)的邏輯模式完整的公司管理數(shù)據(jù)庫(kù)系統(tǒng)的邏輯模式(3)對(duì)表中一些字段建立檢查約束。)對(duì)表中一些字段建立檢查約束。例如,例如,“性別性別”字段值應(yīng)為字段值應(yīng)為“男男”或或“女女”,添加約束,添加約束“check(性別(性別in(男男

45、,女,女)”,訂貨日期應(yīng)在,訂貨日期應(yīng)在系統(tǒng)日期之前,添加約束系統(tǒng)日期之前,添加約束“check(訂貨日期(訂貨日期date())”。2.2.4 物理設(shè)計(jì)物理設(shè)計(jì) 數(shù)據(jù)庫(kù)物理設(shè)計(jì)的任務(wù)是選擇合適的存儲(chǔ)結(jié)構(gòu)和存儲(chǔ)路數(shù)據(jù)庫(kù)物理設(shè)計(jì)的任務(wù)是選擇合適的存儲(chǔ)結(jié)構(gòu)和存儲(chǔ)路徑。物理設(shè)計(jì)的目標(biāo)通常包括兩個(gè)方面:其一是提高數(shù)據(jù)庫(kù)徑。物理設(shè)計(jì)的目標(biāo)通常包括兩個(gè)方面:其一是提高數(shù)據(jù)庫(kù)的性能,以滿足用戶應(yīng)用的需要;其二是有效地利用存儲(chǔ)空的性能,以滿足用戶應(yīng)用的需要;其二是有效地利用存儲(chǔ)空間。一般在物理設(shè)計(jì)階段,設(shè)計(jì)人員主要需要考慮以下內(nèi)間。一般在物理設(shè)計(jì)階段,設(shè)計(jì)人員主要需要考慮以下內(nèi)容。容。1存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)存儲(chǔ)結(jié)構(gòu)設(shè)

46、計(jì)2存取方法設(shè)計(jì)存取方法設(shè)計(jì)2.2.4 物理設(shè)計(jì)物理設(shè)計(jì) 唯一索引保證索引列中的數(shù)據(jù)是唯一的,不包含重復(fù)值。唯一索引保證索引列中的數(shù)據(jù)是唯一的,不包含重復(fù)值。 復(fù)合索引指定多個(gè)列為關(guān)鍵字。當(dāng)兩個(gè)或多個(gè)列最適合作為搜索關(guān)鍵復(fù)合索引指定多個(gè)列為關(guān)鍵字。當(dāng)兩個(gè)或多個(gè)列最適合作為搜索關(guān)鍵字時(shí),則可以考慮創(chuàng)建復(fù)合索引。字時(shí),則可以考慮創(chuàng)建復(fù)合索引。 如果一個(gè)或多個(gè)列在連接操作中經(jīng)常出現(xiàn),則可以考慮在該列上創(chuàng)建如果一個(gè)或多個(gè)列在連接操作中經(jīng)常出現(xiàn),則可以考慮在該列上創(chuàng)建索引。索引。 在經(jīng)常出現(xiàn)查詢條件的列上可以創(chuàng)建索引。在經(jīng)常出現(xiàn)查詢條件的列上可以創(chuàng)建索引。 取值很少或取值分布嚴(yán)重不均勻的列不宜建立索引。取值很少或取值分布嚴(yán)重不均勻的列不宜建立索引。 經(jīng)常更新的列不宜建立索引,因?yàn)楦聲r(shí),相關(guān)的索引也需要做相應(yīng)經(jīng)常更新的列不宜建立索引,因?yàn)楦聲r(shí),相關(guān)的索引也需要做相應(yīng)的修改。的修改。 employee(雇員ID,姓名,性別,出生年月,雇傭日期,特長(zhǎng),薪水) p_order (訂單ID,產(chǎn)品ID,數(shù)量,雇員ID,客戶ID,訂貨日期) Product (產(chǎn)品ID,產(chǎn)品名,類別ID,單價(jià),庫(kù)存量,供應(yīng)商ID) Customer(客戶ID,公司名稱,聯(lián)系人姓名,聯(lián)系方式,地址,郵編) Category (類別ID,類

溫馨提示

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

評(píng)論

0/150

提交評(píng)論