Transcript 關聯式資料庫簡介
認識關聯式資料模型。 了解關聯式資料庫管理系統的特徵。 認識市場上的關聯式資料庫管理系統。 「關聯式理論」(Relational theory)是什麼 ? 關聯式理論與關聯式資料模型有什麼關係 ? 市場上有那些關聯式的資料庫系統? 這是一個腦力激盪的園地! 關聯式資料庫系統目前在市場上占有的比例非常 高 Oracle Microsoft SQL Server DB2 MySQL 關聯式理論的基本觀念很簡單,是以表格 (Table)為主的資料表示與處理方式 經過多年發展之後,形成一個完整的理論體系 關聯式資料庫管理系統(relational DBMS)建立在 關聯式理論的基礎上,可以引導我們推演出最好 的資料庫設計,避免資料重複或有用的資料被刪 除等異常現象 料項編號 名稱 價格 目前庫存量 I01 蘋果 10 100 I02 鳳梨 5 200 I03 橘子 10 150 I04 香蕉 5 300 I05 葡萄 20 250 I06 蕃茄 35 150 I07 西瓜 30 400 ATOMIC:每一個儲存格只能放單一的一個值 單純、單一、原子 關聯式資料庫系統以表格(Table)為基礎 。 表格可以看成是成行(column)成列(row)的資料 組合 。 台灣用的『行』『列』恰好和大陸用法顛倒 每一列的資料代表一筆資料記錄(data record) 資料記錄中我們用數個資料欄位(data fields)來 組織資料 結構上的特性 完整性(integrity) 資料的處理 料項編號 名稱 價格 目前庫存量 I01 蘋果 10 100 I02 鳳梨 5 200 I03 橘子 10 150 I04 香蕉 5 300 I05 葡萄 20 250 I06 蕃茄 35 150 I07 西瓜 30 400 表格名稱:庫存料項 屬性: (料項編號:字串(3), 名稱:字串(2), 價格:貨幣值, 目前庫存量:整數(3)) 沒有單純化(non-atomic)的資 料會有更新的問題(update problem) 。 廠商編號 料項編號 成本 產區 V1 I01 4 北部 V2 I03 5 中部 V3 I02 3 中部 V4 I01 3 南部 V5 I06 2 外島 V6 I07 6 北部 V7 I01 7 東部 V8 I04 8 南部 V9 I05 3 中部 把表格當作集合 對資料表的操作就是集合運算 找特定資料紀錄=>計算子集合(Subset) 合併資料表=>計算聯集(Union) 列出特定欄位=>投影(Projection) 關聯式資料庫管理系統(Relational DBMS)是近十年來 發展最快,使用也最廣泛的資料庫管理系統 主要是因為關聯式資料模型(Relational data model) 的觀念簡易,理論基礎發展得很完整而周密 從西元1970年Codd提出了關聯式資料模型之後,各種商 業化的資料庫管理系統,幾乎都是以這個資料模型為基 礎 我們常聽到的資料表格(Data table)是關聯式資料庫系 統的基礎 客戶編號 客戶名稱 地址 電話 傳真 結帳日 C01 郝客有限公司 台北市南港 02-99999999 02-99999998 每月25日 C02 怪客有限公司 新北市板橋 02-88888888 02-88888881 02-88888889 每月5日 新北市五股 02-77777777 刪塔那行銷有限公司 台北市內湖 02-77778888 C03 同上 02-77778887 每月30日 或31日 關聯式資料庫對資料表的要求: 行(Column)是集合元素,不能有順序關係 列(Row)是集合元素,不能有順序關係 每一個儲存格都必須 Atomic 每一個資料列都與眾不同 表格是由資料屬性(Data attributes)與資料紀 錄(Data records)所組成的 表格中一個或數個欄位的組合若是沒有重複的屬 性值,則這些欄位也可稱為表格的主鍵值( Primary key) 和主鍵值相關的是所謂的「外鍵值」(Foreign key) : 某表格的外鍵值代表該表格內的某些欄 位也存在於其他的某表格中,而且是以主 鍵值的型態存在於其他的表格 訂單號 碼 1 顧客編 號 010 項目編 號 2 數量 價格 10 3 2 010 2 5 3 3 020 3 5 1 4 2 • • • 主鍵(Primary Key):識別的依據,與眾不同的值 外鍵值(Foreign Key):別人家的主鍵,在我家當作指標用,參考 到別人家的資料項。 參考的完整性限制(Referential Integrity Constraint):若外鍵值 存在,則資料項的主鍵值也必須存在 訂單(訂單號碼, 料項編號, 數量) CREATE TABLE 訂單 ( 訂單號碼 CHAR(3) NOT NULL PRIMARY KEY, 料項編號 CHAR(3), 數量 INT DEFAULT 0 ); Microsoft Access Microsoft SQL Server 資料庫伺服器 適合多人共用 Oracle Database Server 單一檔案結構 適合單機使用 市占率最高的資料庫系統 Sybase Database 不等於零或空白 。 資料目前還未得到確定的值 。 Unknown 產品尚未定價時,單價欄不能填 0 資料遺失或不適用 。 Not Available (n/a) 健康檢查報告 攝護腺檢查 子宮頸抹片檢查 Instance 常翻譯成『案例』、『實例』 其實 Instance 應該譯成『一份』 開啟三個 Word 檔案 每開啟一個 Word 檔案,執行一次 MSWORD.EXE 執行檔 MSWORD.EXE 只有一個 Program:程式檔案 電腦主記憶體內共有三份 Microsoft Word Process:行程、過程、程序 西餐廳主廚的食譜裡對沙朗牛排有一套定義,三 位顧客點餐之後,主廚端出三份沙朗牛排 牛排剛剛端出來的時候看起來一模一樣,其實是三份 不同的個體 時間過去,經歷客戶的刀叉之後,三份牛排越來越不 一樣 TOYOTA車廠對RAV4有一套設計圖 車廠剛剛生產出來的RAV4每一台車都一模一樣,但 是每一台車都是不同的個體 時間過去,車子交到客戶手上,每一部車都變得越來 越不一樣 Transparent Network Substrate Middleware 中介軟體 Middle Tier 中間層 relational DBMS的組成與架構 。 衍生出很多其他的軟體產品 。 提供客戶完整解決方案(total solution)。 開放原始碼資料庫 創於1994年,2008年被Sun購併,2010年Oracle 購併Sun GPL 授權、商業授權 皆有 MySQL Community Server MySQL Workbench 免費下載 管理工具(GUI) 管理工具 phpMyAdmin Object-Relational Database Management System (ORDBMS) Free and Open Source 1982, Ingres project University of California, Berkeley 管理工具 psql pgAdmin phpPgAdmin