一一一一、、、、資產負債資訊資產負債資訊2 一一一一、、、、資產負債資訊資產負債資訊 ((((一一一一))))資產負債表資產負債表
第二篇 管理資訊系統之 資訊架構
description
Transcript of 第二篇 管理資訊系統之 資訊架構
第二篇 管理資訊系統之第二篇 管理資訊系統之資訊架構資訊架構
課程大綱課程大綱 第一節 資料處理概述
1.1 資料層級架構 - 電腦所能理解的觀點 1.2 資料應用類別 - 企業所能理解的觀點 1.3 資料處理 - 以系統模型的觀點 (IPO 模型 ) 1.4 資料處理 - 以電腦化的觀點 1.5 資料處理 - 以支援組織活動的觀點
第二節 資料庫系統 2.1 資料庫系統概述 2.2 資料庫設計 2.3 實體關係體資料模型 2.4 正規化理論 2.5 企業組織處理資料的未來
資料層級架構資料層級架構
學號 姓名 計概 管理學 ……
92125 Tom 95 76 ……
……
92169 John 74 63
01001010
0
……
位元組
位元
欄位 記錄
檔案
DB1 DB2 DBn
DW
邏輯成份資料
John
實體成份資料
資料同義名詞資料同義名詞
欄位
位元組
位元
記錄
資料庫
檔案
資料項目 / 資料元素 / 屬性 / 直行
值組 / 橫列
關聯式 / 表格
同義名詞
1. 標準性資料• 變動性不大,例如身份證上的出生、姓名資料• 品質檢驗標準,學生手冊…… . 等
2. 計劃性資料• 行銷企劃案,生產計劃表…… . 等
3. 異動性資料• 生產日報表,出缺勤記錄表,選課單…… . 等
4. 彙總性資料• 銷售月報表,損益表 (I/S) ,資產負債表 (B/S)……. 等
企業資料應用類別
1. 標準性資料
企業資料應用類別
可互相比較
4. 彙總性資料
2. 計劃性資料 3. 異動性資料
Standard Transaction
◎電腦科技在「管理制度電腦化」中如何才能發揮最大效用?
資料處理 IPO Model
輸入(資料)
處理( 12 項工作)
輸出(資訊)
回饋(控制)
• 資料 (Data) vs. 資訊 (Information)• Data 實際儲存在資料庫中的內容• Information 對使用者有意義的資料 Information 資料庫系統所服務的個人或公司認為重要 , 可以 Information 幫助個人或公司執行工作的任何資料
• 資料 (Data) vs. 資訊 (Information) vs. 知識 (Knowledge)• Data 用以表示某項事實的語言或符號• Information 經過組織以及處理過的資料• Knowledge 應用資訊進一步推論出某些無法一眼就看出的事實
資料 VS. 資訊 VS. 知識
一般而言包含四個主要部份
• 使用者 User• 資料 Data• 硬體 Hardware• 軟體 SoftWare
PC
DBMS
DBS
AP
User
DB
資料庫系統—主要元件
AP : 指可以是某一應用程式DBS = DB + DBMS + User + Hardware
User
• 使用者 UserA. 應用程式設計師 / 應用程式 (Application Program
mer / Application Programs)B. 直接 ( 或終端 ) 使用者 (End Users)C. 資料庫管理師 (Database Administrator ,簡稱 DBA)
分述如下:A. 應用程式設計師 / 應用程式 (Application Programmer / Application Programs)
負責使用 COBOL 、 PL/I 、 C++ 、 Java 、 VB 、 Delphi 、Power
Builder 、 4GL 等語言,開發資料庫應用程式 ( 或稱應用系統Application Systems) ,如財務、行銷、人事薪資、會計 .. 等
應用系統,透過使用正確的 SQL 敘述對 DBMS 下達操作資料
的指令,例如 select 、 insert 、 update 、 delete 等敘述
資料庫系統— User A
B. 直接 ( 或終端 ) 使用者 (End Users) (Application Programmer / Application Programs)
從工作站或終端機與資料庫系統交談者稱之,通常此類人員會使用 Application Systems 或直接使用 DBMS 所提供的指令,對資料庫下達查詢的要求,查詢的方式有三種:1. 下 SQL 指令方式2. 表單方式 (Menu-Driven)3. 表格方式 (Form-Driven)
例如: MS Access 資料庫系統軟體中的 Query 物件即提供此方
面功能
好處查詢時更具有彈性
資料庫系統— User B
C. 資料庫管理師 (Database Administrator ,簡稱 DBA) 1. 是一個技術 (Information Technology ,簡稱 IT)專業人員 2. 扮演著上述兩類人員與 DBMS 之間溝通的橋樑 3. 工作內容,分述如下: (1)決定資料的儲存結構 (2) 提供資料庫系統使用者權限管控 (3)監督並協調資料庫的效能,如使用最佳化維護 (4)安全性控制 (Security Control) ,如控管 Firework (5)整合性檢查 (Integrity Checking) ,如年齡負值, 14 月 38 日 (6) 資料備份 (Backup) 與回復 (Recovery) ,如 Dump& Backup Uti
lity (7)舊資料的轉換 (Bulk Copy) (8)製作磁碟複本 (Disk Mirroring)讓資料重覆存放,防止資料損毀
(9)稽核追蹤 (Audit Trail) 分析並防止使用者違法不當事項出現 (10) 管理系統目錄 (System Catalog 或稱 Data Dictionary) 使 Datab
ase Schema 確保無誤 (11)其他
資料庫系統— User C
• 資料 Data 資料庫系統中的 Data基本上可以分為兩大類 1. 運算資料 (Operational Data) 2. 異動記錄 (Transaction Log)
1. 運算資料 (Operational Data) (A) DB 中為某應用所欲存放的 Data 使用者所產生 (B) DB 中為了用來描述 Data 的 Data ,即系統目錄的資 料通常稱為 Metadata 系統所產生
2. 異動記錄 (Transaction Log) 對於使用者所下達的命令,而自行產生的記錄
資料資料 ,而這些異動記錄對 DBA 而言則有重大意義
,做為執 行 Backup 或 Recovery 時的參考依據
資料庫系統— Data 分類
• 資料 Data 大小分配 令 運算資料 (Operational Data) OD 異動記錄 (Transaction Log) TL
則 OD VS. TL 約為多少才適當 ?
資料庫系統— Data 分配
OD
TL
OD
TL
(a) (b)
OD
TL
(c)
• 硬體 Hardware 1. RAM + Floppy Driver + Hard Disk + I / O channels… 2. Processor + Main Memory…
• 軟體 Software 1. 以 DBMS 為最主要 2. Utility 公用程式 3. 應用發展工具 4. 設計輔助工具 5. 報表撰寫工具 6. 其他
資料庫系統— Hardware & Software
DB 初始研究與規劃
DB 的設計階段
DB 安裝與資料載入
測試與校調
上線實際作業
維護更新與強化
選擇 DB 軟體
邏輯的設計
實體的設計
1
2
3
4
5
6
資料分析與需求蒐集
E-R Modeling
正規化的過程
DB 雛形檢驗
基礎設計階段Conceptual Design
和軟體有關
和硬體及系統有關
與DB軟體無關的部分
2a
2b
2c
2d
2e
2f
2g
資料庫生命週期 (DBLC)
Access ?MSSQL ?Informix ?Sybase ?Oracle ?
Time
E.F. CoddRelational Data Model
E.F. CoddNormalization Theory
ANSI/X3/SPARCDataBase 3 Layer Architecture
1970 年 1972 年 1975 年 1976 年
Peter P.S. ChenE-R Model
資料庫設計的理論工具
•全名 Entity-Relationship Model•縮寫名稱為 E-R Model•中文稱為 實體關係體模型•由陳品山教授 (Peter P.S. Chen)於 1976年所提出•是一種語意資料模型 (Semantic Data Model)•目的 -輔助規劃 DB 中概念層設計•功能 -協助 SA 人員做資料的分析與規劃•技巧 - 以圖示方式表達•Ouput- 實體關係體圖 (Entity-Relationship Diagram)•簡稱 ER Diagram 或 ERD
ER Model介紹
•實體 (Entity)
•意義 : 一個能被清晰分辨的事或物 例如 : 一個人 一個零件 一家公司 甚至一個 (抽象 ) 觀念 ,吾人可 區別 之
•Ex: DB 此門課程 3 學分 3 學分摸不著 課程名稱亦摸不著此為抽象觀念
PS. 區別 (Identify):牽涉到唯一性 隱含著 Primary Key 的概念
ER Model介紹
•實體集合 (Entity Set)
•意義 : 是由一群性質相似的 Entity 所集合而成的 即同類的 Entity 可以構成 Entity Set
•例如 : 「員工」為一個 Entity Set 而張三、李四、王五皆為員工 則稱張三、李四、王五為該 Entity Set 內的一個 Entity
ER Model介紹
•實體集合 (Entity Set)
Ex: 學生、員工、部門、物料、課程等…均是 Entity Set
學生 ={張三、李四、王五… .}部門 ={ 生產部、財務部、行銷部… }物料 ={潤滑油、油墨、紙張… }課程 ={國文、英文、微積分、 DBMS 、 SA 、生管… }
PS.微積分 ( 上 ) 、微積分 ( 下 ) 英文 ( 一 ) 、英文 ( 二 ) 、英文 ( 三 ) 、英文( 四 ) 如此處理才能分辨
ER Model介紹
•關係體 (Relationship)
•意義 : Entity Set 與 Entity Set 相互作用的結果會產生 Relationship, 且此 Relationship 可能不只一種
•例如 : 學生 Entity Set 與 課程 Entity Set 相互作用的結 果會產生 選課 Relationship
•例如 : 老師 Entity Set 與 課程 Entity Set 相互作用的結 果會產生 授課 Relationship
•假如學生來學校卻不上課 ,則與課程無關 , 此時學生與 課程為兩個獨立 Entity Set, 無任何 Relationship 存在
ER Model介紹
•Entity Set : 以一個矩形圖 ( 符號 )代表之並將 此 Entity Set 名稱 填入矩形中ps. 名稱以名詞方式命名
學生
部門
物料
課程
老師
ER Diagram (ERD) 介紹
•Relationship : 以一個菱形圖 ( 符號 )代表之並 將此 Relationship 名稱填入菱 形中ps. 名稱以動詞方式命名選課
授課
聘僱住院
編班
ER Diagram (ERD) 介紹
•簡易的 ERD
例如 : 學生 Entity Set 與 課程 Entity Set 相互作用的結 果會產生 選課 Relationship
學生 課程選課
Entity Set Entity SetRelationship
ER Diagram (ERD) 介紹
•連結數 (Connectivity)
•說明 ERD 的對應關係
•只有三種對應關係• 1 To 1 ( 稱為 : 一對一 )• 1 To Many ( 稱為 : 一對多或多對一 )• Many To Many ( 稱為 : 多對多 )
•將 Connectivity 標記於箭頭附近
Entity Set Entity SetRelationshipConnectivity Connectivity
ER Diagram (ERD) 介紹
•加入 Connectivity後的 ERD
學生 課程選課m n
部門 員工聘僱1 n
病人 病床住院1 1
ER Diagram (ERD) 介紹
•Connectivity 的決定
•以 1 的觀念 From Left To Right•再以 1 的觀念 From Right To Left•最後用聯集的觀念取最大值
Entity Set Entity SetRelationship
1 n
n 1
m n
1 To Many
Many To 1
Many To Many
用聯集的觀念
max
max
ER Diagram (ERD) 介紹
•簡易的 ERD
例如 : 學生 Entity Set 與 課程 Entity Set 相互作用的結 果會產生 選課 Relationship
學生 課程選課
Entity Set Entity SetRelationshipC1 C2
m n
ER Diagram (ERD) 介紹
•如何解讀簡易的 ERD ??
學生 課程選課m n
解讀 : •由左至右 : 一個學生可以選很多門課程•由右至左 : 一門課程可以被很多個學生選
配合自然語言 :•主詞動詞受詞•主詞被動詞受詞
Exam….
ER Diagram (ERD) 介紹
教師
課程
授課
班級
學生
選課
開課
編班
導師
教室跑班
m
m
mmn
n
n
n
n
1
1
1
是否還有未分析到的情形 ?
校園行政業務 ERD介紹
學生 課程選課
暑修
加退選
m n
m
m
n
n
學生與課程之間就只存在這三個關係體嗎 ?
ERD 分析技巧介紹
•屬性 (Attribute)
•描述說明 Entity Set 或 Relationship 的性質或特徵•表示法 -- 以一橢圓形符號表示之
Entity Set Relationship
A1 A2
An
Entity Set
B1 B2
Bn
C1
Cn
m n
P.K. P.K. P.K.
ER Diagram (ERD) 介紹
•加入 Attribute 後的 ERD
老師 授課
姓名 房間
電話
課程
名稱 說明
學分比例 方式
m n
?P.K.
ER Diagram (ERD) 介紹
分數
姓名 名稱
•整個 DataBase 內就存在兩樣東西… ???
其一為 --- E ---- Entity Set 另一為 --- R ---- Relationship
DB外部層
概念層
內部層
User1User2 User3 UserNExternalSchema
ConceptualSchema
InternalSchema
不是 E就是 R
ER Diagram (ERD) 介紹
•不是 E 就是 R
•針對每一個 Entity Set 都必須建立主檔 (Master File)•針對每一個 Relationship 都必須建立異動檔 (Transaction File)
DB外部層
概念層
內部層
User1User2 User3 UserNExternalSchema
ConceptualSchema
InternalSchema
Master FileTransaction File
ER Diagram (ERD) 介紹
•不是 E 就是 R幾個 Master File ?
幾個 Transaction File ?
教師
課程
授課
班級
學生
選課
開課
編班
導師
教室跑班
m
m
mmn
n
n
n
n
1
1
1
ER Diagram (ERD) 介紹
Database外部層
概念層
內部層
1975年由 ANSI/X3/SPARC 提出 DBS 三層架構希望達成資料獨立 (Data Independence)
User1 User2 User3 UserN
ExternalSchema
ConceptualSchema
InternalSchema
三層次資料庫系統架構
ERM的切入點
•實務上如何找尋 Entity Set ??
•人 (Person)
•地 (Place)
•物 (Thing)
•觀念 (Concept)
•事件 (Event)Exam…
ER Diagram (ERD) 介紹
•例如 : 大學系統中的 Entity Set
人 (Person)學生校友教職員申請者工友
地 (Place)大樓教室
學生宿舍
物 (Thing)設備物料
觀念 (Concept)課程班級職等
事件 (Event)帳目
課外活動
ER Diagram (ERD) 介紹
• ERD 的繪製步驟STEP1: 瞭解 Problem
STEP2: 尋找 Entity Set
STEP3: 分析 Relationship
STEP4: 定出 Connectivity
STEP5: 條列 E 與 R 的 Attribute
STEP6: 決定 E 與 R 的 Primary Key
STEP7: 調整………… .
一 步 一 腳 印
ER Diagram (ERD) 介紹
1. 不含重覆的值組 (Tuple)
2. 值組之間是沒有順序的
3. 屬性之間是沒有順序的
4. 所有屬性值都是單 (基 ) 元值 (Atomic Value)
Note :•以上四個特性皆符合,才能稱這 個表格 ( Table ) 為關聯式 ( Relation )
• Relation = 有意義的 Table
Review關聯表 (Relation)
的特性
資料正規化 (Normalization)介紹
• Atomic Value 意義
• Every row-column position in every table, there is always exectly one data value, never a set of values.
• 在每一個表格中的每一列 - 行所在位置上,總是恰有一個值,不可以是一組值。
S# P#S1 P2 P3 P5
S2 P3
S3 P1 P4
S4 P2 P3 P10
SP
ok
ok
X
X
S# P#S1 P2 P3 P5
S2 P3
S3 P1 P4
S4 P2 P3 P10
SP
Atomic check
資料正規化 (Normalization)介紹
• 符合 Atomic Value 的改進
S# P#
S1 P2
S1 P3
S1 P5
S2 P3
S3 P1
S3 P4
S4 P2
S4 P3
S4 P10
SPS# P#S1 P2 P3 P5
S2 P3
S3 P1 P4
S4 P2 P3 P10
SP
改進S# P#
S1 P2
P3
P5
S2 P3
S3 P1
P4
S4 P2
P3
P10
SP
PK 不允許 Null
所以要補滿展開
此為一 Flat File(平面檔案 )
資料正規化 (Normalization)介紹
• 符合 Atomic Value 的改進
S# P#
S1 P2
S1 P3
S1 P5
S2 P3
S3 P1
S3 P4
S4 P2
S4 P3
S4 P10
SPS# P#S1 P2 P3 P5
S2 P3
S3 P1 P4
S4 P2 P3 P10
SP
改進
展開
Data Redundancy
???
資料正規化 (Normalization)介紹
• 所謂正規化是指一個 Relation (i.e. Table ) 中的 Data Items / Attributes 能夠遵守某一種型態的限制,這項工作謂之「正規化 ( Normalization ) 」,而此種型態謂之「正規型 ( Normal Form) 」。
Note :1.正規化 Normalization 為一項工作。 把 Table 作合於某些限制條件的處理
2.規模小的 DB 可以開單一檔案 ( Single File ) 處理。
3.規模大且複雜的 DB 環境則必須採用較嚴謹的技術 ( 指正規化 工作 ) 處理 。
資料正規化 (Normalization)介紹
• Normal Form 正規型
• Normal Form 依據所受「限制條件」 的嚴格程度,可以分成六級,分別命名為:
1NF 2NF3NFBCNF4NF5NF
First Normal Form Second Normal FormThird Normal FormBOYCE/CODD Normal FormFourth Normal FormFifth Normal Form
第一正規型第二正規型第三正規型 BC 正規型第四正規型第五正規型
資料正規化 (Normalization)介紹
• Normal Form 正規型
• 實務上為 Performance 的考量,應盡量使 DataBase 中的 Relation 維持在 3NF 的狀態。
• 3NF 表示符合 1NF 、 2NF 、 3NF 的限制條件,即必為 1NF 的 Relation 且為 2NF 的 Relation 且為 3NF 的 Relation 。
• 實務上不教 4NF 、 5NF ,只關心 1NF 、 2NF 、 3NF。
資料正規化 (Normalization)介紹
•正規化型式 (Normal Form) 的關係圖
PJ/NF(5NF)
4NFBCNF
3NF
2NF
1NF Set Conception
資料正規化 (Normalization)介紹
• Table 1NF Relation
COURSE-NO COURSE-TITLE INSTRUCTOR-NAME INSTRUCTOR-LOCATION STUDENT-NO GRADE
101 BCC WU 302 10,15,18 75,83,66
201 SA CHUNG 206 20,30,31 92,80,77
…. …. …. …. …. ….
COURSE-NO COURSE-TITLE INSTRUCTOR-NAME INSTRUCTOR-LOCATION STUDENT-NO GRADE
101 BCC WU 302 10 75
101 BCC WU 302 15 83
101 BCC WU 302 18 66
201 SA CHUNG 206 20 92
201 SA CHUNG 206 30 80
201 SA CHUNG 206 31 77
…. …. …. …. …. ….
Table
1NFPK
資料正規化 (Normalization)介紹
• FDD 分析 3NF
STUDENT-NO
COURSE-NO
COURSE-TITLE
INSTRUCTOR-NAME
INSTRUCTOR-LOCATION
GRADE
資料正規化 (Normalization)介紹
•正規化的步驟未經正規化的關聯表未經正規化的關聯表
第一正規化型式第一正規化型式
第二正規化型式第二正規化型式
第三正規化型式第三正規化型式
Boyce-Codd 正規化型式 Boyce-Codd 正規化型式
第四正規化型式第四正規化型式
第五正規化型式第五正規化型式
除去其他因功能相依所造成的異常
除去重複群
除去部份功能相依
除去遞移功能相依
除去剩下所有的異常
除去多值相依
資料正規化 (Normalization)介紹