资料库系统课程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4-5 反正規化  【引言】 正規化只是建立資料表的原則,而非鐵律。如果過度正規化,反而導致資料存取的效率下降。因此,如果要以執行效率(查詢速度)為優先考量時,則我們還必須適當的反正規化(De-normalization)。 有時,過度的正規化,反而會造成資料處理速度上的困擾,因此,當我們在進行資料庫正規化的同時,可能也必須要測試系統執行效率,當效率不理想時,必須做適當的反正規化,亦即將原來的第三階正規化降級為第二階正規化,甚至降到第一階正規化。但是,在進行反正規化的同時,可以也會造成的資料重覆性問題。 4-5 反正規化續  【定義】將原來的第三階正規化降級為第二階正規化,甚至降到第一階 正規化。 【使用時機】查詢比例較大的環境。 【分析】 1.對「資料異動」觀點 當正規化愈多層,愈有利於資料的異動(包括:新增、修改及刪除), 因為異動時只需針對某一個較小的資料表,可以避免資料的異常現象。 2.對「資料查詢」觀點 當正規化愈多層,愈不利於資料的查詢功能,因為資料查詢時往往 會合併許多個資料表,導致查詢效能降低。 因此,「正規化論理」與「查詢合併原理」是存在相互衝突。 【舉例】 假設我們在進行正規化時,特別將「客戶資料表」中的「地址」分割成以下欄位: 1正規化關聯 客戶資料表(編號,姓名,郵遞區號) 地址明細表(郵遞區號、城市、路名) 【優點】可以直接從每一位欄位當作「關鍵字」來查詢。 【例如】查詢「高雄市」或查詢「806」或查詢「和平路」等。 【適用時機】租屋網站;可以讓使用者進行「進階」查詢。 【缺點】如果要查詢的資訊是要合併多個資料表時,將會影響執行效率。 因此,一般的做法還是讓地址「反正規化」。 2反正規化關聯 客戶資料表(編號,姓名,郵遞區號、城市、路名) 4-6 結語  基本上,建立E-R Model後已經可以達到正規化的前三階(1NF,2NF,3NF)或是BCNF的步驟。因此,我們必須瞭解建立完整的資料庫結構,可以用兩種方法來建構: 1. E-R Model (第三章介紹) 2. 資料庫正規化 (第四章介紹)?驗證E-R Model是否達到最佳化 4-6 結語續  1.如果是剛成立的企業想要電腦化,則是要從需求訪談開始,將訪談的資料需求進行分析(情境),然後建立實體關係模式(ER圖),接下來依照關聯式的規則,對映成資料表。筆者認為如果步驟一到步驟三都有確實時,對映後的資料表會與正規化的表格是一樣的。所以,正規化的步驟就不一定要進行。如下圖所示: 4-6 結語續  2.如果某一企業早期已經人工作業,並且使用許多表單,筆者建議,可以直接進行正規化。但是,如果人工作業的表單沒有完全依照企業的需求的設計時,則筆者建議,還是要依照步驟一到步驟三來進行。如下圖所示: 4-6 結語續  3.步驟四的資料表正規化 為了達到資料庫最佳化的目的, 在轉換資料表後, 能依照正規化的步驟重新檢驗一次, 最好讓每一個資料表都能符合 BCNF (Boyce-Codd Normal Form) 的規範。如下圖所示: * 各位同學大家好,我是李春雄老師,本學期所開設的課程名稱為「資料結構」, 今天所要為各位介紹的是第一章「資料結構導論」 * 開始: 本章學習目標 有二項: * 1-1 認識資料與資訊的關係: 其中,「資料」轉換成「資訊」必須要經過一連串處理過程,而這一連串的處理過程就是透過「程式」來處理。 1-2 何謂資料結構? 「資料結構」(Data Structures)主要是探討如何將資料更有組織地存放到電腦記憶體中,以提昇程式之執行效率的一 門學問。 1-3 何謂演算法?演算法就是「解決問題的方法」 1-4 程式設計概念: 步驟1. 分析所要解決的問題 步驟2. 設計解題的步驟 步驟3. 編寫程式 步驟4. 上機測試、偵測錯誤 步驟5. 編寫程 式說明書 1-5 結構化程式設計 利用「由上而下」的技巧,將程式分解成許多個獨立功能的模組。並且每一個模組都是由三種結構所組成。分別為循序結構、選擇結構及重複結構。 1-6 演算法的效率評估 指用來計算某些演算法所撰寫的程式,在經過編譯之後,實際執行所需要的時間。 * * * * * * * * * * * * * * * * * * * * * *

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档