CH 04

advertisement
I
4
資料庫技術 DATABASE
TECHNOLOGIES
資訊管理導論
Ross Malaga
4-1
LEARNING GOALS
•
•
•
•
•
•
•
•
Explain how organizations use data and information.
Explain the basic concepts of data management.
Describe file systems and identify their problems.
Define database management systems and describe their
various functions.
Explain how the relational database model works.
Describe how databases are developed.
Explain how organizations can use data warehousing and
data mining for decision making.
Describe the advanced database models and when their use is
appropriate.
4-2
學習目標 LEARNING GOALS
• 說明企業如何使用資料和資訊
• 解釋資料管理的基本概念
• 描述檔案系統並指出其問題所在
• 定義資料庫管理系統 (DBMS) 並描述它的各種功能
• 解釋關聯式資料庫模式(relational database model)的運作原
理
• 描述資料庫是如何開發出來的
• 解釋企業如何使用資料倉儲data warehousing和資料採礦技術
data mining來做決策decision making
• 描述先進的資料庫模式及適用時機 Describe the advanced
database models and when their use is appropriate
4-3
Bead Bar的資料需求
• Meredith:有太多的資料需要人工處理
• Suzanne:很難去分析銷售趨勢
• Leda:如何和經銷商分享資料?
• Mitch:追蹤各個航線的銷售貢獻
• Julia:完成財務報表是費時且困難的
• Miriam:如何追蹤行銷成果?
• Rachel:即時追蹤庫存
• Jim:需要有關員工福利、退休金提撥,以及撫養親屬
這方面的精確資訊
4-4
資料管理的基本概念
Basic Concepts in Data Management
•欄位(Field)
–個別的資料塊
–由一個以上的位元組或字元所組成
–例如:姓名、地址、電話號碼
•資料錄(Record)
–一群欄位為了特定用途而組合在一起
•主鍵(Primary key)
–可以唯一的識別出每個不同的資料錄的某個欄位或某些
欄位
–學號就可用來代表學生的資料錄
4-5
更多基本概念 More Basic Concepts
•企業會把紙張表單集合成一個檔案
•資料庫系統中,檔案就相當於資料表(table)
•檔案集中放在檔案櫃裡
•在電腦中,檔案櫃就相當於一個資料庫
• Businesses group paper forms into a file
• Database systems equivalent of this is called a table
• Files of paper forms are stored in a file cabinet
• Computer equivalent of the file cabinet is a database
4-6
圖4.1 多個資料表所組成的資料庫
4-7
檔案系統 File Systems
•儲存資料最簡單的方式之一
•將特定應用軟體所要用到的資料錄集中儲存
Stores together groups of records together used by
a particular software application
•簡單,但有缺點
–無法共用資料
–安全性不足
–不易維護和擴充
–會有資料重複
4-8
檔案系統異常 File System
Anomalies
•新增異常 Insertion anomaly
–當資料位於多個檔案系統,需要重複輸入
•修改異常 Modification anomaly
–重複的資料位於不同的檔案系統,會造成不
一致
•刪除異常 Deletion anomaly
–沒有同時刪除重複的資料
•異常是不好的! Anomalies are BAD
4-9
資料庫定義 Database Defined
•將一組在邏輯上相關的資料,儲存在共
用的儲存庫 (repository)
•負責建立和處理資料庫的軟體就稱為資
料庫管理系統 (database management
system,DBMS)
• A set of logically related data stored in a
shared repository
• Software that creates and manipulates data
is a database management system
4-10
資料庫管理系統功能DBMS
Functions
•管理資料的儲存 Manage stored data
•將資料轉換成資訊 Transform data into
information
–根據使用者選擇的方式來呈現資料
–隱藏資料在實際上如何儲存的細節
•提供安全功能保障 Provide security
–DBMS 控制誰可以新增、檢視、變更和刪除
資料庫裏的資料
4-11
資料庫管理系統功能(續)
•允許多位使用者同時存取 Allow
multiuser access
–控制資料的同時存取 Controls concurrency
of access to data
–防止使用者存取還未完全更新的資料
•當在線上購票時,電腦只能讓你考慮兩分鐘,
決定是否要購票,超過時間就要將票讓給其它人,
這就是協同控制
• Prevents one user from accessing data that has not
been completely updated
4-12
資料庫管理系統功能(續)
•含有資料庫程式設計和查詢語言的功能
–使用資料定義語言 (data definition
language,DDL) 來定義和修改資料庫結構
–使用資料處理語言 (data manipulation
language,DML) 來輸入、修改、刪除和擷
取資料庫裡的資料
•提供資料字典 (data dictionary)
–Metadata–關於資料的說明
–資料字典包含 metadata–關於DBMS所控制的資料
庫的特性資料
4-13
資料庫的種類 Types of DBMSs
• 桌上型 Desktop
–
–
–
–
–
–
供個人或小型群組使用
不需要訓練,或只需要一點點訓練
沒有大型資料庫的能力
Use by individuals or small groups
Requires little or no formal training
Does not have all the capabilities of larger
DBMSs
4-14
資料庫的種類(續)
•企業用Enterprise
–服務多個據點,並儲存大量的資料 Serve
multiple locations and store large amounts of
data
–可以是分散式或集中式
•集中式–所有的資料都常駐在單一伺服器中
Centralized – all data on one server
–易於維護
–有太多使用者同時存取的時候,會執行得很慢
–伺服器故障就無法存取
•分散式–每個地點都有一部分的資料庫
Distributed – each location has part of the database
–資料庫管理非常複雜
–通常比集中式快
–一台伺服器故障,其它伺服器仍然可以繼續運作
4-15
圖4.3 分散式資料庫系統
4-16
資料庫模式Database Models
•資料庫模式 (database model)–用來表
達資料庫中各個結構彼此之間的關係
•四種普遍的資料庫模式
–平面檔案 Flat file model
–階層式,或樹狀結構 Hierarchical, or tree
structure, model
–網狀式 Network model
–關聯式 Relational model (最普遍的模式)
4-17
平面檔案資料庫: 通訊錄
Flat File Database: Address Book
圖4.4 平面檔案資料庫:通訊錄
4-18
階層式資料庫Hierarchical Database
Model
•結構像一棵倒過來的樹,根在最上層
Structure resembling an inverted tree, with
the root at the top
•只能用來儲存關係為一對多one-to-many
relationships的資料
–一個父區段有許多的子區段
– One parent segment to many child segments
•搜尋大量資料時,速度非常快
•缺乏彈性Not very flexible
4-19
圖4.5 階層式資料庫模式
4-20
網狀式
•任何一個資料錄可以連結到任何其它的
資料錄
•非常有彈性,但也非常複雜
•很少使用
• Any record may be linked to any other
record
• Highly flexible but also highly complex
• Rarely used
4-21
關聯式 Relational Model
•具有彈性,而且比較容易使用
•比起階層式或網狀式資料庫有點慢
•使用受管理的重複資料來建立欄位,提供資料表
之間的關聯性 Uses controlled redundancy to
create fields that provide linkage relationships
between tables in the database
–這些欄位稱為外來鍵(foreign keys)–關聯式資料庫
的關鍵
–外來鍵是一個資料表中的一個欄位或一組欄位,也是
其它資料表的主鍵
4-22
圖4.7 關聯式模式範例
4-23
SQL Structured Query Language
•結構化查詢語言 (Structured Query
Language,SQL)
–一個關聯式資料庫的標準 DDL 和 DML
–用途
•建立資料表Creating tables
•刪除資料表 Deleting tables
•新增、變更、刪除和取得資料 Add, change,
delete, and retrieve data
–雖然ANSI對SQL有標準的規範,但是各家廠
商還是提供他們自己的SQL
4-24
資料庫的開發過程
1.分析 2.開發概念模型 3.開發實體模型
4.資料庫實作 5.資料庫管理
• 分析–清楚地瞭解組織如何運作,以及資
料如何被使用
Analysis – Develop a clear understanding of
how the organization works and what data is
used
4-25
圖4.8 學生註冊系統
4-26
資料庫的開發過程(續)
2) 開發概念模型
Develop a conceptual model
•顯示如何將資料組織在一起,以及表
達彼此之間的關係
•實體-關係圖(Entity-Relationship
diagram,ERD) 用來記錄概念模型
• 修正ERD比重新設計一個建構好的資
料庫還要便宜
4-27
實體-關係圖範例
圖4.8 選課系統的實體-關係圖
4-28
資料庫的開發過程(續)
3) 開發實體模型 Develop a physical model
•實體模型提供有關資料庫裡每個資料
表和欄位的個別詳細資訊
• 正規化用來消除重複的資料,讓異
常減到最小
•最佳化資料庫的效能
4-29
資料庫的開發過程(續)
4) 資料庫實作 Database implementation
• 安裝DBMS軟體
• 建立資料庫
• 測試
• Install the DBMS software
• Build the database
• Test
4-30
資料庫的開發過程(續)
5) 資料庫管理 Database administration
• 確保資料庫有效率的運作
• 管理資料庫的備份和還原
• 建立和設定使用者帳戶,以及安全控管
• Ensures database efficiency
• Manages backup and restoration
• Sets up user accounts and security
4-31
使用資料庫來做管理上的決策
Databases for Decision Making
•資料倉儲Data warehouse
–資料庫是
•主題導向–資料是依據主題來組織
•整合式–包含與主題相關所有資料
•隨時間變化–資料包含一個時間元件
–異動式資料庫系統裡的資料,在任何時刻都是絕對精確的
–資料倉儲包含多個時期的相同資料。例如,一個學生的資料
倉儲會包含學生每個學期的選課資料
•非揮發性
–資料不會被更新、變更或刪除
•針對查詢和報表做最佳化
•不是一個異動資料庫
4-32
資料採礦 Data Mining
•應用分析與統計方法在資料上來找出模式
(pattern) 的過程
•零售商利用資料採礦來找出顧客的採購模式
•專業的美式足球團隊使用資料採礦來分析對手
• Process of applying analytical and statistical
methods to data to find patterns
• Retailers use data mining to determine purchasing
patterns
• Pro football teams use data mining to scout the
opposition
4-33
先進的資料庫模式
Advanced Database Models
•物件導向資料庫 (Object-Oriented Data
Model,OODM)
–物件類別之間有關係屬性
–OODM提供繼承到子類別,就如同OOP一樣
•超媒體資料庫 Hypermedia Databases
–任何一個節點可以連結到任何其它節點
–節點之間沒有事先定義好的關係
–WWW就是一個超媒體資料庫的範例
4-34
Bead Bar 公司訪談結果
•資料庫系統如何影響 Bead Bar
–Meredith –建置資料倉儲來確定趨勢
–Suzanne – 資料庫用來排程和管理員工及追蹤庫存
–Leda – 企業資料庫用來改善與經銷商之間的溝通
–Mitch – 追蹤銷售潮流
–Julia – 建立財務報表
–Miriam – 資料採礦得到的結果是直接郵件行銷的效果
最好
–Rachel – 追蹤庫存,並設定自動訂貨
–Jim – 追蹤員工的資訊,並關心訓練的問題
4-35
學習目標摘要
企業如何使用資料和資訊
資料管理的基本概念
檔案系統的特性和它們的問題
定義資料庫管理系統 (DBMS) 和它的各種
功能
關聯式資料庫模式的運作原理
資料庫是如何開發出來的
企業如何使用資料倉儲和資料採礦技術來
做決策
先進的資料庫模式及適用時機
4-36
4-37
Learning Goals Summary
In this chapter you have learned:
 How organizations use data and information
 The basic concepts of data management
 Characteristics of file systems and their problems
 The definitions of DBMSs and DBMS functions
 How the relational database model works
 How databases are developed
 How organizations can use data warehousing and data
mining for decision making
 The advanced database models and when their use is
appropriate
4-38
LEARNING GOALS
•
•
•
•
•
•
•
•
Explain how organizations use data and information.
Explain the basic concepts of data management.
Describe file systems and identify their problems.
Define database management systems and describe their
various functions.
Explain how the relational database model works.
Describe how databases are developed.
Explain how organizations can use data warehousing and
data mining for decision making.
Describe the advanced database models and when their use is
appropriate.
4-39
Download