關聯模式的限制.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
關聯模式的限制

Copyright 黃三益 2003 資料庫核心理論與實務 第四章 關聯模式 目的 關聯模式的定義 關聯模式的限制 完整的範例關聯模式(線上購物系統) 關聯模式的資料更新 實體關係圖轉成關聯模式的資料庫綱目 目的 實體關係模式適合來描述迷你世界的資料需求,但在理論上卻不夠嚴謹,不方便用來當成DBMS的資料模式 目前最普遍的DBMS資料模式是關聯模式 關聯模式是1970年由英國裔的Codd博士所提出,該模式的定義嚴謹卻簡單易懂 關聯模式的定義 關聯模式裡的最基本的組成元素稱為關聯 一個關聯就好像一個資料表 表中的每一列記載一串資料值,稱為一筆序列值 表中的每一行則用來記載一個屬性的屬性值 一筆序列值是描述真實世界裡的一個實體或一個關係的各個屬性值 一個關聯必須有一個相對應的定義,稱為關聯綱目(Relation schema),一個關聯綱目包括了關聯名稱和關聯的屬性,表示法為R(A1, A2, …, An) 關聯模式的定義(Cont.) 關聯模式的定義(Cont.) 一個資料庫是由數個關聯所成的集合 一個資料庫綱目是由數個關聯綱目所成的集合 一個關聯必須有一個關聯綱目,一個關聯綱目包括一個關聯名稱和數個屬性的定義 一個屬性包括一個屬性名稱和一個定義域 一個關聯是由數個n-序列值(n-tuple)所成的集合, 其中n為該關聯之關聯綱目的屬性個數 一筆序列值記載一串屬性值 每一個屬性值都是簡單且單值 關聯模式的定義(Cont.) 由以上的定義裡,我們可以得出以下關聯模式的特性: 在一個關聯中,序列值是沒有順序的。因此不能說“請找出Student關聯的第二個序列值”(Why?) 在一個關聯中,不可以有兩筆序列值是一模一樣的(Why?) 一筆序列值中的屬性值是有順序的(依關聯綱目定義時的屬性順序) 。不過在觀念上,只要能對應序列值中的值和它們相對應的屬性,次序其實並不重要的 複合與多值的屬性不能出現在關聯中 關聯模式的限制 序列值必須滿足某些限制(constraint)。如果一資料庫的所有關聯裡的序列值都滿足這些限制,我們就稱該資料庫是”一致的” 定義域限制:資料庫裡每一個關聯的每一筆序列的每一屬性值必需是其屬性定義域裡的單一值 pId=‘D123F45678’和phone={5252000, 5832543} 都違反定義域限制 關聯鍵限制 實體完整限制 參考完整限制 語意完整限制 迷你世界裡所需的一些其他的限制 關聯模式的限制(Cont.) 關聯鍵限制 超級鍵(Superkey):由關聯綱目的數個屬性所組成,而且沒有任何兩筆序列值的這些屬性值完全相同 圖4-1的Student關聯為例,{ sId, name, bDate}﹑{ pId, bDate, address}﹑{ sId}﹑{ pId}都是超級鍵 關聯鍵是該關聯的一個最小超級鍵 以圖4-1的Student關聯為例,雖然{ sId, name, bDate}﹑{ pId, bDate, address}﹑{ sId}﹑{ pId}都是超級鍵。但只有{ sId}和{ pId}才是關聯鍵 一個關聯可有多個關聯鍵,但至少要有一個關聯鍵 關聯模式的限制(Cont.) 對於每一個關聯,選定一個最具識別意義的關聯鍵稱為主鍵 (Primary key) , 其他的關聯鍵則稱為次要鍵 主鍵以底線標示。比如,Student關聯的表示法如下: 所謂關聯鍵限制指的是資料庫裡的每一關聯,沒有任兩個序列值的關聯鍵值是相同的 如果Student關聯裡有兩筆序列值的學號(sId)或身份證字號(pId)相同,即違反關聯鍵限制 關聯模式的限制(Cont.) 實體完整限制 資料庫裡的每一關聯的每一筆序列值的主鍵值不得為空值(但次要鍵值得為空值) 參考完整限制 關聯模式裡最重要的一個限制,用來表示關聯間的關係 關聯間的關係是透過某些稱為外部鍵的屬性來表示,外部鍵必須參考到某一個關聯的主鍵,如下頁圖所示 參考完整限制指的是序列值裡的外部鍵值,如果不是空值,則該值必須存在於其所參考的關聯之主鍵值裡 練習4-2 參考上頁圖的資料庫綱目,請指出所有的外部鍵和其相對應的主鍵 關聯模式的限制(Cont.) 參考下頁圖的線上購物系統的範例資料庫,它是一致的,也就是說它滿足我們到目前所定義的所有限制。假設我們想插入以下三筆序列值到交易(Transaction)關聯裡會違反限制嗎? <’92001’, null,’cart’,null, ’070’,’sb’,’visa’,’222266666’,> <’90112’,’c0927777’,’cart’, null, ’020’,’fb’,’master’,’444455555’,’20

文档评论(0)

daoqqzhuan2 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档