




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫生命周期數(shù)據(jù)庫的生命周期主要分為四個(gè)階段:需求分析、邏輯設(shè)計(jì)、物理設(shè)計(jì)、實(shí)現(xiàn)維護(hù)。數(shù)據(jù)庫的物理設(shè)計(jì), 包括索引的選擇與優(yōu)化、 數(shù)據(jù)分區(qū)等內(nèi)容。這些內(nèi)容也非常豐富,而且可以自成體系,園子里也有很多好文章,故在本系列中不作主要關(guān)注。 本文最后將給出一些鏈接供大家參考。數(shù)據(jù)庫生命周期的四個(gè)階段又能細(xì)分為多個(gè)小步驟,我們配合圖(1)來看看每一小步包含的內(nèi)容。階段1需求分析數(shù)據(jù)庫設(shè)計(jì)與軟件設(shè)計(jì)一樣首先需要進(jìn)行需求分析。我們需要與數(shù)據(jù)的創(chuàng)造者和使用者進(jìn)行訪談。對訪談獲得的信息進(jìn)行整理、分析,并撰寫正式的需求文檔。需求文檔中需包含: 需要處理的數(shù)據(jù);數(shù)據(jù)的自然關(guān)系;數(shù)據(jù)庫實(shí)現(xiàn)的硬件環(huán)境、 軟件平臺(tái)階段
2、2邏輯設(shè)計(jì)使用ER或UML建模技術(shù),創(chuàng)建概念數(shù)據(jù)模型圖,展示所有數(shù)據(jù)以及數(shù)據(jù)間關(guān)系。最終概 念數(shù)據(jù)模型必須被轉(zhuǎn)化為范式化的表。數(shù)據(jù)庫邏輯設(shè)計(jì)主要步驟包括:學(xué)習(xí)參考a)概念數(shù)據(jù)建模在需求分析完成后,使用 ER圖或UML圖對數(shù)據(jù)進(jìn)行建模。使用 ER圖或UML圖描述需求中 的語義,即得到了數(shù)據(jù)概念模型( Conceptual Data Model ),例如:三元關(guān)系(ternary relat ionships )、超類(supertypes )、子類(subtypes )等。eg:零售商視角,產(chǎn)品/客戶數(shù)據(jù)庫的ER模型簡圖注:ER圖的含義,以及詳細(xì)標(biāo)記方法將在該系列的下一篇博文中進(jìn)行討論(3)階段
3、 2(a)b)多視圖集成概念數(shù)據(jù)建當(dāng)在大型項(xiàng)目設(shè)計(jì)或多人參與設(shè)計(jì)的情況下,會(huì)產(chǎn)生數(shù)據(jù)和關(guān)系的多個(gè)視圖。這些視圖必須進(jìn)行化簡與集成,消除模型中的冗余與不一致,最終形成一個(gè)全局的模型。多視圖集成可以使用ER建模語義中的同義詞 (synonyms)、聚合(aggregation)、泛化(generalization) 等方法。多視圖集 成在整合多個(gè)應(yīng)用的場景中也非常重要。eg:集成零售商ER圖與客戶ER圖零售商ER圖如圖(3)所示??蛻粢暯?,產(chǎn)品/客戶數(shù)據(jù)庫的ER模型簡圖如下:(4)以客戶為關(guān)注點(diǎn)繪制的E注:現(xiàn)在市面上有許多輔助建模工具可以繪制(4)相同語義的 ER圖如下:ER圖。使用 Sybase
4、的PowerDesigner 繪制與圖placesorder其標(biāo)記法與圖(4)中略有不同,這將在今后的博文中加以說明。這里需要指出的是輔助軟件的使用不是設(shè)計(jì)的核心,大家不要被這些工具迷惑。所以后文中我們將主要使用手繪。只要掌握了ER圖的語義,使用這些軟件都不會(huì)是件難事。學(xué)習(xí)參考集成零售商ER圖與客戶ER圖多視圖集成圖(5)階段2(b)c)轉(zhuǎn)化概念數(shù)據(jù)模型為 SQL表根據(jù)映射規(guī)則,把ER圖中的實(shí)體與關(guān)系轉(zhuǎn)化為SQL表結(jié)構(gòu)。在這一過程中我們將識(shí)別冗余的表,并去除這些表。eg:把圖(5)中的 customer, product, salesperson 實(shí)體轉(zhuǎn)化為 SQL 表Customercust
5、-noProductprod-noprod-nameqtn-stock階段2(c)轉(zhuǎn)化概念數(shù)據(jù)模型為SQL表圖(6)create table customer (cust_no integerT cust_name char(15). cust_addr char(30)fd)范式化范式化是數(shù)據(jù)庫邏輯設(shè)計(jì)中的重要一步。范式化的目標(biāo)是盡可能去除模型中的冗余信息,從而消除關(guān)系模型更新、插入、刪除異常( anomalies )。講到范式化就會(huì)引出函數(shù)依賴(Functional Dependency )這一概念。函數(shù)依賴 (FDs)源自于概念數(shù)據(jù)模型圖,反映了需求分析中的數(shù)據(jù)關(guān)系語義。不同實(shí)體之間的函
6、數(shù)依賴表示各個(gè)實(shí)體唯一鍵之間的依賴。實(shí)體內(nèi)部也有函數(shù)依賴,反映了實(shí)體中鍵屬性與非鍵屬性之間的依賴。在保證數(shù)據(jù)完整性約束的前提下,基于函數(shù)依賴對候選表進(jìn)行范式化(分解、降低數(shù)據(jù)冗余)。eg:對圖(6)中的 Salesperson表進(jìn)行范式化,消除更新異常( update anomalies )學(xué)習(xí)參考Salespersonsales-nameaddrdeptjob-levelSales-vacation圖(7)階段2(d)范式化階段3物理設(shè)計(jì)數(shù)據(jù)庫物理設(shè)計(jì)包括選擇索引,數(shù)據(jù)分區(qū)與分組等。邏輯設(shè)計(jì)方法學(xué)通過減少需要分析的數(shù)據(jù)依賴,簡化了大型關(guān)系數(shù)據(jù)庫的設(shè)計(jì),這也減輕了數(shù)據(jù)庫物理設(shè)計(jì)階段的壓力。1
7、.概念數(shù)據(jù)建模和多視圖集成準(zhǔn)確地反映了現(xiàn)實(shí)需求場景2 .范式化在模型轉(zhuǎn)化為 SQL表的過程中保留了數(shù)據(jù)完整性數(shù)據(jù)庫物理設(shè)計(jì)的目標(biāo)是盡可能優(yōu)化性能。物理設(shè)計(jì)階段,全局表結(jié)構(gòu)可能需要進(jìn)行重構(gòu)來滿足性能上的需求,這被稱為反范式化。反范式化的步驟包括:1 .辨別關(guān)鍵性流程,如頻繁運(yùn)行、大容量、高優(yōu)先級的處理操作2 .通過增加冗余來提高關(guān)鍵性流程的性能3 .評估所造成的代價(jià)(對查詢、修改、存儲(chǔ)的影響)和可能損失的數(shù)據(jù)一致性階段4數(shù)據(jù)庫的實(shí)現(xiàn)維護(hù)當(dāng)設(shè)計(jì)完成之后,使用數(shù)據(jù)庫管理系統(tǒng)(DBMS )中的數(shù)據(jù)定義語言(DDL )來創(chuàng)建數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)庫創(chuàng)建完成后,應(yīng)用程序或用戶可以使用數(shù)據(jù)操作語言( DML )來使
8、用(查詢、修改 等)該數(shù)據(jù)庫。一旦數(shù)據(jù)庫開始運(yùn)行, 就需要對其性能進(jìn)行監(jiān)視。當(dāng)數(shù)據(jù)庫性能無法滿足要求或用戶提出新的功能需求時(shí),就需要對該數(shù)據(jù)庫進(jìn)行再設(shè)計(jì)與修改。這形成了一個(gè)循環(huán):監(jiān)視-> 再設(shè)計(jì)-> 修改-> 監(jiān)視。學(xué)習(xí)參考在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)之前,我們先回顧一下關(guān)系數(shù)據(jù)庫的相關(guān)基本概念。這里只做一個(gè)提綱挈領(lǐng)的簡介,大家可以根據(jù)相應(yīng)的線索進(jìn)行擴(kuò)展。表、行、列關(guān)系數(shù)據(jù)庫可以想象成表的集合,每個(gè)表包含行與列。(可以想象成一個(gè) Excel workbook ,包含多個(gè)worksheet )。表在關(guān)系代數(shù)中被稱為關(guān)系,這也是關(guān)系數(shù)據(jù)庫名稱的起源(不要與表之間的外鍵關(guān)系混淆)。列在關(guān)系代數(shù)
9、中被稱為屬性(attribute )。列中允許存放的值的集合稱為列的域(域與數(shù)據(jù) 類型密切相關(guān),但并不完全相同)。行在關(guān)系代數(shù)中的學(xué)名是元組(tuple )。關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)來自于關(guān)系代數(shù)但在關(guān)系代數(shù)中,一個(gè)集合的各個(gè)元組沒有次序的概念,在關(guān)系數(shù)據(jù)庫中為了方便使用,定義了行的次序。鍵、索引鍵是一種約束,目的是保證數(shù)據(jù)完整性1 .復(fù)合鍵(Compound key):由多個(gè)數(shù)據(jù)列組成的鍵2 .超鍵(Superkey ):列的集合,其中任何兩行都不會(huì)完全相同3 .候選鍵(Candidate key):首先是一個(gè)超鍵,同時(shí)這個(gè)超鍵中的任何列的缺失都會(huì)破壞行的 唯一性4 .主鍵(Primary ke
10、y):指定的某個(gè)候選鍵索引是數(shù)據(jù)的物理組織形式,目的是提高查詢的性能約束基本約束not null constraint, domain constraint檢查約束(Check Constraints )eg: Salary > 0主鍵約束(Primary Key Constraints )實(shí)體完整性(entity integrity ),沒有兩條記錄是完全相同的,組成主鍵的字段不能為null學(xué)習(xí)參考唯一性約束(Unique Constraints )外鍵約束(Foreign Key Constraints )也被稱為引用完整性約束,eg:Major IDMajor NameComputerSccencefeycholog/關(guān)系數(shù)據(jù)庫操作1 .選擇(Selection )2 .映射 P Projection )3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年生豬出欄面試試題及答案
- 基坑沙土置換施工方案
- grc輕質(zhì)隔墻施工方案
- 5年級說明文例文
- cba實(shí)驗(yàn)環(huán)境要求
- 單面墻模板施工方案
- 瀝青路面灌縫施工方案
- 余江標(biāo)識(shí)標(biāo)牌施工方案
- 石籠擋墻施工方案
- 2025年新疆塔城地區(qū)單招職業(yè)傾向性測試題庫必考題
- 《小米市場營銷策略》課件
- 2025年湖南高爾夫旅游職業(yè)學(xué)院單招職業(yè)技能測試題庫附答案
- 雙均線策略(TBQ版)
- 2024年05月山東威海市商業(yè)銀行科技類社會(huì)招考筆試歷年參考題庫附帶答案詳解
- 2025年八省聯(lián)考云南高考生物試卷真題答案詳解(精校打印)
- 兒童長時(shí)間使用電子產(chǎn)品的安全
- 中國革命戰(zhàn)爭的戰(zhàn)略問題(全文)
- 申菱單元式空調(diào)機(jī)樣本
- 《統(tǒng)計(jì)計(jì)算》課程教學(xué)大綱
- 07FS02防空地下室給排水設(shè)施安裝
- 工程客戶問題處理管理制度
評論
0/150
提交評論