Computer Networks and Internets 電腦與網際網路

Download Report

Transcript Computer Networks and Internets 電腦與網際網路

世新大學 ERP 實驗室
資料庫系統之理論與實務
曾守正、周韻寰
世新大學 ERP 實驗室
Agenda
• 資料庫系統
• 關聯式資料模式的資料結構
• 關聯式資料模式的整合限制條件
世新大學 ERP 實驗室
Agenda
• 資料庫系統
• 關聯式資料模式的資料結構
• 關聯式資料模式的整合限制條件
世新大學 ERP 實驗室
前言
• 資料(Data)、資訊(Information)、知識
(Knowledge)
• 資料庫(Database):電腦化後的電子檔案櫃
• 資料庫管理系統(Database Management
System, DBMS) :在電腦中幫我們管理資料
庫的系統
– 新增、擷取、更改、刪除
• 資料庫的應用
– DSS 、SIS 、ES 、GIS 、EIS 、Multimedia IS 、
etc …
世新大學 ERP 實驗室
建構一個資料庫系統的目的
• 透過電腦化的方式將資料集中控制、管理
• 以集中方式存取資料
• 讓應用程式不受資料的真實存放方式所牽絆,
也就是希望能達到所謂「資料獨立」
世新大學 ERP 實驗室
資料庫系統的組成
• 使用者
– 直接使用者(End Users) :結構化查詢語言(Structural Query
Language, SQL)、表單方式(Menu-driven) 、或表格方式(Formdriven)
– 應用程式(Application Programs) :以高階語言呼叫系統所提供的資
料庫存取程式、將結構化查詢語言嵌入高階語言、4GL
– 資料庫管理師(Database Administrator, DBA) :決定資料的儲存結
構、提供企業一個由中央控制的整合資料庫、監督並調整資料庫的
效能、安全性控制與整合性檢查、資料備份、舊資料轉換
• 資料
– 運算資料(Operational Data)
• 使用者產生:系統目錄(System Catalog 或稱Data Dictionary)
• 系統產生
– 異動紀錄(Transaction Log)
• 硬體
• 軟體:資料庫管理系統(DBMS)、應用程式(Application
Programs)
世新大學 ERP 實驗室
使用資料庫系統的優點
•
•
•
•
•
•
•
•
•
•
•
•
•
•
簡潔性
增加擷取資料的速度
最新的資料(Up-to-date Information)
減少大量重複儲存的資料
減少不一致的資料
資料得以共享
達成文書資料標準化的目的
保密性(Security)
資料具有整合性(Integrity)
提供決策支援服務(Decision Support)
達成「資料獨立」(Data Independence)目標
可透過適當的資料模式(Data Models)將資料之間的複雜關係表現出來
可快速地備份(Backup)與回覆(Recovery)資料庫中的資料
針對不同人的需求提供不同的視界(View)
世新大學 ERP 實驗室
使用資料庫系統的缺點
•
•
•
•
•
•
若無良好的控制,安全堪慮
若無良好的控制,資料的正確性令人擔憂
需要額外的經費來購買電腦硬、軟體
電腦與資訊管理部門扛起所有責任,負擔愈來愈重
系統一旦停擺後,則整個企業組織也整個跟著癱瘓
整個系統可能日益複雜,造成後來的過度膨脹,引發
管理上的困難,以致於降低系統的效益
• 「人」的因素才是最大的變數,資訊技術反而不是系
統建置與運轉時的最大考量
世新大學 ERP 實驗室
資料安全的維護
• 威脅資料安全的原因
–
–
–
–
天然災害
機件故障
人為過失
惡意破壞
• 電腦犯罪原因
• 制定安全對策時考量之重點
• 制定安全對策時可能產生之行政問題
世新大學 ERP 實驗室
資料獨立 (Data Independence)
• 「資料相依」:只要資料的儲存結構(Internal
Data Structure)或存取方式(Access Method)
一更改,則其應用程式就必須跟著修改,才能
繼續使用
• 不希望應用程式為資料相依的理由
– 不同應用對相同的資料可能會有不同的視界(Views)
– 為了因應日新月異的需求,資料庫管理師(DBA)應
具有改變儲存結構(Storage Structure)和存取技術
(Access Techniques)的自由
世新大學 ERP 實驗室
ANSI/SPARC的資料庫系統架構
使用者
所看到的
部份資料庫
直接使用者
直接使用者
直接使用者
外部層(一)
外部層(二)
外部層(三)
外部層與概念層儲存結構之間的映對
概念上的
完整資料庫
概念層
概念層與內部儲存結構之間的映對
真實儲存體
內部儲存結構
內部層
世新大學 ERP 實驗室
完整的資料庫系統架構
• 內部層(Internal Level):所代表的是實際儲存資料的
結構
• 外部層(External Level):則代表使用者所看到的部份
• 概念層(Conceptual Level):為內部層與外部層之間的
橋樑(此部份可看成是DBA所看到的整體部份)
• 各層的資料定義,也就是所謂的綱要(Schema)定義與
其間的映對是由DBA來負責維護
• 上至使用者端的服務介面,下至內部的儲存構造管理
則是由資料庫管理系統來負責
• 概念層以上的綱要設計一般稱為「邏輯資料庫設計」
(Logical Database Design)
• 而內部層的綱要與儲存結構之訂定則稱為 「實體資料
庫設計」 (Physical Database Design)
世新大學 ERP 實驗室
外部層(The External Level)
• 關聯式資料庫系統在呼應此外部層方面,是以
架在基底關聯表(Base Tables)上的「視界」
(Views)來呈現給使用者
– 虛構的關聯表(Virtual Tables)
• 使用者與關聯式資料庫管理系統的溝通
– 對於直接使用者而言:使用SQL或以系統提供的表
單型式Form直接對資料庫做查詢
– 對於應用程式而言:使用4GL或嵌在高階語言程式
的SQL來存取資料
• 前置處理器(Preprocessor)將SQL的語法轉換成
資料庫系統提供的資料庫存取函式庫
世新大學 ERP 實驗室
概念層 (The Conceptual Level)
• 整個資料庫內含資訊的表示法,基本上是由
DBA來負責維護與管理
• 以關聯式資料庫管理系統的概念層來說,系統
是以表格方式呈現給使用者看
– 基底關聯表(Base Table):存放資料
– 整合限制條件(Integrity Constrains):防止不正確
的資料被寫入
– 以SQL來定義
世新大學 ERP 實驗室
內部層 (The Internal Level)
• DBA要考慮
– 那些資料需要加上索引(Index),以增進擷取效率
– 要採用何種內部儲存技術:B+ Tree或Hash-based
methods
– 在磁碟上如何將資料叢聚(Clustering)在一起,以增
進存取效率
世新大學 ERP 實驗室
各層之間的映對 (Mappings)
• 各層之間的映對乃是協助我們達到資料獨立這
個目標的主要基礎
– 內部層/概念層之間的映對(Internal/Conceptual
Mapping)
– 概念層/外部層之間的映對(Conceptual/External
Mapping)
• 各層間的映對定義均放在系統目錄(System
Catalog)下,由DBA負責管理與維護
世新大學 ERP 實驗室
資料庫管理系統 (DBMS)
• 是一種軟體,負責處理所有使用者存取資料庫
的要求
– 分析要求
– 依序檢查使用者的外部層綱要、相對的外部層/概
念層映對、概念層綱要、概念層/內部層映對、以
及資料的儲存結構
– 然後才對儲存的資料庫執行該做的動作
• 基本功能
• 當兩個以上的要求同時出現時,資料庫管理系
統還必須具有處理「異動」(Transaction)的能
力,才不會導致資料庫內的資料錯亂
世新大學 ERP 實驗室
異動的管理 (Transaction Management)
• 單元性(Atomicity)
– 一個異動的所有運算動作不是全部做完,就是完全不做
• 並行性(Concurrency)
– 多個異動可以同時執行,但是要做好並行控制讓執行不受並
行的影響,產生宛如異動循序個別執行的結果
• 隔離性(Isolation)
– 一個異動在尚未完全「委任」(Commit)前的中間執行結果不
得讓其它同時在執行的異動存取,以防止異動因交錯執行而
產生錯誤,或引發連鎖撤回反應
• 持續性(Durability)
– 如果異動執行過程完全正常,但在透過「委任」命令指揮資
料庫管理系統,將異動結果反應到資料庫的過程中,系統卻
發生錯誤,那麼系統回復後,就應當將原來未做的後續動作
完成
– 異動紀錄(Transaction Log)
世新大學 ERP 實驗室
基本功能
• 有組織地將資料儲存起來
• 有效地管理資料庫的綱要
• 提供一套高階的查詢語言供使用者使用
– 資料定義語言(Data Definition Language, DDL)
– 資料操作語言(Data Manipulation Language, DML)
– 資料控制語言(Data Control Language, DCL)
• 做好異動的管理
• 做好資料的安全管制
– 密碼、使用權、使用視界(Views)
• 提供備份和確保資料正確性的工具
• 提供使用者資料獨立的特性
• 提供DBA用來管理系統與資料庫的工具
世新大學 ERP 實驗室
資料庫管理系統與檔案系統間的差別
• 多出的功能
–
–
–
–
–
提供定義資料記錄與欄位的功能
提供處理資料記錄與欄位的功能
提供資料記錄與欄位的保密與整合功能
提供系統目錄的管理功能
提供異動管理(Transaction Management)與資料回
復(Recovery)的功能
– 提供優秀而快速的資料存取與管理功能
• 檔案系統難以達到資料獨立的目標
世新大學 ERP 實驗室
著名的關聯式資料庫管理系統
世新大學 ERP 實驗室
Agenda
• 資料庫系統
• 關聯式資料模式的資料結構
• 關聯式資料模式的整合限制條件
世新大學 ERP 實驗室
關聯表綱要簡介
值
域
值
域
值
域
值
域
值
域
• 關聯式資料模式的資料結構就是以表格式的方式來組
織資料,稱之為「關聯表」(Relations)
關聯表名稱
屬性名稱
主鍵
值組
Books
id
bookname
author
price
publisher
1
三國演義
羅貫中
120
古文出版社
2
水滸傳
施耐庵
170
中庸出版社
3
紅樓夢
曹雪芹
170
春秋出版社
4
西遊記
吳承恩
140
聊齋出版社
5
水經注
酈道元
120
易經出版社
6
道德經
老子
190
大唐出版社
屬性值
關聯表
世新大學 ERP 實驗室
關聯表的內容
• 關聯表名稱(Relation Name)
• 屬性(Attribute)
–
–
–
–
屬性名稱(Attribute Name):
資料型態(Data Type) :
屬性集(Attribute Set) :
維度(Degree) :
• 值域(Domain) :定義合法的資料值
• 值組(Tuple)
– 紀錄(Record)
– 關鍵表的大小(Cardinality)
• 主鍵:屬性子集
世新大學 ERP 實驗室
主鍵 (Primary Key)
• 主鍵是關聯表中用來區別值組的識別值
(Identifier)
• 每一個值組的主鍵值在關聯表中都是唯一的
• 主鍵是由屬性集的子集所構成
– 一個屬性(Attribute)
– 整個屬性集
世新大學 ERP 實驗室
值域 (Domains)
• 值域是由一個由同一類型的數值(不可以是集合)所構
成的集合
• 單一值域(Simple Domain)
– integer
– char(5)
• 複合值域(Composite Domain)
– 由兩個以上的值域做卡笛生乘績(Cartesian Product)而得
• 值域可以防止使用者錯將不同類型的值拿來運算或比
較,相當於在程式語言中做型態檢查(Type Checking)
一般
世新大學 ERP 實驗室
屬性(Attributes)
• 單一屬性(Simple Attribute)
• 複合屬性(Composite Attribute)
– 複合屬性定義在複合值域中
– 表示具有組合性意義,但卻分開存放於不同屬性中
的資料,如日期(年、月、日)、地址(縣、市、巷、
弄、號、樓)等
世新大學 ERP 實驗室
虛值 (Null Values)
• 關聯表中的屬性值可能會一時缺乏明確的資訊,
而以一個不確定的值來代替,這就是虛值的概
念
• 虛值的意義和特性
– 可應用的虛值(Applicable Null Values)
– 不可應用的虛值(Inapplicable Null Values)
– 完全不知道的虛值(Totally Unknown)
世新大學 ERP 實驗室
關聯表的正式定義
• 關聯表(Relations)一個關聯表R主要包含標題(Heading)與本體
(Body)兩個部份,分述如下:
– 標題(Heading) :就是關聯表R的綱要(Schema) ,主要包含一組固
定的屬性(Attributes)A1,A2,…,An與它們所相對應的值域D1,D2,…,Dn。
通常寫成:
R{<A1:D1>,<A2:D2>,…,<An:Dn>},
或簡寫成:
R(A1(D1),A2(D2),…,An(Dn)),
或更省略地寫成:
R(A1,A2,…,An)
此標題部份是固定的,不隨時間而變動
– 本體(Body) :此部份所指的是關連表中的資料部份,其內容與數量
是非固定的,隨時間變動。一般是以:
{<A1:V1>,<A2:V2>,…,<An:Vn>},
來表示一筆值組(Tuple),或稱為紀錄。上述的表示法可以更省略地
寫成:
(V1,V2,…,Vn)
世新大學 ERP 實驗室
關聯表的正式定義(Cont’)
• 在一個關聯表中的所有屬性被視為一個集合,所以同
一個關聯表中的屬性不可以用同一個名稱, 但不同的
關聯表卻可以用同一個屬性名稱
– 以R1.A與R2.A區別
• 在定義一個關聯表的綱要時,要包含下列幾項定義:
– 關聯表的名稱(Relation name)、一組屬性A1, A2, …, An與各
個屬性相對應的值域D1, D2, …, Dn
R{<A1:D1>,<A2:D2>,…,<An:Dn>}
– 指定一個屬性子集(也可以只含一個屬性)做為主鍵
– 外來鍵(Foreign Key)的參考對象
世新大學 ERP 實驗室
關聯表的特性
•
•
•
•
不含重複的值組
值組之間是沒有順序的
屬性之間是沒有順序的
所有屬性值都是單元值(Atomic Value),不可
以是一個集合。理由是
– 簡化表示法
– 比較容易在實際的系統上實現關聯式資料模式的概
念
世新大學 ERP 實驗室
關聯表的種類
•
•
•
•
•
•
基底關聯表(Base Relations)
導出關聯表(Derived Relations)
視界(Views)
瞬間關聯表(Snapshot)
查詢結果(Query Result)
查詢中間結果(Intermediate Result)
世新大學 ERP 實驗室
關聯式資料庫
• 由一群具有相互關係的正規化關聯表所組成
• 所有關聯表之間的關係都是以資料值來聯繫,
沒有任何的鏈結指標
• 其中的所有屬性值都是單元值(Atomic Value),
不可以是一個集合,而且紀錄之間沒有任何的
順序關係
世新大學 ERP 實驗室
BOB資料庫
Orders
Bookstores
no
name
rank
city
no
id
quantity
1
巨蟹書店
20
台北市
1
1
30
2
射手書店
10
高雄市
1
2
20
3
水瓶書店
30
新竹市
1
3
40
4
天秤書店
20
台中市
1
4
20
5
獅子書店
30
台南市
1
5
10
1
6
10
2
1
30
2
2
40
3
2
20
4
2
20
4
4
30
4
5
40
Books
id
bookname
author
price
publisher
1
三國演義
羅貫中
120
古文出版社
2
水滸傳
施耐庵
170
中庸出版社
3
紅樓夢
曹雪芹
170
春秋出版社
4
西遊記
吳承恩
140
聊齋出版社
5
水經注
酈道元
120
易經出版社
6
道德經
老子
190
大唐出版社
世新大學 ERP 實驗室
Agenda
• 資料庫系統
• 關聯式資料模式的資料結構
• 關聯式資料模式的整合限制條件
世新大學 ERP 實驗室
簡介
• 整合限制條件(Integrity Rules)是用來規範關聯表中資
料的存放、刪除或更改等動作,以防止使用者將錯誤
或不合法的資料存在資料庫中,或是誤刪資料造成不
一致,避免引發將來不可收拾的錯誤情況發生
• 基本規則
– 個體整合限制條件(Entity Integrity):為規範關聯表內部的整
合限制條件
– 參考整合限制條件(Referential Integrity):為規範關聯表與關
聯表之間的整合限制條件
• 大都在基底關聯表上訂定,在使用者新增、刪除或更
改關聯表的資料時,被觸發(Trigger)執行
• 導出關聯表、視界或其他類型的關聯表則會直接繼承
它所屬基底關聯表上的整合限制條件
世新大學 ERP 實驗室
侯選鍵 (Candidate Keys)
• 在一個關聯表中符合唯一的屬性子集可能有好幾個,
這些屬性子集我們稱之為「候選鍵」(Candidate Keys)
• 主鍵便是由一堆候選鍵中所選擇出來了
• 成為候選鍵屬性子集必須要具備下列兩個條件
– 唯一性(Uniqueness Property)
– 最小性(Irreducibility Property或稱Minimality)
• 選擇主鍵時的原則
–
–
–
–
選擇永不會變更其值的屬性
確保不會是虛值的屬性
不要用會造成困惑的編號鍵值
盡量以單一的屬性來代表整筆值組
• 替代鍵(Alternate Keys)
世新大學 ERP 實驗室
外來鍵 (Foreign Keys)
• 外來鍵一個在R2中的外來鍵(FK)是由R2屬性集
的子集合所構成,而且合乎下面兩點:
– FK中的每個屬性值不是全為虛值,就是全非虛值
– 存在某個基底關聯表R1,其候選鍵為CK ,使得具
有非虛值得FK屬性值與R1中的某個值組的CK屬性
值完全相等
• 若外來鍵所參考到的候選鍵為複合(單一)屬性
的話,則該外來鍵也一定是複合(單一)屬性,
而且兩者的各個相對屬性之值域也都要一樣,
但屬性名稱可以不一樣
• R1與R2可以是同一個關聯表
世新大學 ERP 實驗室
外來鍵不一定是主鍵的一部份
Employees
Departments
dno name
manger budget
eno
name dno
salary
a1
會計
A001
40000
A001 Mike
a1
60K
e1
工程
E001
50000
E001 Frank e1
80K
p1
企劃
-
48000
E002 John
e1
48K
s1
銷售
S001
34000
S001 Tom
s1
70K
世新大學 ERP 實驗室
外來鍵與所參考的候選鍵都在同一個關聯表中
Employees
eno
A001
E001
name manger
Mike Frank -
salary
60K
80K
E002
S001
John
Tom
48K
70K
E001
-
世新大學 ERP 實驗室
外來鍵參考圖 (Referential Diagram)
• 外來鍵參考圖
no
id
– Bookstores  Orders  Books
– R3  R2  R1
• 外鍵參考鏈(Referential Chain)
– Rn  Rn-1  …  R1
• 外鍵參考環(Referential Cycle)
– Rn  Rn-1  …  R1  Rn
• 簡單外鍵參考環(參考的候選鍵在同一個關聯表)
– R1  R1
世新大學 ERP 實驗室
關聯式模式的兩條整合限制規則
• 個體整合限制 (Entity Integrity)
– 屬於基底關聯表主鍵的任何屬性值都不可以是虛值
• 如果主鍵是由複合屬性所構成的話,那麼其中
的任何屬性也都不能是虛值
• 個體整合限制規則只適用在基底關聯表中,在
查詢結果中是可以不必依循此規則的
– 在基底關聯表主鍵中的任何一個屬性都不可以存放
內定值,而虛值就是一種特殊的內定值
• 參考整合限制 (Referential Integrity)
– 資料庫中不能有違法的外來鍵值
世新大學 ERP 實驗室
外來鍵使用規則
• 外來鍵的虛值規則(Null Rule for Foreign Key)
– 如果外來鍵不是主鍵的一部份
• 外來鍵參考對象的刪除/更新規則
(Delete/Update Rule for Foreign Key
Reference)
–
–
–
–
限制性作法(RESTRICTED)
連鎖反應的作法(CASCADES)
虛值化的作法(NULLIFIES)
用結構化查詢語言中所提供的DDL來指明要採取何
種作法
世新大學 ERP 實驗室
在關聯表上定義額外的整合限制規則
• 整合限制條件是一種邏輯規則,它規定了資料
在資料庫中的合法的範圍,此規則會在新增、
刪除或更新值組時,被觸發以做進一步的檢查
• 額外的限制條件
–
–
–
–
–
欄位是否要強制唯一(Unique)?
欄位的預設值(Default Value)為何?
欄位的範圍(Range)為何?
欄位的格式(Format)為何?
也可以依各個資料庫的實際意義與應用,機動地加
入額外的整合限制條件
世新大學 ERP 實驗室
在關聯表上定義額外的整合限制規則(Cont’)
• 除了SQL中所提供的DDL可適當選定整合限制條件外,
現在許多資料庫管理系統還提供了所謂的「預儲程式」
(Stored-Procedures)搭配「觸發程序」(Triggers),讓
資料庫的設計師自行撰寫其額外的整合限制規則
• 有下面幾個缺點
– 先決定那些部份要放在伺服端以預儲程式來完成,增加開發
複雜度
– 與前端開發工具不一樣
– 觸發程序會觸發另一個觸發程序,可能會產生彼此的衝突,
往往不易察覺或偵錯
– 不適合用來整合與跨越異質性的資料庫伺服器
世新大學 ERP 實驗室
利用「個體-關係」模式來規劃資料庫
• 「個體-關係模式」(Entity-Relationship Model, E/R
Model)是一種「語意資料模式」(Semantic Data
Model),可以用來幫助我們做資料的分析與規劃
– 個體(Entities) :一般個體(Regular Entities)、弱勢個體
(Weak Entities)
– 個體類型(Entity Types):該類型中的每一個個體稱為實例
(Instance)
– 特性(Properties) :特性有單一(Single Properties)與複合
(Composite Properties)之分,特性也會構成鍵值(Key) ,特
性的值可以是單一值(Single-Valued)、多重值(Multi-Valued)、
或一個不確定的虛值(Unknown或Inapplicable) ,特性本身可
以是基本特性、導出特性
– 關係(Relationships) : 「一對一」(one-to-one)、「一對多」
(many-to-one)、或「多對多」(many-to-many) 、一般個體和
弱勢個體間稱為弱勢關係(Weak Relationship)
– 子類型(Subtypes)
世新大學 ERP 實驗室
個體-關係模式和自然語言間的關係
• 名詞對應到個體,集合名詞則對應到個體類型
• 形容詞、形容詞片語或所有格對應到個體類型
上的特性
• 動詞對應到關係
• 副詞或副詞片語對應到關係上的特性
世新大學 ERP 實驗室
個體關係圖 (E-R Diagram)
• 個體類型(Entity Types):以矩形代表之
– 若一般個體類型則以單框矩形來表示
– 若是弱勢個體類型則以雙框矩形來表示之
• 特性(Properties) :以橢圓形代表之
–
–
–
–
若要做為主鍵,則其特性名稱加底線
若為複合特性,則該特性的每一部份都要再細分
若為導出的特性,則以虛線橢圓形表示
若為多重值,則以雙框橢圓形表示
• 關係(Relationships) :以菱形表示之
– 一般關係則以單框菱形表示
– 弱勢關係則以雙框菱形表示
• 個體類型與關係間以直線連接起來,上面標明1, m (或
n)
– one-to-one (1:1), many-to-one (1:m), many-to-many (n:m)
世新大學 ERP 實驗室
一個完整的個體關係圖例
age
name
emp_id
Employee
years
m
Work_for
dept_id
1
Department
1
Emp_Dep
m
Dependent
city
name
age
name
世新大學 ERP 實驗室
個體-關係圖和自然語言間的對應關係
人類的自然語言
句子中的主詞
形容詞
主鍵
特性
句子中的動詞
副詞
形容詞
特性
個體類型
句子中的受詞
形容詞
特性
m
特性
關係
n
形容詞
主鍵
個體類型
特性
世新大學 ERP 實驗室
開發資料庫系統的規劃事項
• 先確定應用系統所需的「個體類型」有那些?
• 接下來找出個體與個體間會存在資料庫中的靜態「關係類型」,
並探討其關係是「一對一」、「一對多」、或「多對多」
• 繪出「個體-關係圖」
• 檢討「個體-關係圖」中的每個「個體」所需的特性
• 檢討「個體-關係圖」中的每個「關係類型」所需的特性
• 在「個體-關係圖」上補上橢圓代表各個特性
• 針對每一個「個體-關係圖」中的「個體類型」產生一個關聯表,
其中關聯表的屬性即為個體的特性
• 針對每一個「個體-關係圖」中的「關係類型」也產生一個關聯
表
• 針對每一個表格的所有屬性,一一檢討並訂定其內容
• 繪出整體資料庫的外來鍵參考圖
• 規劃每個功能的使用者介面與系統架構圖
• 針對各個系統的功能,說明要完成該功能的資料庫運算為何
世新大學 ERP 實驗室
設計個體關係圖時常犯的錯誤
• 扇形陷阱(Fan Trap)
• 斷層陷阱(Chasm Trap)