




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、資料庫系統之理論與實務曾守正、周韻寰Agenda資料庫系統關聯式資料模式的資料結構關聯式資料模式的整合限制條件Agenda資料庫系統關聯式資料模式的資料結構關聯式資料模式的整合限制條件前言資料(Data)、資訊(Information)、知識(Knowledge)資料庫(Database):電腦化後的電子檔案櫃資料庫管理系統(Database Management System, DBMS) :在電腦中幫我們管理資料庫的系統新增、擷取、更改、刪除資料庫的應用DSS 、SIS 、ES 、GIS 、EIS 、Multimedia IS 、etc 建構一個資料庫系統的目的透過電腦化的方式將資料集中控
2、制、管理以集中方式存取資料讓應用程式不受資料的真實存放方式所牽絆,也就是希望能達到所謂資料獨立資料庫系統的組成使用者直接使用者(End Users) :結構化查詢語言(Structural Query Language, SQL)、表單方式(Menu-driven) 、或表格方式(Form-driven)應用程式(Application Programs) :以高階語言呼叫系統所提供的資料庫存取程式、將結構化查詢語言嵌入高階語言、4GL資料庫管理師(Database Administrator, DBA) :決定資料的儲存結構、提供企業一個由中央控制的整合資料庫、監督並調整資料庫的效能、安全性
3、控制與整合性檢查、資料備份、舊資料轉換資料運算資料(Operational Data)使用者產生:系統目錄(System Catalog 或稱Data Dictionary)系統產生異動紀錄(Transaction Log)硬體軟體:資料庫管理系統(DBMS)、應用程式(Application Programs)使用資料庫系統的優點簡潔性增加擷取資料的速度最新的資料(Up-to-date Information)減少大量重複儲存的資料減少不一致的資料資料得以共享達成文書資料標準化的目的保密性(Security)資料具有整合性(Integrity)提供決策支援服務(Decision Suppor
4、t)達成資料獨立(Data Independence)目標可透過適當的資料模式(Data Models)將資料之間的複雜關係表現出來可快速地備份(Backup)與回覆(Recovery)資料庫中的資料針對不同人的需求提供不同的視界(View)使用資料庫系統的缺點若無良好的控制,安全堪慮若無良好的控制,資料的正確性令人擔憂需要額外的經費來購買電腦硬、軟體電腦與資訊管理部門扛起所有責任,負擔愈來愈重系統一旦停擺後,則整個企業組織也整個跟著癱瘓整個系統可能日益複雜,造成後來的過度膨脹,引發管理上的困難,以致於降低系統的效益人的因素才是最大的變數,資訊技術反而不是系統建置與運轉時的最大考量資料安全的維
5、護威脅資料安全的原因天然災害機件故障人為過失惡意破壞電腦犯罪原因制定安全對策時考量之重點制定安全對策時可能產生之行政問題資料獨立 (Data Independence)資料相依:只要資料的儲存結構(Internal Data Structure)或存取方式(Access Method)一更改,則其應用程式就必須跟著修改,才能繼續使用不希望應用程式為資料相依的理由不同應用對相同的資料可能會有不同的視界(Views)為了因應日新月異的需求,資料庫管理師(DBA)應具有改變儲存結構(Storage Structure)和存取技術(Access Techniques)的自由ANSI/SPARC的資料庫
6、系統架構直接使用者直接使用者直接使用者外部層(一)外部層(二)外部層(三)概念層內部儲存結構內部層概念層與內部儲存結構之間的映對外部層與概念層儲存結構之間的映對使用者所看到的部份資料庫概念上的完整資料庫真實儲存體完整的資料庫系統架構內部層(Internal Level):所代表的是實際儲存資料的結構外部層(External Level):則代表使用者所看到的部份概念層(Conceptual Level):為內部層與外部層之間的橋樑(此部份可看成是DBA所看到的整體部份)各層的資料定義,也就是所謂的綱要(Schema)定義與其間的映對是由DBA來負責維護上至使用者端的服務介面,下至內部的儲存構造
7、管理則是由資料庫管理系統來負責概念層以上的綱要設計一般稱為邏輯資料庫設計(Logical Database Design)而內部層的綱要與儲存結構之訂定則稱為 實體資料庫設計 (Physical Database Design)外部層(The External Level)關聯式資料庫系統在呼應此外部層方面,是以架在基底關聯表(Base Tables)上的視界(Views)來呈現給使用者虛構的關聯表(Virtual Tables)使用者與關聯式資料庫管理系統的溝通對於直接使用者而言:使用SQL或以系統提供的表單型式Form直接對資料庫做查詢對於應用程式而言:使用4GL或嵌在高階語言程式的SQL
8、來存取資料前置處理器(Preprocessor)將SQL的語法轉換成資料庫系統提供的資料庫存取函式庫概念層 (The Conceptual Level)整個資料庫內含資訊的表示法,基本上是由DBA來負責維護與管理以關聯式資料庫管理系統的概念層來說,系統是以表格方式呈現給使用者看基底關聯表(Base Table):存放資料整合限制條件(Integrity Constrains):防止不正確的資料被寫入以SQL來定義內部層 (The Internal Level)DBA要考慮那些資料需要加上索引(Index),以增進擷取效率要採用何種內部儲存技術:B+ Tree或Hash-based method
9、s在磁碟上如何將資料叢聚(Clustering)在一起,以增進存取效率各層之間的映對 (Mappings)各層之間的映對乃是協助我們達到資料獨立這個目標的主要基礎內部層/概念層之間的映對(Internal/Conceptual Mapping)概念層/外部層之間的映對(Conceptual/External Mapping)各層間的映對定義均放在系統目錄(System Catalog)下,由DBA負責管理與維護資料庫管理系統 (DBMS)是一種軟體,負責處理所有使用者存取資料庫的要求分析要求依序檢查使用者的外部層綱要、相對的外部層/概念層映對、概念層綱要、概念層/內部層映對、以及資料的儲存結構
10、然後才對儲存的資料庫執行該做的動作基本功能當兩個以上的要求同時出現時,資料庫管理系統還必須具有處理異動(Transaction)的能力,才不會導致資料庫內的資料錯亂異動的管理 (Transaction Management)單元性(Atomicity)一個異動的所有運算動作不是全部做完,就是完全不做並行性(Concurrency)多個異動可以同時執行,但是要做好並行控制讓執行不受並行的影響,產生宛如異動循序個別執行的結果隔離性(Isolation)一個異動在尚未完全委任(Commit)前的中間執行結果不得讓其它同時在執行的異動存取,以防止異動因交錯執行而產生錯誤,或引發連鎖撤回反應持續性(Du
11、rability)如果異動執行過程完全正常,但在透過委任命令指揮資料庫管理系統,將異動結果反應到資料庫的過程中,系統卻發生錯誤,那麼系統回復後,就應當將原來未做的後續動作完成異動紀錄(Transaction Log)基本功能有組織地將資料儲存起來有效地管理資料庫的綱要提供一套高階的查詢語言供使用者使用資料定義語言(Data Definition Language, DDL)資料操作語言(Data Manipulation Language, DML)資料控制語言(Data Control Language, DCL)做好異動的管理做好資料的安全管制密碼、使用權、使用視界(Views)提供備份和
12、確保資料正確性的工具提供使用者資料獨立的特性提供DBA用來管理系統與資料庫的工具資料庫管理系統與檔案系統間的差別多出的功能提供定義資料記錄與欄位的功能提供處理資料記錄與欄位的功能提供資料記錄與欄位的保密與整合功能提供系統目錄的管理功能提供異動管理(Transaction Management)與資料回復(Recovery)的功能提供優秀而快速的資料存取與管理功能檔案系統難以達到資料獨立的目標著名的關聯式資料庫管理系統Agenda資料庫系統關聯式資料模式的資料結構關聯式資料模式的整合限制條件關聯表綱要簡介關聯式資料模式的資料結構就是以表格式的方式來組織資料,稱之為關聯表(Relations)id
13、booknameauthorpricepublisher1三國演義羅貫中120古文出版社2水滸傳施耐庵170中庸出版社3紅樓夢曹雪芹170春秋出版社4西遊記吳承恩140聊齋出版社5水經注酈道元120易經出版社6道德經老子190大唐出版社Books關聯表名稱主鍵值組屬性名稱屬性值關聯表值域值域值域值域值域關聯表的內容關聯表名稱(Relation Name)屬性(Attribute)屬性名稱(Attribute Name):資料型態(Data Type) :屬性集(Attribute Set) :維度(Degree) :值域(Domain) :定義合法的資料值值組(Tuple)紀錄(Record)
14、關鍵表的大小(Cardinality)主鍵:屬性子集主鍵 (Primary Key)主鍵是關聯表中用來區別值組的識別值(Identifier)每一個值組的主鍵值在關聯表中都是唯一的主鍵是由屬性集的子集所構成一個屬性(Attribute)整個屬性集值域 (Domains)值域是由一個由同一類型的數值(不可以是集合)所構成的集合單一值域(Simple Domain)integerchar(5)複合值域(Composite Domain)由兩個以上的值域做卡笛生乘績(Cartesian Product)而得值域可以防止使用者錯將不同類型的值拿來運算或比較,相當於在程式語言中做型態檢查(Type Ch
15、ecking)一般屬性(Attributes)單一屬性(Simple Attribute)複合屬性(Composite Attribute)複合屬性定義在複合值域中表示具有組合性意義,但卻分開存放於不同屬性中的資料,如日期(年、月、日)、地址(縣、市、巷、弄、號、樓)等虛值 (Null Values)關聯表中的屬性值可能會一時缺乏明確的資訊,而以一個不確定的值來代替,這就是虛值的概念虛值的意義和特性可應用的虛值(Applicable Null Values)不可應用的虛值(Inapplicable Null Values)完全不知道的虛值(Totally Unknown)關聯表的正式定義關聯表
16、(Relations)一個關聯表R主要包含標題(Heading)與本體(Body)兩個部份,分述如下:標題(Heading) :就是關聯表R的綱要(Schema) ,主要包含一組固定的屬性(Attributes)A1,A2,An與它們所相對應的值域D1,D2,Dn。通常寫成: R,或簡寫成: R(A1(D1),A2(D2),An(Dn),或更省略地寫成: R(A1,A2,An)此標題部份是固定的,不隨時間而變動本體(Body) :此部份所指的是關連表中的資料部份,其內容與數量是非固定的,隨時間變動。一般是以: ,來表示一筆值組(Tuple),或稱為紀錄。上述的表示法可以更省略地寫成:(V1,V
17、2,Vn)關聯表的正式定義(Cont)在一個關聯表中的所有屬性被視為一個集合,所以同一個關聯表中的屬性不可以用同一個名稱, 但不同的關聯表卻可以用同一個屬性名稱以R1.A與R2.A區別在定義一個關聯表的綱要時,要包含下列幾項定義:關聯表的名稱(Relation name)、一組屬性A1, A2, , An與各個屬性相對應的值域D1, D2, , DnR,指定一個屬性子集(也可以只含一個屬性)做為主鍵外來鍵(Foreign Key)的參考對象關聯表的特性不含重複的值組值組之間是沒有順序的屬性之間是沒有順序的所有屬性值都是單元值(Atomic Value),不可以是一個集合。理由是簡化表示法比較容
18、易在實際的系統上實現關聯式資料模式的概念關聯表的種類基底關聯表(Base Relations)導出關聯表(Derived Relations)視界(Views)瞬間關聯表(Snapshot)查詢結果(Query Result)查詢中間結果(Intermediate Result)關聯式資料庫由一群具有相互關係的正規化關聯表所組成所有關聯表之間的關係都是以資料值來聯繫,沒有任何的鏈結指標其中的所有屬性值都是單元值(Atomic Value),不可以是一個集合,而且紀錄之間沒有任何的順序關係BOB資料庫noidquantity113012201340142015101610213022403220
19、422044304540nonamerankcity1巨蟹書店20台北市2射手書店10高雄市3水瓶書店30新竹市4天秤書店20台中市5獅子書店30台南市idbooknameauthorpricepublisher1三國演義羅貫中120古文出版社2水滸傳施耐庵170中庸出版社3紅樓夢曹雪芹170春秋出版社4西遊記吳承恩140聊齋出版社5水經注酈道元120易經出版社6道德經老子190大唐出版社BookstoresBooksOrdersAgenda資料庫系統關聯式資料模式的資料結構關聯式資料模式的整合限制條件簡介整合限制條件(Integrity Rules)是用來規範關聯表中資料的存放、刪除或更改等
20、動作,以防止使用者將錯誤或不合法的資料存在資料庫中,或是誤刪資料造成不一致,避免引發將來不可收拾的錯誤情況發生基本規則個體整合限制條件(Entity Integrity):為規範關聯表內部的整合限制條件參考整合限制條件(Referential Integrity):為規範關聯表與關聯表之間的整合限制條件大都在基底關聯表上訂定,在使用者新增、刪除或更改關聯表的資料時,被觸發(Trigger)執行導出關聯表、視界或其他類型的關聯表則會直接繼承它所屬基底關聯表上的整合限制條件侯選鍵 (Candidate Keys)在一個關聯表中符合唯一的屬性子集可能有好幾個,這些屬性子集我們稱之為候選鍵(Candi
21、date Keys)主鍵便是由一堆候選鍵中所選擇出來了成為候選鍵屬性子集必須要具備下列兩個條件唯一性(Uniqueness Property)最小性(Irreducibility Property或稱Minimality)選擇主鍵時的原則選擇永不會變更其值的屬性確保不會是虛值的屬性不要用會造成困惑的編號鍵值盡量以單一的屬性來代表整筆值組替代鍵(Alternate Keys)外來鍵 (Foreign Keys)外來鍵一個在R2中的外來鍵(FK)是由R2屬性集的子集合所構成,而且合乎下面兩點:FK中的每個屬性值不是全為虛值,就是全非虛值存在某個基底關聯表R1,其候選鍵為CK ,使得具有非虛值得FK
22、屬性值與R1中的某個值組的CK屬性值完全相等若外來鍵所參考到的候選鍵為複合(單一)屬性的話,則該外來鍵也一定是複合(單一)屬性,而且兩者的各個相對屬性之值域也都要一樣,但屬性名稱可以不一樣R1與R2可以是同一個關聯表外來鍵不一定是主鍵的一部份dnonamemangerbudgeta1會計A00140000e1工程E00150000p1企劃-48000s1銷售S00134000enonamednosalaryA001Mikea160KE001Franke180KE002Johne148KS001Toms170KDepartmentsEmployees外來鍵與所參考的候選鍵都在同一個關聯表中eno
23、namemangersalaryA001Mike-60KE001Frank-80KE002JohnE00148KS001Tom-70KEmployees外來鍵參考圖 (Referential Diagram)外來鍵參考圖 no idBookstores Orders BooksR3 R2 R1外鍵參考鏈(Referential Chain)Rn Rn-1 R1外鍵參考環(Referential Cycle)Rn Rn-1 R1 Rn簡單外鍵參考環(參考的候選鍵在同一個關聯表)R1 R1關聯式模式的兩條整合限制規則個體整合限制 (Entity Integrity)屬於基底關聯表主鍵的任何屬性值都
24、不可以是虛值如果主鍵是由複合屬性所構成的話,那麼其中的任何屬性也都不能是虛值個體整合限制規則只適用在基底關聯表中,在查詢結果中是可以不必依循此規則的在基底關聯表主鍵中的任何一個屬性都不可以存放內定值,而虛值就是一種特殊的內定值參考整合限制 (Referential Integrity)資料庫中不能有違法的外來鍵值外來鍵使用規則外來鍵的虛值規則(Null Rule for Foreign Key)如果外來鍵不是主鍵的一部份外來鍵參考對象的刪除/更新規則(Delete/Update Rule for Foreign Key Reference)限制性作法(RESTRICTED)連鎖反應的作法(CA
25、SCADES)虛值化的作法(NULLIFIES)用結構化查詢語言中所提供的DDL來指明要採取何種作法在關聯表上定義額外的整合限制規則整合限制條件是一種邏輯規則,它規定了資料在資料庫中的合法的範圍,此規則會在新增、刪除或更新值組時,被觸發以做進一步的檢查額外的限制條件欄位是否要強制唯一(Unique)?欄位的預設值(Default Value)為何?欄位的範圍(Range)為何?欄位的格式(Format)為何?也可以依各個資料庫的實際意義與應用,機動地加入額外的整合限制條件在關聯表上定義額外的整合限制規則(Cont)除了SQL中所提供的DDL可適當選定整合限制條件外,現在許多資料庫管理系統還提供
26、了所謂的預儲程式(Stored-Procedures)搭配觸發程序(Triggers),讓資料庫的設計師自行撰寫其額外的整合限制規則有下面幾個缺點先決定那些部份要放在伺服端以預儲程式來完成,增加開發複雜度與前端開發工具不一樣觸發程序會觸發另一個觸發程序,可能會產生彼此的衝突,往往不易察覺或偵錯不適合用來整合與跨越異質性的資料庫伺服器利用個體-關係模式來規劃資料庫個體-關係模式(Entity-Relationship Model, E/R Model)是一種語意資料模式(Semantic Data Model),可以用來幫助我們做資料的分析與規劃個體(Entities) :一般個體(Regula
27、r Entities)、弱勢個體(Weak Entities)個體類型(Entity Types):該類型中的每一個個體稱為實例(Instance)特性(Properties) :特性有單一(Single Properties)與複合(Composite Properties)之分,特性也會構成鍵值(Key) ,特性的值可以是單一值(Single-Valued)、多重值(Multi-Valued)、或一個不確定的虛值(Unknown或Inapplicable) ,特性本身可以是基本特性、導出特性關係(Relationships) : 一對一(one-to-one)、一對多(many-to-one)、或多對多(many-to-many) 、一般個體和弱勢個體間稱為弱勢關係(Weak Relationship)子類
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教山西 九年级 下册 语文 第四单元《 短文两篇》习题课 课件
- 人教陕西 九年级 下册 语文 第四单元《 短文两篇》习题课课件
- 人教版部编版小学语文一年级上册日月水火教学设计教案11
- 八年级数学苏科版下册第十二单元《12.2二次根式的乘除》教学设计教案
- 《囚绿记》随堂练习2 新人教必修语言基础知识
- 出租布置卧室合同范例
- 全道路运输合同范例
- 公司书出版合同范例
- 专业分包备案合同范例
- 出资协议签署合同范例
- 银行市场调研报告
- 《变电站无人机智能巡检 技术要求》
- 体检报告查询网站
- 5G通信技术在智慧城市中的应用
- 新生儿吞咽功能障碍训练课件
- 工伤预防教育培训课件
- 2024年高等教育法学类自考-00227公司法历年考试高频考点试题附带答案
- 电梯故障维修报告书
- (完整文本版)河南2016定额计算规则
- 考研有机化学复习题
- 钢梁现场安装检验批质量检验记录
评论
0/150
提交评论