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 เป็นระดับบนสุด จะเกี่ยวข้องกับการสร้าง view ของข้อมูล
ให้ตรงตามความต้องการใช้งานของแต่ละ User
กำรแบ่งระดับของข้อมูล
4/33
View 1 View 2 View n
Conceptual Schema
External Level
(Individual user view)
Conceptual Level
(Community user view)
Internal Schema
Internal Level
(Storage view)
สถำปัตยกรรมแบบ ANSI/SPARC
5/33
สถำปัตยกรรมแบบ ANSI/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
โปรแกรมประยุกต์ โปรแกรมอำนวยควำมสะดวกต่ำงๆ
ภำษำในกำรเขียน
โปรแกรมต่ำงๆ เช่น VB
ภำษำฝังตัว (embeded
sublanguage) (DDL+DML)
โปรแกรมสนับสนุนภำษำ
คิวรี่ เช่น PL/SQL (DDL+DML)
เครื่องมือเฉพำะต่ำงๆ เช่น
Form, Report
ระดับวิว
ใช้ภำษำที่ใช้ในกำรนิยำมข้อมูล (DDL) และภำษำที่ใช้ในกำรจัดกำรข้อมูล (DML)
ระดับแนวความคิด
ใช้ภำษำที่ใช้ในกำรนิยำมข้อมูล (DDL)
ระดับกายภาพ
ภำษำที่ใช้ในสภำวะแวดล้อมต่ำงๆ ในฐำนข้อมูล
7/33
สคีมำ (Schema)
 สคีมำ (Schema) ของระบบฐานข้อมูล คือภาพโดยรวมของระบบฐานข้อมูลในเชิง
ตรรกะ ที่บ่งบอกให้ทราบฐานข้อมูลประกอบด้วยข้อมูลอะไรบ้าง และมี
ความสัมพันธ์กันอย่างไร
 สับสกีมา (sub-schema) มุมมองที่ผู้ใช้ฐานข้อมูลมองเห็นได้ เป็นบางส่วนของสกี
มาฐานข้อมูล
8/33
Data Independence คือความสามารถในการเปลี่ยนแปลงสกี
มาในระดับหนึ่งของฐานข้อมูล โดยไม่มีผลกระทบต่อสกีมาในระดับสูง
ขึ้นไป
เป็นแนวคิดเพื่อให้โปรแกรมมีความเป็นอิสระจากการ
เปลี่ยนแปลงโครงสร้างข้อมูล
- ระดับ Physical เปลี่ยนแปลงสกีมาทางกายภาพ จะไม่มี
ผลกระทบต่อสกีมาทางตรรกะ
- ระดับ Logical เปลี่ยนแปลงสกีมาทางตรรกะ จะไม่มี
ผลกระทบต่อโปรแกรมประยุกต์
ควำมเป็นอิสระของข้อมูล (Data 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)
15/33
แบบจำลองของฐำนข้อมูล
Hierarchical Model
ใช้อธิบายถึงฐานข้อมูลที่มีโครงสร้างของข้อมูลในแบบลาดับชั้น
(Hierarchy) คิดค้นโดยบริษัท North American Rockwell เพื่อลดการซ้าซ้อนของ
ข้อมูล (Data Redundancy)
มีการนาข้อมูลแต่ละส่วน (Part) มาจัดเก็บเป็นกลุ่ม ที่เรียกว่า Component
แล้วรวมแต่ละกลุ่มเป็นกลุ่มใหญ่ เรียกว่า Final Component
มีโครงสร้างในรูปแบบ Tree ที่เรียกว่า Upside –down Tree ต่อมา
โครงสร้างในลักษณะนี้ ได้ถูกเรียกว่าโครงสร้างแบบ Hierarchy
16/33
Hierarchical Model
17/33
Child with Multiple Parents
18/33
Network Model
ใช้อธิบายถึงฐานข้อมูลที่มีโครงสร้างของข้อมูลที่จาแนกตามความสัมพันธ์
ของข้อมูล พัฒนามาจาก Hierarchical Model มีจุดมุ่งหมายเพื่อกาหนดให้เป็น
รูปแบบของโครงสร้างข้อมูลที่เป็นมาตรฐาน และให้รองรับข้อมูลที่มีความสัมพันธ์
แบบ Many-to-Many
ปี ค.ศ. 1970 กลุ่มผู้พัฒนาภาษา COBOL ที่ชื่อ Conference On Data
System Language (CODASYL) ได้ตั้งทีมงานเพื่อร่วมกันกาหนดมาตรฐานเพื่อใช้ใน
การสร้าง และจัดการกับข้อมูลภายในฐานข้อมูล มีมาตรฐานหลัก ๆ 3 ประการคือ
1. มาตรฐานในการกาหนดโครงสร้างให้กับฐานข้อมูล ต่อมาได้กลายเป็น
มาตรฐานของกลุ่มคาสั่ง DDL
2. มาตรฐานการเรียกใช้ข้อมูลจากฐานข้อมูลร่วมกับคาสั่งของ
ภาษาคอมพิวเตอร์ที่ใช้ในการพัฒนาโปรแกรม
แบบจำลองของข้อมูล (ต่อ)
19/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-to-Many
แบบจำลองของฐำนข้อมูล (ต่อ)
20/33
A Network Data Model
21/33
Relational Model
แบบจำลองของฐำนข้อมูล (ต่อ)
พัฒนามาจากแบบจาลองความสัมพันธ์ระหว่างข้อมูลที่มีชื่อว่า
Relational Model
ข้อมูลที่จัดเก็บในฐานข้อมูล จะถูกแยกจัดเก็บออกเป็นหน่วยย่อยๆ ที่
เรียกว่า Relation หรือ Table ที่อยู่ในรูปของตารางที่ประกอบด้วยชุดของแถว
และชุดของสดมภ์
ข้อมูลที่จัดเก็บในแต่ละ Relation จะเป็นข้อมูลที่แยกเป็นเอกเทศ แต่
สามารถนามาสร้างความสัมพันธ์ร่วมกันได้ ซึ่งจะอยู่ในแนวความคิด มากกว่า
โครงสร้างทางกายภาพ
22/33
A Relational Schema
23/33
Linking Relational Tables
24/33
The 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
25/33
The Entity Relationship Model-Basic Structure
 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
 Diamond connected to related entities through a relationship line
26/33
Relationships: The Basic Chen ERD
27/33
Relationships: The Basic Crow’s Foot ERD
28/33
The 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 allowed an object to also
contain operations
 Object becomes basic building block for autonomous structures
29/33
Object Oriented Data Model- Basic Structure
 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
 Inheritance is the ability of an object within the class hierarchy
to inherit the attributes and methods of classes above it
30/33
A Comparison of the OO Model and the ER Model
31/33
Summary : The Evolution of Data Models

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