บทที่ 3 แบบจ าลองของฐานข้อมูล...

Post on 06-Feb-2020

4 views 0 download

Transcript of บทที่ 3 แบบจ าลองของฐานข้อมูล...

โดย อ.อภพงศ ปงยศรายวชา สธ312 ระบบการจดการฐานขอมลทางธรกจ

บทท 3 แบบจ าลองของฐานขอมล(Database Model)

• แบบจ าลองของขอมล (Data Model)

• ประเภทของความสมพนธของขอมล

• แบบจ าลองของฐานขอมล (Database Model)

• Hierarchical Database Model

• Network Database Model

• Relational Database Model

Overview

2

3

• การน าเสนอสงตาง ๆ ทอยในรปแบบของแนวความคด ปกตนยมใชแบบจ าลอง (Model)

• แบบจ าลองฐานขอมล (Database Model) ถกน ามาใชในการอธบายรายละเอยดตาง ๆ ของการออกแบบฐานขอมลและโครงสรางของฐานขอมล

บทน ำ

4

• ใชอธบายโครงสรางและความสมพนธระหวางขอมลภายในฐานขอมล

• สามารถอธบายแนวความคดทเขาใจยากยาก ใหสามารถเขาใจและจบตองไดงายยงขน

• แบบจ าลองของขอมลประกอบดวย 3 สวนหลก คอ

– ขอมลตาง ๆ ทประกอบกนเปนฐานขอมล

– กฎตาง ๆ ทใชควบคมความถกตองของขอมล

– การกระท าตาง ๆ ทใชงานรวมกบฐานขอมล

แบบจ ำลองของขอมล (Data Model)

5

แบบจ าลองขอมล แบงไดเปน 2 ประเภท คอ

• Conceptual Model เปนแบบจ าลองทน ามาใชออกแบบฐานขอมล เพอแสดงใหเหนขอมลและความสมพนธ แบบจ าลองของฐานขอมลนยมใช Entity-Relationship Model (E-R Model) และ Object-Oriented Model

• Implementation Model ใชอธบายโครงสรางของฐานขอมลแตละประเภท เชน Hierarchical DB Model, Network DB Model และ Relational DB Model

แบบจ ำลองของขอมล (Data Model) [cont.]

6

ความสมพนธของขอมลแบงออกเปน 3 ลกษณะ ไดแก

• One-to-One

• One-to-Many

• Many-to-Many

ประเภทของควำมสมพนธของขอมล

7

• แตละรายการของขอมล A มความสมพนธกบขอมล B เพยงรายการเดยว เชน สามสามารถมภรรยาไดเพยงคนเดยว และภรรยากสามารถมสามไดคนเดยวเชนกน (ถาไมนอกใจ)

ประเภทของควำมสมพนธของขอมลOne-to-One

A B1 1

8

NAME ADDRESSS ACC_NO

แพง พลเมองด 111 บางพลด กทม. 1111111111

จราพร สมตน 222 บางซอ กทม. 2222222222

สภาพร อดมศลป 333 ปทมวน กทม. 3333333333

กตต มนคง 444 บางบอน กทม. 4444444444

สมชาย ตงเจรญ 555 ลาดพราว กทม. 5555555555

ตวอยำงท 1 กรณลกคำสำมำรถมบญชเงนฝำกไดเพยงบญชเดยว และบญชเงนฝำกสำมำรถมเจำของบญชไดเพยงคนเดยว

ACC_NO BALANCE

1111111111 5,400

2222222222 12,000

3333333333 14,000

4444444444 125,558

5555555555 100,000

CUSTOMER ACCOUNT

9

ตวอยำงท 1 กรณลกคำสำมำรถมบญชเงนฝำกไดเพยงบญชเดยว และบญชเงนฝำกสำมำรถมเจำของบญชไดเพยงคนเดยว [cont.]

NAME ADDRESSS ACC_NO BALANCE

แพง พลเมองด 111 บางพลด กทม. 1111111111 5,400

จราพร สมตน 222 บางซอ กทม. 2222222222 12,000

สภาพร อดมศลป 333 ปทมวน กทม. 3333333333 14,000

กตต มนคง 444 บางบอน กทม. 4444444444 125,558

สมชาย ตงเจรญ 555 ลาดพราว กทม. 5555555555 100,000

สำมำรถสรำงควำมสมพนธไดดงน

10

• แตละรายการของขอมล A มความสมพนธกบขอมล B มากกวาหนงรายการ

• เชน ทมฟตบอล 1 ทม สามารถมผเลนไดหลายคน แตผเลนสามารถสงกดทมฟตบอลไดเพยง 1 ทมเทานน (ไมรวมทมชาต)

ประเภทของควำมสมพนธของขอมลOne-to-Many

A B1 M

11

ตวอยำงท 2 กรณลกคำสำมำรถมบญชเงนฝำกไดมำกกวำหนงบญช

NAME ADDRESSS ACC_NO

แพง พลเมองด 111 บางพลด กทม. 1111111111

แพง พลเมองด 111 บางพลด กทม. 1111122222

จราพร สมตน 222 บางซอ กทม. 2222222222

สภาพร อดมศลป 333 ปทมวน กทม. 3333333333

กตต มนคง 444 บางบอน กทม. 4444444444

สมชาย ตงเจรญ 555 ลาดพราว กทม. 5555555555

ACC_NO BALANCE

1111111111 5,400

1111122222 58,000

2222222222 12,000

3333333333 14,000

4444444444 125,558

5555555555 100,000

CUSTOMER ACCOUNT

12

ตวอยำงท 2 กรณลกคำสำมำรถมบญชเงนฝำกไดมำกกวำหนงบญช [cont.]

NAME ADDRESSS ACC_NO BALANCE

แพง พลเมองด 111 บางพลด กทม. 1111111111 5,400

1111122222 58,000

จราพร สมตน 222 บางซอ กทม. 2222222222 12,000

สภาพร อดมศลป 333 ปทมวน กทม. 3333333333 14,000

กตต มนคง 444 บางบอน กทม. 4444444444 125,558

สมชาย ตงเจรญ 555 ลาดพราว กทม. 5555555555 100,000

สำมำรถสรำงควำมสมพนธไดดงน

13

• แตละรายการของขอมล A มความสมพนธกบขอมล B มากกวาหนงรายการ ในขณะเดยวกนแตละรายการของขอมล B กมความสมพนธกบขอมล A มากกวาหนงรายการเชนเดยวกน

• เชน นกศกษา 1 คนสามารถลงทะเบยนไดมากกวา 1 รายวชา และใน 1 รายวชากสามารถมนกศกษาลงทะเบยนไดมากกวา 1 คนเชนกน

ประเภทของควำมสมพนธของขอมลMany-to-Many

A BM M

14

ตวอยำงท 3 กรณลกคำสำมำรถมบญชเงนฝำกไดมำกกวำหนงบญช และแตละบญชสำมำรถมเจำของบญชไดมำกกวำหนงคน (บญชกลม)

NAME ADDRESSS ACC_NO

แพง พลเมองด 111 บางพลด กทม. 1111111111

แพง พลเมองด 111 บางพลด กทม. 1111122222

จราพร สมตน 222 บางซอ กทม. 1111122222

สภาพร อดมศลป 333 ปทมวน กทม. 3333333333

กตต มนคง 444 บางบอน กทม. 4444444444

สมชาย ตงเจรญ 555 ลาดพราว กทม. 5555555555

ACC_NO BALANCE

1111111111 5,400

1111122222 58,000

3333333333 14,000

4444444444 125,558

5555555555 100,000

CUSTOMER ACCOUNT

15

ตวอยำงท 3 กรณลกคำสำมำรถมบญชเงนฝำกไดมำกกวำหนงบญช และแตละบญชสำมำรถมเจำของบญชไดมำกกวำหนงคน (บญชกลม) [cont.]

ACC_NO NAME ADDRESSS BALANCE

1111122222แพง พลเมองด 111 บางพลด กทม.

58,000จราพร สมตน 222 บางซอ กทม.

1111111111 แพง พลเมองด 111 บางพลด กทม. 5,400

3333333333 สภาพร อดมศลป 333 ปทมวน กทม. 14,000

4444444444 กตต มนคง 444 บางบอน กทม. 125,558

5555555555 สมชาย ตงเจรญ 555 ลาดพราว กทม. 100,000

สำมำรถสรำงควำมสมพนธตำมมมมองจำกบญช ไดดงน

16

• ใชในการน าเสนอรายละเอยดของโครงสรางขอมลของฐานขอมล

• ม 2 แบบ ไดแก– แบบจ าลองฐานขอมลแบบล าดบชน (Hierarchical Database Model)

– แบบจ าลองฐานขอมลแบบเครอขาย (Network Database Model)

– แบบจ าลองฐานขอมลเชงสมพนธ (Relational Database Model)

แบบจ ำลองของฐำนขอมล (Database Model)

17

• เปนโครงสรางขอมลทอยในรปแบบล าดบชน (Hierarchy) หรอ Tree

• มการใช Pointer เปนตวชทใชอางองต าแหนงของขอมล

• เปนโครงสรางขอมลทใชสรางฐานขอมลของยานอวกาศอพอลโลทน ามนษยคนแรกไปสดวงจนทร

Hierarchical Database Model

18

19

• สามารถก าหนดกฎเกณฑทใชควบคมความถกตองของขอมลไดงาย เพราะมโครงสรางแบบ Tree ซง Parent Node สามารถถายทอดไปยง Children Node ได

• มโครงสรางทเหมาะกบความสมพนธขอมลแบบ One-to-Many

• มโครงสรางทเหมาะสมกบระบบคอมพวเตอรทมขนาดใหญ เชน ระบบ Mainframe

ขอดของ Hierarchical Database Model

20

• ผใชฐานขอมลจะตองทราบถงโครงสรางของขอมลทจดเกบอยในฐานขอมล จงจะสามารถเรยกใชขอมลได ถงแมจะม DBMS กตาม แต DBMS ในโครงสรางแบบนพฒนาไดยาก

• ไมสามารถรองรบขอมลทมความสมพนธแบบ Many-to-Many ได เนองจาก Children Node สามารถม Parent Node ไดเพยงโหนดเดยวเทานน

• การเปลยนแปลงโครงสรางกระท าไดยาก เพราะโครงสรางแบบ Tree มความยดหยนนอย

• โครงสรางไมรองรบการท างานแบบ Ad-Hoc

• ไมมรปแบบทเปนมาตรฐาน สงผลใหการถายโอนขอมลตางองคกรกระท าไดยาก

ขอเสยของ Hierarchical Database Model

21

• พฒนาตอมาจาก Hierarchical Database Model โดยมงหวงใหเปนโครงสรางขอมลมาตรฐาน มความยดหยน และสามารถรองรบความสมพนธแบบ Many-to-Many ได

• จดเดนคอ Children Node สามารถม Parent Node ไดมากกวา 1 ตว

Network Database Model

22

23

• รองรบขอมลทมความสมพนธแบบ Many-to-Many

• สามารถเขาถงขอมลใน record อน ๆ ไดรวดเรวกวา Hierarchical DB Model

• สามารถก าหนดกฎเกณฑทใชควบคมความถกตองของขอมลไดงาย

• โปรแกรม DBMS จะมความเปนอสระจากฐานขอมลมากกวาการใชโครงสรางแบบ Hierarchical DB Model เพราะโครงสรางมความซบซอนนอยกวา

ขอดของ Network Database Model

24

• การออกแบบฐานขอมลจะกระท าไดคอนขางยาก เพราะตองก าหนด Set ของความสมพนธใหครอบคลมทก ๆ ขอมล

• การเปลยนแปลงโครงสรางของขอมลกระท าไดยาก เพราะตองค านงถง Set ของความสมพนธตาง ๆ ทก าหนดไว

ขอเสยของ Network Database Model

25

• จดเปนแบบจ าลองทกอใหเกดการปฏวตระบบฐานขอมลขน เนองจากเปนโครงสรางฐานขอมลทสามารถใชงานไดอยางแพรหลาย ไมวาจะเปนคอมพวเตอรสวนบคคล ไปจนถงคอมพวเตอรทมประสทธภาพสง

• รปแบบของขอมลประเภทนจะมลกษณะเปนตาราง (Table) ทประกอบไปดวยแถวและคอลมน ซงขอมลจะแยกออกจากกนเปนเอกเทศทมความเปนอสระ แตสามารถน ามาสรางความสมพนธรวมกนได

• รายละเอยดทงหมดจะกลาวถงในบทตอไป

Relational Database Model

26

• จดประสงคหลกในการสรางแบบจ าลองเชงสมพนธ ประกอบไปดวย– จดเกบขอมลบนโครงสรางขอมลทงาย (ตาราง)

– สามารถเขาถงการประมวลผลแบบกลม (set-at-a-time) โดยใชภาษาจดการขอมล (DML) ซงเปนภาษาระดบสง

– เปนอสระจากการจดเกบทางกายภาพ

Relational Database Model [cont.]

27

ตวอยำงกำรออกแบบฐำนขอมลเชงสมพนธ โดยใช E-R Diagram

28

ขอด

• ทงขอมลและโครงสรางมความเปนอสระจากโปรแกรมทใช

• ม DBMS ใหเลอกใชงานอยางหลากหลาย

ขอเสย

• ใชทรพยากรจาก Hardware และ Operating System คอนขางสง เนองจาก DBMS ของฐานขอมลทมโครงสรางแบบ Relational จะท าหนาทจดการขอมลภายในฐานขอมลแทนผใช

ขอด-ขอเสยของ Relational Database Model

29

• แบบจ าลองขอมล (Data Model) ใชส าหรบการอธบายโครงสรางและความสมพนธระหวางขอมลภายในฐานขอมล จากรปแบบแนวความคดใหอยในรปแบบทสามารถเขาใจไดงาย

• ความสมพนธขอมลม 3 แบบคอ One-to-One, One-to-Many และ Many-to-Many

• แบบจ าลองฐานขอมล (Database Model) ใชอธบายและออกแบบโครงสรางของฐานขอมลม 3 แบบ คอ Hierarchy, Network และ Relational

สรป

30

• โครงสรางขอมลรปแบบตาง ๆ สามารถสรปไดดงตารางน

สรป [cont.]

Data Independence* Structure Independence**

File Systems No No

Hierarchical Database Yes No

Network Database Yes No

Relational Database Yes Yes

* Data Independence คอความเปนอสระของขอมลจากโปรแกรมทใช** Structure Independence คอความสามารถในการแกไขโครงสรางของขอมลโดยไมกระทบตอ DBMS