1/33
บทที่ 2
แบบจำำลองข้อมูล
(Data Model)
2/33
เป็นกำรอธิบำยถึงรูปแบบและโครงสร้ำงของ
ข้อมูลภำยในระบบฐำนข้อมูลโดยทั่วไป ในระดับ
แนวควำมคิด โดยไม่ขึ้นอยู่กับโครงสร้ำงของฐำน
ข้อมูลนั้นๆ
สถำปัตยกรรมแบบ ANSI/SPARC
(American National Standards Institute /
Systems Planning And Requirements
Committee) ได้แบ่งสถำปัตยกรรมของฐำนข้อมูล
ออกเป็น 3 ระดับคือ
สถำปัตยกรรมของฐำนข้อมูล
3/33
1. ระดับ Internal เป็นระดับล่ำงสุด มีกำร
ทำำงำนเกี่ยวกับวิธีกำรจัดเก็บข้อมูล วิธีกำรเข้ำถึง
ข้อมูล ซึ่งจะทำำงำนเชื่อมต่อกับ Operating
System
2. ระดับ Conceptual เป็นระดับกลำง จะเกี่ยว
กับกำรอธิบำยข้อมูลว่ำ ประกอบด้วยข้อมูลอะไร
ข้อมูลมีควำมสัมพันธ์กันอย่ำงไร มีข้อกำำหนด
เงื่อนไขสำำหรับ บูรณภำพของข้อมูล (Data
Integrity) อะไรบ้ำง
3. ระดับ External เป็นระดับบนสุด จะ
กำรแบ่งระดับของข้อมูลกำรแบ่งระดับของข้อมูล
4/33
สถำปัตยกรรมแบบสถำปัตยกรรมแบบ ANSI/SPARCANSI/SPARC
5/33
สถำปัตยกรรมแบบสถำปัตยกรรมแบบ ANSI/SPARCANSI/SPARC
External (PL/I)
DCL 1 EMPP,
2 EMP # CHAR (6),
2 SAL FIXED BIN(31);
External (COBOL)
01 EMPC
02 EMPNO PIC X (6)
02 DEPTNO PIC X(4)
Conceptual
EMPLOYEE
EMPLOYEE _NUMBER CHARACTER (6)
DEPARTMENT_NUMBER CHARACTER (4)
SALARY NUMERIC (5)
Internal
STORED_EMP LENGTH = 18
PREFIX TYPE = BYTE (6) , OFFSET = 0
EMP# TYPE = BYTE (6) , OFFSET = 6 ,INDEX = EMPX
DEPT # TYPE = BYTE (4) , OFFSET = 12
PAY TYPE = FULLWORD , OFFSET = 16
6/33
ภำษำที่ใช้ในสภำวะแวดล้อมต่ำงๆ ใน
ฐำนข้อมูล
7/33
สคีมำสคีมำ (Schema)(Schema)สคีมำสคีมำ (Schema)(Schema)
 สคีมำ (Schema) ของระบบฐำนข้อมูล คือภำพโดย
รวมของระบบฐำนข้อมูลในเชิงตรรกะ ที่บ่งบอกให้
ทรำบฐำนข้อมูลประกอบด้วยข้อมูลอะไรบ้ำง และมี
ควำมสัมพันธ์กันอย่ำงไร
 สับสกีมำ (sub-schema) มุมมองที่ผู้ใช้ฐำนข้อมูล
มองเห็นได้ เป็นบำงส่วนของสกีมำฐำนข้อมูล
8/33
Data Independence คือควำม
สำมำรถในกำรเปลี่ยนแปลงสกีมำในระดับหนึ่ง
ของฐำนข้อมูล โดยไม่มีผลกระทบต่อสกีมำใน
ระดับสูงขึ้นไป
เป็นแนวคิดเพื่อให้โปรแกรมมีควำมเป็น
อิสระจำกกำรเปลี่ยนแปลงโครงสร้ำงข้อมูล
- ระดับ Physical เปลี่ยนแปลงสกีมำทำง
กำยภำพ จะไม่มีผลกระทบต่อสกีมำทำงตรรกะ
- ระดับ Logical เปลี่ยนแปลงสกีมำทำง
ตรรกะ จะไม่มีผลกระทบต่อโปรแกรมประยุกต์
ควำมเป็นอิสระของข้อมูลควำมเป็นอิสระของข้อมูล ((DataData
Independence)Independence)
ควำมเป็นอิสระของข้อมูลควำมเป็นอิสระของข้อมูล ((DataData
Independence)Independence)
9/33
กำรแปลงรูปและควำมเป็นอิสระกำรแปลงรูปและควำมเป็นอิสระ
ของข้อมูลของข้อมูล
กำรแปลงรูปและควำมเป็นอิสระกำรแปลงรูปและควำมเป็นอิสระ
ของข้อมูลของข้อมูล
วิว
โครงร่ำงระดับแนวควำมคิด
ควำมเป็นอิสระของข้อมูลเชิงตรรกะ
Conceptual/Internal Mapping
External/Conceptual Mapping
วิว วิว
ควำมเป็นอิสระของข้อมูลเชิงกำยภำพ
โครงร่ำงระดับภำยใน
10/33
 ผู้ใช้งานไม่จำาเป็นต้องสนใจรายละเอียดของ
โครงสร้างในการจัดเก็บข้อมูล
 ผู้ใช้แต่ละคนสามารถนำาข้อมูลชุดเดียวกัน มา
ใช้งานที่แตกต่างกัน
 มีความเป็นอิสระของข้อมูลกับตัวโปรแกรม
ประโยชน์ของการแบ่งโครงสร้างของ
ข้อมูลออกเป็นระดับชั้น
11/33
แบบจำาลองของข้อมูล (Data
Model)
Data Model
เป็นเครื่องมือสำาหรับใช้อธิบาย ถึงโครงสร้างและ
ความสัมพันธ์ระหว่างข้อมูลภายในฐานข้อมูล จากรูป
แบบที่เป็นแนวความคิดที่เข้าใจได้ยาก ให้อยู่ในรูปแบบ
ที่สามารถเข้าใจได้ง่ายขึ้น
แบบจำาลองของข้อมูล แบ่งได้เป็น 2 ประเภทคือ
 Conceptual Model
Implementation Model
12/33
1. Conceptual Model
ถูกนำาไปใช้ในการออกแบบฐานข้อมูล เพื่อ
อธิบายถึงข้อมูลและความสัมพันธ์ของข้อมูล
มักประกอบด้วย สัญลักษณ์ที่ใช้แทนตัวข้อมูล
คุณสมบัติของข้อมูล และความสัมพันธ์ต่างๆ
แบบจำาลองฐานข้อมูลประเภทนี้ได้แก่ Entity-
Relationship Model (E-R Model) และ Object-
oriented Model
แบบจำาลองของข้อมูล (Data
Model)
13/33
2. Implementation Model
ใช้อธิบายถึงโครงสร้างข้อมูลของฐานข้อมูลแต่ละ
ประเภท ที่ถูกคิดค้นขึ้น เช่น Hierarchical Model,
Network Model และ Relational Model
แบบจำาลองของข้อมูล (Data
Model)
14/33
ประเภทของความสัมพันธ์ของ
ข้อมูล
1. ความสัมพันธ์แบบ One-to-One (1:1)
2. ความสัมพันธ์แบบ One-to-Many (1:M)
3. ความสัมพันธ์แบบ Many-to-Many (N:M)
1.1. ความสัมพันธ์แบบ หนึ่งต่อหนึ่งความสัมพันธ์แบบ หนึ่งต่อหนึ่ง
(( One to one Relationships)One to one Relationships)
1.1. ความสัมพันธ์แบบ หนึ่งต่อหนึ่งความสัมพันธ์แบบ หนึ่งต่อหนึ่ง
(( One to one Relationships)One to one Relationships)
เป็นการแสดงความสัมพันธ์ของข้อมูล ของเอนทิตี้หนึ่ง
ว่ามีความสัมพันธ์กับข้อมูลในอีกเอนทิตี้หนึ่ง ใน
ลักษณะ หนึ่ง ต่อ หนึ่ง หรือเขียนได้เป็น 1:1 แสดงว่า
ข้อมูลเพียงหนึ่งข้อมูลของเอนทิตี้แรกมีความสัมพันธ์
กับข้อมูลในเอนทิตี้ที่สองเพียงข้อมูลเดียว
2.2.ความสัมพันธ์แบบ หนึ่งต่อกลุ่มความสัมพันธ์แบบ หนึ่งต่อกลุ่ม
(( One to many Relationships)One to many Relationships)
2.2.ความสัมพันธ์แบบ หนึ่งต่อกลุ่มความสัมพันธ์แบบ หนึ่งต่อกลุ่ม
(( One to many Relationships)One to many Relationships)
 เป็นการแสดงความสัมพันธ์ของข้อมูล ของเอนทิตี้
หนึ่งว่ามีความสัมพันธ์กับข้อมูลในอีกเอนทิตี้หนึ่ง
ในลักษณะ หนึ่ง ต่อ กลุ่ม หรือเขียนได้เป็น 1:N
แสดงว่าข้อมูลเพียงหนึ่งข้อมูลของเอนทิตี้แรกมี
ความสัมพันธ์กับข้อมูลในเอนทิตี้ที่สองหลายข้อมูล
เช่น
16/33
3.3.ความสัมพันธ์แบบ กลุ่มต่อกลุ่มความสัมพันธ์แบบ กลุ่มต่อกลุ่ม (( ManyMany
to Many Relationships)to Many Relationships)
3.3.ความสัมพันธ์แบบ กลุ่มต่อกลุ่มความสัมพันธ์แบบ กลุ่มต่อกลุ่ม (( ManyMany
to Many Relationships)to Many Relationships)
เป็นการแสดงความสัมพันธ์ของข้อมูล ของเอนทิตี้
หนึ่งว่ามีความสัมพันธ์กับข้อมูลในอีกเอนทิตี้หนึ่ง
ในลักษณะ กลุ่ม ต่อ กลุ่ม หรือเขียนได้เป็น N:M
แสดงว่าข้อมูลเพียงหนึ่งข้อมูลของเอนทิตี้แรก มี
ความสัมพันธ์กับข้อมูลในเอนทิตี้ที่สองหลาย
ข้อมูล และทำานองเดียวกัน ข้อมูลเพียงหนึ่งข้อมูล
ของเอนทิตี้ที่สองมีความสัมพันธ์ในทางกลับกันกับ
ข้อมูลในเอนทิตี้ที่แรกหลายข้อมูล
จากความสัมพันธ์ระหว่าง Orders และ Items เป็นความ
สัมพันธ์แบบหนึ่งต่อกลุ่ม และในทำานองเดียวกันความสัมพันธ์
ระหว่าง Items และ Orders ก็เป็นความสัมพันธ์แบบหนึ่งต่อ
กลุ่มด้วยเช่นกัน ดังนั้นความสัมพันธ์ระหว่างเอนทิตี้ทั้งสองจึง
เป็นแบบกลุ่มต่อกลุ่ม ( N:M) โดยมีความหมายดังต่อไปนี้คือ
สินค้า 1 ชนิด หรือ 1 item จะถูกสั่งซื้อโดยปรากฏในใบสั่ง
ซื้อหรือใบ orders ได้หลาย ๆ ใบ และในทำานองเดียวกัน
ใบสั่งซื้อ 1 ใบ สามารถมีรายการสิ้นค้าหรือ items ได้หลาย
นิสิตสามารถลงทะเบียนเรียนได้หลาย ๆ วิชา
พร้อมกันในแต่ละครั้ง และในทางตรงกันข้าม ใน
แต่ละวิชา 1 วิชา จะประกอบด้วยนิสิตหลายคนมา
ลงทะเบียนในวิชานั้น
20/33
แบบจำาลองของฐานข้อมูล
Hierarchical Model
ใช้อธิบายถึงฐานข้อมูลที่มีโครงสร้างของข้อมูลใน
แบบลำาดับชั้น (Hierarchy) คิดค้นโดยบริษัท North
American Rockwell เพื่อลดการซำ้าซ้อนของข้อมูล
(Data Redundancy)
มีการนำาข้อมูลแต่ละส่วน (Part) มาจัดเก็บเป็นก
ลุ่ม ที่เรียกว่า Component แล้วรวมแต่ละกลุ่มเป็นกลุ่ม
ใหญ่ เรียกว่า Final Component
มีโครงสร้างในรูปแบบ Tree ที่เรียกว่า Upside
–down Tree ต่อมาโครงสร้างในลักษณะนี้ ได้ถูกเรียก
21/33
Hierarchical Model
22/33
Child with Multiple ParentsChild with Multiple ParentsChild with Multiple ParentsChild with Multiple Parents
23/33
Network Model
ใช้อธิบายถึงฐานข้อมูลที่มีโครงสร้างของข้อมูลที่
จำาแนกตามความสัมพันธ์ของข้อมูล พัฒนามาจาก
Hierarchical Model มีจุดมุ่งหมายเพื่อกำาหนดให้เป็น
รูปแบบของโครงสร้างข้อมูลที่เป็นมาตรฐาน และให้
รองรับข้อมูลที่มีความสัมพันธ์แบบ Many-to-Many
ปี ค.ศ. 1970 กลุ่มผู้พัฒนาภาษา COBOL ที่ชื่อ
Conference On Data System Language
(CODASYL) ได้ตั้งทีมงานเพื่อร่วมกันกำาหนดมาตรฐาน
เพื่อใช้ในการสร้าง และจัดการกับข้อมูลภายในฐาน
ข้อมูล มีมาตรฐานหลัก ๆ 3 ประการคือ
1. มาตรฐานในการกำาหนดโครงสร้างให้กับฐาน
แบบจำาลองของข้อมูล (ต่อ)
24/33
Network Model
3. มาตรฐานในการจัดการกับข้อมูลในฐานข้อมูล
ต่อมาได้กลายเป็นมาตรฐานของกลุ่มคำาสั่ง DML
โครงสร้างข้อมูลแบบ Network ถูกกำาหนดขึ้น
จากความสัมพันธ์ระหว่างข้อมูลตั้งแต่ 2 Record ขึ้น
ไป ที่เรียกว่า Set โดยแบ่งออกเป็น Owner Record
(เทียบเท่า Parent Segment) และ Member Record
(เทียบเท่า Child Segment)
จากที่ Member Record สามารถมีความ
สัมพันธ์กับ Owner Record ได้มากกว่า 1 Set (หรือ
มากกว่า 1 Record) ทำาให้โครงสร้างของฐานข้อมูล
แบบ Network สามารถมีความสัมพันธ์ในแบบ Many-
แบบจำาลองของฐานข้อมูล (ต่อ)
25/33
A Network Data ModelA Network Data ModelA Network Data ModelA Network Data Model
26/33
Relational Model
แบบจำาลองของฐานข้อมูล (ต่อ)
พัฒนามาจากแบบจำาลองความสัมพันธ์
ระหว่างข้อมูลที่มีชื่อว่า Relational Model
ข้อมูลที่จัดเก็บในฐานข้อมูล จะถูกแยกจัดเก็บ
ออกเป็นหน่วยย่อยๆ ที่เรียกว่า Relation หรือ
Table ที่อยู่ในรูปของตารางที่ประกอบด้วยชุดของ
แถวและชุดของสดมภ์
ข้อมูลที่จัดเก็บในแต่ละ Relation จะเป็น
ข้อมูลที่แยกเป็นเอกเทศ แต่สามารถนำามาสร้าง
ความสัมพันธ์ร่วมกันได้ ซึ่งจะอยู่ในแนวความคิด
มากกว่าโครงสร้างทางกายภาพ
27/33
A Relational SchemaA Relational SchemaA Relational SchemaA Relational Schema
28/33
Linking Relational TablesLinking Relational TablesLinking Relational TablesLinking Relational Tables
29/33
The Entity Relationship ModelThe Entity Relationship ModelThe Entity Relationship ModelThe Entity Relationship Model
 Widely accepted and adapted
graphical tool for data modeling
 Introduced by Chen in 1976
 Graphical representation of entities
and their relationships in a
database structure
30/33
The Entity Relationship Model-BasicThe Entity Relationship Model-Basic
StructureStructure
The Entity Relationship Model-BasicThe Entity Relationship Model-Basic
StructureStructure
 Entity relationship diagram (ERD)
 Uses graphic representations to
model database components
 Entity is mapped to a relational table
 Entity instance is row in table
 Entity set is collection of like
entities
 Connectivity labels types of
relationships
31/33
Relationships: The BasicRelationships: The Basic
Chen ERDChen ERD
Relationships: The BasicRelationships: The Basic
Chen ERDChen ERD
32/33
Relationships: The BasicRelationships: The Basic
Crow’s Foot ERDCrow’s Foot ERD
Relationships: The BasicRelationships: The Basic
Crow’s Foot ERDCrow’s Foot ERD
33/33
The Object Oriented ModelThe Object Oriented ModelThe Object Oriented ModelThe Object Oriented Model
 Object is described by its factual
content
 Like relational model’s entity
 Includes information about
relationships between facts within
object and relationships with other
objects
 Unlike relational model’s entity
 Subsequent OODM development
34/33
Object Oriented Data Model- BasicObject Oriented Data Model- Basic
StructureStructure
Object Oriented Data Model- BasicObject Oriented Data Model- Basic
StructureStructure
 Object: abstraction of a real-world
entity
 Attributes describe the properties
of an object
 Objects that share similar
characteristics are grouped in
classes
 Classes are organized in a class
hierarchy
35/33
A Comparison of the OO Model andA Comparison of the OO Model and
the ER Modelthe ER Model
A Comparison of the OO Model andA Comparison of the OO Model and
the ER Modelthe ER Model
36/33
Summary : The Evolution ofSummary : The Evolution of
Data ModelsData Models
Summary : The Evolution ofSummary : The Evolution of
Data ModelsData Models

บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล