第四章 關聯模式 目的 關聯模式的定義 關聯模式的限制 完整的範例關聯模式(線上購物系統) 關聯模式的資料更新

Slides:



Advertisements
Similar presentations
工職數學 第四冊 第一章 導 數 1 - 1 函數的極限與連續 1 - 2 導數及其基本性質 1 - 3 微分公式 1 - 4 高階導函數.
Advertisements

2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
正規化範例 第 1 、 2 階正規化. 正規化範例 ( 水果供應商 ) 編號姓名電話地址 郵遞區 號 品名價格 001 林國鐘 高雄市 100 頻果 100 香蕉 60 鳳梨 葉連芳 台北市 400 葡萄 60 頻果 郭明正
變數與函數 大綱 : 對應關係 函數 函數值 顧震宇 台灣數位學習科技股份有限公司. 對應關係 蛋餅飯糰土司漢堡咖啡奶茶 25 元 30 元 25 元 35 元 25 元 20 元 顧震宇 老師 台灣數位學習科技股份有限公司 變數與函數 下表是早餐店價格表的一部分: 蛋餅 飯糰 土司 漢堡 咖啡 奶茶.
認識食品標示 東吳大學衛生保健組製作.
两汉文学及汉代诗歌.
近现代文学概说.
颞下颌关节常见病.
第四章 關聯模式 目的 關聯模式的定義 關聯模式的限制 完整的範例關聯模式(線上購物系統) 關聯模式的資料更新
第2章 数据模型 2.1 实体联系模型 2.2 关系模型 2.3 面向对象的数据模型 习 题 2.
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
Chap 4 關聯式資料庫模型.
第4章 關聯式資料庫模型 關聯式資料模式的特點、優缺點、關係連結法 4-1 關聯式資料庫模型的基礎 關聯式資料模型的組成元素
第四章 數列與級數 4-1 等差數列與級數 4-2 等比數列與級數 4-3 無窮等比級數 下一頁 總目錄.
好好學習 標點符號 (一) 保良局朱正賢小學上午校.
第四章 地理資訊與地理資訊系統.
契約 課程:文書實務與應用 教師:黃湃翔老師.
六入處誦(II).
LINQ 建國科技大學 資管系 饒瑞佶.
資料庫系統 Database Systems
資料庫系統 Database Systems
9/28號專題報告 Web網頁遊戲 曾建瑋.
高等資料庫管理系統 Advanced Database Management System
第五章 關聯式資料庫的理論基礎.
SQL語法 定義與操作指令.
Working with Databases (II) 靜宜大學資管系 楊子青
CH06 正規化概述.
4B冊 認識公倍數和最小公倍數 公倍數和最小公倍數的關係.
在NS-2上模擬多個FTP連線,觀察頻寬的變化
第4章 關聯式資料庫模型 4-1 關聯式資料庫模型的基礎 4-2 關聯式資料庫模型的資料結構 4-3 關聯式資料庫模型的完整性限制條件
單元3:軟體設計 3-1實體關係圖 Ch 08 System models.
第七章進階的SQL 集合運算式 巢狀查詢句 JOIN的查詢句 分群彙總查詢句 SQL的VIEW 其他進階語法 IN EXISTS 權限控制
SQL Stored Procedure SQL 預存程序.
第三章 實體關係模式:進階練習 目的 多元關係型態 二元關係型態的其他表示法 繪製ERD時常犯錯誤 範例 範例一 範例二 範例三
奢侈稅成效分析與房市未來發展 吳中書 中華經濟研究院 第十九屆亞太財務經濟會計及管理會議 ~07.09.
第十三章 擴充實體關係模式 目的 物件導向基本觀念 特殊化和一般化 特殊化的多階層架構 群類 UML的類別圖 轉成關聯綱目 多重繼承
資管所資料庫系統 -期末專案 立欣建材行進貨銷貨退貨系統
第一章 資料庫論述 何謂資料庫? 資料模式 資料庫系統架構 資料庫系統人員 DBMS的功能 DBMS的分類 DBMS的演進
App Inventor2呼叫PHP存取MySQL
F、結構化分析與設計: 資料塑模(下) 資料塑模工具︰實體關係圖 實體關係圖之建構 實體關係圖轉關聯表 正規化 關聯表資料字典 七個轉換規則
指導老師 : 黃三益老師 B 許正和 B 賴彥宇 B 蔡艾玲
第二章 實體關係模式:基本概念 目的 何謂實體關係模式和實體關係圖(ERD) 實體型態 關係型態 二元關係型態 弱實體型態 遞迴關係型態
第二章 實體關係模式:基本概念 目的 何謂實體關係模式和實體關係圖(ERD) 實體型態 關係型態 二元關係型態 弱實體型態 遞迴關係型態
TB-054A  周天穎 編著 儒林圖書公司 發行.
Ch05 實體關圖與正規化分析 資料庫管理.
第一章 直角坐標系 1-3 函數圖形.
Pocket Access.
第 19 章 XML記憶體執行模式.
Definition of Trace Function
小學四年級數學科 8.最大公因數.
Chapter 3 補充 合併理論.
GridView操作 (II).
數字獨樂樂 --數獨原來這麼簡單.
指導老師:黃三益 老師 組員; B 曾澤民 B 郭怡吟 B 郭怡君 B 許潔茹.
Welcome to TCHL theater
第三章 實體關係模式:進階練習 目的 多元關係型態 二元關係型態的其他表示法 繪製ERD時常犯錯誤 範例 範例一 範例二 範例三
MicroSim pspice.
MiRanda Java Interface v1.0的使用方法
師大 KSP 操作手冊.
商品交易資料庫 顧客上網買商品 如何紀錄客戶資料? 如何紀錄商品資料? 如何紀錄交易資料? 如何處理交易後的所有『後處理』程序?
資料表示方法 資料儲存單位.
Trips To Go! 旅遊網查詢系統.
資料庫系統_答案 Database System Week3
第一章 直角坐標系 1-3 函數及其圖形.
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
非負矩陣分解法介紹 報告者:李建德.
資料庫系統專案二 期末報告 小型超商進銷存系統.
SQLite資料庫 靜宜大學資管系 楊子青.
第三章 比與比例式 3-1 比例式 3-2 連比例 3-3 正比與反比.
Presentation transcript:

第四章 關聯模式 目的 關聯模式的定義 關聯模式的限制 完整的範例關聯模式(線上購物系統) 關聯模式的資料更新 實體關係圖轉成關聯模式的資料庫綱目 黃三益2008 資料庫的核心理論與實務第四 版

目的 實體關係模式適合來描述迷你世界的資料需求,但在理論上卻不夠嚴謹,不方便用來當成DBMS的資料模式 關聯模式是1970年由英國裔的Codd博士所提出,該模式的定義嚴謹卻簡單易懂 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的定義 關聯模式裡的最基本的組成元素稱為關聯 一個關聯就好像一個資料表 表中的每一列記載一串資料值,稱為一筆序列值 表中的每一行則用來記載一個屬性的屬性值 一筆序列值是描述真實世界裡的一個實體或一個關係的各個屬性值 一個關聯必須有一個相對應的定義,稱為關聯綱目(Relation schema),一個關聯綱目包括了關聯名稱和關聯的屬性,表示法為R(A1, A2, …, An) 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的定義(Cont.) 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的定義(Cont.) 一個資料庫是由數個關聯所成的集合 一個資料庫綱目是由數個關聯綱目所成的集合 一個關聯必須有一個關聯綱目,一個關聯綱目包括一個關聯名稱和數個屬性的定義 一個屬性包括一個屬性名稱和一個定義域 一個關聯是由數個n-序列值(n-tuple)所成的集合, 其中n為該關聯之關聯綱目的屬性個數 一筆序列值記載一串屬性值 每一個屬性值都是簡單且單值 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的定義(Cont.) 由以上的定義裡,我們可以得出以下關聯模式的特性: 在一個關聯中,序列值是沒有順序的。因此不能說“請找出Student關聯的第二個序列值”(Why?) 在一個關聯中,不可以有兩筆序列值是一模一樣的(Why?) 一筆序列值中的屬性值是有順序的(依關聯綱目定義時的屬性順序) 。不過在觀念上,只要能對應序列值中的值和它們相對應的屬性,次序其實並不重要的 複合與多值的屬性不能出現在關聯中 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的限制 序列值必須滿足某些限制(constraint)。如果一資料庫的所有關聯裡的序列值都滿足這些限制,我們就稱該資料庫是“一致的” 定義域限制:資料庫裡每一個關聯的每一筆序列的每一屬性值必需是其屬性定義域裡的單一值 pId=‘D123F45678’和phone={5252000, 5832543} 都違反定義域限制 關聯鍵限制 實體完整限制 參考完整限制 語意完整限制 迷你世界裡所需的一些其他的限制 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的限制(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}才是關聯鍵 一個關聯可有多個關聯鍵,但至少要有一個關聯鍵 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的限制(Cont.) 對於每一個關聯,選定一個最具識別意義的關聯鍵稱為主鍵 (Primary key) , 其他的關聯鍵則稱為次要鍵 主鍵以底線標示。比如,Student關聯的表示法如下: 所謂關聯鍵限制指的是資料庫裡的每一關聯,沒有任兩個序列值的關聯鍵值是相同的 如果Student關聯裡有兩筆序列值的學號(為主鍵)或身分證字號(為次要鍵)相同,即違反關聯鍵限制 學號 sId 姓名 name 生日 bDate 住址 address 主修 major 身分證字號 pId 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的限制(Cont.) 實體完整限制 參考完整限制 資料庫裡的每一關聯的每一筆序列值的主鍵值不得為空值(但次要鍵值得為空值) 關聯模式裡最重要的一個限制,用來表示關聯間的關係 關聯間的關係是透過某些稱為外部鍵的屬性來表示,外部鍵必須參考到某一個關聯的主鍵,如下頁圖所示 參考完整限制指的是序列值裡的外部鍵值,如果不是空值,則該值必須存在於其所參考的關聯之主鍵值裡 黃三益2008 資料庫的核心理論與實務第四 版

線上購物系統資料庫綱目 黃三益2008 資料庫的核心理論與實務第四 版

練習4-2 參考上頁圖的資料庫綱目,請指出所有的外部鍵和其相對應的主鍵 關聯 外部鍵 對應之主鍵 Member introducer Member的mId Author pNo Product的pNo Transaction transMid Cart mId tNo Transaction的tNo Browse Order mId+cartTime Cart的mId+cartTime Record 參考上頁圖的資料庫綱目,請指出所有的外部鍵和其相對應的主鍵 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的限制(Cont.) 參考下頁圖的線上購物系統的範例資料庫,它是一致的,也就是說它滿足我們到目前所定義的所有限制。假設我們想插入以下三筆序列值到交易(Transaction)關聯裡會違反限制嗎? <'92001', null, 'cart', null, '070', 'sb', 'visa', '222266666', '20031231'> <'90112', 'c0927777', 'cart', null, '020', 'fb', 'master', '444455555', '20030101'> <'920101', 'd123456789', 'cart', null, '010', 'tb', 'visa', '123456789', '20040101'> 第三筆序列值違反參考完整限制 黃三益2008 資料庫的核心理論與實務第四 版

黃三益2008 資料庫的核心理論與實務第四 版

黃三益2008 資料庫的核心理論與實務第四 版

練習4-3 參考圖4-4的資料庫,請問新增以下記錄到會員(Member)關聯後,會不會造成(i)關聯鍵限制 (ii)實體完整限制 (iii)參考完整限制被違反? (null, 'C220234543', 'Dave', 1970-01-02, '07-5252000', '高雄市蓮海路70號', 'nobody@nsysu.edu.tw', 'b0905555') ('c0927777', 'C220234545', 'Dave', 1970-01-02, '07-5252000', '高雄市蓮海路70號', 'nobody@nsysu.edu.tw', 'b0905555') ('c0927788', 'A220123456', 'Dave', 1970-01-02, '07-5252000', '高雄市蓮海路70號', 'nobody@nsysu.edu.tw', 'b0905588') ('c0927789', 'C220234547', 'Dave', 1970-01-02, '07-5252000', '高雄市蓮海路70號', 'nobody@nsysu.edu.tw', null) ('c0927790', 'C220234549', 'Dave', 1970-01-02, '07-5252000', '高雄市蓮海路70號', 'nobody@nsysu.edu.tw', 'b0905555') OK OK 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的資料更新 所謂更新(Update)資料庫,包括以下三種運算: 不管是何種運算,都不可以違反任何關聯模式的限制 新增(Insert)一筆序列值 刪除(Delete)一筆序列值 修改(Modify)一筆序列值裡的某個屬性值 不管是何種運算,都不可以違反任何關聯模式的限制 如果參考完整限制因新增一筆序列值而違反,解決之道有二: 不允許該筆序列值的新增。 修改造成違反參考完整限制的外部鍵值。比如,若因新增<'920101','D123456789', 'cart‘, ….>至交易而造成參考完整限制被違反,則DBMS可改新增<'920101', null, 'cart', ….>至資料庫以維持參考完整限制 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的資料更新(Cont.) 刪除一筆序列值時,如不考慮語意完整限制,則只可能違反參考完整限制(Why?) 如果參考完整限制因刪除一筆序列值而違反,解決之道有三: 不允許該筆序列值的刪除。 修改參考到該序列值的序列值之外部鍵值。比如如果刪除了主鍵值為'92666' 的序列值 ,可將所有外部鍵值為'92666'的修改成空值(null)。 將有參考到該序列值的序列值也一併刪除(可能造成連鎖刪除) 至於該採取哪一種處裡的方式,在實作上DBMS可允許設定 黃三益2008 資料庫的核心理論與實務第四 版

關聯模式的資料更新(Cont) 練習4-4:參考圖4-4的資料庫,請問若刪除會員編號為'b0905555'和'c0927777'的會員序列值,是否會違反參考完整限制? ANS: b0905555存在於會員、交易、瀏覽和購物車的外部鍵,所以會違反參考完整限制。 c0927777存在於交易、瀏覽和購物車的外部鍵,所以會違反參考完整限制。 黃三益2008 資料庫的核心理論與實務第四 版

中山網路書店系統 新增一個商品“資料庫的核心理論與實務” 黃三益2008 資料庫的核心理論與實務第四 版

中山網路書店系統 Trace Mode的操作紀錄區顯示資料庫動作 黃三益2008 資料庫的核心理論與實務第四 版

中山網路書店系統 Trace Mode的資料表顯示區塊顯示資料庫變化 黃三益2008 資料庫的核心理論與實務第四 版

中山網路書店系統 新增一個商品到購物車時的資料庫動作 黃三益2008 資料庫的核心理論與實務第四 版

ERD轉成關聯資料庫綱目 為每一個實體型態產生一個關聯綱目,此關聯綱目的屬性及主鍵如下: 屬性:所有簡單和單值屬性┼所有複合屬性的展開成簡單屬性 主鍵:挑選一個關鍵屬性 黃三益2008 資料庫的核心理論與實務第四 版

ERD轉成關聯資料庫綱目(Cont.) 為每個多值屬性,產生一個關聯綱目,此關聯綱目的屬性及主鍵如下: 屬性:所有組成屬性和一個外部鍵(參考到原隸屬實體型態之關聯綱目的主鍵) 主鍵:所有屬性 黃三益2008 資料庫的核心理論與實務第四 版

ERD轉成關聯資料庫綱目(Cont.) 為每一個弱實體型態產生一個關聯綱目,此關聯綱目的屬性及主鍵如下: 屬性:所有組成屬性和(數個)外部鍵(參考到每一主實體型態之關聯綱目的主鍵) 主鍵:部分鍵屬性和所有外部鍵的組合 黃三益2008 資料庫的核心理論與實務第四 版

ERD轉成關聯資料庫綱目(Cont.) 如果將預算此一弱實體型態當成計畫的多值複合屬性, 則可得到的ERD及其關聯模式如右圖所示 為什麼會有這樣的差別?那個較好? 黃三益2008 資料庫的核心理論與實務第四 版

ERD轉成關聯資料庫綱目(Cont.) 對每一個1:1 之關係型態(R與S) 選擇一個完全參與此關係型態之實體型態(假定選R),在R的關聯綱目中加上一個參考到S的外部鍵 ,若此關係型態有屬性,則將這些屬性加到R中 假設線上購物系統裡規定每一筆交易一定要有購物車,則其ERD和相對應的關聯綱目如下頁圖所示 黃三益2008 資料庫的核心理論與實務第四 版

ERD轉成關聯資料庫綱目(Cont.) 黃三益2008 資料庫的核心理論與實務第四 版

ERD轉成關聯資料庫綱目(Cont.) 對每一個1:N 之關係型態(R與S) 選擇基數為N的實體型態(假定選R),並在R的關聯綱目中加上一個參考到S的外部鍵,若此關係型態有屬性,則將這些屬性加到R中 黃三益2008 資料庫的核心理論與實務第四 版

ERD轉成關聯資料庫綱目(Cont.) 對每一個M:N 之關係型態(R與S),產生一個關聯綱目,此關聯綱目的屬性及主鍵如下: 主鍵:兩個外部鍵的組合 黃三益2008 資料庫的核心理論與實務第四 版

實體關係模式轉成關聯模式(Cont.) 對每一個n元的關係型態(n > 2), 主鍵 若各實體型態上的基數比全為N,則n個外部鍵組合成主鍵。 若各實體型態上的基數比不全為N,則選定一個基數比為1的實體型態,其他n-1個實體型態外部鍵組合成主鍵。 黃三益2008 資料庫的核心理論與實務第四 版

ERD轉成關聯資料庫綱目(Cont.) N:N:N 載運 Carries 進貨時間 cargoTime 供應商識別號 sId 商品編號 pNo 載運數量 loadAmount 黃三益2008 資料庫的核心理論與實務第四 版

ERD轉成關聯資料庫綱目(Cont.) N:N:1 供應 Supplies 機器識別號 mId 零件識別號 pId 供應商識別號 sId 載運數量 loadAmount 黃三益2008 資料庫的核心理論與實務第四 版