บทที่ 3 แบบจำลองของฐานข้อมูล (Database Model)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
E-R Model บรรยายโดย สุรางคนา ธรรมลิขิต.
Advertisements

บทที่ 2 ระบบฐานข้อมูล Database System BC424 Information Technology.
File System Example of File System Employee Department
บทที่ 8 การออกแบบข้อมูล (Data Design) โครงสร้างข้อมูล (Data Structure)
ฐานข้อมูลและการออกแบบฐานข้อมูล
MySQL.
Databases Design Methodology
– Web Programming and Web Database
Chapter 3 แบบจำลองข้อมูล : Data Models
ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล
สถาปัตยกรรมของระบบฐานข้อมูล
Charter 8 1 Chapter 8 การจัดการฐานข้อมูล Database Management.
The Relational Data Model
บทนำเกี่ยวกับระบบฐานข้อมูล
เรื่องการออกแบบฐานข้อมูล
1. ศัพท์พื้นฐานของฐานข้อมูล
Seminar in Information Knowledge and Technology Management ดร. ปรัชญนันท์ นิลสุข
การออกแบบฐานข้อมูลในระดับตรรกะ
แบบจำลองข้อมูล (Data Model)
Chapter3 : Data Model Class on 23 and 24 Nov 10
System Database Semester 1, 2009 Worrakit Sanpote 1.
Database & DBMS Architecture วรวิทย์ พูลสวัสดิ์. 2 2 ฐานข้อมูล (Database) - Data and its relation - Databases are designed to offer an organized mechanism.
DATABASE RELATIONAL MODEL ER DIAGRAM.
อาจารย์ วิทูร ธรรมธัชอารี. เนื้อหาในการเรียน  เครื่องมือในการออกแบบและพัฒนาระบบ บัญชีด้วยคอมพิวเตอร์  ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล  การวางระบบบัญชีด้วยคอมพิวเตอร์
ข้อมูล (data) หมายถึง ข้อเท็จจริงหรือ เหตุการณ์ ที่เกี่ยวข้องกับสิ่งต่าง ๆที่ เป็นตัวเลข ข้อความหรือ รายละเอียดซึ่งอาจอยู่ใน รูปแบบต่าง ๆ เช่น ภาพ เสียง.
Microsoft Access การใช้งานโปรแกรมระบบจัดการฐานข้อมูล
ระบบการจัดการฐานข้อมูล
Chapter 3 : แบบจำลองฐานข้อมูล (Data Model)
บทที่ 4 แบบจำลองฐานข้อมูลเชิงสัมพันธ์ Relational Database
บทที่ 4 โครงสร้างฐานข้อมูลแบบ Relational (Relational Database Model)
สถาปัตยกรรมของระบบฐานข้อมูล
Database Planning, Design, and Administration
Toward National Health Information System
Data Management (การจัดการข้อมูล)
Data Structure & Algorithm Concept
การเปลี่ยนจาก E-R Diagram เป็นโมเดลเชิงสัมพันธ์ (ตารางข้อมูล)
บทที่ 5 แบบจำลองกระบวนการ
Chapter 6 : แบบจำลอง E-R (Entity-Relationship Model)
โดย อ.พัฒนพงษ์ โพธิปัสสา
บทที่ 6 วิศวกรรมระบบ (System Engineering)
การจัดการฐานข้อมูลด้วยโปรแกรม MS Access 2013
การวิเคราะห์ซอฟต์แวร์
7 Entity-Relationship Modeling แผนภาพความสัมพันธ์ ORACLE MS SQL SERVER
Introduction to Data mining
E-R Diagram (Entity Relationship Diagram)
Data Management (การจัดการข้อมูล)
บทที่ 4 ฐานข้อมูล.
Database ฐานข้อมูล.
การจัดการระบบฐานข้อมูล
บทที่ 9 การออกแบบระบบ และการออกแบบยูสเซอร์อินเตอร์เฟช
บทเรียนที่ 1 ความรู้เบื้องต้นเกี่ยวกับเทคโนโลยีสารสนเทศ
การจัดการไฟล์ File Management.
ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล
หน่วยที่ 3 การประมวลผลข้อมูลให้เป็นสารสนเทศ
การออกแบบโครงสร้างฐานข้อมูลด้วย E-R Model และการแปลงเป็นรีเลชัน
บทที่ 9 การอธิบายกระบวนการแบบต้นไม้.
เรื่อง การวิเคราะห์และออกแบบฐานข้อมูล MySQL Database
โครงสร้างข้อมูล( Data Structure)
กฎการ Normalization 1. จะต้องไม่มีเซลล์ใดในตารางที่มีค่าเกิน 1 ค่า ดังนั้นเราสามารถทำให้ตารางผ่านกฎข้อที่ 1 ได้ด้วยการแยกเซลล์ที่มีค่าเกินหนึ่งออกเป็นเรคคอร์ดใหม่
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
รายวิชา ISC2101 ระบบฐานข้อมูลเบื้องต้น 3 (ทฤษฎี2-ปฏิบัติ2-ศึกษาด้วยตนเอง5) หน่วยกิต
บทที่ 7 การเขียนผังงานระบบ.
บทที่ 2 รูปแบบของฐานข้อมูล
ฐานข้อมูลเชิงสัมพันธ์ Relational Database
[ บทที่ 1 ] ระบบฐานข้อมูล
ตัวแบบข้อมูล (Data Modeling)
제 10장 데이터베이스.
CIT2205 โปรแกรมประยุกต์ด้านการจัดการฐานข้อมูล
Data resource management
[ บทที่ 2 ] กรอกแนวคิดและทฤษฎีเกี่ยวกับฐานข้อมูล
ใบสำเนางานนำเสนอ:

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

Overview แบบจำลองของข้อมูล (Data Model) ประเภทของความสัมพันธ์ของข้อมูล แบบจำลองของฐานข้อมูล (Database Model) Hierarchical Database Model Network Database Model Relational Database Model

บทนำ การนำเสนอสิ่งต่าง ๆ ที่อยู่ในรูปแบบของแนวความคิด ปกตินิยมใช้แบบจำลอง (Model) แบบจำลองฐานข้อมูล (Database Model) ถูกนำมาใช้ใน การอธิบายรายละเอียดต่าง ๆ ของการออกแบบ ฐานข้อมูลและโครงสร้างของฐานข้อมูล

แบบจำลองของข้อมูล (Data Model) ใช้อธิบายโครงสร้างและความสัมพันธ์ระหว่างข้อมูลภายใน ฐานข้อมูล สามารถอธิบายแนวความคิดที่เข้าใจยากยาก ให้สามารถ เข้าใจและจับต้องได้ง่ายยิ่งขึ้น แบบจำลองของข้อมูลประกอบด้วย 3 ส่วนหลัก คือ ข้อมูลต่าง ๆ ที่ประกอบกันเป็นฐานข้อมูล กฎต่าง ๆ ที่ใช้ควบคุมความถูกต้องของข้อมูล การกระทำต่าง ๆ ที่ใช้งานร่วมกับฐานข้อมูล

แบบจำลองของข้อมูล (Data Model) [cont.] แบบจำลองข้อมูล แบ่งได้เป็น 2 ประเภท คือ Conceptual Model เป็นแบบจำลองที่นำมาใช้ออกแบบ ฐานข้อมูล เพื่อแสดงให้เห็นข้อมูลและความสัมพันธ์ แบบจำลองของฐานข้อมูลนิยมใช้ Entity-Relationship Model (E-R Model) และ Object-Oriented Model Implementation Model ใช้อธิบายโครงสร้างของ ฐานข้อมูลแต่ละประเภท เช่น Hierarchical DB Model, Network DB Model และ Relational DB Model

ประเภทของความสัมพันธ์ของข้อมูล ความสัมพันธ์ของข้อมูลแบ่งออกเป็น 3 ลักษณะ ได้แก่ One-to-One One-to-Many Many-to-Many

ประเภทของความสัมพันธ์ของข้อมูล One-to-One แต่ละรายการของข้อมูล A มีความสัมพันธ์กับข้อมูล B เพียงรายการเดียว เช่น สามีสามารถมีภรรยาได้เพียงคน เดียว และภรรยาก็สามารถมีสามีได้คนเดียวเช่นกัน (ถ้า ไม่นอกใจ) A 1 1 B

ตัวอย่างที่ 1 กรณีลูกค้าสามารถมีบัญชีเงินฝากได้เพียงบัญชีเดียว และบัญชีเงินฝากสามารถมีเจ้าของบัญชีได้เพียงคนเดียว CUSTOMER ACCOUNT NAME ADDRESSS ACC_NO แพง พลเมืองดี 111 บางพลัด กทม. 1111111111 จิราพร สมตน 222 บางซื่อ กทม. 2222222222 สุภาพร อุดมศิลป์ 333 ปทุมวัน กทม. 3333333333 กิตติ มั่นคง 444 บางบอน กทม. 4444444444 สมชาย ตั้งเจริญ 555 ลาดพร้าว กทม. 5555555555 ACC_NO BALANCE 1111111111 5,400 2222222222 12,000 3333333333 14,000 4444444444 125,558 5555555555 100,000

สามารถสร้างความสัมพันธ์ได้ดังนี้ ตัวอย่างที่ 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

ประเภทของความสัมพันธ์ของข้อมูล One-to-Many แต่ละรายการของข้อมูล A มีความสัมพันธ์กับข้อมูล B มากกว่าหนึ่งรายการ เช่น ทีมฟุตบอล 1 ทีม สามารถมีผู้เล่นได้หลายคน แต่ผู้ เล่นสามารถสังกัดทีมฟุตบอลได้เพียง 1 ทีมเท่านั้น (ไม่ รวมทีมชาติ) A 1 M B

ตัวอย่างที่ 2 กรณีลูกค้าสามารถมีบัญชีเงินฝากได้มากกว่าหนึ่งบัญชี CUSTOMER ACCOUNT NAME ADDRESSS ACC_NO แพง พลเมืองดี 111 บางพลัด กทม. 1111111111 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

สามารถสร้างความสัมพันธ์ได้ดังนี้ ตัวอย่างที่ 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

ประเภทของความสัมพันธ์ของข้อมูล Many-to-Many แต่ละรายการของข้อมูล A มีความสัมพันธ์กับข้อมูล B มากกว่าหนึ่งรายการ ในขณะเดียวกันแต่ละรายการของ ข้อมูล B ก็มีความสัมพันธ์กับข้อมูล A มากกว่าหนึ่ง รายการเช่นเดียวกัน เช่น นักศึกษา 1 คนสามารถลงทะเบียนได้มากกว่า 1 รายวิชา และใน 1 รายวิชาก็สามารถมีนักศึกษา ลงทะเบียนได้มากกว่า 1 คนเช่นกัน A M M B

ตัวอย่างที่ 3 กรณีลูกค้าสามารถมีบัญชีเงินฝากได้มากกว่าหนึ่งบัญชี และแต่ละบัญชีสามารถมีเจ้าของบัญชีได้มากกว่าหนึ่งคน (บัญชีกลุ่ม) CUSTOMER ACCOUNT NAME ADDRESSS ACC_NO แพง พลเมืองดี 111 บางพลัด กทม. 1111111111 1111122222 จิราพร สมตน 222 บางซื่อ กทม. สุภาพร อุดมศิลป์ 333 ปทุมวัน กทม. 3333333333 กิตติ มั่นคง 444 บางบอน กทม. 4444444444 สมชาย ตั้งเจริญ 555 ลาดพร้าว กทม. 5555555555 ACC_NO BALANCE 1111111111 5,400 1111122222 58,000 3333333333 14,000 4444444444 125,558 5555555555 100,000

สามารถสร้างความสัมพันธ์ตามมุมมองจากบัญชี ได้ดังนี้ ตัวอย่างที่ 3 กรณีลูกค้าสามารถมีบัญชีเงินฝากได้มากกว่าหนึ่งบัญชี และแต่ละบัญชีสามารถมีเจ้าของบัญชีได้มากกว่าหนึ่งคน (บัญชีกลุ่ม) [cont.] สามารถสร้างความสัมพันธ์ตามมุมมองจากบัญชี ได้ดังนี้ ACC_NO NAME ADDRESSS BALANCE 1111122222 แพง พลเมืองดี 111 บางพลัด กทม. 58,000 จิราพร สมตน 222 บางซื่อ กทม. 1111111111 5,400 3333333333 สุภาพร อุดมศิลป์ 333 ปทุมวัน กทม. 14,000 4444444444 กิตติ มั่นคง 444 บางบอน กทม. 125,558 5555555555 สมชาย ตั้งเจริญ 555 ลาดพร้าว กทม. 100,000

แบบจำลองของฐานข้อมูล (Database Model) ใช้ในการนำเสนอรายละเอียดของโครงสร้างข้อมูลของ ฐานข้อมูล มี 2 แบบ ได้แก่ แบบจำลองฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) แบบจำลองฐานข้อมูลแบบเครือข่าย (Network Database Model) แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model)

Hierarchical Database Model เป็นโครงสร้างข้อมูลที่อยู่ในรูปแบบลำดับชั้น (Hierarchy) หรือ Tree มีการใช้ Pointer เป็นตัวชี้ที่ใช้อ้างอิงตำแหน่งของข้อมูล เป็นโครงสร้างข้อมูลที่ใช้สร้างฐานข้อมูลของยานอวกาศอ พอลโลที่นำมนุษย์คนแรกไปสู่ดวงจันทร์

ข้อดีของ Hierarchical Database Model สามารถกำหนดกฎเกณฑ์ที่ใช้ควบคุมความถูกต้องของ ข้อมูลได้ง่าย เพราะมีโครงสร้างแบบ Tree ซึ่ง Parent Node สามารถถ่ายทอดไปยัง Children Node ได้ มีโครงสร้างที่เหมาะกับความสัมพันธ์ข้อมูลแบบ One-to- Many มีโครงสร้างที่เหมาะสมกับระบบคอมพิวเตอร์ที่มีขนาดใหญ่ เช่น ระบบ Mainframe

ข้อเสียของ Hierarchical Database Model ผู้ใช้ฐานข้อมูลจะต้องทราบถึงโครงสร้างของข้อมูลที่จัดเก็บ อยู่ในฐานข้อมูล จึงจะสามารถเรียกใช้ข้อมูลได้ ถึงแม้จะ มี DBMS ก็ตาม แต่ DBMS ในโครงสร้างแบบนี้พัฒนา ได้ยาก ไม่สามารถรองรับข้อมูลที่มีความสัมพันธ์แบบ Many-to- Many ได้ เนื่องจาก Children Node สามารถมี Parent Node ได้เพียงโหนดเดียวเท่านั้น การเปลี่ยนแปลงโครงสร้างกระทำได้ยาก เพราะโครงสร้าง แบบ Tree มีความยืดหยุ่นน้อย โครงสร้างไม่รองรับการทำงานแบบ Ad-Hoc ไม่มีรูปแบบที่เป็นมาตรฐาน ส่งผลให้การถ่ายโอนข้อมูล ต่างองค์กรกระทำได้ยาก

Network Database Model พัฒนาต่อมาจาก Hierarchical Database Model โดย มุ่งหวังให้เป็นโครงสร้างข้อมูลมาตรฐาน มีความยืดหยุ่น และสามารถรองรับความสัมพันธ์แบบ Many-to-Many ได้ จุดเด่นคือ Children Node สามารถมี Parent Node ได้ มากกว่า 1 ตัว

ข้อดีของ Network Database Model รองรับข้อมูลที่มีความสัมพันธ์แบบ Many-to-Many สามารถเข้าถึงข้อมูลใน record อื่น ๆ ได้รวดเร็วกว่า Hierarchical DB Model สามารถกำหนดกฎเกณฑ์ที่ใช้ควบคุมความถูกต้องของ ข้อมูลได้ง่าย โปรแกรม DBMS จะมีความเป็นอิสระจากฐานข้อมูล มากกว่าการใช้โครงสร้างแบบ Hierarchical DB Model เพราะโครงสร้างมีความซับซ้อนน้อยกว่า

ข้อเสียของ Network Database Model การออกแบบฐานข้อมูลจะกระทำได้ค่อนข้างยาก เพราะ ต้องกำหนด Set ของความสัมพันธ์ให้ครอบคลุมทุก ๆ ข้อมูล การเปลี่ยนแปลงโครงสร้างของข้อมูลกระทำได้ยาก เพราะ ต้องคำนึงถึง Set ของความสัมพันธ์ต่าง ๆ ที่กำหนดไว้

Relational Database Model จัดเป็นแบบจำลองที่ก่อให้เกิดการปฏิวัติระบบฐานข้อมูลขึ้น เนื่องจากเป็นโครงสร้างฐานข้อมูลที่สามารถใช้งานได้อย่าง แพร่หลาย ไม่ว่าจะเป็นคอมพิวเตอร์ส่วนบุคคล ไปจนถึง คอมพิวเตอร์ที่มีประสิทธิภาพสูง รูปแบบของข้อมูลประเภทนี้จะมีลักษณะเป็นตาราง (Table) ที่ประกอบไปด้วยแถวและคอลัมน์ ซึ่งข้อมูลจะแยกออกจาก กันเป็นเอกเทศที่มีความเป็นอิสระ แต่สามารถนำมาสร้าง ความสัมพันธ์ร่วมกันได้ รายละเอียดทั้งหมดจะกล่าวถึงในบทต่อไป

Relational Database Model [cont.] จุดประสงค์หลักในการสร้างแบบจำลองเชิงสัมพันธ์ ประกอบไปด้วย จัดเก็บข้อมูลบนโครงสร้างข้อมูลที่ง่าย (ตาราง) สามารถเข้าถึงการประมวลผลแบบกลุ่ม (set-at-a-time) โดยใช้ ภาษาจัดการข้อมูล (DML) ซึ่งเป็นภาษาระดับสูง เป็นอิสระจากการจัดเก็บทางกายภาพ

ตัวอย่างการออกแบบฐานข้อมูลเชิงสัมพันธ์ โดยใช้ E-R Diagram

ข้อดี-ข้อเสียของ Relational Database Model ทั้งข้อมูลและโครงสร้างมีความเป็นอิสระจากโปรแกรมที่ใช้ มี DBMS ให้เลือกใช้งานอย่างหลากหลาย ข้อเสีย ใช้ทรัพยากรจาก Hardware และ Operating System ค่อนข้างสูง เนื่องจาก DBMS ของฐานข้อมูลที่มีโครงสร้าง แบบ Relational จะทำหน้าที่จัดการข้อมูลภายใน ฐานข้อมูลแทนผู้ใช้

สรุป แบบจำลองข้อมูล (Data Model) ใช้สำหรับการอธิบาย โครงสร้างและความสัมพันธ์ระหว่างข้อมูลภายในฐานข้อมูล จากรูปแบบแนวความคิดให้อยู่ในรูปแบบที่สามารถเข้าใจได้ ง่าย ความสัมพันธ์ข้อมูลมี 3 แบบคือ One-to-One, One-to- Many และ Many-to-Many แบบจำลองฐานข้อมูล (Database Model) ใช้อธิบายและ ออกแบบโครงสร้างของฐานข้อมูลมี 3 แบบ คือ Hierarchy, Network และ Relational

Structure Independence** สรุป [cont.] โครงสร้างข้อมูลรูปแบบต่าง ๆ สามารถสรุปได้ดังตารางนี้ Data Independence* Structure Independence** File Systems No Hierarchical Database Yes Network Database Relational Database * Data Independence คือความเป็นอิสระของข้อมูลจากโปรแกรมที่ใช้ ** Structure Independence คือความสามารถในการแก้ไขโครงสร้างของข้อมูลโดยไม่กระทบต่อ DBMS