Introduction to database system - Maejo University€¦ · Part A Part B Part C Part D Part E....
Transcript of Introduction to database system - Maejo University€¦ · Part A Part B Part C Part D Part E....
1/17/2015
1
CH1: INTRODUCTION TO DATABASE SYSTEM
SAYANUNANKARD2/2557
www. i t s c i .m ju.ac. t h/sa yan
DATABASE TECHNOLOGY
ดวยววฒนาการของเทคโนโลย ทงทางดาน Processors, Memory, Storage and networks ขนาด ความสามารถ และ ประสทธภาพของฐานขอมลมการพฒนาทกาวหนาขนไปเรอยๆ
การพฒนาของฐานขอมลสามารถแบงเปน 3 ชวงตามลกษณะของโครงสรางขอมล ดงน
Navigational
SQL/Relational
Post-relational
2
1: NAVIGATIONAL
สองแบบหลกๆ ของฐานขอมลประเภทน ไดแก
ฐานขอมลแบบล าดบขน (Hierarchical Database Model)
ฐานขอมลแบบเครอขาย (Network Database Model) หรอ CODASYL
3
1/17/2015
2
1.1: HIERARCHICAL DATABASE MODEL
เปนแบบจ าลองของฐานขอมลทใชอธบายถงฐานขอมล ทมโครงสรางของขอมลในแบบล าดบ
ชน (Hierarchy) ทคดคนขนโดยบรษท North American Rockwell โดยม
จดประสงคเรมตนเพอตองการใหเปนฐานขอมลทสามารถขจดการซ าซอนของขอมล (Data
Redundancy) ทเกดขนกบขอมลทเกบอยในเทปของบรษทในขณะนน ซงมจ านวน
มากกวา 60 เปอรเซนตทซ าชอนกน
4
1.1: HIERARCHICAL DATABASE MODEL
โครงสรางทวไป
เปนกลมของขอมลทมการจดการในลกษณะของโครงสรางแบบ upside-down tree
(hierarchical)
ในระดบบนสดจะเรยกวา parent หรอ root
กลมขอมลทอย ภายใตกลมใด ๆ เรยกวา children
โครงสรางแบบตนไม เปนการน าเสนอล าดบขนตาง ๆ โดยขนอยกบสอทใช เกบขอมลของ
คอมพวเตอรนน ๆ
5
1.1: HIERARCHICAL DATABASE MODEL
6
Root
Level 1
Level 2
Level 3
Final assembly
Component A Component B Component C
Assembly A Assembly B Assembly C
Part BPart A Part EPart DPart C
1/17/2015
3
1.2: NETWORK DATABASE MODEL
ในป ค.ศ. 1967 กลมผพฒนาภาษา COBOL ทมชอวา Conference On Data System Languages (CODASYL) ไดตงทมงานทมชอวา Database Task Group (DBTG) ขน เพอรวมกนก าหนดมาตรฐานเพอใชในการสราง และจดการกบ
ขอมลภายในฐานขอมล
ในเดอนตลาคม 1969 กลม DBTG ไดเผยแพร language specifications ส าหรบ network database model เปนครงแรก
เปนแบบจ าลองทใชอธบายถงฐานขอมลทมโครงสรางของขอมลทจ าแนกตามความสมพนธ
ของขอมล ทไดรบการพฒนามาจากฐานขอมลทมโครงสรางในแบบ Hierarchy โดยม
จดมงหมายเพอก าหนดใหเปนรปแบบของโครงสรางขอมลทเปนมาตรฐาน และเปนฐานขอมล
ทสามารถรองรบขอมลทมความสมพนธในแบบ Many-to-Many
7
1.2: NETWORK DATABASE MODEL
8
SALESREP CUSTOMER
INVOICEPRODUCT PAYMENT
INV_LINE
1:M 1:M 1:M
1:M 1:M
Commission set Sale set Payment set
Inventory set Line set
2: SQL/RELATIONAL
Relational model ถกน าเสนอเมอป คศ. 1970 โดย Edgar F. Codd
ขอมลทจดเกบอยในฐานขอมลทมโครงสรางขอมลในแบบ Relational จะถกแยกจดเกบออกเปนหนวยยอยๆ ทเรยกวา Relation หรอโดยทวไปเรยกวา Table
ขอมลจะถกเกบในรปแบบของตาราง ซงภายในตารางจะแบงออกเปน แถว และ คอลมน
แถว (Row) เรยกอกอยางวาระเบยนหรอเรคคอรด หรอ ทพเพล (Tuple)
คอลมน (Column) เรยกอกอยางวาเขตขอมล หรอฟลด หรอ แอททรบวท (Attribute)
9
1/17/2015
4
2: SQL/RELATIONAL
Entity-Relationship Data Model เปนเครองมอทไดรบการยอมรบและใชงานกนอยางแพรหลายในการออกแบบโมเดลขอมล
การน าเสนอขอมลเปนลกษณะของกราฟก และ แสดงถงความส าคญของขอมลแตละสวน
เปนสวนประกอบของ relational data model concepts โดยสมบรณ
10
3: POST-RELATIONAL
Object databases ถกพฒนาขนในชวงป คศ. 1980 เพอแกปญหาความผดพลาด
ในการเขยนโปรแกรมเชงวตถ กบฐานขอมลเชงสมพนธ ซงสงผลใหเดนการพฒนาชวงทสาม
คอ "post-relational" และการพฒนา object-relational databases
ในป คศ. 2000 ไดเกดฐานขอมลทเรยกวา NoSQL databases ซงพฒนาเพอเพมความรวดเรวในการเขาถงขอมลในรปแบบของ key-value stores และ document-oriented databases
ในยคถดไปของฐานขอมล จะถกเรยกวา NewSQL databases ซงเปนการพฒนาบนพ นฐานของ relational/SQL model และเพมประสทธภาพใหสงเทยบเทา NoSQL
11
DATABASE SYSTEM
สวนประกอบของระบบฐานขอมล
Hardware
เครองคอมพวเตอร
อปกรณตอพวง เชน เครองพมพ
Software
ซอฟตแวรระบบปฏบตการ
ระบบจดการฐานขอมล
โปรแกรมประยกต
12
1/17/2015
5
DATABASE SYSTEM
สวนประกอบของระบบฐานขอมล (ตอ)
•People
• ผดแลระบบ (Systems administrators)
• ผดแลฐานขอมล (Database administrators - DBAs)
• นกออกแบบฐานขอมล
• นกวเคราะหและโปรแกรมเมอร
• ผใชทวไป
•Procedures
• เครองมอหรอกฎ ทใชในการออกแบบและการใชงานฐานขอมล
• Data
• กลมของขอมล
13
DATABASE SYSTEM
• ความซบซอนของฐานขอมล ขนอยกบ
• ขนาดขององคกร
• หนาทการท างานขององคกร
• วฒนธรรมขององคกร
• กจกรรมและสภาพแวดลอมขององคกร
•ตองค านงถงราคาและความคมคาในการใชประโยชน
14
DATABASE SYSTEM
ชนดของระบบฐานขอมล
•แบงตามจ านวนผใช
•Single-user
•Desktop database
•Multi user
•Workgroup database
•Enterprise database
•แบงตามขอบเขตงาน
• Desktop
• Workgroup
• Enterprise
15
1/17/2015
6
DATABASE SYSTEM
ชนดของระบบฐานขอมล (ตอ)
•แบงตามสถานทตดตง
• ศนยกลาง (Centralized)
•กระจาย (Distributed)
•แบงตามการใชงาน
•การท างานเปนเรคคอรดทวไป (Transactional)
•สนบสนนตดสนใจ (Decision support)
•คลงขอมล (Data warehouse)
16
ADVANTAGES
• สามารถลดความซ าซอนของขอมล (Data Redundancy) โดยไมจ าเปนตองจดเกบขอมลทซบซอนกนในระบบแฟมขอมลของแตละหนวยงานเหมอนเชนเดม แตสามารถน า
ขอมลมาใชรวมกนในคณลกษณะ Integrated แทน
• สามารถหลกเลยงความขดแยงของขอมล (Data Inconsistency) เนองจากไมตอง
จดเกบขอมลทซ าชอนกนใน หลายแฟมขอมล ดงนนการแกไขขอมลในแ ตละชดจะไม
กอใหเกดคาทแตกตางกนได
• แตละหนวยงานในองคกรสามารถใชขอมลรวมกนได
• สามารถก าหนดใหขอมลมรปแบบทเปนมาตรฐานเดยวกนได เพอใหผใชขอมลในฐานขอมลชดเดยวกน สามารถ เขาใจและสอสารถงความหมายเดยวกน
17
Advantages
ADVANTAGES
• สามารถก าหนดระบบความปลอดภยใหกบขอมลได โดยก าหนตระดบความสามารถในการเรยกใชขอมลของผใชแตละคนใหแตกตางกนตามความรบผดชอบ
• สามารถรกษาความถกตองของขอมลได โดยระบกฎเกณฑในการควบคมความผดพลาดทอาจเกดขนจากการปอนขอมลผด
• สามารถตอบสนองตอความตองการใชขอมลในหลายรปแบบ
• ท าใหขอมลเปนอสระจากโปรแกรมทใชงานขอมลนน (Data Independence) ซงสงผลใหผพฒนาโปรแกรม สามารถแกไขโครงสรางของขอมล โดยไมกระทบตอโปรแกรมท
เรยกใชงานขอมลนน
18
1/17/2015
7
ADVANTAGES
• การจดการขอมลในฐานขอมลท าไดงาย
• ความเปนอสระระหวางโปรแกรมและขอมล
• การมผควบคมระบบเพยงคนเดยว
19
RELATIONAL DATABASE
ขอมลจะถกเกบในรปแบบของตาราง (Table) ซงภายในตารางจะแบงออกเปน แถว และคอลมน
แถว (Row) เรยกอกอยางวาระเบยนหรอเรคคอรด หรอ ทพเพล (Tuple)
คอลมน (Column) เรยกอกอยางวาเขตขอมล หรอฟลด หรอ แอททรบวท (Attribute)
20
Table
Column
Row
Prof# Name Office#
J13 Jones SB312
M7 Morgen BA218
D23 Davis SB106
ENTITY-RELATIONSHIP DATA MODEL
เปนเครองมอทไดรบการยอมรบและใชงานกนอยางแพรหลายในการออกแบบโมเดลขอมล
การน าเสนอขอมลเปนลกษณะของกราฟก และ แสดงถงความส าคญของขอมลแตละสวน
เปนสวนประกอบของ relational data model concepts โดยสมบรณ
21
1/17/2015
8
DBMS: DATABASE MANAGEMENT SYSTEM
รปแบบการจดเกบจะมองคประกอบทเรยกวา ระบบจดการฐาน ขอมล หรอ DBMS (Database Management System) ชวยในการสราง เรยกใชขอมล และปรบปรงฐานขอมล
22
DBMS: DATABASE MANAGEMENT SYSTEM
• เปนโปรแกรมทท าหนาทเปนตวกลางในการตดตอระหวางผใชกบฐานขอมลเพอจดการและควบคม ความถกตอง ความซ าซอน และความสมพนธระหวางขอมล ตาง ๆ ภายในฐานขอมล
ซงตางจากระบบแฟมขอมลทหนาทเหลานจะเปนหนาทของโปรแกรมเมอร
• ในการตดตอกบขอมลในฐานขอมลไมวาจะดวยการใชค าสงในกลมค าสง DML หรอ DDL หรอจะดวยโปรแกรมตาง ๆ ทกค าสงทใชกระท า กบขอมลจะถกโปรแกรม DBMS น ามาแปล (Compile) เปนการกระท า (Operation) ตาง ๆ ภายใตค าสงนน ๆ เพอน าไปกระท ากบตวขอมลภายในฐานขอมลตอไป
23
DBMS: DATABASE MANAGEMENT SYSTEM
ภาษา SQL (Structured Query Language)
• ภาษานยามขอมล (DDL - Data Definition Language)
• ภาษาจดการขอมล (DML - Data Manipulation Language)
• ภาษาควบคม (CL - Control Language)
24
1/17/2015
9
SQL: STRUCTURED QUERY LANGUAGE
ภาษา SQL (Structured Query Language)
• ภาษานยามขอมล (DDL - Data Definition Language)
• ภาษาจดการขอมล (DML - Data Manipulation Language)
• ภาษาควบคม (CL - Control Language)
25
DDL DML CL
CREATE
ALTER
DROP
UPDATE
INSERT
DELETE
GRANT
REVOKE
SQL (Structured Query Language)
DBMS: DATABASE MANAGEMENT SYSTEM
หนาทของ DBMS
• Data Dictionary Management: ท าหนาทเกบรายละเอยดตาง ๆ ท
เกยวของกบขอมลภายในฐานขอมลไวไน Data Dictionary ซงรายละเอยด
เหลานจงมกจะถกเรยกวา “ขอมลของขอมล” (MetaData)
• Data Storage Management: ท าหนาทจดการ การจดเกบขอมล
• Data Transformation and Presentation: ท าหนาทในการโอนถาย
ขอมลและน าเสนอขอมล โดยการแปลงค าสงทใชจดการกบขอมลภายในฐานขอมล
ใหอยในรปแบบทฐานขอมลเขาใจ
26
DBMS: DATABASE MANAGEMENT SYSTEM
หนาทของ DBMS (ตอ)
• Security Management: ท าหนาทจดการความปลอดภยของขอมล
• Multi-User Access Control: ควบคมการใชงานหลายๆ คนพรอมๆ กนได
• Backup and Recovery Management: ท าหนาทส ารองและกคนขอมล
และท าหนาทปองกนความเสยหายทจะเกดขนกบขอมลภายในฐานขอมล โดยจะคอย
ตรวจสอบวาค าสงใดทสามารถ ท างานได และค าสงใดทไมสามารถท างานได
• Data Integrity Management: ท าหนาทรกษาความสมพนธของขอมล
ภายในฐานขอมลใหมดวามถกตองอยเสมอ และ ควบคมใหฐานขอมลท างานอยางม
ประสทธภาพ
27
1/17/2015
10
DBMS: DATABASE MANAGEMENT SYSTEM
หนาทของ DBMS (ตอ)
Database Access Languages (DDL and DML) and
Application Programming Interfaces: ท าหนาทในการน าค าสงตาง ๆ
ซงไดรบการแปลแลว ไปสงใหฐานขอมลท างาน เชน การเรยกใชขอมล (Retrieve)
การจดเกบขอมล (Updale) การลบขอมล (Delete) การเพมขอมล (Add)
เปนตน
Database Communication Interfaces: เปนสวนกลางในการตดตอ
สอสาร เพอใหเขาถงฐานขอมล ทถกจดเกบในฮารดดส
28
DATABASE ARCHITECTURE
• สถาปตยกรรมของระบบฐานขอมล เปนการอธบายถงรปแบบและโครงสรางของขอมลภายในระบบฐานขอมล
• โดยทวไปในระดบแนวความคดโดยไมขนอยกบโครงสรางของระบบฐานขอมลนน ๆ ซงถงแมวาจะไมสามารถครอบคลมทกระบบฐานขอมล โดยเฉพาะอยางยงระบบฐานขอมลทม
ขนาดเลก ซงอาจมโครงสรางทไมครบตามโครงสรางทก าหนดไวในสถาปตยกรรมของระบบ
ฐานขอมล
• ส าหรบสถาปตยกรรมของระบบฐานขอมลทนยมใช ไดแก สถาปตยกรรม ANSI/SPARC ซงก าหนดขนโดย Study Group On Data Base Management system
29
DATABASE ARCHITECTURE
ระดบภายนอก (External Level)
ระดบความคด (Conceptual Level)
ระดบภายใน (Internal Level)
30
1/17/2015
11
31
External Level
ววผใชคนท 1
ววผใชคนท 2
Conceptual Level
ตารางท 1
ตารางท 2
Internal Level
Map Map
ผออกแบบฐานขอมล
ทางกายภาพ
ผออกแบบฐานขอมล
ทางตรรกะผใชงานทวไป
DBA
ARCHITECTURE: EXTERNAL LEVEL
เปนระดบการมองหรอวว (View) ของขอมลส าหรบผใชงานแตละคน ซงสามารถเลอกอาน
ขอมลเฉพาะทตนสนใจหรอตองการเทานน
มมมองของผใชในระดบ External จะเกยวของกบมมมองของผใชแตละคน ทมตอขอมลภายในฐานขอมล เนองจากผใชแตละคนโดยปกตจะตองการขอมลเฉพาะสวนใดสวนหนง
ไมใชขอมลทงหมดภายในฐานขอมล สงผลใหแตละสวนทผใชแตละคนตองการอาจแตกตาง
กนได
32
ARCHITECTURE: CONCEPTUAL LEVEL
เปนระดบการออกแบบฐานขอมล ผทรบผดชอบคอ DBA เพอจะน าขอมลทไดมาออกแบบ
ฐานขอมลวาควรจะเกบขอมลอะไรบาง ความสมพนธระหวางขอมลเปนอยางไร
ในระดบ Conceptual จะเกยวของกบมมมองของผใชในลกษณะเปนกลมผใชทมตอขอมลภายในฐานขอมลมากกวาในระดบ External
เนองจากในระดบ Conceptual มมมองทมตอขอมลจะเปนการถายทอดโครงสรางทางกายภาพของขอมลใหมาอยในรปโครงสรางในระดบแนวความคด ดงนน มมมองของผใชแต
ละคน ในระดบ External ยอมตองถายทอดจากมมมองในระดบ External ไปใช
33
1/17/2015
12
ARCHITECTURE: INTERNAL LEVEL
เปนระดบของการจดเกบฐานขอมลในหนวยความจ าส ารองจรง ๆ เปนหนาทของผออกแบบ
ฐานขอมลระดบกายภาพ จะตองเลอกอปกรณในการเกบขอมล วธการเขาถงขอ มล การ
บ ารงรกษา และการเพมประสทธภาพของฐานขอมล
เปนโครงสรางของขอมลในระดบทต าสด เนองจากเปนระดบทกลาวถงโครงสรางขอมลของ
Record ในระดบทใกลเคยงกบโครงสรางขอมลจรงของ Record ทจดเกบอยใน
หนวยความจ าส ารองมากทสด ซง Record ของสถาปตยกรรมในระดบน จะเรยกวา
Internal Record สวนโครงสรางขอมลของ Record ของสถาปตยกรรมในระดบน จะเรยกวา Internal Schema
โครงสรางของ Internal Record ยงคงอยในระดบทเหนอกวาโครงสรางขอมลในระดบกายภาพ กลาวคอ โครงสรางของ Internal Record จะเปนเพยงการน าเสนอโครงสรางขอมลทกลาวถงเนอททใชในการจดเกบ ล าดบท ประเภทของขอมล Index
34
DATABASE ARCHITECTURE
ประโยชนของสถาปตยกรรม 3 ระดบ
• มมมองขอมลของผใชงาน
• ระดบความคดกบระดบภายนอก : ท าใหผใชสามารถมมมมองขอมลทแตกตางกนได
• ระดบความคดกบระดบภายใน : ผใชไมจ าเปนตองทราบวาขอมลจดเกบอยางไรในดสค
•ความเปนอสระกนของขอมล
• ระดบความคดกบระดบภายนอก : การเปลยนแปลงในระดบความคดจะไมมผลกระทบกบโปรแกรมประยกตในระดบภายนอก
• ระดบความคดกบระดบภายใน : การเปลยนแปลงในระดบความคดไมมผลกบการจดเกบ ขอมลในดสค สามารถเกบแบบเดมได
35
DBA: DATABASE ADMINISTRATOR
Database Administrator (DBA) เปนบคคล ทมหนาทในการก าหนดสทธ และ
ความสามารถในการใชขอมลภายในระบบฐานขอมล รวมทงจดการก าหนดหนาทและค าสง
ตางๆ ทจ าเปนใหผใชแตละประเภท
ดงนนผใชทท าหนาทเปน DBA จงมความเกยวของกบสถาปตยกรรมของระบบฐานขอมล
36
1/17/2015
13
DBA: DATABASE ADMINISTRATOR
เปนผก าหนดโครงสรางของขอมลในสถาปตยกรรมในระดบ Conceptual เชน การ
ก าหนดวาขอมลใดบางทควรทจะจดเกบไวในฐานขอมล และมโครงสรางเปนอยางไร
เปนผก าหนดโครงสรางของขอมลในสถาปตยกรรมในระดบ Internal ซงไดแก โครงสรางทางกายภาพของขอมลทใชในการจดเกบ เชนขนาดของแตละ Field ประเภทของขอมล ฯลฯ เปนตน
เปนผทท าหนาทตรวจสอบโครงสรางขอมล ทก าหนดขนวาสามารถรองรบตอมมมองหรอ
ความตองการในการใชขอมลของผใชในสถาปตยกรรมในระดบ External หรอไม
37
DBA: DATABASE ADMINISTRATOR
เปนผก าหนดการรกษาความปลอดภย และกฎทใชในการควบคมความถกตองใหกบขอมล ซง
เปนสวนหนงของการ ก าหนดโครงสรางของขอมลในสถาปตยกรรมในระดบ Conceptual
เปนผก าหนดวธในการส ารองขอมล (Data Backup) และการกขอมลทเสยหายกลบมาใชงาน (Data Recovery)
เปนผควบคมใหระบบฐานขอมลมประสทธภาพ และทนสมยตามความตองการทเปลยนไป
38