關聯式資料庫簡介

Download Report

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