Transcript File

Chapter 3
แบบจำลองข ้อมูล : Data Models
แบบจำลองข ้อมูล
(Data Models)
- เป็ นแหล่งรวมของแนวคิดทีน
่ ำเสนอควำมเป็ นจริงของวัตถุ ข ้อมูล และ
ั พันธ์ระหว่ำงข ้อมูลทีม
เหตุกำรณ์ รวมถึงควำมสม
่ ค
ี วำมสอดคล ้องกัน
- กำรนำแนวคิดต่ำงๆ มำนำเสนอให ้เกิดเป็ นรูปแบบจำลอง
้
ื่ สำรระหว่ำง Database Designer กับ User เพือ
- ใชในกำรส
อ
่ ให ้เกิด
ควำมเข ้ำใจตรงกัน
ประเภทของแบบจำลองข ้อมูล
(Types of Data Models)
Conceptual Data Models
Implementation Data Models
ประเภทของแบบจำลองข ้อมูล : เชงิ แนวคิด
(Types of Data Models : Conceptual)
Conceptual Data Models
-
้ บ
ใชอธิ
ำยภำพโดยรวมของข ้อมู
ลทัง้ หมดในระบบ
Implementation
Data
Models
ั พันธ์ระหว่ำง Entities
แสดงในรูปไดอะแกรมควำมสม
ทำให ้เกิดควำมเข ้ำใจกันระหว่ำงผู ้ออกแบบและผู ้ใช ้
ไม่ขน
ึ้ อยูก
่ บ
ั DBMS
่ Entity-Relationship Model : E-R Model
ตัวอย่ำงเชน
ประเภทของแบบจำลองข ้อมูล : เชงิ แนวคิด
(Types of Data Models : Conceptual)
Conceptual Data Models
Implementation Data Models
้ บำยโครงสร ้ำงข ้อมูลของฐำนข ้อมูล
- ใชอธิ
- อ ้ำงอิงกับ DBMS
พืน
้ ฐำนกำรสร ้ำงแบบจำลองข ้อมูล
(Data Models Basic Building Blocks)
Entities
Attributes
Relationships
Constraints
พืน
้ ฐำนกำรสร ้ำงแบบจำลองข ้อมูล
(Data Models Basic Building Blocks)
Entities
- บุคคล สงิ่ ของ หรือเหตุกำรณ์ ทีเ่ กีย
่ วข ้องกับข ้อมูลทีร่ วบรวม
ไว ้เพือ
่ กำรจัดเก็บ Attributes
- ถือเป็ นตัวแทนของวัตถุในโลกแห่งควำมเป็ นจริง
Relationships
*** ต่อไปมั
นจะกลำยไปเป็ นตำรำง ***
Constraints
พืน
้ ฐำนกำรสร ้ำงแบบจำลองข ้อมูล
(Data Models Basic Building Blocks)
Entities
Attributes
- คุณลักษณะ (properties)
ของ Entities
Relationships
*** ต่อไปมันจะกลำยไปเป็ นฟิ ลด์ของตำรำง ***
Constraints
พืน
้ ฐำนกำรสร ้ำงแบบจำลองข ้อมูล
(Data Models Basic Building Blocks)
Entities
ั พันธ์ระหว่ำง Entities
- ควำมสม
1:1
1:M
Attributes
M : M หรือ M : N
Relationships
Constraints
พืน
้ ฐำนกำรสร ้ำงแบบจำลองข ้อมูล
(Data Models Basic Building Blocks)
Entities
Attributes
- กฎเกณฑ์/ข ้อตกลง ของข
้อมูล
- เกิดควำมมัน
่ ใจในควำมเป็ นอันหนึง่ อันเดียวกัน
- เกิดควำมสอดคล ้องตรงกันของข ้อมูล
Relationships
Constraints
แบบจำลองฐำนข ้อมูล
(Database Model)
- รูปแบบหรือวิธก
ี ำรจัดกำรเข ้ำถึงข ้อมูลในฐำนข ้อมูล จำเป็ นต ้องมีวธิ ก
ี ำร
หรือโครงสร ้ำงกำรจัดกำรทีแ
่ ตกต่ำงกัน ขึน
้ อยูก
่ บ
ั DBMS ทีใ่ ช ้
แบบจำลองฐำนข ้อมูล
(Database Model)
Hierarchical Database Model
Network Database Model
Relational Database Model
Object-Oriented Database Model
Multidimensional Database Model
ั้
แบบจำลองฐำนข ้อมูล : แบบลำดับชน
(Hierarchical Database Model)
ั้
แบบจำลองฐำนข ้อมูล : แบบลำดับชน
(Hierarchical Database Model)
ข ้อดี
-
รูปแบบโครงสร ้ำงเข ้ำใจง่ำย (Tree)
ั ซอนน
้
โครงสร ้ำงซบ
้อยทีส
่ ด
ุ
1:M Relational
ควำมปลอดภัยในข ้อมูลดี มีควำมคงสภำพทีด
่ ี (Data Integrity)
เหมำะกับข ้อมูลทีม
่ ก
ี ำรเรียงลำดับแบบต่อเนือ
่ ง
ี
ข ้อเสย
- ยำกต่อกำรพัฒนำ ต ้องเข ้ำใจโครงสร ้ำงทำงกำยภำพของข ้อมูล
ั พันธ์แบบ M:M
- ไม่รองรับควำมสม
- Structural Dependent & Data Dependent
- ไม่สะดวกในกำรค ้นหำข ้อมูลในระดับล่ำง
- ไม่ม ี DML ใน DBMS
ั เจน
- ขำดมำตรฐำนกำรรองรับทีช
่ ด
แบบจำลองฐำนข ้อมูล : แบบเครือข่ำย
(Network Database Model)
ั ้ อย่ำงไรหน๊อ
ต่ำงจำกแบบลำดับชน
แบบจำลองฐำนข ้อมูล : แบบเครือข่ำย
(Network Database Model)
แบบจำลองฐำนข ้อมูลแบบเครือข่ำยถูกสร ้ำงขึน
้ ด ้วยเหตุผลที่
ั พันธ์ทซ
ั ซอนที
้
เพือ
่ ให ้จัดกำรกับควำมสม
ี่ บ
แ
่ บบจำลองฐำนข ้อมูลแบบ
ั ้ ทำไม่ได ้ (M:N) เพือ
ิ ธิภำพของฐำนข ้อมูล
ลำดับชน
่ ปรับปรุงประสท
แบบจำลองฐำนข ้อมูล : แบบเครือข่ำย
(Network Database Model)
ั พันธ์จะเรียกว่ำ เซต(set) ในแต่ละ
ในแบบจำลองแบบเครือข่ำยควำมสม
เซตจะประกอบด ้วยเรคคอร์ดอย่ำงน ้อย 2 ประเภท คือ Owner และ
ั พันธ์ทเี่ กิดขึน
member ซงึ่ ควำมสม
้ อำจจะเป็ นแบบ 1:N หรือ M:N ซงึ่
ั พันธ์กบ
หมำยถึง member สำมำรถมีควำมสม
ั Owner ได ้หลำย Owner
•
•
•
•
พนักงำนขำยหนึง่ คนสำมำรถออกใบสง่ ของได ้
ื่ พนักงำนขำยเพียง
หลำยใบ แต่ละใบจะมีชอ
ื่ เดียว
ชอ
ื้ สน
ิ ค ้ำได ้หลำย
ลูกค ้ำคนหนึง่ อำจจะมีกำรซอ
ครัง้ จึงอำจจะมีใบสง่ ของหลำยใบและแต่ละ
ื่ ผู ้ซอ
ื้ ได ้เพียงหนึง่ ชอ
ื่ เท่ำนัน
ใบจะมีชอ
้
ใบสง่ ของแต่ละใบอำจจะมีรำยกำรสง่ ของในใบ
แจ ้งได ้หลำยรำยกำร
ิ ค ้ำหลำย ๆ รำยกำรสำมำรถไปปรำกฏในใบ
สน
สง่ ของได ้หลำยใบ
้
*** ปั จจุบน
ั ยังคงมีใชงำนอยู
ใ่ นระดับ MainFrame ***
แบบจำลองฐำนข ้อมูล : แบบเครือข่ำย
(Network Database Model)
ข ้อดี
-
รูปแบบโครงสร ้ำงเข ้ำใจง่ำย
ั พันธ์ M:N
สนับสนุนควำมสม
มีควำมยืดหยุน
่ ในกำรเข ้ำถึงข ้อมูล
มีควำมคงสภำพทีด
่ ี (Data Integrity)
DBMS มี DDL และ DML
มีควำมเป็ นมำตรฐำน
Data Independent
ี
ข ้อเสย
ั ซอน
้ และมีข ้อจำกัดด ้ำนประสท
ิ ธิภำพ
- ระบบโดยรวมยังมีควำมซบ
- ยำกต่อกำรนำไปใช ้
- Structural Dependent
ั พันธ์
แบบจำลองฐำนข ้อมูล : เชงิ สม
(Relational Database Model)
-
คิดค ้นโดย E.F. Codd (จำก IBM) ในปี 1970
เป็ นแบบจำลองนำเสนอรูปแบบทำงแนวคิดทีเ่ ข ้ำใจง่ำย
้
ทีน
่ ย
ิ มใชมำกในปั
จจุบน
ั ***
ื่ มควำมสม
ั พันธ์กน
มุมมองข ้อมูลมีลก
ั ษณะเป็ นตำรำงทีเ่ ชอ
ั
้
ื่ มควำมสม
ั พันธ์
ใชระบบคี
ย ์ (KEY) ในกำรเชอ
Primary Key : PK
Foreign Key : FK
แบบจำลองฐำนข ้อมูล : เชงิ วัตถุ
(Object-Orineted Database Model)
- พัฒนำตำมภำษำกำรโปรแกรมจำก SOP  OOP
- มองทุกสงิ่ เป็ น Object ซงึ่ ประกอบด ้วย Data & Operation
- Class
- Data Member (Properties , Attribute , Variable)
- Method (Function)
- ยังคงมีคณ
ุ สมบัตข
ิ อง OOP
- Encapsulation  กำรห่อหุ ้ม
ื ทอด
- Inheritance
 กำรสบ
- Abstraction
 กำรสร ้ำงขึน
้ มำ แต่ยังไม่ระบุรำยละเอียด
- Polymorphism  Overload
- มี OODBMS หรือ ODBMS
แบบจำลองฐำนข ้อมูล : เชงิ วัตถุ
(Object-Oriented Database Model)
แบบจำลองฐำนข ้อมูล : เชงิ วัตถุ
(Object-Oriented Database Model)
ข ้อดี
- Inheritance ทำให ้ข ้อมูลมีควำมคงสภำพสูง
- Reusable
- กำรนำเสนอเป็ นแบบ Visual ทำให ้อธิบำยหัวข ้อควำมหมำยได ้ดี
ี
ข ้อเสย
ี่ วชำญเฉพำะด ้ำน
- ต ้องมีผู ้เชย
- ค่ำใชจ่้ ำยสูง
- ยังไม่มม
ี ำตรฐำนรองรับ
ั่
แบบจำลองฐำนข ้อมูล : มัลติไดเมนชน
(Multidimension Database Model)
ั พันธ์
- พัฒนำจำกแบบเชงิ สม
- Row & Column จะมีลก
ั ษณะเป็ นลูกบำศก์ (Data Cube)
- สำมำรถมองข ้อมูลได ้ 2 ทำง เพือ
่ ให ้เห็นปั ญหำและสร ้ำงวิธแ
ี ก ้ได ้ดี
้
- ใชแบบจ
ำลอง Star Schema ในกำรออกแบบ
- มี Fact Table เก็บ fields ทัง้ หมดทีจ
่ ะวัด
- มีตำรำง Dimension สำหรับ Join กับ Fact Table
้
- ถูกนำไปใชงำนกั
บคลังข ้อมูล (Data Warehousing)
้
- ใชกำรเข
้ำถึงข ้อมูลโดยระบบ OLAP *
OLAP : OnLine Analytical Processing (ระบบประมวลผลเชงิ วิเครำะห์แบบต่อตรง)
ั่
แบบจำลองฐำนข ้อมูล : มัลติไดเมนชน
(Multidimension Database Model)
ั่
แบบจำลองฐำนข ้อมูล : มัลติไดเมนชน
(Multidimension Database Model)
ข ้อดี
้ อ
- สำมำรถนำไปใชเพื
่ วำงแผนและสร ้ำงวิธแ
ี ก ้ปั ญหำทำงธุรกิจได ้
- สำมำรถนำเสนอข ้อมูลได ้หลำยมุมมอง
ี
ข ้อเสย
ี่ วชำญเฉพำะด ้ำน
- ต ้องมีผู ้เชย
้
- ค่ำใชจ่้ ำยสูง ในสว่ นของ HW & SW เพือ
่ ใชในกำรวิ
เครำะห์
- เหมำะกับธุรกิจขนำดใหญ่
ั พันธ์
โครงสร ้ำงข ้อมูลเชงิ สม
(Relational Data Structure)
Primary Key : PK
Attribute
(Field, Column)
Cardinality
Tuple
(Record, Row)
Relation
(Table,File)
Degree
Domain : Rang of Data in each Field
Foreign Key : FK
กฎ 12 ข ้อของคอดด์
(Codd’s 12 Relational Database Model)
•
•
•
•
•
•
•
•
•
•
•
•
Information
Guaranteed Access
Systematic Treatment of Null
Dynamic On-Line Catalog Based on the Relational Model
Comprehensive Data Sublanguage
View Updating
High-Level Insert, Update and Delete
Physical Data Independence
Logical Data Independence
Integrity Independence
Distribution Independence
Nonsubversion
ั พันธ์
ฐำนข ้อมูลเชงิ สม
(Database Relations)
ั่
คุณสมบัตข
ิ องรีเลชน
(Properties of Relations)
•
•
•
•
•
•
•
ั่ ต ้องมีชอ
ื่ กำกับ ซงึ่ ซ้ำกันไม่ได ้
รีเลชน
แต่ละ Attribute เก็บค่ำได ้เพียงค่ำเดียว (Atomic : Single Value)
ื่ กำกับ ซงึ่ ซ้ำกันไม่ได ้
แต่ละ Attribute ต ้องมีชอ
ข ้อมูลในแต่ละ Attribute ต ้องเป็ นไปตำมข ้อกำหนดของ Domain
ข ้อมูลในแต่ละ Tuple ต ้องมีควำมแตกต่ำงจะต ้องไม่ม ี Tuple ทีซ
่ ้ำกัน
กำรเรียงลำดับของแต่ละ Attribute ไม่มค
ี วำมสำคัญใดๆ
กำรเรียงลำดับของ Tuple ไม่มค
ี วำมสำคัญใดๆ
คีย ์
(Keys)
• กำรกำหนด Attribute หรือกลุม
่ ของ Attributes เป็ น Key เพือ
่ ให ้แต่
ละ Tuple มีควำมแตกต่ำงกัน
• กำรกำหนด Key ให ้กับ Relation เพือ
่ ให ้สำมำรถนำ Key ไประบุ
Tuple ใน Relation ตำมต ้องกำรได ้
คีย ์
(Keys)
Candidate Key : CK
Primary Key : PK
Alternate Key / Secondary Key
Foreign Key : FK
Composite/Concatenated/Compound Key
Super Key