- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.2經由VIEW來作處理-中央大學管理學院
高等資料庫報告
景觀(Views)
指導老師:陳彥良 教授 學生:王嘉隆
中華民國 八十八 年 三 月 十五 日
~~目錄~~
第一章 概論
第一章 概論
1.1 資料庫系統
為何使用資料庫系統?它有何好處?以下先對使用資料庫系統的好處作一說明,使用資料庫系統的好處如下:
1. 可以減少重複。
2. 可以避免(至某一程度)不一致。
3. 資料可以共用。
4. 可以強迫遵循標準。
5. 安全性限制可以實行。
6. 完整性可以維持。
7. 互相牴觸的需求可以平衡。
8. 資料獨立。
其中第八點--資料獨立,是資料庫的一個主要目標。我們可以將資料獨立定義為:當儲存結構和存取策略變動時,應用系統對此種變動的免疫力---即應用程式必須不依賴於(或獨立於)任一特定的儲存結構或存取策略。基於下列兩個理由,在資料庫系統中並不希望資料是相依的:
1. 不同的應用對於相同的資料而言,有時需要不同的景觀(View)。例如在企業使用整合資料庫前有A、B兩種應用,兩者各自擁有一個包含『客戶餘額』欄位的資料檔案。假設應用A以十進位記錄其值,應用B以二進位記錄其值。只要DBMS能夠執行實際的儲存方法(也許是十進位、二進位或其他方法)和每一應用所希望的形式間的轉換,那麼就可以整合這兩個檔(並且去掉重複部份)。例如若決定以十進位方式儲存此值,則B所做的存取都需要經過一次轉換(十進位變二進位或二進位變十進位)。
2. 當使用者的需求改變時,資料庫管理員必須能自由地改變資料結構或存取策略(或兩者)而不必去修改現有的應用程式。例如:加入新的資料種類、採行新的標準、以及新輔助儲存體的問世...等等。若應用程式是資料相依,則這些改變就牽涉到程式的改變,也因此耗盡程式師的心力,導致無法建立新的應用。甚至在今日的機構裡,百分之二十五或更多的程式規劃心力花在這種維護上仍是平常而易見的;這是對極昂貴資源的一種浪費。
1.2 資料庫的架構
為什麼使用資料庫系統有這些好處呢?首先我們對資料庫系統的架構作一個說明,此一架構對描述一般的資料庫系統和解說特定的系統非常有用,但我們並不主張所有的系統都完全適用於這個特定的架構,也不意謂這一架構是唯一可能的架構方式。小系統當然不會擁有這架構的所有部份。不過,此架構似乎很適合大部份的系統。
圖1.1:資料庫架構的三個層次
資料庫系統的架構通常分為三個層次:
內層(internal level)
概念層(conceptual level)
外層(external level)(詳見圖1.1)。
大略的說:
1. 內層最接近實際儲存體,這一層考慮資料的實際儲存方式。
2. 外層最接近使用者,處理個別使用者觀看資料的方式。
3. 概念層則介於兩者之間的間接層。
如果我們說外層是個別使用者的觀點,則概念層就是群體(community)使用者的觀點。換言之,會有很多的『外部景觀』(external view),而只有一個『概念景觀』(conceptual view);其中外部景觀是資料庫某一部份的抽象代表,而概念景觀是整個資料庫的類似抽象代表(請注意,大多數使用者對整個資料庫並不感興趣,他只關心某一有限部份)。同樣的,也只有一個『內部景觀』(internal view)來表示整個實際儲存的資料庫。
現在讓我們由外層開始,詳細檢視這三個層次。圖1.2表示了它的主要元件及其間的關係,以下我們一一來討論這三個層次,以及層次間的對映。
圖1.2:資料庫系統架構
一、外層
外層是有關個別使用者的層次。使用者可以是應用程式設計師或是各種類型的線上終端機使用者。DBA只是其中一個特例(與一般的使用者不同,DBA必須對概念層及內層都要有興趣及瞭解)。每一使用者各有其所使用的語言:對應用程式設計師而言,通常是使用傳統的程式語言;對終端使用者而言,則通常是查詢語言或適應使用者需求而由線上應用程式支援的特殊用途語言,如表格式或功能表式的語言。
就我們的目地而言,重要的是這些語言必須包括資料次語言(Data SubLanguage),亦即整個語言中關於資料庫物件和運算的一個子集。資料次語言一般是內嵌於主語言(Host Language)之中,而由主語言負責提供所有非資料庫的功能,例如暫時變數、計算方面的運算、if-then-else邏輯等。一個系統也許提供多個主語言及多個次語言。
原則上,任何一個資料次語言至少是下列兩部份的組合:
1.資料定義語言(Data Definition Language,或DDL),提供對資料庫物件的定義或描述;
2.資料處理語言(Data Manip
文档评论(0)