傳統資料庫基於二值邏輯 (真/假),無法表達「較高溫度」、「大約 100 元」等模糊概念。模糊資料庫引入模糊數學,允許資料具有隸屬度 (0~1),支援模糊查詢與推理。
論域 U 到 [0,1] 的映射 μF(u),表示元素 u 隸屬於模糊子集 F 的程度。
離散:F = Σ μF(ui)/ui;連續:F = ∫ μF(u)/u。
五元組 (x, T(x), U, G, M):
x 變量名 (如「溫度」);
T(x) 詞集 (如 {超高, 很高, 適中, 較低, 過低});
U 論域 (數值範圍);
G 語法規則;
M 語義規則 (每個語言值對應一個隸屬函數)。
| 模型 | 優點 | 缺點 | 適合度 |
|---|---|---|---|
| 關聯式 (RDBMS) | 成熟、SQL 標準 | 型別固定、難表達複雜模糊物件 | 低 |
| 面向對象 (OODBMS) | 複雜型別、繼承、封裝 | 查詢/交易/並發弱、標準不一、廠商支持少 | 中 |
| 物件關聯式 (ORDBMS) | SQL 擴展、自訂型別/函數、廠商支持廣 (PG, Oracle, SQL Server) | 複雜度較高 | 高 (推薦) |
CREATE TYPE FuzzyTemp AS (Level VARCHAR(10), LowBound INT, MidBound INT, HighBound INT, MembershipFunc VARCHAR(100))CREATE TABLE Boiler (Temp FuzzyTemp, Pressure FuzzyTemp, ...)FuzzyMatch(input, FuzzyTemp) RETURNS FLOAT。SELECT * FROM Boiler WHERE FuzzyMatch(CurrentTemp, Temp) > 0.7