流程第14章數(shù)據(jù)庫設(shè)計_第1頁
流程第14章數(shù)據(jù)庫設(shè)計_第2頁
流程第14章數(shù)據(jù)庫設(shè)計_第3頁
流程第14章數(shù)據(jù)庫設(shè)計_第4頁
流程第14章數(shù)據(jù)庫設(shè)計_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第14章 數(shù)據(jù)庫設(shè)計 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫(Relational databases)是一種數(shù)據(jù)庫,它在一系列二維表中存儲數(shù)據(jù),這些表通過外鍵互相 “關(guān)聯(lián)”。物理數(shù)據(jù)模型稱作模式(schema)。 一個關(guān)系數(shù)據(jù)庫的DDL和DML都稱為SQL(Structures Query Language)。觸發(fā)器(Triggers)是嵌入在表中的程序,當(dāng)修改另一個表時,它就被自動地調(diào)用。存儲過程(Stored procedures)是嵌入在表中的程序,它可以從一個應(yīng)用程序調(diào)用。邏輯數(shù)據(jù)模型物理數(shù)據(jù)模型(數(shù)據(jù)庫模式)數(shù)據(jù)庫設(shè)計的前置條件規(guī)范化 數(shù)據(jù)規(guī)范化數(shù)據(jù)分析(Data analysis)是為將數(shù)據(jù)模型實

2、現(xiàn)成數(shù)據(jù)庫而改進數(shù)據(jù)模型的技術(shù)。 -目標(biāo)是簡單的、無冗余的、靈活的和可擴展的數(shù)據(jù)庫。規(guī)范化(Normalization)是一種數(shù)據(jù)分析技術(shù),該技術(shù)組織數(shù)據(jù)屬性以便它們可以組合起來形成無冗余的、穩(wěn)定的、靈活的并具有適應(yīng)性的實體。 什么是好的數(shù)據(jù)模型?好的數(shù)據(jù)模型是簡單的(simple)。 -描述任何給定實體的數(shù)據(jù)屬性應(yīng)該緊緊描述那個實體。 -一個實體實例的每個屬性只能有一個值。好的數(shù)據(jù)模型基本上是無冗余的(norredundant)。 -除了外鍵,每個數(shù)據(jù)屬性最多在一個實體中描述。 -查出可能以不同名稱(同義詞)被多次記錄的相同的屬性。好的數(shù)據(jù)模型應(yīng)該是靈活的(flexible)而且對未來的需求

3、具有可適應(yīng)性(adaptable)。 規(guī)范化:1NF,2NF,3NF第一范式(First normal form,1NF)-實體的所有屬性對于實體的單個實例都只有一個值。 -任何具有多個值的屬性,實際上描述了獨立的實體,可能是一個實體和 關(guān)系。第二范式(Second normal form,2NF)-實體的所有非主鍵屬性的值都依賴于主鍵。 -任何只部分依賴主鍵的非鍵屬性,應(yīng)該被移到此部分鍵作為全主鍵的實體中??赡苄枰谀P蜕蟿?chuàng)建一個新的實體和關(guān)系。第三范式(Third normal form,3NF)-實體的非主鍵屬性的值不依賴于任何其他非主鍵屬性。 -任何依賴于其他非鍵屬性的非鍵屬性,必須被

4、移除或刪除。新的實體和關(guān)系可能被加入到數(shù)據(jù)模型中。 常規(guī)文件設(shè)計首先完成輸出和輸入設(shè)計。數(shù)據(jù)模型中基本實體將被設(shè)計成主記錄或事務(wù)記錄。 -主文件一般是固定長度記錄。 -數(shù)據(jù)模型中的相關(guān)實體一般合并到事務(wù)記錄形成可變長度記錄。文件訪問和文件組織。 -順序 -索引 -散列 -ISAM/VSAM現(xiàn)代數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫設(shè)計的目標(biāo)數(shù)據(jù)庫應(yīng)該提供對數(shù)據(jù)的有效存儲修改和訪問。數(shù)據(jù)庫應(yīng)該可靠存儲的數(shù)據(jù)應(yīng)該具有高度的完整性,以促進用戶新人數(shù)據(jù)。數(shù)據(jù)庫應(yīng)該支持信息系統(tǒng)的業(yè)務(wù)需求。 數(shù)據(jù)庫模式實體關(guān)系圖(ERD)是數(shù)據(jù)需求的邏輯模型。 -(第8章)實體關(guān)系圖(Entity Relationship Diagram,

5、ERD)是一種利用符號記法按照數(shù)據(jù)描述的實體和關(guān)系來刻畫數(shù)據(jù)的數(shù)據(jù)模型。數(shù)據(jù)庫模式(database schema)是數(shù)據(jù)庫的物理模型或藍圖,是邏輯數(shù)據(jù)模型的技術(shù)實現(xiàn)。 -也稱為物理數(shù)據(jù)模型。音階公司的3NF邏輯數(shù)據(jù)模型初始SoundStage物理數(shù)據(jù)庫模式不同數(shù)據(jù)庫技術(shù)的部分物理數(shù)據(jù)類型Logical Data Typeto be stored in field)Physical Data Type MS AccessPhysical Data TypeMS SQL ServerPhysical Data TypeOracleFixed length character data (use

6、for fields with relatively fixed length character data)TEXTCHAR (size) orcharacter (size)CHAR (size)Variable length character data (use for fields that require character data but for which size varies greatly-such as ADDRESS)TEXTVARCHAR (max size) orcharacter varying (max size)VARCHAR (max size)Very

7、 long character data (use for long descriptions and notes-usually no more than one such field per record)MEMOTEXTLONG VARCHAR orLONG VARCHAR2不同數(shù)據(jù)庫技術(shù)的部分物理數(shù)據(jù)類型Logical Data Typeto be stored in field)Physical Data Type MS AccessPhysical Data TypeMS SQL ServerPhysical Data TypeOracleInteger numberNUMBERI

8、NT (size) orinteger orsmallinteger ortinuintegerINTEGER (size) orNUMBER (size)Decimal numberNUMBERDECIMAL (size, decimal places) orNUMERIC (size, decimal places)DECIMAL (size, decimal places) orNUMERIC (size, decimal places) orNUMBERFinancial NumberCURRENCYMONEYsee decimal numberDate (with time)DATE

9、/TIMEDATETIME orSMALLDATETIMEDepending on precision neededDATECurrent time (use to store the data and time from the computers system clock)not supportedTIMESTAMPnot supported不同數(shù)據(jù)庫技術(shù)的部分物理數(shù)據(jù)類型Logical Data Typeto be stored in field)Physical Data Type MS AccessPhysical Data TypeMS SQL ServerPhysical Dat

10、a TypeOracleYes or No; or True or FalseYES/NOBITuse CHAR(1) and set a yes or no domainImageOLE OBJECTIMAGELONGRAWHyperlinkHYPERLINKVARBINARYRAWCan designer define new data types?NOYESYES 數(shù)據(jù)庫設(shè)計方法檢查邏輯數(shù)據(jù)模型為每個實體創(chuàng)建一張表為每個屬性創(chuàng)建字段為每個主鍵和次鍵創(chuàng)建索引為每個子集準(zhǔn)則創(chuàng)建索引為關(guān)系指定外鍵為每個屬性定義數(shù)據(jù)類型、字段的大小、空或非空、域以及默認(rèn)值創(chuàng)建或組合表以實現(xiàn)超類/子類結(jié)構(gòu)評價并說

11、明訪問完整性 數(shù)據(jù)庫完整性鍵完整性每個表都應(yīng)該有一個主鍵。域完整性必須設(shè)計合適的控制以確保每個字段都有合法值。訪問完整性確保一個表中的一個外鍵值匹配相關(guān)表中的主鍵值 -沒有限制(Delete:None) -刪除:瀑布式(Delete:cascade) -刪除:限制式(Delete:restrict) 只有與之匹配的記錄從相關(guān)的表中刪除,才能刪除該記錄 -刪除:設(shè)置空(Delete:set null) 將相關(guān)記錄中的域置為空值最終的SoundStage物理數(shù)據(jù)庫模式 數(shù)據(jù)庫分布和復(fù)制數(shù)據(jù)分布分析(Data distribution analysis)確定哪些業(yè)務(wù)地點需要訪問哪些邏輯數(shù)據(jù)實體和屬性

12、。 -基本分布方式: 集中(Centralization) 水平分布(Horizontal distribution) 垂直分布(Vertical distribution) 復(fù)制(Replication) 規(guī)劃數(shù)據(jù)庫容量對于每個表,求和字段大小,得到的就是表的記錄大小。對于每個表,記錄大小乘上要被包含的表中的實體實例數(shù)量,得到的就是表大小。求和表大小,得到的就是數(shù)據(jù)庫大小。作為備選,加上一個空間余量緩沖(例如,10%),以考慮未預(yù)期的因素或者上面的不正確估計,得到的就是預(yù)期的數(shù)據(jù)庫容量。SQL DDL CodeCREATE TABLE dbo.ClassCodes (ClassID Inte

13、ger Identity(1,1) NOT NULL,DepartmentCodeID varchar (3) NOT NULL ,SectionCodeID varchar (2) NOT NULL ,ClassCodeID varchar (5) NOT NULL ,GroupCodeID varchar (1) NOT NULL ,ClassDescription varchar (50) NOT NULL ,ValidOnLine bit NULL ,LastUpdated smalldatetime NULL ) ON PRIMARYGOAlter Table dbo.ClassCo

14、des Add Constraint pk_classcodes Primary Key (ClassID)Alter Table dbo.ClassCodes Add Constraint df_classcodes_groupcodeid Default A for GroupCodeID Alter Table dbo.ClassCodes Add Constraint fk_classcodes_sectioncodes Foreign Key (DepartmentCodeID,SectionCodeID) References SectionCodes(DepartmentCodeID,SectionCodeID)Alter Table dbo.Clas

溫馨提示

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

最新文檔

評論

0/150

提交評論