F5720

Similar documents
0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

投影片 1

Microsoft PowerPoint - 002_第二章 關聯式資料庫(cchen).ppt

使用手冊


1


Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089

封面-12

AutoCAD 用戶如何使用 ArchiCAD

男人的大腦 女人的大腦

F5720

F5720


66 67 圓夢素人頭家 67 9 專長互補 資源共享, 為彼此加油打氣!

投影片 1

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

PowerPoint Presentation

二次曲線 人們對於曲線的使用及欣賞 比曲線被視為一種數學題材來探討要早 得多 各種曲線中 在日常生活常接觸的 當然比較容易引起人們的興趣 比如 投擲籃球的路徑是拋物線 盤子的形狀有圓形或橢圓形 雙曲線 是較不常見的 然而根據科學家的研究 彗星的運行軌道是雙曲線的一部 分 我們將拋物線 圓與橢圓 雙曲

理性真的普遍嗎 注意力的爭奪戰 科學發展 2012 年 12 月,480 期 13

ACI pdf

第一章  緒論

2a-4

Microsoft PowerPoint - MIS_Lec03.ppt [相容模式]

Microsoft PowerPoint - 001_第一章 資料庫導論(ccchen).ppt

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

14: 6 不做清單上的事, 並不代表我們就可以隨心所欲 ; 我們不做, 是為了更深一層的原因 同樣, 也沒有人會因不受這些清單的捆綁, 就更能活出 豐盛的生命來 14: 15 8: : 17 在所有十誡中, 第十誡往往是最先遭破壞的一條 22: 37, 39 凡是使我們不能愛神與愛

untitled

Microsoft PowerPoint - VB14.ppt

第三組筆記型電腦 臺灣銀行採購部招標案號 : LP 大同世界科技股份有限公司 / 分區 -1. 新北市 2. 臺北市 3. 桃園市 4. 新竹縣 ( 市 ) 5. 臺中市 6. 嘉義縣 ( 市 ) 7. 臺南市 8. 高雄市契約期間 : ~ 契約編

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

5 機架式 1U 中階網路附加儲存系統 (Windows 平台 )< 訂購數量限 1~10 101,066 Proware CN-1406S6-SQX SOL NA400 ASUSTOR 華芸科技 AS7009RDX EMS5( 英邁科技 ) NAS 2000-SRL08-S 6 機架式 2U 中階

劉宗銘 以漫畫創作開啟繪畫生涯 用圖畫說故事的人之五 熱愛漫畫的年少時光 劉宗銘的漫畫 最好的禮物, 刊登在 時勢新聞週刊 開啟創作圖畫書的機緣 劉宗銘的圖畫書作品 稻草人卡卡 全國新書資訊月刊. 民國 96 年 8 月號.

戒菸實務個案自助手冊105年Ver.2

CU0594.pdf

南 沙 群 岛 争 端 问 题 东 南 亚 的 非 传 统 安 全 问 题 区 域 外 大 国 与 东 南 亚 区 域 安 全 问 题 4 关 于 宗 教 文 化 问 题 宗 教 文 化 与 东 南 亚 国 家 的 民 族 特 性 问 题 东 盟 文 化 产 业 及 其 对 外 合 作 问 题 5

Microsoft Word - ACI chapter00-1ed.docx

Outlook 2010 設定說明 Offic 企業郵件 / 虛擬主機郵件 / Office 365

用户手册.cdr

2 part 01 浴室 浴室收納原則 要在浴室用的東西一定要收在浴室 從內容物只剩一點的洗滌劑容器開始整理 減少相同物品的數量 多的物品只要 1~2 個就夠了 每天要用的東西別放在浴室櫃子裡

1


老人憂鬱症的認識與老人自殺問題

治療血管的雷射 port wine stain 1988 FDA KTP KTP

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

CO 2 以鄰為壑的台灣建築產業

(Microsoft PowerPoint - PHP_Ch10 [\254\333\256e\274\322\246\241])

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

WQ.s92

* 2

<4C50352D B971B8A3B35DB3C6A655B2D5A9FAB2D32E786C73>

POINT 1 配合不同症狀或目的, 有效地攝取最需要的五種營養素! POINT 不須進行複雜的營養計算和熱量計算工作! 第一類穀類 第二類肉 魚 蛋 乳製品 第三類蔬菜 海藻 水果

Outlook 2007 設定說明 Offic 企業郵件 / 虛擬主機郵件 / Office 365

生與死的尊嚴 生與死的尊嚴

投影片 1

( )... 5 ( ) ( )


SOP Waiting Time

附件一:

SW cdr

基本數學核心能力測驗_行為觀察記錄紙_G2版本

Microsoft PowerPoint - SAGE 2010

一 专 业 名 称 专 业 名 称 : 会 计 二 入 学 要 求 与 基 本 学 制 入 学 要 求 : 初 中 毕 业 生 基 本 学 制 : 三 年 ; 其 中 前 二 年 为 在 校 学 习 时 间, 最 后 一 年 为 企 业 实 习 时 间 层 次 : 中 职 三 培 养 目 标 本 专

untitled

目 录 一 相 关 政 策... 1 河 南 财 经 政 法 大 学 实 验 室 建 设 与 管 理 办 法... 1 河 南 财 经 政 法 大 学 实 验 教 学 管 理 规 定... 4 河 南 财 经 政 法 大 学 政 府 采 购 管 理 办 法... 9 二 规 章 制 度... 15

英语专业(中英文)

(C)cv.ps, page Normalize

Flexsim: (Open DataBase Connectivity, ODBC)


一 新增 SQL Express 2008 資料庫 步驟一 : 首先, 利用 VB 新增一個 Windows Form 應用程式的專案, 專案名稱為 MyDB 專案名稱為 MyDB 步驟二 : 接下來, 請執行 VB 功能表上的 專案 / 加入新項目, 此時, 請在 加 入新項目 的對話方塊中, 選


10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD

LP _p.xls

當無人飛行器越做越小時, 拍翅型的飛行方式應該是人類要參考及學習的 MAV P V 2 b P V b 0.96 P V 2 b L b 4 L b 4 W b 3 W b 3 2 向自然學習 MAV 3 升力與推力共生的拍翅運動 拍翅頻率的尺度變化



¾ú¥v¬ì²Ä8¦¸-«ü¦Ò«Êٱ.prn, page Normalize ( <4D F736F F D20BEFAA576ACECB2C438A6B82DABFCA6D2ABCAADB12E646F63> )

PowerPoint 簡報

從道德主體的興發論孔子的文學批評理論

73 二 課程簡介

¦ÛµM¬ì²Ä3¦¸²Õ¨÷-¾Ç´ú¤ºŁ¶«Êٱ.prn, page Normalize ( <4D F736F F D20A6DBB54DACECB2C433A6B8B2D5A8F72DBEC7B4FAA4BAADB6ABCAADB12E646F63> )

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

ZT0102_Cb-00封面

攜手拼出圓滿的幸福 2

投影片 1

貳 肆 公司治理報告 一 組織系統 ( 一 ) 組織結構 ( 二 ) 組織系統圖 14 中華民國 98 年中華郵政年報

<4D F736F F D20432D48B9C9D2B5BCA8B9ABB8E6B7E2C6A4>

Transcription:

第 9 章 關聯式資料庫的 基本知識 著作權所有 旗標出版股份有限公司

本章提要 9-1 認識 Access 關聯式資料庫 9-2 認識關聯 主鍵 (Primary Key) 與連外鍵 (Foreign Key) 9-3 資料的完整性 9-4 資料表的關聯種類 2

9-1 認識 Access 關聯式資料庫 Access 是一個關聯式資料庫, 所謂 關聯 (Relationship) 是指藉由表格的形式找出資料的方法 例如我們想從下圖查詢訂單序號 4 的訂購數量, 就可由橫的一列 ( 記錄 ) 與縱的一行 ( 欄位 ) 的關聯而取得 : 3

認識 Access 關聯式資料庫 除了每個資料表中行與列的關聯之外, 數個資料表之間也可因為欄位的關係而產生關聯性, 例如 : 4

認識 Access 關聯式資料庫 5

認識 Access 關聯式資料庫 由上面的例子我們可看出, 關聯 必須經由二個資料表中相同的意義及資料類型的欄位來實現 ( 欄位名稱不一定要相同 ) 以下是另外 2 個 " 關聯 " 的例子 : 6

認識 Access 關聯式資料庫 7

認識 Access 關聯式資料庫 8

認識 Access 關聯式資料庫 也許有人會說 : 我直接使用 Excel 的試算表, 也可完成資料庫大部份的功能! 其實這個觀念是不正確的, 因為在 Excel 中, 我們無法建立 試算表之間的關聯性 所以, 關聯式資料庫的強大資料處理功能是完全來自於關聯二字, 也就是先將一堆複雜的資料分類存放, 然後再 " 建立關聯性 " 將資料連接起來, 並靈活應用 9

9-2 認識關聯 主鍵 (Primary Key) 與連外鍵 (Foreign Key) 或許您會覺得建立資料表間的關聯相當容易, 不過這是我們事先設計過的 在實際分析資料表的關聯時, 一般都是用分割資料表的方式, 先將所有需要的欄位大略歸類, 然後再透過正規化分析將重複的資料一一挑出來, 另外產生新的資料表, 並建立與原資料表的關聯 10

分割資料表並建立關聯的優點 我們將所有的資料都集中在一個資料表中, 不是很方便嗎? 而且資料庫還是可正常運作啊! 話雖如此, 不過這樣便喪失關聯式資料庫的優點了 關聯式資料庫的優點如下 : 11

節省儲存空間 因為資料庫中的資料常常會產生重複的情況, 如果每一次都要輸入相同的資料, 容易浪費儲存的空間, 例如下圖的書籍資料表 : 很明顯地在作者及分類欄位中, 有許多資料是重複的, 例如作者 威威研究室 輸入 4 次 分類 Windows 及 影像處理 " 分別輸入 2 12

節省儲存空間 這些重複的資料都會佔用磁碟的空間 若我們將作者及分類欄位抽離, 另外獨立成作者資料表及分類資料表, 並建立這 3 個資料表之間的關聯, 那麼在作者資料表中, 相同的作者就只要建立一筆記錄, 而分類資料表中的每一種類型也只要記錄一次即可 當書籍資料表需要使用到這些作者及分類時, 就可經由關聯, 到作者資料表及分類資料表中選取 13

節省儲存空間 14

節省儲存空間 試想, 在尚未分割資料表前, 若原本有 5000 筆記錄的作者皆為 威威研究室, 那就要在資料表中記錄 5000 次 威威研究室 而經過分割資料表及建立關聯後, 只要在作者資料表中記錄一次就好了, 節省下來的空間非常驚人 15

減少輸入錯誤 若是經常輸入同樣的資料, 難免會有漏打或打錯字的情況發生, 使得原本應該是相同的資料, 卻變成 2 筆不同的資料 : 16

減少輸入錯誤 日後若用 威威研究室 搜尋資料時, Windows 上網影音一把抓 就查不到了 然而若是使用關聯式資料庫, 則作者欄的資料實際是來自作者資料表, 只要確認作者資料表中的 " 威威研究室 " 這筆記錄是正確的, 就不需要重複輸入 " 威威研究室 ", 自然就減少輸入錯誤的機會了 17

方便資料修改 若有一天要將 威威研究室 改為 旗旗研究室 在沒建立關聯的資料表中, 我們必須逐項修改每一筆記錄中的作者欄位 若使用關聯式資料庫, 則只要將作者資料表的 " 威威研究室 " 改為 " 旗旗研究室 ", 書籍資料表中所有關聯到作者欄位的值, 便都會改為 " 旗旗研究室 " 了 18

主鍵 (Primary Key) 資料表之間是由 鍵 (Key) 來建立彼此的關聯 在 Access 中, 我們可為資料表設定主鍵 (Primary Key) 及連外鍵 (Foreign Key) 主鍵是用來辨識記錄的欄位, 具有唯一性, 且不允許重複 例如在書籍資料表中加入書籍編號欄位, 給每一本書一個唯一的編號, 那麼這個書籍編號欄位就可用來當作主鍵, 使用者即可依據此主鍵找到特定書籍的詳細記錄 19

主鍵 (Primary Key) 雖然資料表不一定要有主鍵, 但一般都建議最好要有 不過資料表中並不是每個欄位都適合做為主鍵, 例如書籍資料表中的作者欄位, 因為可能會遇到同名同姓的人, 所以就不具有唯一性了 20

主鍵 (Primary Key) 通常每個資料表只有一個欄位設定為主鍵, 但有時可能沒有一個欄位具有唯一性, 此時可考慮使用兩個或多個欄位組合起來做為主鍵 如下圖的範例 : 21

主鍵 (Primary Key) 上表中好幾筆記錄具有相同的訂單編號或書籍編號, 使得沒有一個欄位具有唯一性, 因此找不到一個單獨的欄位做為主鍵 不過我們發現 : 將訂單編號及書籍編號這 2 個欄位組合起來具有唯一性, 因為同一個訂單不會有 2 個相同的書籍編號 因此, 我們可將這 2 個欄位同時設為主鍵, 那麼就具有辨識唯一一筆記錄的特性了 22

連外鍵 (Foreign Key) 連外鍵 (Foreign Key) 是用來連結其他資料表之用, 如果甲資料表中的某個欄位必須對照到乙資料表中的主鍵, 才會使得該欄位的值變的有意義, 則我們稱該欄位為甲資料表的連外鍵 在關聯式資料庫中, 資料表之間的關係是藉由連外鍵來建立的, 例如 : 23

連外鍵 (Foreign Key) 書籍編號與作者編號欄位分別是書籍資料表與作者資料表的主鍵 24

連外鍵 (Foreign Key) 為了建立兩資料表之間的關聯, 在書籍資料表中需要有一個欄位參考或對應到作者資料表的主鍵, 所以便在書籍資料表中設置了作者編號欄位, 此欄位便是連外鍵 書籍和作者資料表中的作者編號欄位, 前者為連外鍵, 後者為主鍵 兩個欄位的類型 寬度等屬性必須相同, 但名稱不一定要一樣, 只是習慣上都會取相同的名稱 25

連外鍵 (Foreign Key) 此外, 一個資料表中可包含多個連外鍵, 且其資料可重複 ( 例如很多本書的作者可能是同一人 ), 這點和主鍵不同 26

9-3 資料的完整性 對於關聯式資料庫來說, 還有一個重要的觀念就是資料完整性 (Data Integrity) 所謂資料完整性是用來確保資料庫中資料的正確性及可靠性 例如在某一個資料表中更新了一筆資料, 則所有用到此資料的地方也都要更新 尤其在多人使用的系統中, 許多資料都是共用的, 倘若資料不正確或不一致, 那就麻煩了 27

資料的完整性 資料完整性大致分為下列幾種類型 : 實體完整性 (Entity Integrity) 區域完整性 (Domain Integrity) 參考完整性 (Referential Integrity) 使用者定義的完整性 (User-defined Integrity) 28

實體完整性 (Entity Integrity) 實體完整性是為了確保資料表中的記錄是 唯一 的 我們設定主鍵就是為了達成實體完整性 例如每一本書都有一個書籍編號, 不同的書若使用相同的編號是不被允許的, 會被 Access 拒絕 29

區域完整性 (Domain Integrity) 區域完整性是為了確保資料在允許的範圍中 例如限制某一個整數值欄位的資料範圍在 100 ~ 999 之間, 若輸入的資料不在此範圍內, 即不符合區域完整性, 會被 Access 拒絕 30

區域完整性 (Domain Integrity) 31

區域完整性 (Domain Integrity) 32

參考完整性 (Referential Integrity) 參考完整性是用來確保相關資料表間的資料一致, 避免因一個資料表的記錄改變, 而造成另一個資料表的內容變成無效值 33

參考完整性 (Referential Integrity) 上述範例中, 若我們在其關聯上設定了參考完整性, 當要在作者資料表中刪除一筆記錄, 則刪除的動作會失敗, 以免書籍資料表中的資料失去連結 34

使用者定義的完整性 (User-defined Integrity) 顧名思義, 這是由使用者自行定義, 而又不屬於前面三種的完整性 例如某個客戶欠款超過 6 個月, 則下次再下訂單時就不賣他, 這就是由使用者定義的完整性限制 35

9-4 資料表的關聯種類 資料表間的關聯可分為 " 一對一 " " 一對多 " 與 " 多對多 " 等 3 種對應方式, 以下我們分別討論 36

一對一關聯 當兩個資料表之間是一對一關聯時, 表示甲資料表中的一筆記錄, 只能對應到乙資料表中的一筆記錄, 而乙資料表中的一筆記錄也只能對應到甲資料表中的一筆記錄 例如對 員工資料 來說, 我們可以將之分為 " 可公開 " 與 " 機密 " 二類, 然後分別存放在二個資料表中 : 37

一對一關聯 這樣一來, 在平時只需要用到 " 可公開 " 的資料, 若有特殊需要時, 例如計算這個月的薪資, 那麼就可以利用一對一關聯, 由這二個資料表中找出員工的完整資料了 38

一對多關聯 這是最常見的一種關聯, 當兩個資料表之間是一對多關聯時, 表示甲資料表中的一筆記錄可對應到乙資料表中的多筆記錄 ; 而乙資料表中的一筆記錄只能對應甲資料表中的一筆記錄 例如 : 39

一對多關聯 我們對照到實際的資料表 : 40

一對多關聯 在客戶資料表中每個客戶都只有一筆記錄, 但可以對應到訂單資料表中的多筆記錄, 這便是一對多的關聯 利用這種關聯, 我們可以得到以下的好處 : 從客戶資料中, 可找出任一個客戶的所有訂單資料 從訂單資料中, 可找出該訂單所屬客戶的相關資料 41

多對多關聯 當兩個資料表之間是多對多關聯時, 表示甲資料表的一筆記錄能夠對應到乙資料表中的多筆記錄 ; 而乙資料表中的一筆記錄也能對應到甲資料表中的多筆記錄 例如一個客戶可訂購好幾種書, 而一本書也可賣給好幾個客戶, 若要將兩者建立關聯, 那就是多對多關聯了 42

多對多關聯 43

多對多關聯 資料庫在處理多對多關聯時, 因為彼此間的關係太複雜, 較容易發生問題, 因此通常會將這兩個資料表重新設計, 或是在這 2 個資料表之間在加上一個資料表, 使得它們之間成為 2 個一對多的關聯, 以避免發生問題 例如 : 44

多對多關聯 換句話說, 我們是用二個 一對多 關聯及一個中介資料表來解決 " 多對多 " 的問題 45

Access 中關聯的表示方式 在 Access 中, 若建立資料表關聯時若未建立強迫參考完整性, 則不論一對一或一對多的關聯, 都會以下圖的方式表示 : 46

Access 中關聯的表示方式 請雙按關聯, 開啟編輯關聯交談窗 : 47

Access 中關聯的表示方式 48

Access 中關聯的表示方式 當建立了參考完整性後, 在關聯上就會明確標示出兩個資料表間的關聯類型 : 49

Access 中關聯的表示方式 50