Introduction to database system - Maejo University€¦ · Part A Part B Part C Part D Part E....

13
1/17/2015 1 CH1: INTRODUCTION TO DATABASE SYSTEM SAYAN UNANKARD 2/2557 www.itsci.mju.ac.th/sayan DATABASE TECHNOLOGY ด้วยวิวัฒนาการของเทคโนโลยี ทั ้งทางด้าน Processors, Memory, Storage and networks ขนาด ความสามารถ และ ประสิทธิภาพของฐานข้อมูลมีการพัฒนาที่ก้าวหน้าขึ ้น ไปเรื่อยๆ การพัฒนาของฐานข้อมูลสามารถแบ่งเป็ น 3 ช่วงตามลักษณะของโครงสร้างข้อมูล ดังนี Navigational SQL/Relational Post-relational 2 1: NAVIGATIONAL สองแบบหลักๆ ของฐานข้อมูลประเภทนี ้ ได้แก่ ฐานข้อมูลแบบลาดับขั ้น (Hierarchical Database Model) ฐานข้อมูลแบบเครือข่าย (Network Database Model) หรือ CODASYL 3

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