520 likes | 756 Views
第二篇 管理資訊系統之 資訊架構. 課程大綱. 第一節 資料處理概述 1.1 資料層級架構 - 電腦所能理解的觀點 1.2 資料應用類別 - 企業所能理解的觀點 1.3 資料處理 - 以系統模型的觀點 (IPO 模型 ) 1.4 資料處理 - 以電腦化的觀點 1.5 資料處理 - 以支援組織活動的觀點 第二節 資料庫系統 2.1 資料庫系統概述 2.2 資料庫設計 2.3 實體關係體資料模型 2.4 正規化理論 2.5 企業組織處理資料的未來. DW. DB 1. DB 2. DB n. 邏 輯 成 份 資 料. 學號.
E N D
課程大綱 第一節 資料處理概述 1.1 資料層級架構-電腦所能理解的觀點 1.2 資料應用類別-企業所能理解的觀點 1.3 資料處理-以系統模型的觀點(IPO模型) 1.4 資料處理-以電腦化的觀點 1.5 資料處理-以支援組織活動的觀點 第二節 資料庫系統 2.1 資料庫系統概述 2.2 資料庫設計 2.3 實體關係體資料模型 2.4 正規化理論 2.5 企業組織處理資料的未來
DW DB1 DB2 DBn 邏 輯 成 份 資 料 學號 姓名 計概 管理學 …… 92125 Tom 95 76 …… 檔 案 …… 92169 John 74 63 …… 欄位 記錄 John 01001010 位元組 0 位元 資料層級架構 實體成份資料
位元 同義名詞 位元組 資料項目 / 資料元素 / 屬性 / 直行 欄位 值組 / 橫列 記錄 關聯式 / 表格 檔案 資料庫 資料同義名詞
企業資料應用類別 • 1.標準性資料 • 變動性不大,例如身份證上的出生、姓名資料 • 品質檢驗標準,學生手冊…….等 • 2.計劃性資料 • 行銷企劃案,生產計劃表…….等 • 3.異動性資料 • 生產日報表,出缺勤記錄表,選課單…….等 • 4.彙總性資料 • 銷售月報表,損益表(I/S),資產負債表(B/S)…….等
企業資料應用類別 1.標準性資料 2.計劃性資料 3.異動性資料 4.彙總性資料 Transaction Standard 可互相比較 ◎電腦科技在「管理制度電腦化」中如何才能發揮最大效用?
資料處理IPO Model 輸入 (資料) 處理 (12項工作) 輸出 (資訊) 回饋 (控制)
資料 VS. 資訊 VS. 知識 • 資料(Data) vs.資訊(Information) • Data實際儲存在資料庫中的內容 • Information對使用者有意義的資料 • Information資料庫系統所服務的個人或公司認為重要,可以 • Information幫助個人或公司執行工作的任何資料 • 資料(Data) vs. 資訊(Information) vs. 知識(Knowledge) • Data用以表示某項事實的語言或符號 • Information經過組織以及處理過的資料 • Knowledge應用資訊進一步推論出某些無法一眼就看出的事實
資料庫系統—主要元件 • 一般而言包含四個主要部份 • 使用者 User • 資料 Data • 硬體 Hardware • 軟體 SoftWare DBS DBMS AP DB User PC User AP : 指可以是某一應用程式 DBS = DB + DBMS + User + Hardware
資料庫系統—User A • 使用者 User • 應用程式設計師 / 應用程式(Application Programmer / Application Programs) • 直接(或終端)使用者(End Users) • 資料庫管理師(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 B • B.直接(或終端)使用者(End Users) • (Application Programmer / Application Programs) • 從工作站或終端機與資料庫系統交談者稱之,通常此類人員 • 會使用Application Systems或直接使用DBMS所提供的指令, • 對資料庫下達查詢的要求,查詢的方式有三種: • 下SQL指令方式 • 表單方式(Menu-Driven) • 表格方式(Form-Driven) • 例如:MS Access資料庫系統軟體中的Query物件即提供此方 • 面功能 • 好處查詢時更具有彈性
資料庫系統—User C 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 Utility (7)舊資料的轉換(Bulk Copy) (8)製作磁碟複本(Disk Mirroring)讓資料重覆存放,防止資料損毀 (9)稽核追蹤(Audit Trail)分析並防止使用者違法不當事項出現 (10)管理系統目錄(System Catalog或稱Data Dictionary)使Database Schema 確保無誤 (11)其他
資料庫系統—Data分類 • 資料 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分配 TL (c) OD • 資料 Data 大小分配 • 令 運算資料(Operational Data) OD • 異動記錄(Transaction Log) TL • 則 OD VS.TL 約為多少才適當? TL TL OD OD (a) (b)
資料庫系統—Hardware & Software • 硬體 Hardware • 1. RAM + Floppy Driver + Hard Disk + I / O channels… • 2. Processor + Main Memory… • 軟體 Software • 1. 以DBMS為最主要 • 2. Utility公用程式 • 3. 應用發展工具 • 4. 設計輔助工具 • 5. 報表撰寫工具 • 6. 其他
資料庫生命週期(DBLC) DB初始研究與規劃 基礎設計階段 Conceptual Design 1 與 DB 軟 體 無 關 的 部 分 2a 資料分析與需求蒐集 DB的設計階段 2 E-R Modeling 2b DB安裝與資料載入 3 正規化的過程 2c DB雛形檢驗 2d 測試與校調 4 Access ? MSSQL ? Informix ? Sybase ? Oracle ? 選擇DB軟體 2e 上線實際作業 5 和軟體 有關 邏輯的設計 2f 維護更新與強化 6 2g 實體的設計 和硬體及 系統有關
資料庫設計的理論工具 Peter P.S. Chen E-R Model ANSI/X3/SPARC DataBase 3 Layer Architecture E.F. Codd Normalization Theory E.F. Codd Relational Data Model 1976 年 1970 年 1972 年 1975 年 Time
ER 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介紹 • 實體集合(EntitySet) • 意義: 是由一群性質相似的Entity所集合而成的 • 即同類的Entity可以構成Entity Set • 例如: 「員工」為一個 Entity Set • 而張三、李四、王五皆為員工 • 則稱張三、李四、王五為該 Entity Set • 內的一個 Entity
ER Model介紹 • 實體集合(EntitySet) • 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 Diagram (ERD) 介紹 • Entity Set : 以一個矩形圖(符號)代表之並將 • 此 Entity Set名稱填入矩形中 • ps.名稱以名詞方式命名 老師 學生 物料 部門 課程
ER Diagram (ERD) 介紹 • Relationship :以一個菱形圖(符號)代表之並 • 將此 Relationship名稱填入菱 • 形中 • ps.名稱以動詞方式命名 編班 選課 授課 聘僱 住院
ER Diagram (ERD) 介紹 • 簡易的ERD • 例如: 學生Entity Set與 課程 Entity Set相互作用的結 • 果會產生 選課 Relationship Relationship Entity Set Entity Set 選課 學生 課程
ER Diagram (ERD) 介紹 • 連結數(Connectivity) • 說明ERD的對應關係 • 只有三種對應關係 • 1 To 1 (稱為 : 一對一) • 1 To Many (稱為 : 一對多或多對一) • Many To Many (稱為 : 多對多) • 將Connectivity標記於箭頭附近 Relationship Connectivity Connectivity Entity Set Entity Set
ER Diagram (ERD) 介紹 • 加入Connectivity後的ERD 選課 n m 學生 課程 聘僱 n 1 部門 員工 住院 1 1 病人 病床
ER Diagram (ERD) 介紹 • Connectivity的決定 • 以1的觀念 From Left To Right • 再以1的觀念 From Right To Left • 最後用聯集的觀念取最大值 Relationship Entity Set Entity Set 用 聯 集 的 觀 念 1 To Many 1 n Many To 1 n 1 max max Many To Many m n
ER Diagram (ERD) 介紹 • 簡易的ERD • 例如: 學生Entity Set與 課程 Entity Set相互作用的結 • 果會產生 選課 Relationship C1 Relationship C2 Entity Set Entity Set 選課 m n 學生 課程
ER Diagram (ERD) 介紹 • 如何解讀簡易的ERD ?? 選課 m n 學生 課程 • 解讀: • 由左至右 : 一個學生可以選很多門課程 • 由右至左 : 一門課程可以被很多個學生選 • 配合自然語言: • 主詞動詞受詞 • 主詞被動詞受詞 Exam….
校園行政業務ERD介紹 n 編班 學生 m 選課 1 n 開 課 跑 班 m n m n 課程 班級 教室 m 授課 1 是否還有未分 析到的情形? n 1 導師 教師
ERD分析技巧介紹 n m 暑修 m 選課 n 學生 課程 加退選 n m 學生與課程之間就只 存在這三個關係體嗎?
ER Diagram (ERD) 介紹 • 屬性(Attribute) • 描述說明 Entity Set 或 Relationship 的性質或特徵 • 表示法--以一橢圓形符號表示之 P.K. P.K. P.K. C1 A1 A2 B1 B2 Relationship m n Entity Set Entity Set An Cn Bn
ER Diagram (ERD) 介紹 ? • 加入 Attribute 後的ERD P.K. 名稱 姓名 姓名 房間 名稱 說明 授課 m n 老師 課程 比例 方式 電話 學分 分數
ER Diagram (ERD) 介紹 外部層 User1 User2 UserN User3 DB External Schema 概念層 Conceptual Schema Internal Schema 內部層 • 整個DataBase內就存在兩樣東西…??? • 其一為--- E ----Entity Set • 另一為--- R ----Relationship 不是E 就是R
ER Diagram (ERD) 介紹 外部層 User1 User2 UserN User3 DB External Schema 概念層 Conceptual Schema Internal Schema 內部層 • 不是E就是R • 針對每一個 Entity Set 都必須建立主檔(Master File) • 針對每一個 Relationship都必須建立異動檔(Transaction File) Transaction File Master File
ER Diagram (ERD) 介紹 • 不是E就是R 幾個Master File ? n 編班 學生 幾個Transaction File ? m 選課 1 n 開 課 跑 班 m n m n 課程 班級 教室 m 授課 1 n 1 導師 教師
三層次資料庫系統架構 1975年由 ANSI/X3/SPARC提出 DBS 三層 架構希望達成資料獨立(Data Independence) 外部層 User1 User2 UserN User3 Database External Schema 概念層 ERM 的 切 入 點 Conceptual Schema Internal Schema 內部層
ER Diagram (ERD) 介紹 • 實務上如何找尋Entity Set ?? • 人(Person) • 地(Place) • 物(Thing) • 觀念(Concept) • 事件(Event) Exam…
ER Diagram (ERD) 介紹 • 例如:大學系統中的Entity Set 人(Person) 學生 校友 教職員 申請者 工友 事件(Event) 帳目 課外活動 物(Thing) 設備 物料 地(Place) 大樓 教室 學生宿舍 觀念(Concept) 課程 班級 職等
ER Diagram (ERD) 介紹 • ERD 的繪製步驟 一 步 一 腳 印 STEP1:瞭解Problem STEP2:尋找Entity Set STEP3:分析Relationship STEP4:定出Connectivity STEP5:條列E與R的Attribute STEP6:決定E與R的Primary Key STEP7:調整………….
資料正規化(Normalization)介紹 Review 關聯表(Relation) 的特性 • 不含重覆的值組(Tuple) • 值組之間是沒有順序的 • 屬性之間是沒有順序的 • 所有屬性值都是單(基)元值(AtomicValue) • Note: • 以上四個特性皆符合,才能稱這 • 個表格( Table )為關聯式( Relation ) • Relation = 有意義的Table
資料正規化(Normalization)介紹 • Atomic Value 意義 • Every row-column position in every table, there is always exectly one data value, never a set of values. • 在每一個表格中的每一列-行所在位置上,總是恰有一個值,不可以是一組值。 SP SP Atomic check X ok X ok
資料正規化(Normalization)介紹 • 符合Atomic Value 的改進 SP SP SP 改進 PK不允許Null 展開 所以要補滿 此為一Flat File (平面檔案)
資料正規化(Normalization)介紹 • 符合Atomic Value 的改進 SP SP 改進 展開 ? ? ? Data Redundancy
資料正規化(Normalization)介紹 • 所謂正規化是指一個 Relation (i.e. Table )中的 Data Items / Attributes 能夠遵守某一種型態的限制,這項工作謂之「正規化 ( Normalization )」,而此種型態謂之「正規型 ( Normal Form)」。 • Note: • 正規化 Normalization 為一項工作。 • 把 Table 作合於某些限制條件的處理 • 規模小的 DB 可以開單一檔案( Single File )處理。 • 規模大且複雜的 DB 環境則必須採用較嚴謹的技術 • (指正規化 工作)處理 。
資料正規化(Normalization)介紹 • Normal Form 正規型 • Normal Form 依據所受「限制條件」 的嚴格程度,可以分成六級,分別命名為: First Normal Form Second Normal Form Third Normal Form BOYCE/CODD Normal Form Fourth Normal Form Fifth Normal Form 1NF 2NF 3NF BCNF 4NF 5NF 第一正規型 第二正規型 第三正規型 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)的關係圖 Set Conception 1NF 2NF 3NF BCNF 4NF PJ/NF (5NF)
資料正規化(Normalization)介紹 • Table 1NF Relation Table PK 1NF