Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
โดย อ.อภพงศ ปงยศรายวชา สธ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