30
โดย อ.อภิพงศ์ ปิงยศ รายวิชา สธ312 ระบบการจัดการฐานข้อมูลทางธุรกิจ บทที่ 3 แบบจาลองของฐานข้อมูล (Database Model)

บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

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

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

Page 2: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

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

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

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

• Hierarchical Database Model

• Network Database Model

• Relational Database Model

Overview

2

Page 3: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

3

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

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

บทน ำ

Page 4: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

4

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

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

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

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

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

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

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

Page 5: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

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.]

Page 6: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

6

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

• One-to-One

• One-to-Many

• Many-to-Many

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

Page 7: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

7

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

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

A B1 1

Page 8: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

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

Page 9: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

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

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

Page 10: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

10

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

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

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

A B1 M

Page 11: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

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

Page 12: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

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

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

Page 13: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

13

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

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

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

A BM M

Page 14: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

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

Page 15: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

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

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

Page 16: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

16

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

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

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

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

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

Page 17: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

17

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

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

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

Hierarchical Database Model

Page 18: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

18

Page 19: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

19

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

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

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

ขอดของ Hierarchical Database Model

Page 20: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

20

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

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

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

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

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

ขอเสยของ Hierarchical Database Model

Page 21: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

21

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

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

Network Database Model

Page 22: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

22

Page 23: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

23

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

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

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

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

ขอดของ Network Database Model

Page 24: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

24

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

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

ขอเสยของ Network Database Model

Page 25: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

25

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

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

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

Relational Database Model

Page 26: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

26

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

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

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

Relational Database Model [cont.]

Page 27: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

27

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

Page 28: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

28

ขอด

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

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

ขอเสย

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

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

Page 29: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

29

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

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

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

สรป

Page 30: บทที่ 3 แบบจ าลองของฐานข้อมูล ...apipong.weebly.com/uploads/5/3/5/8/53586393/bs312_lect...3 •การน าเสนอส งต

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