Top Banner
เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานขอมูลเบื้องตน (Fundamentals of Database System) จัดทําโดย อาจารยศิริพร แสนศรี ภาควิชาวิทยาการคอมพิวเตอรและสารสนเทศ คณะวิทยาศาสตรและวิศวกรรมศาสตร มหาวิทยาลัยเกษตรศาสตร วิทยาเขตเฉลิมพระเกียรติ จังหวัดสกลนคร ตุลาคม 2560 คลังความรู้ดิจิทัล มหาวิทยาลัยเกษตรศาสตร์
189

เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

May 09, 2023

Download

Documents

Khang Minh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

เอกสารประกอบการเรยนการสอน

รายวชา ระบบฐานขอมลเบองตน

(Fundamentals of Database System)

จดทาโดย

อาจารยศรพร แสนศร

ภาควชาวทยาการคอมพวเตอรและสารสนเทศ

คณะวทยาศาสตรและวศวกรรมศาสตร

มหาวทยาลยเกษตรศาสตร วทยาเขตเฉลมพระเกยรต จงหวดสกลนคร

ตลาคม 2560

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 2: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

คานา

เอกสารประกอบการสอนชดนจดทาขน เพอใชประกอบในการเรยนการสอนของ

รายวชา ระบบฐานขอมลเบองตน (Fundamentals of Database System) มเนอหา

เกยวกบพนฐานของระบบฐานขอมล แนวคด สถาปตยกรรมระบบฐานขอมล ฐานขอมลเชง

สมพนธ และมงเนน การออกแบบฐานขอมล รวมทงแบบฝกหดใหผเรยนทบทวนเนอหาได

เพอใหผเรยนมทรพยากรในการเรยนในชนเรยน และสามารถทบทวนบทเรยนในภายหลงได

โดยขอมลในเอกสารประกอบการสอนชดน นามาจากแหลงขอมลหลากหลาย หากมเนอหา

สวนใดสวนหนง สอดคลอง กบเอกสารชดอน และมเนอหาไมถกตอง ทางผจดทาขออภยมา ณ

ทนดวย

ทางผจดทาขอขอบพระคณ อ.ดร.เลอสรรค โบสวรรณ และ รองศาสตราจารย ดร.

ระววรรณ เออพนธวรยะกล จากสถาบนบณฑตพฒนบรหารศาสตร ทใหความร ขอเสนอแนะ

แกผจดทา

หากมขอเสนอแนะประการใดในเอกสารชดน กรณาสงขอมลมายงจดหมาย

อเลกทรอนกส [email protected] หรอ [email protected]

อ.ศรพร แสนศร

ตลาคม 2560

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 3: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

สารบญ

เรอง หนา

บทท 1 แนวคดเกยวกบฐานขอมลเบองตน เปาหมายของระบบจดการฐานขอมล 1-1

• พนฐานทางดานฐานขอมล 1-2

• องคประกอบของระบบฐานขอมล 1-3

• คณสมบตหลกของเทคโนโลยฐานขอมล 1-4

• ประโยชนของเทคโนโลยฐานขอมล 1-6

• บทบาทของผใชงานระบบฐานขอมล 1-9

• ประวตของตวแบบขอมล 1-10

บทท 2 แนวคด สถาปตยกรรมเกยวกบระบบฐานขอมล ความไมพงพงของขอมล 2-1

บรณภาพและความเชอถอ

• สถาปตยกรรมระบบฐานขอมล 2-3

• ความเปนอสระของขอมล 2-4

• ภาษาของฐานขอมล 2-5

• สวนประกอบของระบบการจดการฐานขอมล 2-5

• อรรถประโยชนของระบบฐานขอมล 2-6

• ประเภทของระบบการจดการฐานขอมล 2-8

บทท 3 เคารางและเคารางยอย 3-1

• ตวแบบจาลองขอมล Entity Relationship 3-2

• การอาน ER Diagram 3-12

• แบบจาลองขอมล Extended Entity Relationship Model 3-13

• เงอนไขของ Generalization 3-17

• แบบฝกหดท 1 ER Diagram 3-23

• แบบฝกหดท 2 EER Diagram 3-28

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 4: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

สารบญ (ตอ)

เรอง หนา

บทท 4 ตวแบบขอมลเชงลาดบชน เชงขายงาน และเชงสมพนธ 4-1

• ตวแบบขอมลเชงสมพนธ (Relational Data Model) 4-2

• เงอนไขความถกตองของขอมล (Relational Integrity Constraints) 4-8

• การละเมดเงอนไข 4-19

บทท 5 บรรทดฐานขอมลและภาษานยามขอมลพจนานกรมขอมล 5-1

• การแปลงตวแบบ EER เปนตวแบบขอมลเชงสมพนธ 5-2

• Functional Dependencies 5-17

• การทาบรรทดฐาน (Normalization) 5-31

• ตวอยาง กรณศกษา ระบบขอมลการเรยนการสอนของมหาวทยาลย ABC 5-64

• แบบฝกหดท 3 EER Mapping 5-77

• แบบฝกหดท 4 การทา Normalization 5-82

บทท 6 เครองชวยตอบขอซกถาม 6-1

• พนฐานของคาสง SQL 6-2

• ชนดขอมลและขอบเขตขอมลของแอททรบวต 6-3

• ภาษาการจดการขอมล (Data Manipulation Language) 6-3

• ภาษาการกาหนดขอมล (Data Definition Language) 6-19

บทท 7 การจดแฟมขอมลและความปลอดภยของแฟมขอมล 7-1

• พนฐานของทรานแซคชน 7-2

• สถานะของทรานแซคชน 7-10

• คณสมบตของทรานแซคชน 7-12

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 5: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

บรรณานกรม

1. Fundamental of Database Systems , Elmasri & Navathe Fifth Edition.

2. การออกแบบฐานขอมล Database Design ผศ.ดร.ระววรรณ เออพนธวรยะกล

ISBN 974-231-723-2 สงหาคม 2549

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 6: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-1

บทท 1 แนวคดเกยวกบฐานขอมลเบองตน เปาหมายของระบบจดการฐานขอมล

อ.ศรพร แสนศรภาควชาวทยาการคอมพวเตอรและสารสนเทศ

คณะวทยาศาสตรและวศวกรรมศาสตร

1

เนอหาบทเรยน

• พนฐานทางดานฐานขอมล

• องคประกอบของระบบฐานขอมล

• คณสมบตหลกของเทคโนโลยฐานขอมล

• ประโยชนของเทคโนโลยฐานขอมล

• บทบาทของผใชงานระบบฐานขอมล

• ประวตตวแบบขอมล

2

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 7: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-2

คาจากดความ (Basic Definitions)• ฐานขอมล (Database) คอ กลมของขอมล (data) ทสมพนธกน• ขอมล (Data) คอ ขอเทจจรงทถกบนทกไดและมความหมายดวย• ขอบเขต (Mini-world) คอบางสวนของโลกทเกยวของกบขอมล (data) ทถกเกบไวในฐานขอมล เชน เกรดของนกศกษาและผลการเรยนในมหาวทยาลย

• ระบบการจดการฐานขอมล (Database Management System - DBMS) คอ ซอฟตแวรสาเรจรปหรอซอฟตแวรระบบทเออประโยชนหรออานวยความสะดวกในการสรางและบารงรกษาฐานขอมล

• ระบบฐานขอมล (Database System) จะตองมซอฟตแวรดบเอมเอส (DBMS) พรอมกบขอมลดวย บางครงอาจจะรวมดวย

3

ตวอยางฐานขอมล

• ตวอยางเกยวกบมหาวทยาลยแหงหนง

• ตวอยางเอนทตในขอบเขต

• นกศกษา (STUDENTs)

• รายวชา (COURSEs)

• หมเรยน (SECTIONs (OF COURSEs))

• คณะและหนวยงาน ((academic) DEPARTMENTs)

• ผสอน (INSTRUCTORs)

• นกศกษาแตละหลกสตรแตละคณะ (STUDENTs major in DEPARTMENTs)

4

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 8: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-3

ตวอยางฐานขอมล (ตอ)

• ตวอยางความสมพนธระหวางเอนทต ในขอบเขต :

• หมเรยนของแตละวชา (SECTIONs are of specific COURSEs)

• นกศกษาในแตละหมเรยน (STUDENTs take SECTIONs)

• รายวชามรายวชาพนฐาน (COURSEs have prerequisite COURSEs)

• ผสอน ทสอนในแตละหมเรยน (INSTRUCTORs teach SECTIONs)

• รายวชา ถกเปดโดยคณะ (COURSEs are offered by DEPARTMENTs)

• นกศกษา สงกดหลกสตรในคณะ (STUDENTs major in DEPARTMENTs)

5

องคประกอบของระบบฐานขอมล(A database system environment)

6

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 9: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-4

ตวอยาง ระเบยนขอมลในฐานขอมล นกศกษา7

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คณสมบตหลกของเทคโนโลยฐานขอมล

ภายในดบเอมเอส (DBMS) มทเกบรายละเอยดของฐานขอมล เรยกวา เมตะดาตา (meta-data) โดยแตละดบเอมเอส (DBMS) จะม เมตะดาตา (meta-data) แตกตางกนออกไป (Self-contained nature of a database system)

มการปองกนระหวางตวโปรแกรมกบขอมล เรยกวา program-data independence หมายถง อนญาตใหมการเปลยนแปลงโครงสรางของขอมลและโอเปเรชนตางๆ ได โดยไมจาเปนตองเปลยนดบเอมเอส (DBMS) ทจะทาการเขาถงโปรแกรม (Insulation between programs and data)

8

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 10: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-5

คณสมบตหลกของเทคโนโลยฐานขอมล (ตอ)

มการใชดาตาโมเดล (data model) เพอทาการซอนรายละเอยดเกยวกบพนทจดเกบ (storage) และนาเสนอให ผใชงาน (user) เหนในลกษณะทเปนมมมองแบบคอนเซปชวล (conceptual) ของฐานขอมล (Data Abstraction)

สนบสนนใหมมมมองในการใชขอมลไดหลากหลาย โดยทแตละ ผใชงาน (user) จะสามารถมองเหนฐานขอมลไดแตกตางกน สามารถเหนเฉพาะขอมลทสนใจไดเทานน (Support of multiple views of the data)

9

ตวอยาง 2 มมมองจากฐานขอมล

(a) มมมองเกยวกบเกรดของนกศกษา

10

TRANSCRIPT StudentNameGrade Report

CourseNumber Grade Semester Year SectionIDJane CS3320 B First 97 102

JohnCS1310 C Second 96 92

MATH2410 A Second 96 85

COURSE YearCourse Report

Semester CourseNumber SectionID

96Second CS1310 92Second MATH2410 85

97 First CS3320 102

(b) มมมองเกยวกบรายวชาทเปดสอน

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 11: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-6

ประโยชนของเทคโนโลยฐานขอมล

สามารถทาการควบคมความซาซอนของขอมลได

สามารถใชขอมลรวมกนระหวางผใชงานหลายคนได

สามารถกาหนดการเขาถงขอมลได

มมมมองทหลากหลายได

สามารถแสดงความสมพนธทซบซอนของขอมลได

มการกาหนดเงอนไขเพอความถกตองของขอมลรวมทงรปแบบของขอมลในฐานขอมลได เรยกวาเงอนไขความถกตองของขอมล (Integrity constraint)

11

ประโยชนของเทคโนโลยฐานขอมล (ตอ)

มบรการในการสารองขอมล (backup) หรอ การกคนขอมล (recovery) oการสารองขอมล (backup) คอนาสาเนาของขอมลไปไวอกทหนงหรอทจดเกบอน เชนเทป เพอ

ปองกนความเสยหายได แตตวขอมลจรงกยงคงมในฐานขอมล

oการกคนขอมล (recovery) เปนการกขอมลคนมา เปนหนาทของดบเอมเอส (DBMS) ทตองนาขอมลกลบคนมา

สามารถบงคบการใชมาตรฐานได เพราะฐานขอมลเปนแบบรวมศนยกลาง(centralized) มผดแล (DBA) ทาหนาทดแลขอมล ทสามารถกาหนดมาตรฐานรวมกนได เชนชอคน 30 ตวอกษร นามสกล 30 ตวอกษร

12

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 12: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-7

ประโยชนของเทคโนโลยฐานขอมล (ตอ)

มความยดหยนในการเปลยนแปลงโครงสรางขอมลเชน เพมแอททรบวต (Attribute) หรอ เพมรเลชน (Relation) โดยไมกระทบตอโปรแกรมเดมทใชอยแลว เพราะการเขาถงขอมลผานดบเอมเอส (DBMS) ทงหมด

เวลาในการพฒนาโปรแกรมลดลง เทยบกบระบบแฟมขอมลเพราะแฟมขอมล ตองกาหนดหมดเองทกอยาง เชนวธการเปลยนแปลงขอมล วธการเขาถงขอมล เปนตน แตในฐานขอมลไมตองจดการ เปนหนาทของดบเอมเอส (DBMS) ทงหมด

13

ประโยชนของเทคโนโลยฐานขอมล (ตอ)

เมอผใชระบบคนหนงทาการเปลยนแปลงขอมล ผใชระบบคนอนกสามารถเหนขอมลทเปลยนแปลงไดเสมอ เพราะสามารถควบคมความซาซอน (Control redundancy) ได

สามารถขยายระบบไดมากขนเรอยๆ โดยไมกระทบตอระบบเดม

14

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 13: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-8

การประยกตใชฐานขอมลกบดานอนๆ

• ขอมลทางดานการทดลองตางๆ (Scientific)

• ฐานขอมลรปภาพ (Image Database) เกยวกบการเกบรปภาพตางๆ พวกมลตมเดย (Multimedia)

• เหมองขอมล (Data mining) เปนการนาขอมลในฐานขอมลไปรนภายใตโมเดลของเหมองขอมล เชน SAS

• ขอมลเชงพนท (Spatial Data) คอ ขอมลทเกยวกบพกด พนท

• ชดขอมลทางดานเวลา (Time Series Data) คอ ขอมลทขนอยกบเวลา เชน ยอดขายสนคาในแตละชวงเวลา ใชเพอทาการพยากรณ เปนตน

15

ขอเสยของดบเอมเอส (DBMS)

คาใชจาย o การลงทนสงกวาระบบแฟมขอมล เนองจาก ตองซอลขสทธเกยวกบระบบการจดการ

ฐานขอมล เครองคอมพวเตอรตองมประสทธภาพสงทสามารถรนดบเอมเอส (DBMS) ได

ประสทธภาพของดบเอมเอส (DBMS) ชากวาระบบแฟมขอมล เพราะ ด

บเอมเอส (DBMS) มฟงกชนตางๆ เชน ดานความปลอดภย ดานการทางานพรอมกน การกคนขอมล เปนตน ซงตองทาการบนทกขอมลหรอ โคดไปใสในทรานแซคชน (Transaction) ทาใหมตนทน (Overhead) สงกวา

16

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 14: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-9

ขอเสยของดบเอมเอส (DBMS) (ตอ)• เมอไหรทไมตองใชดบเอมเอส (DBMS)

• ฐานขอมลแบบงาย โปรแกรมงาย ไมคอยมการเปลยนแปลง

• ระบบเรยลไทม (Real time system) เพราะระบบลกษณะนตองการการตอบสนองภายในระยะเวลาทกาหนด เชน 1 วนาทเปนตน ซงดบเอมเอส (DBMS) ทาไมได เพราะดบเอมเอส (DBMS) มตนทน (overhead) ทาใหไมสามารถตอบสนองตามเวลาทกาหนดได

• ถาไมมผใชงานระบบหลายคน มแคคนเดยวทใชงาน กไมจาเปนตองใช

• ถามขอมลทซบซอนมากๆ จะทาใหทาตวจดเกบขอมลไดยาก

• ไมมโอเปเรชนทซบซอนมาก มแคหา คาเฉลย คาสงสด คาตาสด ผลรวม จานวนนบ เทานน

17

บทบาทของผใชงานระบบฐานขอมล

• ผดแลระบบฐานขอมล (Database Administrators)

• ผออกแบบฐานขอมล (Database designer)

• ผใชงานระบบ (End Users)

• นกวเคราะหระบบ (System Analysts)

• นกพฒนาโปรแกรม (Application Programmers)

18

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 15: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-10

ประวตของตวแบบขอมล (Data Model)

• ตวแบบเชงสมพนธ (Relational Model) เปนตวแบบตวทสาม เกดในป 1970 ผคดคนคอ E.F.Codd แตไมมคายใดสนใจ แตในป 1981-1982 จงออกเปนดบเอมเอส (DBMS) แบบทางการคา สาเหตทยงคงใชตวแบบเชงสมพนธ เพราะทกทฤษฎของ codd สามารถพสจนไดทงหมด

• ตวแบบเชงเครอขาย (Network Model) เปนตวแบบตวแรกทถกนามาใชงานในป 1964-65 เรยกวา IDS เชน VAX – DBMS คลายๆ กบกราฟ

19

ประวตของ ตวแบบขอมล (Data Model) (ตอ)• ตวแบบเชงโครงสราง (Hierarchical Data Model) เปนตวแบบตวทสอง เกดหลงตวแบบเชงเครอขาย 1 ป คนสรางคอ IBM มดบเอมเอส (DBMS) คอ IMS คลายๆ กบตนไม (tree) เรยกวา owner –member

• ตวแบบเชงวตถ (Object-oriented Data Models) เปนตวแบบตวทส ในป 1987-1988 เรมไดรบความสนใจ มมากอนในแนวคดจาลอง (concept simulation) เรยกวา SIMLA ตอมากม C++ เปนตน ตวแบบนมพนฐานมาจากแนวเชงวตถจรงๆ เกบขอมลในฐานขอมล

20

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 16: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-11

ประวตของตวแบบขอมล (Data Model) (ตอ)

• ตวแบบเชงวตถและเชงสมพนธ (Object-Relational Models) สงทโปรแกรมเหนคอ วธทางาน (Method) แตสงทเกบในฐานขอมล คอ เชงสมพนธ เชน oracle, informix เปนตน

• สาเหตททาใหตวแบบเชงเครอขายและเชงโครงสรางไมมการใชงาน เพราะ ไมมหลกการการออกแบบฐานขอมล มแตโครงสรางกบการดาเนนงาน ไมมทฤษฎในการออกแบบ

21

ตวแบบขอมล (Data Model)• ตวแบบขอมล(Data Model) คอ แนวคดทใชอธบายโครงสรางของฐานขอมลและเงอนไขทฐานขอมลตองปฏบตตาม เชน คยไมซากน ขอมลแตละทพเพลไมซากนเลย เปนตน

• การดาเนนงานของตวแบบขอมล (Data Model Operation) คอตวทใชเรยกขอมลหรอเปลยนแปลงหรอเพมหรอลบ(update/insert/delete) ขอมล เชน คาสงเอสควแอล (SQL) พวก insert/update/delete

22

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 17: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-12

ตวแบบขอมล (Data Model) (ตอ)ตวแบบขอมล (Data Model) ม 3 ประเภทใหญๆคอ

ตวแบบขอมลประเภทแนวคด (Conceptual - high-level, semantic data models) คอ ผใชระบบงาน สามารถเขาใจแนวคดไดงาย เชน เอนทต รเลชนชพ โมเดล (Entity-relationship model) หรอ ออปเจคเบส ดาตาโมเดล (Object-based data model)

ตวแบบขอมลประเภทกายภาพ (Physical - low-level, internal data model) อธบายการจดเกบขอมลในคอมพวเตอรวาจดเกบอยางไร การเขาถงขอมล ทาอยางไร

23

ตวแบบขอมล (Data Models) (ตอ) ตวแบบขอมลประเภทการนาไปใชงาน (Implementation -record-oriented data models) อยตรงกลางระหวางประเภทแนวคด และ กายภาพ เชน โมเดลเชงสมพนธ (Relational Model) โมเดลเชงโครงสราง (Hierarchical Data Model) เปนตน คอ ตวแบบขอมลทใชงานในดบเอมเอส (DBMS)

24

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 18: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

1-13

ตวอยางฐานขอมลนกศกษา โดยใชตวแบบขอมลประเภทฐานขอมลเชงสมพนธ (relational database model)

25

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 19: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

2-1

บทท 2 แนวคด สถาปตยกรรมเกยวกบระบบฐานขอมล

ความไมพงพงของขอมล บรณภาพและความเชอถอ

อ.ศรพร แสนศรภาควชาวทยาการคอมพวเตอรและสารสนเทศ

คณะวทยาศาสตรและวศวกรรมศาสตร

1

เนอหาบทเรยน

• สถาปตยกรรมระบบฐานขอมล

• ความเปนอสระของขอมล

• ภาษาของฐานขอมล

• สวนประกอบของระบบการจดการฐานขอมล

• อรรถประโยชนของระบบฐานขอมล

• ประเภทของระบบการจดการฐานขอมล

2

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 20: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

2-2

Schemas และ Instances

• Database Schema คอ โครงสรางของฐานขอมล หรอ

เงอนไขของฐานขอมล

• Database Instance คอ ตวขอมลทเกบในฐานขอมล

หรอเรยกวา database state หรอ occurrence

3

ตวอยาง

4

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 21: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

2-3

แผนภาพโครงสรางฐานขอมล (Schema diagram for the database)

5

ทมา : Fundamental of Database Systems , Elmasri & Navathe

สถาปตยกรรมระบบฐานขอมล6

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 22: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

2-4

ความเปนอสระของขอมล (Data Independence)ม 2 แบบคอ

Logical data independence คอเปลยนท conceptual ไมกระทบ external

Physical data independence คอเปลยนท internal ไมกระทบ conceptual

7

สถาปตยกรรมระบบฐานขอมล (ตอ)

INTERNAL SCHEMA

คานาหนาชอ ชอ นามสกล

CONCEPTUAL SCHEMA

คานาหนาชอ ชอ+นามสกล

EXTERNAL VIEW

คานาหนาชอ+ชอ นามสกล

8

EXTERNAL/CONCEPTUAL MAPPING

CONCEPTUAL/INTERNAL MAPPING

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 23: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

2-5

ภาษาของฐานขอมล (DBMS Languages)

• Data Definition Language (DDL)

ภาษาทใชกาหนดโครงสรางหรอเงอนไข คอ กาหนด

schema ของ database

• Data Manipulation Language (DML)

คอภาษาทใชในการ retrieve/update/ insert/delete

ขอมล

9

สวนประกอบของระบบการจดการฐานขอมล - DBMS10

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 24: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

2-6

อรรถประโยชนของระบบฐานขอมล (Database System Utilities)

• Loading คอ export/import ขอมลเอา database ทก DBMS ม loading

• Backing up คอการ back up สาเนาขอมลไปไวท media อน เชน เทป บาง DBMS จะสามารถกาหนดเวลาไดในการทา backup

11

• Reorganizing จาเปนตองทาแตไมบอย หรอ ใน OS เรยกวา defragmentation ใน database ทตองทา reorganize เพราะ เมอมการทา insert/update/delete ขอมลตลอดเวลา จะทาใหเกดชองวาง จงควรจะทา reorganization ถาไมทา จะทาให harddisk เตม ทงท harddisk ไมเตมจรง เพราะมชองวางเยอะแยะ และทาให performance ตาลง

• Report generation เปนการสราง report

12

อรรถประโยชนของระบบฐานขอมล (Database System Utilities) (ตอ)

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 25: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

2-7

• Performance monitoring เปน tool ให DBA เพอดประสทธภาพของการประมวลผลของ transaction วาเปนอยางไร คอคาสถตทมใน performance monitoring

• Other functions เชน sorting, user monitoring (log file), data compression และม data encryption

13

อรรถประโยชนของระบบฐานขอมล (Database System Utilities) (ตอ)

Data Dictionary• หรอ repository จะเกบ user information เชน user role สทธ user ตางๆ

14

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 26: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

2-8

ประเภทของระบบการจดการฐานขอมล• Based on the Data model used โดยใช data model แบงได 2 ประเภทคอ

Traditional จะม Relational, Network, Hierarchical

Emerging จะม Object-oriented, Object-relational

• Other classifications

Single-user จานวน user กจะม Single-user และ multi-user

สถานท คอ ทาแคทเดยว เรยกวา centralized และ ทาหลายท เรยกวา distributed database คอม database หลายทแตทางานรวมกน

15

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 27: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-1

อ.ศรพร แสนศรภาควชาวทยาการคอมพวเตอรและสารสนเทศ

คณะวทยาศาสตรและวศวกรรมศาสตร

บทท 3 เคารางและเคารางยอย

1

เนอหาบทเรยน• ตวแบบจาลองขอมล Entitiy-Relationship (ER Model)

• การอานตวแบบจาลองขอมล

• ตวแบบจาลองขอมล Extended Entity-Relationship (EER model)

• การแบงคลาสยอย

• เงอนไขของ Generalization

2

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 28: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-2

3

การออกแบบฐานขอมล

ทมา : Fundamental of Database Systems , Elmasri & Navathe

4

ตวแบบจาลองขอมล – Entity-Relationship (ER Model)

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 29: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-3

สญลกษณ ER5

ทมา : Fundamental of Database Systems , Elmasri & Navathe

ตวแบบจาลองขอมล – Entity-Relationship (ER Model)• Entities คอ สงทตองการเกบขอมล เชน ระบบลงทะเบยนของมก.ฉกส. entity เชน นสต, สาขาวชา, การลงทะเบยน, วชาเรยน เปนตน

• Attributes คอ ขอมลของ entity ทตองการจดเกบ เชน นสต ประกอบดวย รหสนสต ชอ นามสกล ทอย คณะ สาขา เบอรโทรศพท email เปนตน ในแตละ attribute กจะมคาของ attribute เชน รหสนสต มคาคอ 5240200301 เปนตน

6

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 30: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-4

ตวอยาง ER Diagram7

ทมา : Fundamental of Database Systems , Elmasri & Navathe

Entity Types and Key Attributes

• Entity type คอ ถาหลายๆ entity ทมคา attribute ตางกน แตมชอ attribute เหมอนกน เชน entity type นสต นนคอ ทก entity type มคา attribute ตางกน แตชอ attribute เหมอนกน

• attribute ในแตละ entity type จะมคาท unique คอคาทไมซาใน entity type เรยกวา key attribute เชน entity type นสต กจะมรหสนสต เปน key attribute

8

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 31: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-5

ตวอยาง สอง เอนทต “นสต” และ “รายวชา” พรอมคาของแตละแอทรบวต

9

Key Attributes• ถา key attribute ทเกดจาก attribute หลายตวมารวมกน เรยกวา composite key เชน entity type “การลงทะเบยน” ในระบบลงทะเบยน ประกอบดวย attribute คอ ปการศกษา, ภาคการศกษา, รหสวชา, หมเรยน, รหสนสต, ประเภทการลงทะเบน เปนตนดงนน key คอ ปการศกษา+ภาคการศกษา+รหสวชา+หมเรยน+รหสนสต เปนตน

• ใน 1 entity type ม key ไดมากกวา 1 ชด ได เชน รหสนสต หรอ เลขบตรประชาชน เปนตน

10

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 32: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-6

สญลกษณ ER11

ทมา : Fundamental of Database Systems , Elmasri & Navathe

ประเภทของแอททรบวต (Types of Attributes)

• Domain คอ คาทเปนไปไดทงหมดของ attribute เชน domain เพศ คอ ชาย และ หญง domain คณะในมก.ฉกส. คอ 4 คณะ เปนตน

• ประเภทของ attribute ม 3 ประเภทคอ

Simple attribute คอ domain ตองเปน simple คอแบงแยกคาไมได และคา attribute ตองม 1 คาเทานน เชน domain เพศ คณะ เปนตน attribute วนเกด เปน simple แบงไมได เพราะเมอนาคา วนท เดอน ป เชน 30 เดอน 2 ป 2008 ซงขอมลนไมมจรง เปนตน

12

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 33: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-7

Composite attribute คอ domain ทเปน composite

domain คอ domain แตกยอยได เชน ทอยทประกอบดวย

domain บานเลขท ถนน ตาบล อาเภอ จงหวด เปนตน

13

ประเภทของแอททรบวต (Types of Attributes) (ตอ)

Multi-valued attribute คอ attribute ทหยบคาจาก domain ไดหลายคา เชน เบอรโทรศพท เปนตน

•multi-valued attribute ซอนใน composite attribute ได เชน ประวตการศกษา เปน multi-valued attributes และเปน composite attribute ทประกอบดวย ชอสถานศกษา ระดบปรญญา ปทจบ เปนตน

14

ประเภทของแอททรบวต (Types of Attributes) (ตอ)

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 34: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-8

ตวอยาง ER Diagram - Attributes15

ทมา : Fundamental of Database Systems , Elmasri & Navathe

สญลกษณ ER16

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 35: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-9

ความสมพนธ (Relationships)• Relationship ความสมพนธระหวาง entity 2 entity ขนไป คนละ entity type หรอ entity type เดยวกนกได

• Relationship of the same type สามารถรวมกนไดถาเปนชนดเดยวกน

• ชอ relationship เปนคากรยา

• degree คอ จานวนของ entity ทมสวนรวมใน relationship นนๆ ถาม 2 entity เรยกวา binary relationships ถามมากกวา 2 entity เรยกวา ternary relationships

17

เงอนไขของความสมพนธ (Structural constraints)

ม 2 แบบคอ

Cardinality ratio 1:1, 1:N, N:1 และ M:N คอ อยางมากสมพนธเทาไหร

Participation constraint จะม total (เสนค) และ partial (เสนเดยว) คอ อยางนอยสมพนธเทาไหร ถา total คอ อยางนอย 1 ถา partial คอ อยางนอย 0

18

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 36: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-10

ตวอยาง ER Diagram - Relationships19

ทมา : Fundamental of Database Systems , Elmasri & Navathe

บทบาท - Roles• relationship ทมความสมพนธกบ entity type เดยวกนเรยกวา recursive relationship type ทาใหไมรวามบทบาทอะไร

• relationship สามารถม attribute ได จะเกดไดตองเกดความสมพนธระหวาง entity type เทานน

20

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 37: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-11

ตวอยาง ER Diagram – Roles (บทบาท)21

ทมา : Fundamental of Database Systems , Elmasri & Navathe

ตวอยาง ER Diagram – Weak Entity22

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 38: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-12

การอาน ER Diagram23

ทมา : Fundamental of Database Systems , Elmasri & Navathe

แบบฝกหด ER diagram

24

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 39: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-13

แบบจาลองขอมล EXTENDED ENTITY-RELATIONSHIP

(EER) MODEL

แบบจาลองขอมล EXTENDED ENTITY-RELATIONSHIP

(EER) MODEL

25

Generalization AbstractionGeneralization Abstraction

26

Superclass และ Subclass Relationship

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 40: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-14

Extended Entity-Relationship (EER) modelExtended Entity-Relationship (EER) model• Class/Subclass Relationship

• SubClass สามารถเพม Attribute ไดทเปนเฉพาะเจาะจง สวน SuperClass จะม Attribute ทใชไดทกๆ SubClass จะเปนทวไปมากกวา

• Subclass จะ inherit attribute และ inherit relationship ทงหมดจาก Superclass มาดวย

• Entity ทอยใน superclass จะตองอยใน Entity ใน subclass ดวย

27

Extended Entity-Relationship (EER) model (Cont.)• เหตผลทตองม superclass/subclass

• attribute บาง attribute ใชไมไดกบบาง entity แตบาง attribute ใชไดกบบาง entity เชน นสต ทม แอททรบวต รหสนสต แตใชไมไดกบ อาจารย ทไมตองมแอททรบวต รหสนสต เปนตน

• relationship บางชนดใชไดกบบาง entity บาง relationship ใชไมไดกบบาง entity

• 1 entity ใน subclass จะตอง map กบ 1 entity ใน superclass ไดเทานน

28

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 41: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-15

ตวอยางของ generalization. (a) เอนทต รถยนต และ รถบรรทก

29

(b) การทาเปน Superclass / Subclass

ทมา : Fundamental of Database Systems , Elmasri & Navathe

การแบง Subclassการแบง subclass แบงไดหลายวธคอ

• Predicated-defined (condition-defined) subclass โดยการใชคาขอมลของ attribute ของ superclass ทาการแบง subclass เชน attribute ประเภทพนกงาน แบงได 3 คาคอ เลขานการ ชางเทคนค และ วศวกร ทาใหได 3 class คอ เลขานการ ชางเทคนค และ วศวกร สวนโปรแกรมกไมตองให user เลอกคาเลย

30

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 42: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-16

การแบง Subclass (ตอ)

31

ทมา : Fundamental of Database Systems , Elmasri & Navathe

• User-defined แบงตามผใชงาน ไมมเงอนไขตามคาของ attribute ตองให user เลอกวาจะคยคาขอมลอะไร

32

การแบง Subclass (ตอ)

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 43: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-17

• เงอนไขม 2 แบบคอ

• Disjointedness constraint (Coverage Constraint Type II) ประกอบดวย 2 ประเภทคอ

•Disjoint – d คอ member ใน subclass ไมซากนเลย

•Overlap – o คอ member ใน subclass มซากนบางสวน

• Completeness constraint (Coverage Constraint Type I) ประกอบดวย 2 ประเภท คอ

• Total แสดงดวยเสนค

• Partial แสดงดวยเสนเดยว

33

เงอนไขของ Generalization

เงอนไขท 1 : Coverage Constraints : Type II (Disjointedness Constraint)

• EXCLUSIVE (Disjoint) constraint เปนความสมพนธเปนแบบ 1:1 จรงๆ นนคอ subclass 1 entity map กบ superclass 1 entity และในทางกลบกน superclass 1 entity map กบ subclass 1 entity เชนกน

•OVERLAPPING ความสมพนธเปนแบบ 1:M นนคอ subclass 1 entity จบคกบ superclass 1 entity แต superclass 1 entity map กบ subclass ไดก entity กได

34

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 44: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-18

ตวอยางของ เงอนไขท 1 แบบ Disjointness (d)

35

ทมา : Fundamental of Database Systems , Elmasri & Navathe

ตวอยางของ overlapping (nondisjoint) subclasses

36

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 45: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-19

เงอนไขท 2 : Coverage Constraints : Type I (Completeness Constraint)• Total : การแบง subclass จะแบงไดเทาน ไมสามารถแบงไดอกแลว หรอ หมายความวา ทกๆ entity ของ superclass ทงหมด map ไปยง subclass ใด subclass หนง อยางนอย 1 เชน พนกงาน แบงได 3 ประเภทคอ วศวกร เสมยน และ เลขานการ เทานน

37

ทมา : Fundamental of Database Systems , Elmasri & Navathe

• Partial : บาง entity ของ superclass map ไปยงบาง subclass เชน พนกงานสามารถแบงได เปน วศวกร เสมยน เลขานการ และอนๆ ซงทแบงไมได คอ อนๆ

38

เงอนไขท 2 : Coverage Constraints : Type I (Completeness Constraint) (ตอ)

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 46: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-20

การรวมทงสองเงอนไข Coverage Constraints : Type I and Type II

39

1) 1) total,disjoint

2) total, overlap

ทมา : Fundamental of Database Systems , Elmasri & Navathe

40

การรวมทงสองเงอนไข Coverage Constraints : Type I and Type II (ตอ)

4) partial, overlap

3) partial, total

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 47: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-21

ตวอยาง การใช attribute เพอแบง subclass

41

พนกงาน แบงไดเปน เลขานการ ชางเทคนค วศวกร และ อนๆ เพราะเปนเสนเดยว (partial) ตรง พนกงาน แต subclass จะตองเปน ประเภทพนกงาน อยางใดอยางหนงเทานนคอ เลขานการ ชางเทคนค วศวกร และ อนๆ

ทมา : Fundamental of Database Systems , Elmasri & Navathe

ตวอยาง overlapping (nondisjoint) subclasses

42

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 48: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-22

แบบฝกหด EERแบบฝกหด EER

43

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 49: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-23

แบบฝกหดท 1 ER diagram

จงเขยน ER diagram

1.บรษท ABC จากด มพนกงานสงกดแผนกไดคนละ 1 แผนก โดยพนกงานจะเกบขอมล รหสประจาตว ชอ

(ประกอบดวยชอตน ชอกลาง นามสกล) เงนเดอน พนกงานแตละคนจะมผเกบขอมลผรบผลประโยชน ซงจะ

เกบกตอเมอพนกงานคนนนทางานอยในบรษทเทานน ถาลาออกขอมลผรบผลประโยชนกจะไมเกบ

พนกงานคนหนงทางานไดหลายโครงการ แตละโครงการกมพนกงานสงกดไดมากกวา 1 คน

พนกงานคนหนงเปนผจดการโครงการไดหลายโครงการแตโครงการหนงมผจดการไดแคคนเดยว

2. ในฐานขอมล MAIL_ORDER เกยวกบ พนกงานทาการสงซอชนสวนสนคาจากลกคา โดยมความตองการ

ดงตอไปน

• บรษท mail order มขอมลพนกงานประกอบดวย รหสพนกงาน ชอ และนามสกล และ

รหสไปรษณยตามทอยปจจบน

• ขอมลลกคา ประกอบดวย รหสลกคา ชอ และนามสกล และรหสไปรณยตามทอยปจจบน

• ขอมลชนสวนสนคา ประกอบดวย รหสชนสวนสนคา ชอชนสวนสนคา ราคา และจานวนทมใน

คลงสนคา

• ในการสงซอแตละครง พนกงาน จะเปนคนสงซอใหลกคา โดยม รหสการสงซอ ทสามารถระบ

รายละเอยดการสงซอได โดยเมอมการสงซอเกดขนวนททชาระเงน เปนวนเดยวกนกบวนสงสนคา

แตเมอไดจดสงสนคาเปนวนทแนนอน กตองทาการบนทกวาจดสงสนคาทแทจรงดวย

3.ในฐานขอมล MOVIE เกยวกบ ขอมลหนงหรอภาพยนต โดยมความตองการดงตอไปน

• ขอมลหนงแตละเรอง ประกอบดวย ขอมลชอเรองและปทฉาย เปนคาทไมซา ความยาวของหนงแต

ละเรอง มหนวยนบเปน นาท ชอบรษททผลต และประเภทของหนง เชน หนงแอคชน ชวต สยอง

ขวญ เปนตน โดยทหนงหนงเรอง สามารถอยภายใตประเภทหนงไดตงแต 1 ประเภทขนไป

• หนงแตละเรองจะมผกากบไดตงแต 1 คนขนไปและมนกแสดงตงแต 1 คนขนไป

• หนงแตละเรองจะมรายละเอยดคราวๆ ของหนงดวย

• หนงแตละเรองมหรอไมมการกลาวอางองโดยนกแสดงในเรอง กได

• ขอมลนกแสดงประกอบดวย ชอ และวนเกด ซงสามารถเปนนกแสดงในหนงไดตงแต 1 เรองขนไป

และในหนงแตละเรองตองระบบทบาทการแสดงดวย

• ขอมลผกากบ ประกอบดวย ชอ และ วนเกด และสามารถกากบหนงไดตงแต 1 เรองขนไป และ ผ

กากบอาจจะเปนนกแสดงในหนงดวย กได

• ขอมลบรษททผลตหนง ประกอบดวย ชอ และ ทอยบรษท โดยทบรษทผลตหนงตงแต 1 เรองขนไป

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 50: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-24

4.จงแปลง M:N relationship ใหเปน 1:N relationship

พนกงาน

ชนสวนสนคา

รหสพนกงาน

ชอ

นามสกล

รหสไปรษณย

ลกคา

รหสลกคา

ชอ

นามสกล

รหสไปรษณย

รหสชนสวนสนคา

ชอชนสวนสนคา

ราคา

จานวนทมในคลง

สงซอN

M

N

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 51: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-25

5. จงอาน ER diagram

DEPENDENTDEPENDENT

Relationship

DEPARTMENT

Name Number

LocationsEMPLOYEE

Ssn

AddrSalary

Sex

Birthdate

PROJECT

Name

NumberLocation

Name

SexBirthdate

manages1 1

works_for1 N

works_on

N

M

StartDate

Hours

supervise

Supervisor 1

Supervisee N

Depent

N

1

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 52: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-26

6.จงอาน ER diagram

DEPENDENTS_OFDEPENDENTS_OF

EMPLOYEE

SUPERVISION

WORKS_FOR

supervisee

supervisor

1 N

DEPARTMENT

1NSalary

Address

Sex

Name

Ssn

Bdate

FnameMinit Lname

Name Number

Locations

NumberOfEmployees

MANAGES

StartDate

1 1

CONTROLS

PROJECT

1

N

Name

PNumber

Location

WORKS_ON

Hours

M N

1

N

Name

SexBirthDate

Relationship

DEPENDENT

คล

งความร

ดจทล ม

หาวทยาล

ยเกษตรศ

าสตร

Page 53: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-27

7. จงอาน ER diagram

AIRPORT

AirportCode

Name

State

City

CAN_LAND

AIRPLANE TYPE

TypeName

Maxseats

Company

N

M

TYPE

AIRPLANE

AirplaneId

Total_no_of_seats

N

1

DEPARTURE_ AIRPORT

FLIGHTLEG1 N

ScheduledDepTime

LegNo

ARRIVAL_ AIRPORT

ScheduledArrTime

1N

1

FLIGHT

Weekdays

N

Number

Airline

DEPENDENTS_OFLEGS

DEPENDENTS_OFFARES

FARE

1

N Code

Amount

Restrictions

DEPENDENTS_OFINSTANCEOF

LEG INSTANCE

N

1 instances

Date

No_of_avail_Seats

ARRIVES

ArrTime

N

1

DEPARTS

1

N

DepTime

ASSIGNED1 N

DEPENDENTS_OFRESERVED

SEAT

1

N

CustomerName

CPhoneSeatNo

คล

งความร

ดจทล ม

หาวทยาล

ยเกษตรศ

าสตร

Page 54: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

3-28

แบบฝกหดท 2 EER diagram

จงเขยน EER diagram

1.บรษท XYZ จากด เกบขอมลพนกงานในบรษทดงน รหส ชอ ทอย โดยจะเกบขอมลดวยวาพนกงานคนไหนเปน

ผจดการของใครบาง พนกงานม 2 ประเภทคอ Fulltime กบ Parttime โดยพนกงาน Fulltime จะเกบเงนเดอน

สวน Parttime จะเกบจานวนชวโมงททางานและเกบอตราคาจาง พนกงานแตละคนสงกดไดคนละแผนก แผนก

จะเกบรหสแผนกและชอแผนก โครงการจะเกบรหสโครงการและตนทนในการดาเนนการ

พนกงานแตละคนจะทางานไดหลายโครงการ แตละโครงการกมพนกงานทาไดหลายคน โดยจะเกบวนทท

พนกงานแตละคนเรมทาโครงการ และวนทโครงการเสรจสน

แตละโครงการจะมสงกดวาโครงการนนขนกบแผนกใดในบรษท โดยแผนกหนงอาจมไดหลายโครงการ เมอ

มพนกงานทางานในโครงการใดจงจะสามารถใชเครองจกรได โดยแตละโครงการใชงานเครองจกรไดเพยงเครองเดยว

แตเครองจกรเครองหนงสามารถใชงานไดหลายโครงการ เครองจกรจะเกบรหสเครองจกรและรายละเอยดของ

เครองจกร

2.ระบบมหาวทยาลย มขอกาหนดดงน

• พนกงานถกมอบหมายงานใหอยในหนวยงานและพนกงานแตละคนจะตองมหนวยงานทสงกดอย

• พนกงานแบงออกเปน 3 ประเภท คอ อาจารย, เสมยน, เลขานการ

• วชาเรยนจะเกดขนไดกตอเมอมหนวยงานหนงๆ เสนอวชานนขนมา

• วชาหนงๆ จะใชหองเรยนไดหลายหอง เชน อาจใชหองแลบดวย และแตละหองเรยนกมหลายวชามาใช

• อาจารยคนหนงๆ สอนไดหลายวชาและแตละวชากมอาจารยสอนไดหลายคน

• นกศกษาจะลงทะเบยนเรยนไดกตอเมอวชาทลงทะเบยนมอาจารยสอนแลวเทานน

3. ระบบเกบขอมลเกยวกบเทยวบน (Flight) และบคลากรบนเทยวบน (Staff) โดยแตละเทยวบนจะมนกบน (Pilots)

พนกงานตอนรบ (Hostess) และผจดการเทยวบน (Flight Manager) พนกงานตอนรบรายงานตอผจดการเทยวบน

เทยวบนหนงๆ จะตองมบคลากรบนเทยวบน ลกคาสามารถจองเทยวบนใดๆ กได (Reservation) ซงการจองนบรษท

ทองเทยว (Travel Agency) อาจจะเปนผทาการจองใหแกลกคา

• คณสมบตของเทยวบนคอ เลขทเทยวบน เมองปลายทาง เวลาออกจากจดเรมตน และเวลาถงจดหมาย

ปลายทาง

• คณสมบตของลกคาคอ รหสลกคา และชอลกคา

• คณสมบตของบรษททองเทยวคอ รหสบรษททองเทยว และทอยทมหลายทอยได

• คณสมบตของบคลากรคอ รหสบคลากร ชอ และเงนเดอน

• คณสมบตของนกบนคอ รหสบคลากร ชอ เงนเดอน และจานวนชวโมงบน

• คณสมบตของพนกงานตอนรบคอ รหสบคลากร ชอ เงนเดอน และชนโดยสาร

• คณสมบตของผจดการเทยวบนคอ รหสบคลากร ชอ เงนเดอน และระดบ

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 55: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-1

บทท 4 ตวแบบขอมลเชงลาดบชน เชงขายงาน และเชงสมพนธ

บทท 4 ตวแบบขอมลเชงลาดบชน เชงขายงาน และเชงสมพนธ

อ.ศรพร แสนศรภาควชาวทยาการคอมพวเตอรและสารสนเทศ

คณะวทยาศาสตรและวศวกรรมศาสตร

1

เนอหาบทเรยน• แนวคดของตวแบบเชงสมพนธ (Relational Model Concepts)

• เงอนไขความถกตองของตวแบบเชงสมพนธ (Relational Integrity constraints)

• Key Constraints

• Entity Integrity Constraints

• Referential Integrity Constraints

• การละเมดเงอนไข

2

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 56: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-2

ตวแบบขอมลเชงสมพนธ (Relational Data Model)

• พนฐาน ในลกษณะ รเลชน คอ เปนตาราง กบ คอลมภ โดยมแนวคดทางคณตศาสตรเปนหลก ทเกยวของกบเรอง set

• ผคนพบคอ Dr. E.F.Codd ในป 1970 แตยงไมมการใชในทางการคา จนกระทงป 1980 จงมการใชงานอยางแพรหลาย

3

คานยามของตวแบบเชงสมพนธ อยางไมเปนทางการ

• RELATION คอ ตารางของขอมล (table) หรอ คอ set ของแถว (set of rows) หรอ คอ set ของคอลมภ (set of columns)

• แตละแถว (row) มคอลมภ (unique identifier) บงบอกความแตกตางของแตละ row

• แตละคอลมภ (column) มชอของ column หรอ ชอแอททรบวต (attribute name)

4

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 57: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-3

คานยามของตวแบบเชงสมพนธ แบบทางการ• ทกๆ ฐานขอมล (database) ม โครงราง (schema) ของฐานขอมล (Schema of database) ประกอบดวย โครงรางของรเลชน (Schema relation) เขยนโดย R(A1,A2,...,An) หมายถง Relation R ประกอบดวย attribute A1 A2 A3 จนถง An โดยชอ Relation เปนตวอกษรพมพใหญ ตามดวยชอ attribute ซงขนตนดวยตวพมพใหญ ใชแบบเดยวกนกบ EER model

5

คานยามของตวแบบเชงสมพนธ แบบทางการ (ตอ)• เชน CUSTOMER (Cust-id, Cust-name, Address, Phone#) คอ Customer เปน Relation

ประกอบดวย attribute คอ Cust-id, Cust-name, Address และ Phone#

• แตละ attribute จะตองม domain คอ set ของคาทเปนไปไดทงหมดของ attribute นน เชน domain ของ Cust-id เปนตวเลข 6 หลก เปนตน

6

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 58: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-4

ขอบเขตของคาขอมล (DOMAIN)set ของคาทเปนไปไดทงหมดของ attribute นน เชน

• ชนดขอมล (data type) เชน ตวเลข 10 หลก เปนตน

• รปแบบขอมล (format) เชน วนท มหลายรปแบบ เชน yyyy-mm-dd หรอ mm,yyyy หรอ หมายเลขโทรศพท กจะมรปแบบเชนกน เชน (ddd)ddd-dddd เปนตน

• คาของขอมลทมจานวนจากด และสามารถระบคา ได เชน เพศ ประกอบดวย สอง คาคอ ชาย หรอ หญง หรอ จะใชคา F, M เปนตน

7

ขอบเขตของคาขอมล (DOMAIN) (ตอ)• บาง domain อาจจะตองใชชอ attribute มาแสดงบทบาทตางๆ กน เชน date จะม payment-date, birth-date กจะม domain คอ date เหมอนกน แตคนละความหมาย เปนตน

8

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 59: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-5

คานยามคาศพทในตวแบบขอมลเชงสมพนธ (FORMAL DEFINITIONS)• tuple คอ row คอ ชดของขอมลทมการเรยงลาดบ หมายความวา การเรยงลาดบของคาใน tuple จะเรยงลาดบตามลาดบของ attribute ใน schema ของ รเลชน

เชน CUSTOMER ประกอบดวย Cust-id, Cust-name, Address และ Phone# ดงนน คาของ tuple กจะเรยงลาดบตามชอ attribute สวนคากมาจาก domain ของแตละ attribute เชน <632895,”Jon Smith”,”101 Main St.Atlanta, GA 30332”,”(404) 894-2000”>

9

FORMAL DEFINITIONS (Con.t)• ดงนน Relation หมายถง set ของ tuple

• Relation เมอกาหนด schema ของ relation แลวสามารถทราบ ของเขตทงหมดของ relation ได โดยการทา cartesianproduct ของ domain ของแตละ attribute

10

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 60: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-6

FORMAL DEFINITIONS (Con.t)• ดงนน นยามแบบ formal จะได วา

กาหนด R(A1,A2,...,An) r(R) subset-of dom (A1) X dom (A2) X...X dom(An)

โดยท R คอ schema ของ relation

r (r ตวเลก) คอ relation ทม data แลว

r(R) คอ relation ทม attribute แลว

เชน R(S1,S2) ให dom(S1) = {0,1} dom(S2) = {a,b,c}

r(R) subset-of S1 X S2

เชน r(R) = {<0,a>,<0,b>,<1,c>}

U = {<0,a>,<0,b>,<0,c>,<1,a>,<1,b>,<1,c>}

11

สรปคานยามศพท

12

Informal Terms Formal Terms

Table Relation

Column Attribute/Domain

Row Tuple

Values in a column Domain

Table Definition Schema of Relation

Populated Table Extension

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 61: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-7

ตวอยาง attributes และ tuples ของ relation SECTION

13

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คณลกษณะของรเลชน (Characteristics of Relations)

tuple ไมมการเรยงลาดบ

ลาดบของ attribute ไมมความสาคญ

ทกคาของ tuple ของทก attribute จะตองเปนแบบ atomic คอ domain จะตองเปน simple domain เทานน

ถามคาทไมร หรอไมมคาทจะใส หรอคาไมเหมาะสมกบ attribute ใน tuple ใหใสคา NULL

14

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 62: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-8

ตวอยาง relation TRANSCRIPT

15

TRANSCRIPT StudentName CourseNumber Grade Semester Year SectionID

Jane CS3320 B First 97 102

John CS1310 C Second 96 92

John MATH2410 A Second 96 85

TRANSCRIPT StudentName CourseNumber Grade Semester Year SectionID

John CS1310 C Second 96 92

John MATH2410 A Second 96 85

Jane CS3320 B First 97 102

ทมา : Fundamental of Database Systems , Elmasri & Navathe

เงอนไขความถกตองของขอมล (Relational Integrity Constraints)เงอนไขความถกตองของขอมล (Relational Integrity Constraints)

เงอนไขใน Relation ม 3 เงอนไขคอ

Key constraints

Entity integrity constraints

Referential integrity constraints

นนคอ ทกๆ การทา operation กบ database ทง 3 เงอนไขนจะตองทาการทดสอบ ถาเงอนไขเปนจรง operation กผาน ถาเงอนไขเปนเทจ แลว operation กตองยกเลก

16

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 63: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-9

Key Constraints Key Constraints

“ ทก Relation ใน ฐานขอมล ตองมการกาหนดคยหลก

(Primary Key – PK) ”

-> PK คอ Attribute ทมคาขอมลไมซา(Unique)

โดยในแตละ Relation ตองม PK แค 1 ชดเทานน

17

Key Constraints (ตอ) Key Constraints (ตอ)

• Superkey ของรเลชน R คอ set ของ attribute ของ Relation R ทมคาไมซา (unique) คอ ไมม tuple ตงแต 2 tuple ใน R ทมคาเดยวกนทก attribute

• Superkey ประกอบดวย attribute กตวกได เชน 1,2 หรอ ทงหมดกได

• Primary Key ของรเลชน R คอ ชดของ superkey ทม attribute จานวนนอยทสด โดยการพจารณาจาก superkey แลวนา attribute บางตวออก แลว ทาใหเกดมคาซาของสองหรอมากกวาสอง tuple ขนไป หมายถง ความเปน unique หายไป

18

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 64: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-10

Key Constraints (ตอ) Key Constraints (ตอ)ตวอยาง CAR relation schema

CAR (A,B,C,D) สมมต คา A unique เปน superkey ได

คา AB unique เปน superkey ได

คา ABC unique เปน superkey ได

คา ABCD unique เปน superkey ได

19

A B C D

1 1 1 1

2 1 1 1

3 1 1 1

4 1 1 1

Key Constraints (ตอ) Key Constraints (ตอ)ตวอยาง CAR relation schema (ตอ)

-> “Primary Key ของรเลชน R คอ ชดของ superkey ทม attribute จานวนนอยทสด โดยการพจารณาจาก superkey แลวนา attribute บางตวออกแลวความเปน unique หายไป”

เชน AB แลวดง B ออก กยง unique แสดงวา AB ไมใช key

20

Af B C D

1 1 1 1

2 1 1 1

3 1 1 1

4 1 1 1

A B C D

1 1 1

2 1 1

3 1 1

4 1 1

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 65: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-11

Key Constraints (ตอ) Key Constraints (ตอ)ตวอยาง CAR relation schema (ตอ)

เชน

ถา A แลวดง A ออก เหลอ เซตวาง ไม unique นนคอ A เปน superkey ทม attribute จานวนนอยทสด

ดงนน A คอ Primary Key ของรเลชน CAR

21

A B C D

1 1 1 1

2 1 1 1

3 1 1 1

4 1 1 1

A B C D

1 1 1

1 1 1

1 1 1

1 1 1

Key Constraints (ตอ) Key Constraints (ตอ)ตวอยาง CAR relation schema (ตอ)

สมมต BD unique เปน superkey แลวดง D ออกทาใหไม unique นนคอ BD เปน key ได

นนคอตอนนม key 2 ชดคอ {A},{BD} เรยกวา candidate key ตองเลอกตวใดตวหนงเปน Primary key แลวตองเขยนเสนใต

เชน เลอก {A} เปน Primary key

สวน {BD} เปน alternate key

22

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 66: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-12

ตวอยาง รเลชน CAR ม 2 CK : LicenseNumber และEngineSerialNumber (CK : Candidate Key)

23

รถ ทะเบยนรถ หมายเลขตวถง ยหอ รน ปผลต

Texas ABC-739 A69352 Ford Mustang 96

Florida TVP-347 B43696 Oldsmobile Cutlass 99

New York MPO-22 X83554 Oldsmobile Delta 95

California 432-TFY C43742 Mercedes 190-D 93

California RSK-629 Y82935 Toyota Camry 98

Texas RSK-629 U028365 Jaguar XJS 98

Secondary KeyPrimary Key

1 -> {ทะเบยนรถ}2 -> {หมายเลขตวถง}3 -> {ทะเบยนรถ, หมายเลขตวถง}

Relational Database Schema• S = {R1,R2,...,Rn} S คอ database schema

• R1,R2,...,Rn คอ ชอของ relation schema ภายใน database S

24

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 67: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-13

ตวอยาง COMPANY Database Schema ตามเงอนไขท 25

พนกงานรหส

พนกงานชอ ชอกลาง นามสกล วนเกด ทอย เพศ เงนเดอน รหสหวหนา

รหสแผนก

แผนกรหสแผนก ชอแผนก รหสผจดการแผนก วนเรมตาแหนง

ทอยของแผนกรหสแผนก จงหวดทอย

โครงการรหสโครงการ ชอโครงการ ทตงโครงการ รหสแผนก

การทางานในโครงการรหสพนกงาน รหสโครงการ จานวนชวโมงททางาน

ผเกยวของกบพนกงานรหสพนกงาน ชอนามสกลผเกยวของ เพศ วนเกด ความสมพนธ

ทมา : Fundamental of Database Systems , Elmasri & Navathe

Entity Integrity Constraints• เกยวของกบ Primary Key attribute (PK) ของแตละ relation คอ “PK ไมสามารถมคาเปน NULL ได”

• สมมต ถา PK คอ {BD} ทงคตองไมมคา NULL

26

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 68: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-14

ตวอยาง COMPANY Database Schema ตามเงอนไขท 27

พนกงานรหส

พนกงานชอ ชอกลาง นามสกล วนเกด ทอย เพศ เงนเดอน รหสหวหนา

รหสแผนก

แผนกรหสแผนก ชอแผนก รหสผจดการแผนก วนเรมตาแหนง

ทอยของแผนกรหสแผนก จงหวดทอย

โครงการรหสโครงการ ชอโครงการ ทตงโครงการ รหสแผนก

การทางานในโครงการรหสพนกงาน รหสโครงการ จานวนชวโมงททางาน

ผเกยวของกบพนกงานรหสพนกงาน ชอนามสกลผเกยวของ เพศ วนเกด ความสมพนธ

ทมา : Fundamental of Database Systems , Elmasri & Navathe

Referential Integrity Constraints• เงอนไขระหวาง 2 Relation คอ เปนความสมพนธระหวาง Relation

• โดยท Relation หนง เรยกวา Referencing relation คอ Relation ทอางถง relation อน และ referenced relation คอ relation ทถกอางอง

• โดยจะม attribute ทเรยกวา foreign key (FK) ใน relation (referencing relation) ทอางถง โดยจะอางถง PK ของ relation อน (referenced relation)

28

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 69: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-15

29

แผนกรหสแผนก ชอแผนก รหสผจดการแผนก วนเรมตาแหนง

ทอยของแผนกรหสแผนก จงหวดทอย

Referential Integrity Constraints (Cont.)Referential Integrity Constraints (Cont.)

FK

PK

โครงการรหสโครงการ ชอโครงการ ทตงโครงการ รหสแผนก

FK

Referential Integrity Constraint (Cont.)

attribute ทเปน FK

• เปนสวนหนงของ PK ได หรอ

• เปน attribute ใน relation

30

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 70: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-16

31

แผนกรหสแผนก ชอแผนก รหสผจดการแผนก วนเรมตาแหนง

ทอยของแผนกรหสแผนก จงหวดทอย

Referential Integrity Constraints (Cont.)Referential Integrity Constraints (Cont.)

FK

PK

โครงการรหสโครงการ ชอโครงการ ทตงโครงการ รหสแผนก

FK

Referential Integrity Constraint (Cont.)• เงอนไขของ FK คอ

1. FK จะตองมคาอยใน set ของคา PK ทอางถง

หรอ

2. คา NULL ไดบางคา

เชน รหสคณะ ม 3 คา คอ {1,4,5}

ดงนน รหสคณะทเปน FK ตองมคา 3 คานเทานน

• ถา FK เปนสวนหนงของ PK ดงนน FK คาเปน NULL ไมได

• ถา FK เปน attribute ใน relation นน FK สามารถเปนคา NULL ได

32

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 71: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-17

33

แผนกรหสแผนก ชอแผนก รหสผจดการแผนก วนเรมตาแหนง

001 A E001 01012010002 B E005 01052010

Referential Integrity Constraints (Cont.)Referential Integrity Constraints (Cont.)

โครงการรหสโครงการ ชอโครงการ ทตงโครงการ รหสแผนก

P001 AB สกลนคร 001P002 XY นครพนม 001P003 ST กาฬสนธ

FK

การเขยน relational database schema และเงอนไข

• แตละ relation schema สามารถแสดงเปน แถวของชอ attribute ได

• ชอของ relation เขยนไวดานบนของชอ attribute

• attribute ทเปน PK จะตองขดเสนใต

• attribute ทเปน FK จะแสดงโดยการใชเสนตรงทหวลกศร ชไปยง Relation ทถกอางถง (Referenced relation) หรอ สามารถทาใหเปนตวอกษรแบบเอยง กได

34

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 72: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-18

ตวอยาง การเขยน relational database schema

35

พนกงานรหส

พนกงานชอ ชอกลาง นามสกล วนเกด ทอย เพศ เงนเดอน รหสหวหนา

รหสแผนก

แผนกรหสแผนก ชอแผนก รหสผจดการแผนก วนเรมตาแหนง

ทอยของแผนกรหสแผนก จงหวดทอย

โครงการ

รหสโครงการ ชอโครงการ ทตงโครงการ รหสแผนก

การทางานในโครงการรหสพนกงาน รหสโครงการ จานวนชวโมงททางาน

ผเกยวของกบพนกงานรหสพนกงาน ชอนามสกลผเกยวของ เพศ วนเกด ความสมพนธ

ทมา : Fundamental of Database Systems , Elmasri & Navathe

Constraints อนๆ• Semantic Integrity Constraints เกยวของกบเงอนไขของ application ทนอกเหนอจากทมใน model เชน

เงนเดอนพนกงานมากกวา 5000 ขนไปจนถง 100000 บาท เปนตน

ซง DBMS กจะทาการ check constraint ใหตอน insert, update, delete

36

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 73: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-19

Populated database state• เปนการเปลยนสถานะของ database เนองมาจากคาสง insert, update, delete คอเปลยนจากสถานะ valid state เปน valid state คอ สถานะของ database ทเปนไปตามเงอนไขตางๆ ซง DBMS จะทาหนาทในการ check ใหถา valid state กจะยอมรบใหทา operation นน ถาไมใช valid state กจะยกเลก operation

37

การละเมดเงอนไข มการละเมดไดดงน

1. Key constraint เมอทาการ insert คา key ไปซากบคา key ทมอยแลว

2. Entity integrity constraint เมอทาการ insert ไปแลว คา key มคาเปน null

3. Referential integrity constraint เมอทาการ insert ไปแลว คาทเพมเขาไปไมมคาอยจรง

4. Domain integrity constraint เปนการละเมดคาทเปนไปไดของ attribute

38

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 74: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-20

การละเมดเงอนไข (ตอ)Operation ทมการละเมดดงน

INSERT

UPDATE

DELETE

39

การละเมดเงอนไข (ตอ)

• INSERT มการละเมดไดดงน• Key integrity constraint

• Entity integrity constraint

• Referential integrity constraint

• Domain integrity constraint

40

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 75: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-21

การละเมดเงอนไข (ตอ)• INSERT มการละเมดไดดงน

• Key constraint เมอทาการ insert คา key ไปซากบคา key ทมอยแลว

• Entity integrity เมอทาการ insert ไปแลว คา key มคาเปน null

• Referential constraint เมอทาการ insert ไปแลว คาทเพมเขาไปไมมคาอยจรง เชน เพม Employee คนใหมแตเพม Dnumber เบอร 2 เขาไปทาใหเกดการละเมด เพราะ Dnumber มแค 1,3,4,5 เทานน

• Domain constraint เปนการละเมดคาทเปนไปไดของ attribute เชน Sex ม F,M แตถาทาการเพม A หรอ blank ทาให domain ไมถกตอง

41

• ตวอยางการละเมด constraint เมอทาการ INSERT ขอมล

42

การละเมดเงอนไข (ตอ)การละเมดเงอนไข (ตอ)

EMPLOYEE Fname Minit Lname Ssn Address Sex Salary Super_ssn Dnumber

John B Smith 123456789 Houston, TX M 50000 1

Frankin T Smith 333445555 Houston, TX M 25000 123456789 5

Alicia J Smith 999887777 Spring, TX F 28500 333445555 4

Jennifer S Smith 987654321 Bellaire, TX F 32000 333445555 4

Remesh K Smith 666884444 Humtle, TX M 33500 123456789 5

Joyce A Smith 453453453 Houston, TX F 25500 123456789 5

Ahmad V Smith 987987987 Houston, TX M 31050 333445555 4

James E Smith 888665555 Houston, TX M 27500 1

DEPARTMENT Dname Dnumber Mgr_ssn Mgr_start_date

Research 5 333445555 2010-04-01

Administration 4 987654321 2010-03-01

Headquarters 1 888665555 2010-06-01

Human Resource 3 666884444

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 76: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-22

การละเมดเงอนไข (ตอ)• DELETE มการละเมดอยางเดยวคอ

• Referential integrity constraint

นอกจากนน เงอนไขเหลาน ไมมการละเมด

• Key integrity constraint

• Entity integrity constraint

• Domain integrity constraint

43

การละเมดเงอนไข (ตอ)• DELETE มการละเมดไดดงน

• Referential constraint จะละเมดกตอเมอ ไปลบขอมลในตารางทอางอง เชน ลบตาราง DEPARTMENT ในแถว Research จะเกดการละเมดไดในตาราง EMPLOYEE ทมการใช Dnumber = 5

• ดงนน เมอทาการสรางตาราง ตอนทาการกาหนดการลบแถวขอมลสามารถระบได 3 อยางดงน

• RESTRICT ไมใหลบตองม FK อางถง tuple นนอย

• CASCADE ลบทกๆ tuple ทอางถง นนคอ ลบทก tuple ในตาราง EMPLOYEE ทม Dnumber = 5

• SET NULL ทาการ set คา NULL ให เชน ในตาราง EMPLOYEE ทกแถวทม Dnumber = 5 ใหมทาใหคา Dnumber = NULL และ FK ตองไมใชสวนหนงของ PK ดวย

44

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 77: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-23

• ตวอยางการละเมด constraint เมอทาการ DELETE ขอมล

45

การละเมดเงอนไข (ตอ)การละเมดเงอนไข (ตอ)

EMPLOYEE Fname Minit Lname Ssn Address Sex Salary Super_ssn Dnumber

John B Smith 123456789 Houston, TX M 50000 1

Frankin T Smith 333445555 Houston, TX M 25000 123456789 5

Alicia J Smith 999887777 Spring, TX F 28500 333445555 4

Jennifer S Smith 987654321 Bellaire, TX F 32000 333445555 4

Remesh K Smith 666884444 Humtle, TX M 33500 123456789 5

Joyce A Smith 453453453 Houston, TX F 25500 123456789 5

Ahmad V Smith 987987987 Houston, TX M 31050 333445555 4

James E Smith 888665555 Houston, TX M 27500 1

DEPARTMENT Dname Dnumber Mgr_ssn Mgr_start_date

Research 5 333445555 2010-04-01

Administration 4 987654321 2010-03-01

Headquarters 1 888665555 2010-06-01

Human Resource 3 666884444

ทมา : Fundamental of Database Systems , Elmasri & Navathe

การละเมดเงอนไข (ตอ)

• UPDATE มการละเมดคอ

• Key integrity constraint

• Entity integrity constraint

• Referential integrity constraint

• Domain integrity constraint

46

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 78: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

4-24

การละเมดเงอนไข (ตอ)UPDATE

• Key constraint เกดได ถา update คาซาทมอยแลว

• Entity integrity เกดได ถา update คา null

• Referential constraint เกดได ถา update คาทไมมอยในตารางทอางอง สามารถระบไดเชนเดยวกนกบ DELETE คอ

• RESTRICT หาม update

• CASCADE เปลยนไปทกๆ คาทเกยวของ

• SET NULL ให set คา null

• Domain constraint สามารถละเมดได ถา update คาทไมมใน domain

47

48

การละเมดเงอนไข (ตอ)การละเมดเงอนไข (ตอ)• ตวอยางการละเมด constraint เมอทาการ UPDATE ขอมล

EMPLOYEE Fname Minit Lname Ssn Address Sex Salary Super_ssn Dnumber

John B Smith 123456789 Houston, TX M 50000 1

Frankin T Smith 333445555 Houston, TX M 25000 123456789 5

Alicia J Smith 999887777 Spring, TX F 28500 333445555 4

Jennifer S Smith 987654321 Bellaire, TX F 32000 333445555 4

Remesh K Smith 666884444 Humtle, TX M 33500 123456789 5

Joyce A Smith 453453453 Houston, TX F 25500 123456789 5

Ahmad V Smith 987987987 Houston, TX M 31050 333445555 4

James E Smith 888665555 Houston, TX M 27500 1

DEPARTMENT Dname Dnumber Mgr_ssn Mgr_start_date

Research 5 333445555 2010-04-01

Administration 4 987654321 2010-03-01

Headquarters 1 888665555 2010-06-01

Human Resource 3 666884444

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 79: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-1

บทท 5 บรรทดฐานขอมลและภาษานยามขอมลพจนานกรมขอมล

บทท 5 บรรทดฐานขอมลและภาษานยามขอมลพจนานกรมขอมล

อ.ศรพร แสนศรภาควชาวทยาการคอมพวเตอรและสารสนเทศ

คณะวทยาศาสตรและวศวกรรมศาสตร

1

เนอหาบทเรยน

•การแปลงตวแบบ EER เปนตวแบบขอมลเชงสมพนธ

•ฟงกชนนอลดเพนเดนท (Functional Dependence)

•การทาบรรทดฐาน (Normalization)

2

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 80: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-2

การแปลงตวแบบ EER เปนตวแบบขอมลเชงสมพนธ

EER TO RELATIONAL MAPPING

การแปลงตวแบบ EER เปนตวแบบขอมลเชงสมพนธ

EER TO RELATIONAL MAPPING

3

Step1• สาหรบแตละ strong entity type E ใหทาการสราง relation R และใสเฉพาะ simple attribute ดวย

4

1.แผนก(รหสแผนก, ชอแผนก, จานวนของพนกงาน

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 81: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-3

Step 25

1.พนกงาน(รหสพนกงาน, ชอตน, ชอกลาง, นามสกล, เพศ, วนเดอนปเกด, ทอย, เงนเดอน

2.ผเกยวของหรอญาต(ชอผเกยวของ, เพศ. วนเดอนปเกด, ความสมพนธ, รหสพนกงาน

• สาหรบแตละ weak entity type W ใหทาการสราง Relation R และใส simple attribute ของ weak entity type ดวย

สวน PK ของ weak entity เกดจาก การรวมกนของ PK ของ entity type ทเปน entity หลก ของ weak entity และ key ของ weak entity

ทมา : Fundamental of Database Systems , Elmasri & Navathe

Step 3สาหรบแตละ 1:1 relationship ถา

3.1 เปนเสนเดยวทงค (partial) หรอเสนคทงค (total)ใหเลอก PK ของ entity หนงไปเปน FK ของอก entity หนง และนา attribute ทอยตรง relationship ไปรวมดวย

3.2 เปนเสนเดยว และเสนค ใหเลอก PK ของ entity ทอยฝงเสนเดยว ไปเปน FK ของ entity ฝงเสนคและนา attribute ทอยตรง relationship ไปรวมดวย

6

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 82: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-4

Step 3 – 3.17

1.พนกงาน(รหสพนกงาน, ชอตน, ชอกลาง, นามสกล, เพศ, วนเดอนปเกด, ทอย, เงนเดอน3.1 แผนก(รหสแผนก, ชอแผนก, จานวนของพนกงาน, รหสพนกงาน, วนเรมตาแหนงหรอ 1. แผนก(รหสแผนก, ชอแผนก, จานวนของพนกงาน3.1พนกงาน(รหสพนกงาน, ชอตน, ชอกลาง, นามสกล, เพศ, วนเดอนปเกด, ทอย, เงนเดอน, รหสแผนก, วนเรมตาแหนง

ทมา : Fundamental of Database Systems , Elmasri & Navathe

Step 3 – 3.2

8

1.พนกงาน(รหสพนกงาน, ชอตน, ชอกลาง, นามสกล, เพศ, วนเดอนปเกด, ทอย, เงนเดอน3.2 แผนก(รหสแผนก, ชอแผนก, จานวนของพนกงาน, รหสพนกงาน, วนเรมตาแหนง

ทมา : Fundamental of Database Systems , Elmasri & Navatheคลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 83: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-5

Step 4• สาหรบแตละ 1:N relationship ทเปนของ strong entity ใหนา PK ฝง 1 relationship ไปเปน FK ฝง N relationship

9

1.แผนก(รหสแผนก, ชอแผนก, จานวนของพนกงาน4.โครงการ(รหสโครงการ, ชอโครงการ, ทตงโครงการ, รหสแผนก

ทมา : Fundamental of Database Systems , Elmasri & Navathe

Step 5สาหรบแตละ M:N relationship ใหสรางเปนอก 1 relation และใหรวม PK ของทงสอง entity มาเปน FK ดวย และนา attribute ทอยตรง relationship ไปรวมดวย สวน PK ของ relationship เกดจากการรวมกนของ PK ทงสอง entity type แตถายงไม unique ใหรวม attribute ทเกดท relationship เปน PK ดวย

10

5. ทางาน(จานวนชวโมงททางาน, รหสพนกงาน, รหสโครงการทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 84: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-6

Step 6สาหรบ attribute ทเปนแบบ multivalued ใหทาการสรางเปนอก 1 relation โดยม คอ attribute ของ multivalued attribute และ PK ของ entity type ท attribute นอยมาเปน FK ดวย สวน PK ของรเลชนใหมคอ attribute ทงหมดในรเลชน

11

6.ทอยของแผนก(ทอยแผนก, รหสแผนกทมา : Fundamental of Database Systems , Elmasri & Navathe

Step 7สาหรบ n-ary relationship ใหทาการสรางเปนอก 1 relation และใหรวม attribute ทเปน PK จากทกๆ entity type มาเปน FK และ PK ดวย

12

7.สงซอ(รหสพนกงาน, รหสลกคา, รหสชนสวนสนคาทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 85: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-7

Step 8สาหรบ superclass/subclass relationship ใหทาตาม 1 ใน 4 ขอดงน

8A ใชไดทกกรณ

ใหทาการสรางรเลชนจาก superclass และ subclass เปนอยางละ 1 รเลชน และนา attribute ของแตละ superclass/subclass ไปใสในแตละรเลชน สวนรเลชนทเกดจากแตละ subclass ใหนา PK ของ superclass มาเปน FK และ PK ดวย

13

14

Step 8 – 8AStep 8 – 8A

พนกงาน(รหสพนกงาน, ชอ, นามสกล, วนเดอนปเกด, ทอย, ประเภทพนกงาน)เลขานการ(รหสพนกงาน, ความเรวในการพมพดด)ชางเทคนค(รหสพนกงาน, ระดบความเชยวชาญ)วศวกร (รหสพนกงาน, ประเภทวศวกร)

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 86: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-8

15

รหสพนกงาน ชอ นามสกล วนเดอนปเกด ทอย ประเภทพนกงาน

E001 เอ เอ เอ 23071973 สกลนคร เลขานการ

E002 บ บบ 01011977 สกลนคร วศวกร

E003 ซ ซซ 02021976 อดรธาน เสมยน

E004 ด ดด 03031970 ขอนแกน อนๆ

E005 อ ออ 01011970 ขอนแกน อนๆ

E006 เอฟ เอฟเอฟ 05051981 กรงเทพ วศวกร

Step 8 – 8A - ตวอยางขอมลStep 8 – 8A - ตวอยางขอมลพนกงาน

รหสพนกงาน ประเภทวศวกร

E002 วศวกร

E006 วศวกร

วศวกรรหสพนกงาน ความเรวในการ

พมพดด

E001 100

เลขานการ

รหสพนกงาน ระดบความเชยวชาญ

E003 5

เสมยน

Step 8 – 8B8B ใชไดเฉพาะกรณท superclass เปน total (ไดทง overlap และ disjoint) เทานน เพราะ superclass แบงไดตาม subclass เทานน

ทาการสรางรเลชนจากแตละ subclass แตไมตองสรางรเลชนทมาจาก superclass สวน attribute ทมใน superclass ใหนาไปรวมกบ attribute ของแตละรเลชนทไดมาจาก subclass ดวย สวน PK ของแตละรเลชนคอ PK ทมาจาก superclass

16

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 87: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-9

17

Step 8 – 8B – disjoint-totalStep 8 – 8B – disjoint-total

รถยนต(รหสยานพาหนะ, หมายเลขตวถง, ราคา, ความเรวสงสด, จานวนทนง)รถบรรทก(รหสยานพาหนะ, หมายเลขตวถง, ราคา, จานวนเพลา, นาหนกรถ)

ทมา : Fundamental of Database Systems , Elmasri & Navathe

18

Step 8 – 8B – ตวอยางขอมล disjoint-total

รหสยานพาหนะ หมายเลขตวถง ราคา ความเรวสงสด จานวนทนง

C001 1111111111 1200000 140 7

C002 2222222222 870000 140 5

รถยนต

รหสยานพาหนะ หมายเลขตวถง ราคา จานวนเพลา นาหนกรถ

C003 3333333333 2500000 10 3000

C004 4444444444 3500000 15 4000

รถบรรทกคลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 88: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-10

19

Step 8 – 8B – disjoint-partialStep 8 – 8B – disjoint-partial

รถยนต(รหสยานพาหนะ, หมายเลขตวถง, ราคา, ความเรวสงสด, จานวนทนง)รถบรรทก(รหสยานพาหนะ, หมายเลขตวถง, ราคา, จานวนเพลา, นาหนกรถ)

ทมา : Fundamental of Database Systems , Elmasri & Navathe

20

Step 8 – 8B – ตวอยางขอมล disjoint-partial

รหสยานพาหนะ หมายเลขตวถง ราคา ความเรวสงสด จานวนทนง

C001 1111111111 1200000 140 7

C002 2222222222 870000 140 5

C003 3333333333 2500000 100 3

รถยนต

รหสยานพาหนะ หมายเลขตวถง ราคา จานวนเพลา นาหนกรถ

C003 3333333333 2500000 10 3000

C004 4444444444 3500000 15 4000

รถบรรทกคลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 89: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-11

Step 8 (Con.t)21

8C เฉพาะ subclass ทเปน disjoint เทานน (ทงทเปน partial และ total) ใชไดในกรณทการแบง subclass เปนดงน

• เฉพาะทใชคา attribute เปนตวแบง subclass เชน ประเภทพนกงาน เปนตน เพราะถาไมม attribute ทเปนตวแบง subclass จะไมทราบวาขอมลควรอยใน subclass ใด• ตองเปน disjoint เทานน เพราะคาของ attribute ทเปนตวแบง subclass ตองเปนคาเดยว (atomic value) เทานน

โดยทาการสราง 1 relation โดยม attribute ทงหมดจาก superclassและ subclass รวมอยใน relation ดวยและม attribute ทบงบอกวา tuple นเปนของ subclass ใด

22

Step 8 – 8C – disjoint-partialStep 8 – 8C – disjoint-partial

พนกงาน(รหสพนกงาน, ชอ, นามสกล, วนเดอนปเกด, ทอย, ประเภทพนกงาน, ความเรวในการพมพดด, ระดบความเชยวชาญ, ประเภทวศวกร)

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 90: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-12

รหสพนกงาน

ชอ นามสกล วนเดอนปเกด

ทอย ประเภทพนกงาน

ความเรวในการพมพดด

ระดบความเชยวชาญ

ประเภทวศวกร

Tupleถกตองหรอไม

E001 เอ เอ เอ 23071973 สกลนคร เลขานการ 100 OK

E002 บ บบ 01011977 สกลนคร วศวกร ไฟฟา OK

E003 ซ ซซ 02021976 อดรธาน เสมยน 5 OK

E004 ด ดด 03031970 ขอนแกน อนๆ

E005 อ ออ 01011970 ขอนแกน อนๆ 100

E006 เอฟ เอฟเอฟ 05051981 กรงเทพ วศวกร 50 โยธา

23

Step 8 – 8C – ตวอยางขอมล disjoint-partialStep 8 – 8C – ตวอยางขอมล disjoint-partial

พนกงาน

24

Step 8 – 8C – disjoint-totalStep 8 – 8C – disjoint-total

พนกงาน(รหสพนกงาน, ชอ, นามสกล, วนเดอนปเกด, ทอย, ประเภทพนกงาน, ความเรวในการพมพดด, ระดบความเชยวชาญ, ประเภทวศวกร)

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 91: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-13

รหสพนกงาน

ชอ นามสกล วนเดอนปเกด

ทอย ประเภทพนกงาน

ความเรวในการพมพดด

ระดบความเชยวชาญ

ประเภทวศวกร

Tupleถกตองหรอไม

E001 เอ เอ เอ 23071973 สกลนคร เลขานการ 100 OK

E002 บ บบ 01011977 สกลนคร วศวกร ไฟฟา OK

E003 ซ ซซ 02021976 อดรธาน เสมยน 5 OK

E004 ด ดด 03031970 ขอนแกน อนๆ

E005 อ ออ 01011970 ขอนแกน อนๆ 100

E006 เอฟ เอฟเอฟ 05051981 กรงเทพ วศวกร 50 โยธา

25

Step 8 – 8C – ตวอยางขอมล disjoint-totalStep 8 – 8C – ตวอยางขอมล disjoint-total

พนกงาน

26

Step 8 – 8CStep 8 – 8C

ไมสามารถทาการ map ตารางแบบ 8C ไดเพราะ ?????

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 92: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-14

Step 8 (Cont.)27

8D ใชไดทง disjoint และ overlap ใหทาการสราง 1 relation โดยม attribute ทงหมด superclass และ subclass รวมอยใน relation นดวยและทาการเพม attribute ทเปน boolean เทากบจานวนของ subclass ซงคาของ attribute เปนตวบงบอกวา tuple นเปนของ subclass ใด

28

Step 8 – 8D – disjoint-totalStep 8 – 8D – disjoint-total

ยานพาหนะ(รหสยานพาหนะ, หมายเลขตวถง, ราคา, ความเรวสงสด, จานวนทนง, จานวนเพลา, นาหนกรถ, สถานะรถยนต, สถานะรถบรรทก)

Boolean {T ,F}

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 93: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-15

29

Step 8 – 8D – ตวอยางขอมล disjoint-total

รหสยานพาหนะ

หมายเลขตวถง

ราคา ความเรวสงสด

จานวนทนง

จานวนเพลา

นาหนกรถ

สถานะรถยนต

สถานะรถบรรทก

Tuple ถกตองหรอไม

C001 1111111111 1200000 140 7 Y OK

C002 2222222222 870000 140 5 Y OK

C003 3333333333 2500000 10 3000 Y OK

C004 4444444444 3500000 15 4000 Y OK

C005 5555555555 2500000

C006 6666666666 750000 180 5 8 2000 Y Y

รถยนต

30

Step 8 – 8D – disjoint-partialStep 8 – 8D – disjoint-partial

พนกงาน(รหสพนกงาน, ชอ, นามสกล, วนเดอนปเกด, ทอย, ประเภทพนกงาน, ความเรวในการพมพดด, ระดบความเชยวชาญ, ประเภทวศวกร, สถานะเลขานการ, สถานะชางเทคนค, สถานะวศวกร)

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 94: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-16

รหสพนกงาน

ชอ นามสกล

วนเดอนปเกด

ทอย ประเภทพนกงาน

ความเรวในการพมพดด

ระดบความ

เชยวชาญ

ประเภทวศวกร

สถานะเลขาน การ

สถานะเสมยน

สถานะวศวกร

Tupleถกตองหรอไม

E001 เอ เอ เอ 23071973 สกลนคร เลขานการ 100 Y OK

E002 บ บบ 01011977 สกลนคร วศวกร ไฟฟา Y OK

E003 ซ ซซ 02021976 อดรธาน เสมยน 5 Y OK

E004 ด ดด 03031970 ขอนแกน อนๆ

E005 อ ออ 01011970 ขอนแกน อนๆ 100 Y

E006 เอฟ เอฟเอฟ 05051981 กรงเทพ วศวกร 50 โยธา Y Y

31

Step 8 – 8D – ตวอยางขอมล – disjoint-partialStep 8 – 8D – ตวอยางขอมล – disjoint-partial

พนกงาน

แบบฝกหดท 3การ map EER เปน relation

32

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 95: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-17

Functional Dependencies - FDs

33

• FDs เปนเงอนไขความสมพนธระหวาง attribute• FDs และ Keys ถกใชเพอกาหนด normal form สาหรบ relation• FDs หาไดจาก requirement เพราะ requirement บอกวา attribute สมพนธกนอยางไร • X -> Y เปนความสมพนธระหวาง attribute X กบ Y ถาทราบคา X 1 คา ไดคา Y 1 คาเสมอ อานวา X determine Y หรอ X functionally Y

Functional Dependencies – FDs (Cont.)

34

• FDs สามารถทาการตรวจสอบระหวาง ER ไดวาถกหรอผด• FD constraint เชน

{Ssn} -> {Ename} {Pnumber} -> {PName,PLocation} {SSN,Pnumber} -> {Hours}

• FD จะตองเปนจรงตลอด ในทกๆ relation ใน database

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 96: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-18

Functional Dependencies – FDs (Cont.)

35

• ถา K คอ key ของ R ดงนน K functionally determine attribute ทงหมดใน R• FD สามารถหา Key ของ Relation ได และจะทาใหไมเกดปญหา Update anomalies• บาง relation อาจจะมหรอไมม FD กได ถามอาจจะมแค 1 FD หรอมากกวา 1 FD กได

Functional Dependencies – FDs (Cont.)36

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 97: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-19

Armstrong’s inference rules•กฎการแปลง FD ไปหา FD อน เรยกวา : • A1 (Reflexive) ถา Y subset-of X แลว X -> Y ได เชน

{A} {A,B} ดงนน {A,B} -> {A} และ {A,B} -> {B}• A2 (Augmentation) ถา X -> Y แลว XZ -> YZ (ทาการเตม attribute Z เขาไปทงสองขาง)• A3 (Transitive) ถา X -> Y และ Y -> Z แลว X -> Z• Decomposition ถา X -> YZ แลว X -> Y และ X -> Z• Union ถา X -> Y และ X -> Z แลว X -> YZ• Psuedotransitivity ถา X -> Y และ WY -> Z แลว WX -> Z

37

ตวอยางการหา FD กรณศกษาท 1ตวอยางการหา FD กรณศกษาท 1บรษท ABC จากด มพนกงานสงกดแผนกไดคนละ 1 แผนก โดยพนกงานจะเกบขอมล รหสประจาตว ชอ (ประกอบดวยชอตน ชอกลาง นามสกล) เงนเดอน พนกงานแตละคนจะมผเกบขอมลผรบผลประโยชน ซงจะเกบกตอเมอพนกงานคนนนทางานอยในบรษทเทานน ถาลาออกขอมลผรบผลประโยชนกจะไมเกบ

พนกงานคนหนงทางานไดหลายโครงการ แตละโครงการกมพนกงานสงกดไดมากกวา 1 คน

พนกงานคนหนงเปนผจดการโครงการไดหลายโครงการแตโครงการหนงมผจดการไดแคคนเดยว

38

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 98: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-20

ตวอยางการหา FD กรณศกษาท 1รายชอแอททรบวต ประกอบดวย

{รหสประจาตวพนกงาน, ชอตนพนกงาน, ชอกลางพนกงาน, นามสกลพนกงาน, เงนเดอนพนกงาน, ชอผรบผลประโยชน, ความสมพนธ, รหสโครงการ, ชอโครงการ, รหสประจาตวผจดการ,

รหสแผนก, ชอแผนก, จานวนชวโมงททางานในโครงการ}

39

ตวอยางการหา FD กรณศกษาท 2ตวอยางการหา FD กรณศกษาท 2คณะหนงในวทยาลยหนง ตองการเกบขอมลการเรยนของนกศกษา ในคณะนเปดสอนเพยงหลกสตรเดยว ดงนนขอมลทตองจดเกบจะประกอบดวยขอมลของวชา ขอมลผสอน ขอมลนกศกษา ขอมลความสามารถในการสอนของผสอน และขอมลการเรยนของนกศกษา

ผสอนมคณสมบตคอ ความเชยวชาญในสาขาวชาใดวชาหนงเทานน ผสอนมสองประเภทคอ คนไทยและคนตางประเทศ ซงถาผสอนเปนคนไทยจะจดเกบเลขประจาตวประชาชน ชอ ทอย และ วนเกด แตถาผสอนเปนคนตางประเทศ จะจดเกบเลขทพาสปอรต ชอ ทอย สญชาต และ ภาษาทสามารถพดได

40

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 99: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-21

ตวอยางการหา FD กรณศกษาท 2 (ตอ)ตวอยางการหา FD กรณศกษาท 2 (ตอ)ขอมลวชาทตองการจดเกบคอ รหสวชา ชอวชา จานวนหนวยกต และบพวชา วชาหนงวชามไดหลายบพวชา และวชาหนงสามารถเปนบพวชาของวชาอนหลายวชาดวย รหสวชาของแตละวชาจะไมมคาซากนเลย ในหนงวชาจะมชอวชาเพยงหนงชอวชา และหนงคาของจานวนหนวยกต วชาหนงวชาสามารถเปดสอนไดในหลายภาคการศกษา และในหนงภาคการศกษาจะเปดไดหลายกลม แตละกลมของวชาหนงในหนงภาคการศกษา สามารถมผสอนไดหลายคน และใชหนงสอหลกทในการเรยนหนงเลม แตไมจาเปนทผสอนหนงคนจะตองสอนทกกลมของวชานนและไมจาเปนททกกลมของวชาเดยวกนตองใชหนงสอเลมเดยวกน ขอมลหนงสอมเพยงชอหนงสอเทานนและชอหนงสอหนงชอสามารถใชในวชาหนงวชาเทานน

41

ตวอยางการหา FD กรณศกษาท 2 (ตอ)ตวอยางการหา FD กรณศกษาท 2 (ตอ)ขอมลนกศกษาทตองการจดเกบคอ เลขประจาตวประชาชน ชอนกศกษา วนเกด ทอย และเกรดเฉลย ในภาคการศกษาหนง นกศกษาสามารถลงทะเบยนไดอยางมากทสดหาวชา และในหนงวชาสามารถลงทะเบยนเรยนไดเพยงกลมเดยวในหนงภาคการศกษา และนกศกษาจะไดเพยงเกรดเดยวตอการลงทะเบยนของวชานนในหนงภาคการศกษา กลมหนงของวชาหนงอาจมนกศกษาลงทะเบยนเรยนไดหลายคน

42

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 100: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-22

ตวอยางการหา FD กรณศกษาท 2

รายชอแอททรบวต ประกอบดวย

{รหสผสอน, ความเชยวชาญของผสอน, เลขประจาตวประชาชน, เลขทพาสปอรต, ชอ, ทอย, วนเกด, สญชาต, ภาษา, ชอนกศกษา, ทอย, วนเกด, เกรดเฉลย, ความเชยวชาญ, เลขทพาสปอรต, รหสวชา, ชอวชา, จานวนหนวยกต, รหสบพวชา, ปการศกษา, ภาคการศกษา, กลม, ชอหนงสอ, เกรดวชา}

43

แนวทางการออกแบบสารสนเทศของฐานขอมลเชงสมพนธ

• การออกแบบ relational database คอการจด attribute ใหอยในรปแบบทด (good) คอ อยใน good relation

• relation schema ทจะทาการ design ม 2 level คอ

• user view level

• base relation level (conceptual relation)

44

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 101: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-23

แนวทางท 1• แตละ tuple ใน relation ควรจะตองแทนขอมลเพยง 1 อยาง คอ แทน entity หรอ relationship เชน ตาราง EMPLOYEE มขอมล 2 อยางคอ employee และ department ซงไมควรทา ดงนน ควรออกแบบใหสามารถอธบายไดงายๆ

45

แนวทางท 1 (ตอ)ถาม tuple ทมขอมลหลายๆ อยางซากน จะเกดปญหาตามมาคอ

• เปลองเนอทในการจดเกบ

• ขอมลซาซอน

• เกดปญหา update anomalies คอ

• Insertion anomalies ไมสามารถเพมขอมลได

• Deletion anomalies ทาการลบขอมลแลวไปลบขอมลอนดวย

•Modification anomalies การ update คาของ attribute จะตอง update หลายๆ tuple เพราะขอมลกระจายหลายๆ ท

46

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 102: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-24

ขอมลซาซอน (Redundant Information) ทาใหเกดปญหา Update Anomalies

47

Redundancy

พนกงาน ชอ ชอกลาง นามสกล รหสพนกงาน วนเกด ทอย ชอแผนก รหสผจดการแผนก

John B Smith 123456789 1965-01-09 Houston, TX Headquarters 888665555

John T Smith 333445555 1955-12-08 Houston, TX Research 333445555

Alicia J Smith 999887777 1966-07-19 Spring, TX Administration 987654321

Jennifer S Smith 987654321 1941-06-20 Bellaire, TX Administration 987654321

Remesh K Smith 666884444 1962-09-15 Humtle, TX Research 333445555

Joyce A Smith 453453453 1972-07-31 Houston, TX Research 333445555

Ahmad V Smith 987987987 1969-03-29 Houston, TX Administration 987654321

James E Smith 888665555 1937-11-10 Houston, TX Research 333445555

ทมา : Fundamental of Database Systems , Elmasri & Navathe

แนวทางท 1 (ตอ)เชน ถาตองการเพมแผนกใหมแตยงไมมพนกงาน ทาใหไมสามารถเพมในตาราง พนกงาน ได เพราะ รหสพนกงาน เปนคา NULL ทาใหไปละเมดกฎ Entity Integrity เพราะ PK หามเปน NULL เรยกวา Insertion Anomalies

48

Redundancy

พนกงาน ชอ ชอกลาง นามสกล รหสพนกงาน วนเกด ทอย ชอแผนก รหสผจดการแผนก

Finance 123456789

John B Smith 123456789 1965-01-09 Houston, TX Headquarters 888665555

John T Smith 333445555 1955-12-08 Houston, TX Research 333445555

Alicia J Smith 999887777 1966-07-19 Spring, TX Administration 987654321

Jennifer S Smith 987654321 1941-06-20 Bellaire, TX Administration 987654321

Remesh K Smith 666884444 1962-09-15 Humtle, TX Research 333445555

Joyce A Smith 453453453 1972-07-31 Houston, TX Research 333445555

Ahmad V Smith 987987987 1969-03-29 Houston, TX Administration 987654321

James E Smith 888665555 1937-11-10 Houston, TX Research 333445555

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 103: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-25

แนวทางท 1 (ตอ)เชน ถาตองการลบขอมลนาย John ในตาราง พนกงาน ทาใหขอมล ชอแผนก = Headquaters หายไปดวย เรยกวา Deletion Anomalies เพราะ Headquaters มขอมลแค tuple เดยวเทานน

49

Redundancy

พนกงาน ชอ ชอกลาง นามสกล รหสพนกงาน วนเกด ทอย ชอแผนก รหสผจดการแผนก

John B Smith 123456789 1965-01-09 Houston, TX Headquarters 888665555

John T Smith 333445555 1955-12-08 Houston, TX Research 333445555

Alicia J Smith 999887777 1966-07-19 Spring, TX Administration 987654321

Jennifer S Smith 987654321 1941-06-20 Bellaire, TX Administration 987654321

Remesh K Smith 666884444 1962-09-15 Humtle, TX Research 333445555

Joyce A Smith 453453453 1972-07-31 Houston, TX Research 333445555

Ahmad V Smith 987987987 1969-03-29 Houston, TX Administration 987654321

James E Smith 888665555 1937-11-10 Houston, TX Research 333445555

ทมา : Fundamental of Database Systems , Elmasri & Navathe

แนวทางท 1 (ตอ)• เชน ตองทาการเปลยนชอของ ชอแผนก = Research ใหเปน Researching จะตองเปลยนทงหมด 4 tuple เรยกวา Modification Anomalies

50

Redundancy

พนกงาน ชอ ชอกลาง นามสกล รหสพนกงาน วนเกด ทอย ชอแผนก รหสผจดการแผนก

John B Smith 123456789 1965-01-09 Houston, TX Headquarters 888665555

Frankin T Smith 333445555 1955-12-08 Houston, TX Research 333445555

Alicia J Smith 999887777 1966-07-19 Spring, TX Administration 987654321

Jennifer S Smith 987654321 1941-06-20 Bellaire, TX Administration 987654321

Remesh K Smith 666884444 1962-09-15 Humtle, TX Research 333445555

Joyce A Smith 453453453 1972-07-31 Houston, TX Research 333445555

Ahmad V Smith 987987987 1969-03-29 Houston, TX Administration 987654321

James E Smith 888665555 1937-11-10 Houston, TX Research 333445555

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 104: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-26

แนวทางท 2• ออกแบบ schema จะตองไมทาใหเกดปญหา Update anomalies

51

แนวทางท 3

ควรจะออกแบบให relation ใหมคา NULL นอยทสดเทาทจะเปนไปได ดงนน 8C และ 8D ไมควรทา

52

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 105: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-27

แนวทางท 3 (ตอ)

เหตผลทตองมคา NULL นอยทสดเทาทจะเปนไปได เพราะ

• คา NULL มความหมาย 3 อยางคอ

• attribute ไม valid เลยสาหรบ tuple น คอ attribute นไมควรอยใน relation น เพราะไมเหมาะสม คอ ไมมคานเลย

• คา attribute นม แตตอนนยงหาคามาใสไมได

• คา attribute ไมร แตคดวานาจะม

• ถา attribute ทมคา NULL เปน FK เมอทาการ join แลวจะไมไดผลลพธ แตถาใช outer join ถงจะแสดงผลลพธนออกมา

53

แนวทางท 4

54

เมอแตกเปน relation ยอยแลว เมอนามา natural join กนจะตองมคณสมบต lossless join condition คอ จะตองไมม spurious tuple เกดขน คอ ไมม tuple ทไมมอยเกดขน

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 106: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-28

แนวทางท 4 Spurious Tuples55

Redundancy

พนกงาน ชอ ชอกลาง นามสกล รหสพนกงาน วนเกด ทอย ชอแผนก รหสผจดการแผนก

John B Smith 123456789 1965-01-09 Houston, TX Headquarters 888665555

John T Smith 333445555 1955-12-08 Houston, TX Research 333445555

Alicia J Smith 999887777 1966-07-19 Spring, TX Administration 987654321

Jennifer S Smith 987654321 1941-06-20 Bellaire, TX Administration 987654321

Remesh K Smith 666884444 1962-09-15 Humtle, TX Research 333445555

Joyce A Smith 453453453 1972-07-31 Houston, TX Research 333445555

Ahmad V Smith 987987987 1969-03-29 Houston, TX Administration 987654321

James E Smith 888665555 1937-11-10 Houston, TX Research 333445555

ทมา : Fundamental of Database Systems , Elmasri & Navathe

แนวทางท 4 Spurious Tuples56

พนกงาน ชอ ชอกลาง นามสกล รหสพนกงาน วนเกด ทอย

John B Smith 123456789 1965-01-09 Houston, TX

John T Smith 333445555 1955-12-08 Houston, TX

Alicia J Smith 999887777 1966-07-19 Spring, TX

Jennifer S Smith 987654321 1941-06-20 Bellaire, TX

Remesh K Smith 666884444 1962-09-15 Humtle, TX

Joyce A Smith 453453453 1972-07-31 Houston, TX

Ahmad V Smith 987987987 1969-03-29 Houston, TX

James E Smith 888665555 1937-11-10 Houston, TX

แผนก ชอ ชอแผนก รหสผจดการแผนก

John Headquarters 888665555

John Research 333445555

Alicia Administration 987654321

Jennifer Administration 987654321

Remesh Research 333445555

Joyce Research 333445555

Ahmad Administration 987654321

888665555 Research 333445555ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 107: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-29

แนวทางท 4 Spurious Tuples

57

พนกงาน ชอ ชอกลาง นามสกล รหสพนกงาน วนเกด ทอย ชอแผนก รหสผจดการแผนก

John B Smith 123456789 1965-01-09 Houston, TX Headquarters 888665555

John T Smith 333445555 1955-12-08 Houston, TX Research 333445555

Alicia J Smith 999887777 1966-07-19 Spring, TX Administration 987654321

Jennifer S Smith 987654321 1941-06-20 Bellaire, TX Administration 987654321

Remesh K Smith 666884444 1962-09-15 Humtle, TX Research 333445555

Joyce A Smith 453453453 1972-07-31 Houston, TX Research 333445555

Ahmad V Smith 987987987 1969-03-29 Houston, TX Administration 987654321

James E Smith 888665555 1937-11-10 Houston, TX Dname Dmgr_ssn

John B Smith 123456789 1965-01-09 Houston, TX Research 888665555

John T Smith 333445555 1955-12-08 Houston, TX Headquarters 333445555

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คณสมบตปดของ FD (Closure of FDs)• Closure ของ set F ของ FDs เขยนโดย F+ member Closure คอ FD ทงหมดทหาไดจาก F (ไมไดใชในการทา normalization)

• Closure ของ set ของ attribute X เขยนโดย X+ คอ attribute ทงหมดท X สามารถ determine ได นากฎของ Armstrong มาใชดวยโดยเฉพาะ A3 หา closure เพอหา key ของ relation

58

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 108: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-30

Closure of set of Attributeถาม FDs ดงน

FD1: {SSN} -> {EName}

FD2: {PNumber} -> {PName,PLocation}

FD3: {SSN,PNumber} -> {Hours}

ทาการหา Closure ไดดงน

{SSN}+ = {SSN,EName}

{PNumber}+= {PNumber,PName,PLocation}

{SSN,PNumber}+={SSN,PNumber,Hours,EName,PName,PLocation}

59

Minimal Sets of FDsทกๆ set ของ FD ม minimal set ถาเปนไปตามเงอนไขดงน

• ทกๆ FD ใน F ดานขวามอของลกศรจะตองมแค attribute ตวเดยว

เชน {PNumber} -> {PName, PLocation} ไมใช minimal set ตองแยกออกมาเพราะ ดานขวาของ FD ม attribute 2 ตว

จะได {PNumber} -> {PName } และ

{PNumber} -> {PLocation}

เรยกวา minimal set ตามกฎการทา decomposition

60

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 109: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-31

Minimal Sets of FDs (Cont.)

• ไมสามารถลบ FD ใดๆ จาก F ออกไปแลวยง equivalence กบของเดมได

• ไมสามารถแทนท FD X->A ดวย Y->A ถา Y X (Y เปน proper-subset-of X กคอสมาชกของ Y ไมมทางเทากบ X)

• ทกๆ FD ม set ของ equivalent minimal set อย อาจจะม 1 หรอ มากกวา 1 กได

• ไมม algorithm ในการหา minimal set ของ FD

61

การทาบรรทดฐาน (Normalization)

• Normalization คอ กระบวนการแตก relation ใหอยใน

good relation โดยวดจาก normal form

• Normal Form คอเงอนไขวา relation จะอยใน Normal

Form ใดได กตองเปนไปตามเงอนไขทกาหนดไวใน Normal

Form นนๆ ถาไมเปนไปตามเงอนไขกใหทา normalization

62

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 110: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-32

Normalization (Cont.)

• Normal Form ม 1NF, 2NF, 3NF, BCNF, 4NF, 5NF

• 2NF, 3NF, BCNF เงอนไขของทงสามใช key และ FD ในการกาหนด

เงอนไข

• 4NF เงอนไขใช key และ multi-value dependencies MVDs

• 5NF เงอนไขใช key และ join dependencies JDs

63

แนวปฏบตการทาใหอยในรป Normal Forms• ไมจาเปนตองทาใหอยในขนสงสด เพราะ relation ยงเลกลงๆ จะมผลตอนดงขอมลออกมาแสดงผลตองทาการ join หลาย relation ดงนนถง 3NF หรอ BCNF กได

• Denormalization เปนการทา tuning กคอการยบ table ลง ใหอยใน normal form ทตาลงมา เพอปรบปรง performance ของการออกรายงานใหดขน

64

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 111: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-33

KEYs• Super key คอ set ของ attribute ท unique

• Key คอ minimum ของ Super key คอ จานวน attribute ทนอยทสดทยง unique อย

• ใน 1 relation อาจจะม key มากกวา 1 ชด เรยกวา Candidate key (CK) ดงนนตองเลอกขนมา 1 ชดเปน Primary key (PK) สวนทเหลอเรยกวา Secondary key หรอ Alternate key

65

KEYs (Cont.)• Prime attribute คอ attribute ทเปนสมาชกของ Candidate key

• Nonprime attribute คอ attribute ทเหลอของรเลชนทไมใช Prime attribute

• CK คอ attribute ทม closure คอ attribute ทงหมดของ relation

• หา closure กอนเพอดวา attribute ตวใดจะเปน CK ของ relation

66

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 112: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-34

KEYs (Cont.)เชน R(A,B,C,D) ม FD คอ

FD1 : {A} -> {B,C}

FD2 : {C} -> {A,D}

ดงนน {A}+ = {A,B,C,D} , {C}+ = {C,A,D,B}

ดงนน candidate key คอ {A},{C}

เลอก PK คอ {A} ดงนน {C} เปน secondary key

ดงนน prime attribute คอ {A,C}

สวน nonprime attribute คอ {B,D}

67

Normal Forms• First Normal Form : 1NF

• Second Normal Form : 2NF

• Third Normal Form : 3NF

• Boyce-Codd Normal Form : BCNF

• Fourth Normal Form : 4NF

• Fifth Normal Form : 5NF

68

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 113: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-35

First Normal Form : 1NFเงอนไขคอ Relation จะตองไมม composite attribute, multivalued attribute และ nested relation

69

แผนก ชอแผนก รหสแผนก ทตงแผนกวจย 5 {กรงเทพ, สระบร, ลพบร}

บรหาร 4 {กรงเทพ, ราชบร}สานกงาน 1 {กรงเทพ}บคคล 3 {สกลนคร}

แผนก ชอแผนก รหสแผนก ทตงแผนกวจย 5 กรงเทพวจย 5 สระบรวจย 5 ลพบร

บรหาร 4 กรงเทพบรหาร 4 ราชบร

สานกงาน 1 กรงเทพบคคล 3 สกลนคร

รเลชน แผนก มขอมลซาซอน (Redundancy)

1NF

First Normal Form : 1NF (Cont.)70

พนกงานแผนก ชอแผนก รหสแผนก รหสผจดการ วนเรมตาแหนง ชอพนกงาน ชอกลาง นามสกล รหสพนกงาน

วจย 5 333445555 2010-04-01 สมชาย ท สมธ 333445555 สดใส เค สมธ 666884444 จาร เอ สมท 453453453

บรหาร 4 987654321 2010-03-01 อาร เจ สมท 999887777 เจนน เอส สมท 987654321 อามาตย ว สมท 987987987

สานกงาน 1 888665555 2010-06-01 จอน บ สมท 123456789

เจม อ สมท 888665555

1NF

Not

1NF

“Nested Relation”

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 114: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-36

First Normal Form : 1NF (Cont.)71

เมอ map table จะได EMP_PROJ(Ssn,Ename) และ EMP_PROJ2(Ssn,Pnumber,Hours)

ดงนนถาทาการ map table จาก ER ทกๆ relation ทไดจะอยใน 1NF แลวแนนอน

Second Normal Form : 2NF

relation R(A1,A2,…,An) อยใน 2NF ถา

1.relation อยใน 1NF

และ

2.ทกๆ non-prime attribute A ใน R ขนกบ CK/PK แบบ Full FD

ถาไมเปนตามเงอนไขกใหแตกเปน relation ใหม ตาม FD ทมปญหา

72

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 115: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-37

Second Normal Form : 2NF (Cont.)ตวอยาง FULL Functional dependency (Full FD)เชน กาหนดให รหสพนกงาน เปนคาทไมซา ดงนน {รหสพนกงาน,รหสโครงการ} -> {จานวนชวโมงททางาน}

เมอดงเอา รหสพนกงาน ออก แต {รหสโครงการ} -> {จานวนชวโมงททางาน} ไมได ดงนน จานวนชวโมงททางาน ถก determine โดย

{รหสพนกงาน,รหสโครงการ} แบบ Full FD ตวอยาง PARTIAL Functional dependency (Partial FD)เชน {รหสพนกงาน,รหสโครงการ} -> {ชอพนกงาน} เมอดงเอา รหสโครงการ ออก แลว {รหสพนกงาน} -> {ชอพนกงาน} ได ดงนน ชอพนกงาน ถก determine โดย

{รหสพนกงาน,รหสโครงการ} แบบ Partial FD

73

Second Normal Form : 2NF (Cont.)

1. หา FD2. หา Closure ของแตละ FD เพอหา CK, PK, Prime

Attribute และ Nonprime attribute3. วาด FD4. ตรวจสอบแตละ ตารางวาเปนไปตามนยาม 2NF โดยด

จากแตละ FD5. ถา FD ใด เกดปญหา แสดงวาตารางนไมอยใน 2NF

ใหทาการแตกเปนตารางยอย ตาม FD ททาใหเกดปญหา

74

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 116: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-38

Second Normal Form : 2NF (Cont.)ตวอยาง พนกงาน_โครงการ (รหสพนกงาน,ชอพนกงาน,รหสโครงการ,ชอโครงการ,ทตงโครงการ,จานวนชวโมงททางาน) และม FDs ดงน

1. FD1: {รหสพนกงาน} -> {ชอพนกงาน}

FD2: {รหสโครงการ} -> {ชอโครงการ,ทตงโครงการ}

FD3: {รหสพนกงาน, รหสโครงการ} -> {จานวนชวโมงททางาน}

2. ทาการหา Closure แตละ FD ไดดงน

{รหสพนกงาน}+ = {รหสพนกงาน, ชอพนกงาน}

{รหสโครงการ}+= {รหสโครงการ, ชอโครงการ, ทตงโครงการ}

{รหสพนกงาน, รหสโครงการ}+= {รหสพนกงาน, รหสโครงการ, จานวนชวโมงททางาน, ชอพนกงาน, ชอโครงการ, ทตงโครงการ}

75

Second Normal Form : 2NF (Cont.)ดงนน CK/PK คอ {รหสพนกงาน, รหสโครงการ}

Prime attribute คอ {รหสพนกงาน, รหสโครงการ}

Nonprime attribute คอ {ชอพนกงาน,ชอโครงการ,ทตงโครงการ,จานวนชวโมงททางาน}

3. วาด FD เพอพจารณาวา พนกงาน_โครงการ เปน 2NF หรอไม ดงรปดานลาง

76

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 117: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-39

Second Normal Form : 2NF (Cont.)

• พจารณา FD1 {ชอพนกงาน} เปน nonprime attribute ถก determine โดย {รหสพนกงาน} ซงเปน CK/PK แบบ Partial FD ดงนน FD1 มปญหา ไมเปนไปตาม 2NF จงตองแตก relation พนกงาน_โครงการ ตาม FD1 จะได รเลชนใหมชอ พนกงาน(รหสพนกงาน, ชอพนกงาน)

77

Second Normal Form : 2NF (Cont.)

• พจารณา FD2 {ชอโครงการ,ทตงโครงการ} เปน nonprime attribute ถก determine โดย {รหสโครงการ} ซงเปน CK/PK แบบ Partial FD ทาให FD2 มปญหา ไมเปนไปตาม 2NF จงตองแตก relation พนกงาน_โครงการตาม FD2 จะได จะได รเลชนใหมชอ โครงการ(รหสโครงการ, ชอโครงการ, ทตงโครงการ)

78

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 118: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-40

Second Normal Form : 2NF (Cont.)

• พจารณา FD3 {จานวนชวโมงททางาน} เปน nonprime attribute ถก determine โดย {รหสพนกงาน, รหสโครงการ} ซงเปน CK/PK แบบ Full FD ทาให FD3 ไมเปนปญหา จงไมตองแตก relation ตาม FD3 • ดงนน รเลชน พนกงาน_โครงการ (รหสพนกงาน,รหสโครงการ,ชอโครงการ,ทตงโครงการ,จานวนชวโมงททางาน) จะตด attribute {ชอพนกงาน, ชอโครงการ,ทตงโครงการ} ออกไป ดงนนจะม attribute คอ พนกงาน_โครงการ(รหสพนกงาน, รหสโครงการ, จานวนชวโมงททางาน)

79

Second Normal Form : 2NF (Cont.)ดงนน relation ทอยใน 2NF คอ

80

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 119: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-41

Third Normal Form : 3NF

relation R จะอยใน 3NF ถา

1. Relation อยใน 2NF และ

2. Non-prime attribute ทกตวขนกบ CK/PK

แบบ non-transitive

หรอ อกความหมายคอ attribute ดานซายของแตละ FD จะตอง

ไมใช nonprime attribute

81

Third Normal Form : 3NF (Cont.)• คานยาม

Transitive functional dependency :

X -> Z ไดมาจาก 2 FD คอ X -> Y และ Y -> Z

เชน {รหสพนกงาน} -> {รหสผจดการแผนก} ไดมาจาก 2 FD คอ

{รหสพนกงาน} -> {รหสแผนก}

และ

{รหสแผนก} -> {รหสผจดการแผนก}

82

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 120: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-42

Third Normal Form : 3NF (Cont.)• ยกเวน

ถา X -> Y และ Y -> Z และ X เปน PK

จะเกดปญหา transitive dependency X -> Z

ถา Y ไมใช CK

แตถา Y เปน CK จะถอวาไมใชปญหา transitive dependency

83

Third Normal Form : 3NF (Cont.)

เชน EMP(Ssn,Emp#,Salary)

ม FD1: {Ssn} -> {Emp#}

FD2: {Emp#} -> {Salary}

และ Ssn เปน PK และ Emp# เปน CK

ดงนนไมเกดปญหา Transitive Dependency

จงถอวา EMP อยใน 3NF แลว

84

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 121: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-43

Third Normal Form : 3NF (Cont.)1. หา FD

2. หา Closure ของแตละ FD เพอหา CK, Key, Prime Attribute และ Nonprime attribute

3. วาด FD

4. ตรวจสอบแตละ ตารางวาเปนไปตามนยาม 3NF โดยดจากแตละ FD

5. ถา FD ใด เกดปญหา แสดงวาตารางนไมอยใน 3NF ใหทาการแตกเปนตารางยอย ตาม FD ททาใหเกดปญหา

85

Third Normal Form : 3NF (Cont.)ตวอยางพนกงาน_แผนก(รหสพนกงาน,ชอ,วนเกด,ทอย,รหสแผนก,ชอแผนก,รหสผจดการ)ม FD คอ FD1 : {รหสพนกงาน} -> {ชอ,วนเกด,ทอย,รหสแผนก} และ

FD2 : {รหสแผนก} -> {ชอแผนก,รหสผจดการ}

เรมจาก 2) ทาการหา closure {รหสพนกงาน}+ = {รหสพนกงาน,ชอ,วนเกด,ทอย,รหสแผนก,ชอแผนก,รหสผจดการ}

{รหสแผนก}+ = {รหสแผนก, ชอแผนก,รหสผจดการ}

ดงนน CK/PK คอ {รหสพนกงาน} Prime attribute คอ {รหสพนกงาน}

Non-prime attribute คอ {ชอ,วนเกด,ทอย,รหสแผนก,ชอแผนก,รหสผจดการ}

86

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 122: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-44

Third Normal Form : 3NF (Cont.)3) วาด FD พจารณาวาเปน 3NF หรอไม

เรมจาก FD แตละตว

FD1 {ชอ,วนเกด,ทอย,รหสแผนก} เปน non-prime ถก determine โดย {รหสพนกงาน} ซงเปน CK/PK ทาให FD นไมเปนปญหา

FD2 {ชอแผนก,รหสผจดการ} ถก determine โดย {รหสแผนก} ซงไมใช CK/PK ทาให FD นเปนปญหา

ดงนนจงตองแตกรเลชน

พนกงาน_แผนก ตาม FD2 จะได แผนก (รหสแผนก,ชอแผนก,รหสผจดการ)

87

Third Normal Form : 3NF (Cont.)ดงนน ตารางทอยใน 3NF คอ

88

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 123: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-45

Third Normal Form : 3NF (Cont.)• นยาม สาหรบ กรณท พจารณา วา รเลชนอยใน 3NF หรอไมสาหรบกรณทมรเลชนม CK มากกวา 1 ชด

ทกๆ FD X -> A จะตองเปนไปตามเงอนไขขอใดขอหนงดงน

1) attribute ดานซายของ FD ตองเปน Super key

2) attribute ดานขวาของ FD ตองเปน Prime attribute

• ถาไมเปนไปทงสองขอถอวา FD เปนปญหาตอ 3NF

89

Third Normal Form : 3NF (Cont.)เชน R1 (A,B,C,D,E) R2(E,F,G,H)

FD1 {A} -> {B,C,D} FD2 {C} -> {D}

FD3 {E} -> {F,G} FD4 {G} -> {E,H}

หา Closure

{A}+ = {A,B,C,D} {C}+ = {C,D}

{E}+ = {E,F,G,H} {G}+ = {G,E,H,F}

90

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 124: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-46

Third Normal Form : 3NF (Cont.)เชน

ดงนน

R1 ม CK คอ {A,E} เพราะจาก {A}+ ไมม E กสามารถเพม E ได

ดงนน prime attribute ใน R1 คอ {A,E} สวน non-prime คอ {B,C,D}R2 ม CK คอ {E},{G}

ดงนน prime attribute ใน R2 คอ {E,G} สวน non-prime คอ {F,H}

91

Third Normal Form : 3NF (Cont.)92

เรมทา normalization จาก 2NF R1 : พจารณา FD1 {B,C,D} เปน non-prime attribute ถก

determine โดย {A} ซงเปนสวนหนง CK/PK แบบ Partial FD ทาให FD1 มปญหา ดงนนจงตองแตกรเลชน R1 ตาม FD1 ไดรเลชนใหม คอ R11(A,B,C,D)

พจาณา FD2 {D} เปน non-prime attribute ถก determine โดย {C} ซง {C} เปน non-prime attribute เชนกน ดงนน ทาให FD2 ไมมปญหา

ดงนน รเลชนอยใน 2NF คอ R11(A,B,C,D) และ R1(A,E) โดย R1 ไมม FD

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 125: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-47

Third Normal Form : 3NF (Cont.)93

เรมทา normalization จาก 2NF R2 : พจารณา FD3 : {F} เปน non-prime attribute ถก determine โดย

{E} ทเปน CK/PK แบบ Full FD ดงนน FD3 ไมมปญหา สวน {G} เปน prime attribute ซงกรณน ถอวา FD3 ไมมปญหา

พจารณา FD4 : {H} เปน non-prime attribute ถก determine โดย {G} ทเปน CK/PK แบบ Full FD ดงนน FD4 ไมมปญหา สวน {E} เปน prime attribute ซงกรณน ถอวา FD4 ไมมปญหา

ดงนน R2 อยใน 2NF แลวสรป Relation ทอยใน 2NF คอ R1(A,E) , R11(A,B,C,D) , R2(E,F,G,H)

Third Normal Form : 3NF (Cont.)94

ตอไปทา 3NF วาด FD จากตารางทอยใน 2NF แลว

R1 อยใน 3NF แลว เพราะ R1 ไมม FDR11 ม FD 2 FD คอ FD1 : {A} -> {B,C} และ FD2 : {C} -> {D}

FD1 : attribute ดานซายของ FD1 คอ {A} เปน prime attribute ทาให FD1 ไมมปญหา ไมเกดปญหา transitive dependency

FD2 : attribute ดานซายของ FD2 คอ {C} เปน non-prime attribute ดงนน FD2 มปญหา จงตองทาการแตกรเลชน R11 ตาม FD2 จะไดรเลชนใหม คอ R111(C,D)

ดงนน รเลชน R11(A,B,C) ม FD1 และ R111(C,D) ม FD2 อยใน 3NF

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 126: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-48

Third Normal Form : 3NF (Cont.)95

ตอไปทา 3NF วาด FD จากตารางทอยใน 2NF แลว

R2 : ม CK 2 ชดคอ {A}, {E} ใชคานยามใน slide 89FD3 : attribute ดานซายของ FD3 คอ {E} เปน Super key ดงนน FD3 ไมมปญหาFD4 : attribute ดานซายของ FD4 คอ {G} เปน Super key ดงนน FD4 ไมม

ปญหาดงนน R2 อยใน 3NF แลวดงนน Relation ทอยใน 3NF

Third Normal Form : 3NF (Cont.)ตวอยาง LOTS(Property_ID#,Country_name,Lot#,Area,Price,Tax_rate)

ม FD ดงน

FD1 : {Property_ID#} -> {Country_name,Lot#,Area,Price,Tax_rate}

FD2 : {Country_name,Lot#} -> {Property_ID#,Area,Price,Tax_rate}

FD3 : {Country_name} -> {Tax_rate}

FD4 : {Area} -> {Price}

จงหาวา LOTS อยใน 2NF และ 3NF หรอไม

96

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 127: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-49

Third Normal Form : 3NF (Cont.)2) หา Closure คอ

{Property_ID#}+= {Property_ID#,Country_Name,Lot#,Area,Price,Tax_Rate}

{Country_Name,Lot#}+= {Country_Name,Lot#,Property_ID#,Area,Price,Tax_rate}

{Country_Name}+ = {Country_Name,Tax_rate}

{Area}+ = {Area,Price}

ดงนน CK คอ {Property_ID#},{Country_Name,Lot#}

Prime attribute คอ {Property_ID#,Country_Name,Lot#}

non-prime attribute คอ {Area,Price,Tax_Rate}

97

Third Normal Form : 3NF (Cont.)3) วาด FD

98

4) พจารณาวาเปน 2NF หรอไม- FD1 : {Area,Price,Tax_rate} เปน Non-prime attribute ถก determine โดย {Property_ID#} ซงเปน CK/PK แบบ Full FD ทาให FD1 ไมเปนปญหา สวน {Country_name,Lot#} เปน Prime attribute จะไมพจารณา ถอวา ไมมปญหา- FD2 : {Area,Price,Tax_rate} เปน Non-prime attribute ถก determine โดย {Country_name,Lot#} ซงเปน CK/PK แบบ Full FD ทาให FD2 ไมเปนปญหา สวน {Property_ID#} เปน Prime attribute จะไมพจารณา ถอวา ไมมปญหา

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 128: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-50

Third Normal Form : 3NF (Cont.)

- FD3 : {Tax_Rate} เปน Non-prime attribute ถก determine โดย{Country_Name} ซงเปนสวนหนงของ CK/PK แบบ Partial FD ทาให FD3 มปญหา จงแตกรเลชน LOTS ตาม FD3 ไดรเลชนใหมคอ LOTS1(Country_name, Tax_rate)

99

Third Normal Form : 3NF (Cont.)

- FD4 : {Price} เปน non-prime attribute ถก determine โดย {Area} ซงเปน non-prime attribute เหมอนกน ดงนน ไมตองพจารณา ถอวา FD4 ไมเปนปญหา

100

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 129: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-51

Third Normal Form : 3NF (Cont.)ดงนน relation ทอยใน 2NF คอ

101

Third Normal Form : 3NF (Cont.)5) พจารณาวา relation LOTS, LOTS1 อยใน 3NF หรอไม

เนองจากม CK/PK 2 ชด ดงนน ใชคานยาม slide 89 พจารณา

102

5.1 พจารณา วา LOTS1 อยใน 3NF หรอไม

LOTS1 ม FD3 : attribute ดานซายคอ {Country_name} ซงไมใช Super key และ attribute ดานขวาคอ {Tax_rate} ไมใช Prime attribute ทาให FD3 เปนปญหา จงตองแตกรเลชน LOTS1 ตาม FD3 แตเมอแตกรเลชนแลว กยงคงได รเลชนเดมคอ LOTS1 ดงนน ถอวา LOTS1 ไมอยใน 3NF อยแค 2NF

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 130: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-52

Third Normal Form : 3NF (Cont.)5.2 พจารณา วา LOTS อยใน 3NF หรอไม

ซงม CK 2 ชด ใชคานยามใน slide 89

103

FD1 attribute ดานซายของ FD1 คอ {Property_ID#} เปน Super key ทาให FD1 ไมเปนปญหา

FD2 attribute ดานซายของ FD2 คอ {Country_Name,Lot#} เปน Super key ทาให FD2 ไมเปนปญหา

Third Normal Form : 3NF (Cont.)5.2 พจารณา วา LOTS อยใน 3NF หรอไม

104

FD4 attribute ดานซายของ FD4 คอ {Area} ไมใช Super key และ attribute ดานขวาของ FD4 คอ {Price} ไมใช Prime attribute

ดงนน FD4 เปนปญหา จงตองแตก LOTS ตาม FD4 ไดรเลชนใหมคอ

LOTS2(Area, Price)

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 131: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-53

Third Normal Form : 3NF (Cont.)ดงนน relation ทอยใน 3NF คอ

105

ดงนน relation ทไมอยใน 3NF แตอยแค 2NF คอ

BCNF (Boyce-Codd Normal Form)BCNF (Boyce-Codd Normal Form)

นยาม relation R จะอยในรป BCNF

ถาม FD X -> A แลว X เปน Super key เทานน

• ทกๆ 2NF อยใน 1NF แนๆ

• ทกๆ 3NF อยใน 2NF แนๆ

• ทกๆ BCNF อยใน 3NF แนๆ แต 3NF ไมจาเปนตองอยใน BCNF

106

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 132: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-54

BCNF (Boyce-Codd Normal Form) (Cont.)จากตวอยาง LOTS(Property_ID#,Country_Name,Lot#,Area) พจารณา LOTS เปน BCNF หรอไม

เพม FD5 : {Area} -> {Country_name}

107

BCNF (Boyce-Codd Normal Form) (Cont.)พจารณา LOTS เปน BCNF หรอไม

108

• FD1 attribute ดานซายของ FD1 คอ {Property_ID#} เปน Super key ดงนน FD1 ไมเปนปญหา

• FD2 attribute ดานซายของ FD คอ {Country_Name,Lot#} เปน Super key ดงนน FD2 ไมเปนปญหา

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 133: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-55

BCNF (Boyce-Codd Normal Form) (Cont.)

FD5 attribute ดานซายของ FD5 คอ {Area} ไมใช Super key ทาให FD5 เปนปญหา จงตองแตกรเลชน LOTS ตาม FD5 ไดรเลชนใหมคอ LOTS4(Area, Country_name)ดงนน LOTS(Property_ID#,Lot#,Area) ทาให FD2 หายไป เนองจาก ไมม attribute {Country_name}

109

FD2 หายไป

BCNF (Boyce-Codd Normal Form) (Cont.)ตวอยาง R(A,B,C) อยใน BCNF หรอไม กาหนด FD คอ FD1 : {A,B} -> {C}

FD2 : {C} -> {B}2) หา closure

{A,B}+ = {A,B,C}{C}+ = {C,B}ดงนน CK/PK คอ {A,B} Prime attribute คอ {A,B} Non-prime attribute คอ {C}Super key คอ {A,B}

110

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 134: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-56

BCNF (Boyce-Codd Normal Form) (Cont.)3) วาด FD

111

FD1 attribute ดานซายคอ {A,B} เปน Super key ทาให FD1 ไมเปนปญหา

FD2 attribute ดานซายคอ {C} ไมใช Super key ทาให FD2 เปนปญหา ทาให ตาราง R ไมใช BCNF จงแตกรเลชน R ตาม FD2 ไดรเลชนใหมคอ R2(C,B) สวน R(A,C) และ FD1 หายไป เนองจาก B หายไป

FD1 หายไป

BCNF (Boyce-Codd Normal Form) (Cont.)ตวอยาง TEACH(Student,Course,Instructor) อยใน 3NF และ BCNF หรอไม

กาหนด FD คอ

FD1 : {Instructor} -> {Course}

FD2 : {Student,Course} -> {Instructor}

Closure : {Instructor}+ = {Instructor,Course}

{Student,Course}+ = {Student,Course,Intructor}

CK ={Student,Course} = Super key

Prime = {Student, Course} Non-prime = {Instructor}

112

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 135: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-57

BCNF (Boyce-Codd Normal Form) (Cont.)ตวอยาง TEACH(Student,Course,Instructor) อยใน 3NF และ BCNF หรอไม

พจารณาวาอยใน BCNF ?FD1 : attribute ดานซายคอ {Instructor} ไมใช Super key ดงนน FD1 มปญหา จงแตกรเลชน TEACH ตาม FD1 ไดรเลชนใหมคอ T1(Instructor,Course)

FD2 : attribute ดานซายคอ {Student,Course} เปน Super key ดงนน FD2 ไมมปญหา

ดงนน รเลชน TEACH ไมอยใน BCNF และ รเลชนทอยใน BCNF คอT1(Instructor,Course) Teach(Student,Instructor)

113

BCNF (Boyce-Codd Normal Form) (Cont.)ตวอยาง TEXT(Teacher,Course,Text) อยใน 3NF และ BCNF หรอไม

กาหนด FD คอ

FD1 : {Text} -> {Course}

FD2 : {Teacher,Course} -> {Text}

114

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 136: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-58

Fourth Normal Form (4NF)Multivalued dependency (MVD)

จะม 2 independent 1:N relationships A:B and A:C อยใน relation เดยวกน และ MVD คอ X ->> Y คอ X 1 คาจะมคา Y ไดหลายคา

ถา tuples t1 และ t2 มอยใน r ทซง t1[X] = t2[X] ดงนน tuple t3 และ t4 กจะมอยใน r เชนกน ดวย

- t3[X] = t4[X] = t1[X] = t2[X]

-t3[Y] = t1[Y] and t4[Y] = t2[Y]

-t3[Z] = t2[Z] and t4[Z] = t1[Z]

115

Fourth Normal Form (4NF)

MVD X ->> Y ใน R เรยกวา trivial MVD ถา

a) Y เปน subset ของ X หรอ

b) X Y = R

116

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 137: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-59

Fourth Normal Form (4NF)

นยาม

• ถา relation R อยใน 4NF และม X ->> Y ใน F+ แลว X ตองเปน Super key เทานน

117

Fourth Normal Form (4NF)

118

EMP ENAME PNAME DNAMESmith X JohnSmith Y AnnaSmith X AnnaSmith Y JohnBrown W JimBrown X JimBrown Y JimBrown Z JimBrown W JoanBrown X JoanBrown Y JoanBrown Z JoanBrown W BobBrown X BobBrown Y BobBrown Z Bob

EMP_PROJECTS ENAME PNAMESmith XSmith YBrown WBrown XBrown YBrown Z

EMP_DEPENDENTS ENAME DNAMESmith JohnSmith AnnaBrown JimBrown JoanBrown Bob

A) Not 4NF

MVD :

ENAME ->> PNAME

ENAME ->> DNAME

B) In 4NF

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 138: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-60

Fifth Normal Form (5NF)ใช Join dependency (JD) หมายถง ถาทาการแตก Relation – R เปน relation ยอยๆ คอ R1,R2,..,Rm ดงนน R เกดจากการ join กนของ R1,R2,..,Rm และควรแตก R เปน R1,R2,..,Rm หรอ จะคง R ไว ขนกบวา R เปน 5NF หรอไม

นยาม

R จะอยใน 5NF แลวกตอเมอ ทก nontrivial join dependency R1,R2,..,Rm ทก attribute เปน Super key ของ R

119

Fifth Normal Form (5NF)

120

EMP ENAME PNAME DNAMESmith X JohnSmith Y AnnaSmith X AnnaSmith Y JohnBrown W JimBrown X JimBrown Y JimBrown Z JimBrown W JoanBrown X JoanBrown Y JoanBrown Z JoanBrown W BobBrown X BobBrown Y BobBrown Z BobSmith X Jim

EMP_PROJECTS1 ENAME PNAMESmith XSmith YBrown WBrown XBrown YBrown Z

EMP_DEPENDENTS1 PNAME DNAMEX JohnY AnnaX AnnaY JohnW JimX JimY Jim

…. … …

A)B) In 4NF Not 5NF

ทมา : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 139: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-61

Fifth Normal Form (5NF)

121

EMP ENAME PNAME DNAMESmith X JohnSmith Y AnnaSmith X AnnaSmith Y JohnBrown W JimBrown X JimBrown Y JimBrown Z JimBrown W JoanBrown X JoanBrown Y JoanBrown Z JoanBrown W BobBrown X BobBrown Y BobBrown Z Bob

EMP_PROJECTS ENAME PNAMESmith XSmith YBrown WBrown XBrown YBrown Z

EMP_DEPENDENTS ENAME DNAMESmith JohnSmith AnnaBrown JimBrown JoanBrown Bob

A) B) In 4NF and 5NF

ทมา : Fundamental of Database Systems , Elmasri & Navathe

สรป การออกแบบ Database1. สราง ER/EER

2. Mapping ER/EER เปน table

3. หา FD ทมาจาก Requirement

4. Map FD เขากบแตละ table โดยท 1 FD สามารถ map ไดหลายตาราง

5. หา Closure

6. หา key วาตรงกบ key ทไดจาก EER หรอไม ถาตรงกน กนาจะถก ถาไมตรง แสดงวา ไม FD ก EER ผด

7. ทา normalization

8. สรางพจนานกรมขอมล (Data Dictionary)

122

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 140: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-62

การทาพจนานกรมขอมล123

ลาดบท

ชอ Attribute ชนดขอมล ความยาว Null/NotNull

PK/FK ตารางอางอง

คาอธบาย

1. Property_ID# Varchar2 10 Not Null PK - รหสสมบต

2. Country_name Varchar2 3 Not Null - - ชอประเทศ

3. Lot# Number 3 Null FK LOTS1 หมายเลขLot

4. Area Number 1 Null - - พนท

ตวอยาง กรณศกษา ระบบขอมลการเรยนการสอน

124

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 141: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-63

แบบฝกหดท 4 การทา Normalization

125

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 142: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-77

แบบฝกหดท 3 EER mapping

1.จงทาการ map ER Model ดานลางนใหเปน relation

พนกงาน

ชนสวนสนคา

รหสพนกงาน

ชอ

นามสกล

รหสไปรษณย

ลกคา

รหสลกคา

ชอ

นามสกล

รหสไปรษณย

รหสชนสวนสนคา

ชอชนสวนสนคา

ราคา

จานวนทมในคลง

สงซอN

M

N

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 143: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-78

2. จงทาการ map ER Model ดานลางนใหเปน relation

DEPENDENTDEPENDENT

Relationship

DEPARTMENT

Name Number

LocationsEMPLOYEE

Ssn

AddrSalary

Sex

Birthdate

PROJECT

Name

NumberLocation

Name

SexBirthdate

manages1 1

works_for1 N

works_on

N

M

StartDate

Hours

supervise

Supervisor 1

Supervisee N

Depent

N

1

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 144: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-79

3.จงทาการ map ER Model ดานลางนใหเปน relation

DEPENDENTS_OFDEPENDENTS_OF

EMPLOYEE

SUPERVISION

WORKS_FOR

supervisee

supervisor

1 N

DEPARTMENT

1NSalary

Address

Sex

Name

Ssn

Bdate

FnameMinit Lname

Name Number

Locations

NumberOfEmployees

MANAGES

StartDate

1 1

CONTROLS

PROJECT

1

N

Name

PNumber

Location

WORKS_ON

Hours

M N

1

N

Name

SexBirthDate

Relationship

DEPENDENT

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 145: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-80

4. จงทาการ map ER Model ดานลางนใหเปน relation

AIRPORT

AirportCode

Name

State

City

CAN_LAND

AIRPLANE TYPE

TypeName

Maxseats

Company

N

M

TYPE

AIRPLANE

AirplaneId

Total_no_of_seats

N

1

DEPARTURE_ AIRPORT

FLIGHTLEG1 N

ScheduledDepTime

LegNo

ARRIVAL_ AIRPORT

ScheduledArrTime

1N

1

FLIGHT

Weekdays

N

Number

Airline

DEPENDENTS_OFLEGS

DEPENDENTS_OFFARES

FARE

1

N Code

Amount

Restrictions

DEPENDENTS_OFINSTANCEOF

LEG INSTANCE

N

1 instances

Date

No_of_avail_Seats

ARRIVES

ArrTime

N

1

DEPARTS

1

N

DepTime

ASSIGNED1 N

DEPENDENTS_OFRESERVED

SEAT

1

N

CustomerName

CPhoneSeatNo

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 146: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-81

5.จงทาการ map EER Model ดานลางนใหเปน relation

MissionPlan Consist of FlightSegment Consist of Cargo

Consist of

Passenger

d

ShipmentItemAircraft

Use

Code Name Description

1 M

Number Origin Description

N M

M

N

Date

AID Status ModelCapacity

Name

Weight DimensionCID

ID Origin Destination

N

M∩

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 147: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-82

แบบฝกหดท 4 การทา Normalization

1. จากรเลชน R(A, B, C, D, E, F, G, H, I, J) จงแสดงขนตอนการทา Normalization โดยกาหนดให R อย

ในรปของ 1NF แลว และม FD ดงตอไปน

FD1 : {A, B} -> {C}

FD2 : {A} -> {D, E}

FD3 : {B} -> {F}

FD4 : {F} -> {G, H}

FD5 : {D} -> {I, J}

2. จงแสดงขนตอนการทา Normalization โดยกาหนดให REGIS(Student_id,

Student_name,Teacher_id, Teacher_name, Course_id, Course_name, Credit_hour) อยใน

รปของ 1NF แลว จนกระทงรเลชนอยในรป BCNF และม FD ดงตอไปน

FD1 : {Student_id} -> {Student_name}

FD2 : {Teacher_id} -> {Teacher_name}

FD3 : {Course_id} -> {Course_name, Credit_hour}

FD4 : {Student_id, Course_id} -> {Teacher_id}

FD5 : {Teacher_id} -> {Course_id}

3. จงแสดงขนตอนการทา Normalization โดยกาหนดให R(A, B, C, D, E, F, G, H, I) อยในรปของ 1NF

แลว จนกระทงรเลชนอยในรป BCNF และม FD ดงตอไปน

FD1 : {A} -> {B, C, D}

FD2 : {E} -> {F, G, H}

FD3 : {A, E} -> {I}

FD4 : {G} -> {H}

4. จงแสดงขนตอนการทา Normalization โดยกาหนดให R(A, B, C, D, E) อยในรปของ 1NF แลว จนกระ

ทงรเลชนอยในรป BCNF และม FD ดงตอไปน

FD1 : {A} -> {B, C}

FD2 : {C, D} -> {E}

FD3 : {B} -> {D}

FD4 : {E} -> {A}

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 148: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

5-83

5. จงแสดงขนตอนการทา Normalization โดยกาหนดให

CREDIT_CARD(Card_no, Exp_Date, Cur_bal, Cust_id, Cust_name, Cust_Addr)

MERCHANT(Merch_id, Card_no, Merch_Addr, Date, Amount)

อยในรปของ 1NF แลว จนกระทงรเลชนอยในรป BCNF และม FD ดงตอไปน

FD1 : {Card_no} -> {Exp_date, Cust_id, Cur_bal, Cust_name, Cust_Addr}

FD2 : {Cust_id} -> {Cust_name, Cust_Addr}

FD3 : {Merch_id} -> {Merch_Addr}

FD4 : {Merch_id, Card_no} -> {Date, Amount}

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 149: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-1

บทท 6 เครองชวยตอบขอซกถาม

อ.ศรพร แสนศรภาควชาวทยาการคอมพวเตอรและสารสนเทศ

คณะวทยาศาสตรและวศวกรรมศาสตร

1

เนอหาบทเรยน

• พนฐานของคาสง SQL

• ชนดขอมลและขอบเขตขอมลของแอททรบวต

• คาสง SQL

• ภาษาการจดการขอมล (Data Manipulation Language –DML)

• ภาษาการกาหนดขอมล (Data Definition Language – DDL)

2

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 150: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-2

พนฐานของคาสง SQL (Introduction SQL)

• SQL (Sequel) – Structure Query Language

• เรมแรกถกออกแบบโดย IBM Research

• ปจจบน คอ ความรวมมอ ระหวาง ANSI กบ ISO

• เรมแรกตงแต SQL (ANSI 1986) or SQL-86 หรอ SQL1

• ตอมา SQL2 หรอ SQL-92

• ตอมา SQL-99 ทใชกนอยางแพรหลาย

• ตอมา SQL3 ไมคอยไดรบความนยม

3

Introduction SQL (Cont.)• เปนภาษาทางฐานขอมล (Database Language)

• ประกอบดวยคาสงตอไปน• การกาหนดนยามขอมล (Definition)

• การสอบถามขอมล (Queries)

• การเปลยนแปลงขอมล (Updates)

• นนคอ ประกอบดวย 2 สวนคอ• DDL – Data Definition Language

• DML – Data Manipulation Language

4

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 151: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-3

ชนดขอมลและขอบเขตขอมลของแอททรบวต• ชนดขอมลพนฐาน (Basic Data Types)• Numeric data types เชน Integer, Floating-point เปนตน

• Character-string data types เชน Char(n), Varchar(n),

• Bit-string data types เชน Bit(n)

• Boolean data types คอ คาความจรง TRUE หรอ FALSE

• Date/Time data types

• Timestamp data types

5

ภาษาการจดการขอมล (DML – Data Manipulation Language)• INSERT Command

• DELETE Command

• UPDATE Command

•SELECT-FROM-WHERE Command

6

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 152: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-4

แผนภาพโครงสรางฐานขอมล (Schema diagram for the database)

7

ทมา : Fundamental of Database Systems , Elmasri & Navathe

EMPLOYEE - พนกงานData Type

varchar2(50) char varchar2(50) number date varchar2(200) char number number number

Fname Minit Lname Ssn Bdate Address Sex Salary Super_ssn Dnoชอตน ชอกลาง นามสกล รหสพนกงาน วนเกด ทอย เพศ เงนเดอน รหสหวหนา รหสแผนก

John B Smith 123456789 1965-01-09731 Fondren, Houston,

TXM 50000 1

Frankin T Smith 333445555 1955-12-08 638 Voss, Houston, TX M 25000 123456789 5Alicia J Smith 999887777 1966-07-19 3321 Castle, Spring, TX F 28500 333445555 4

Jennifer S Smith 987654321 1941-06-20 291 Berny, Bellaire, TX F 32000 333445555 4

Remesh K Smith 666884444 1962-09-15 975 Fire Oak, Humtle, TX M 33500 123456789 5

Joyce A Smith 453453453 1972-07-31 5631 Rice, Houston, TX F 32000 123456789 5Ahmad V Smith 987987987 1969-03-29 980 Dallas, Houston, TX M 31050 333445555 4James E Smith 888665555 1937-11-10 450 Stone, Houston, TX M 27500 1

DEPARTMENT - แผนก DEPENDENT - ผเกยวของกบพนกงานData Type

varchar2(50) number numberdate

varchar2(50)char number date

Dname Dnumber Mgr_ssn Mgr_start_date Dependent_name Sex Essn Bdate Relationship

ชอแผนก รหสแผนก รหสผจดการ วนเรมตาแหนง ชอผเกยวของ เพศ รหสพนกงาน วนเกด ความสมพนธResearch 5 333445555 2010-04-01 Jane Smith F 123456789 1965-08-09 Wife

Administration 4 987654321 2010-03-01 Joyce Smith F 123456789 2000-05-19 DaughterHeadquarters 1 888665555 2010-06-01

Human Resource 3 666884444

ตวอยางขอมลในฐานขอมล COMPANT8

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 153: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-5

DEPT_LOCATIONS - ทตงแผนก PROJECT - โครงการ

Data Type number varchar2(100) varchar2(100) char(2) varchar2(100) number

Dnumber Dlocation Pname Pnumber Plocation Dnum

รหสแผนก ทตง ชอโครงการ รหสโครงการ ทตงโครงการ รหสแผนก1 Houston ProductX 1 Bellaire 54 Stafford ProductY 2 Sugarland 55 Bellaire ProductZ 3 Houston 4

5 Sugarland Computerzation 10 Stafford 5

5 Houston Reorganization 20 Houston 1

Newbenetis 30 Stafford 4

WORKS_ON WORKS_ON

Data Type number char(2) number Essn Pno Hours

Essn Pno Hours รหสพนกงาน รหสโครงการ จานวนชวโมงรหสพนกงาน รหสโครงการ จานวนชวโมง 333445555 20 10.0 123456789 3 32.5 999887777 30 30.0 123456789 2 7.5 999887777 10 10.0 666884444 3 40.0 987987987 10 35.0 453453453 3 20.0 987987987 30 5.0 453453453 2 20.0 987654321 30 20.0 333445555 2 10.0 987654321 20 15.0 333445555 3 10.0 888665555 20

333445555 10 10.0

ตวอยางขอมลในฐานขอมล COMPANT9

Queries• SELECT-FROM-WHERE structureรปแบบ SELECT <attribute list>, [aggregate function]

FROM <table list>[WHERE <condition>] [GROUP BY <attribute list>][HAVING <aggregate function condition>];

สามารถใช operator จาพวกเปรยบเทยบไดเชน =, <, <=, >, >=, <> เปนตน หรอ AND, OR เปนตน

10

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 154: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-6

ตวอยาง QueriesQ1 – จงแสดงรหสพนกงานของพนกงานทกคน

SELECT Ssn

FROM EMPLOYEE ;

11

Ssn123456789333445555999887777987654321666884444453453453987987987888665555

ตวอยาง Queries (Cont.)Q2 – จงแสดงเงนเดอนของพนกงานทกคน

SELECT Salary

FROM EMPLOYEE ;

Q3 – จงแสดงเงนเดอนของพนกงาน ใหแสดงเฉพาะคาไมซากน

SELECT Distinct Salary

FROM EMPLOYEE ;

12

Salary5000025000285003200033500320003105027500

Salary50000250002850032000335003105027500

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 155: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-7

ตวอยาง Queries (Cont.)Q4 – จงแสดงชอตนและนามสกลของพนกงานทกคน พรอมทงผลของการขนเงนเดอน 10 เปอรเซนต

SELECT Fname, Lname, 1.1*Salary AS Increased_sal

FROM EMPLOYEE ;

13

Fname Lname Increased_salJohn Smith 55000

Frankin Smith 27500Alicia Smith 31350

Jennifer Smith 35200Remesh Smith 36850Joyce Smith 35200

Ahmad Smith 34155James Smith 30250

ตวอยาง Queries (Cont.)Q5 – จงแสดงขอมลทกเขตขอมลของพนกงานทสงกด รหสแผนก หมายเลข 5

SELECT *

FROM EMPLOYEE

WHERE Dno = 5 ;

14

Fname Minit Lname Ssn Bdate Address Sex Salary Super_ssn DnoFrankin T Smith 333445555 1955-12-08 638 Voss, Houston, TX M 25000 123456789 5Remesh K Smith 666884444 1962-09-15 975 Fire Oak, Humtle, TX M 33500 123456789 5Joyce A Smith 453453453 1972-07-31 5631 Rice, Houston, TX F 25500 123456789 5

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 156: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-8

ตวอยาง Queries (Cont.)Q6 – จงแสดงขอมล วนเกด และ ทอยของพนกงานทมชอวา John B. Smith

SELECT Bdate, Address

FROM EMPLOYEE

WHERE Fname = ‘John’ AND Minit = ‘B’

AND Lname = ‘Smith’ ;

15

Bdate Address1965-01-09 731 Fondren, Houston, TX

ตวอยาง Queries (Cont.)Q7 – จงแสดงชอตนและนามสกลของพนกงานทกคน ทอาศยอยทเมอง

Houston รฐ Texas

SELECT Fname, Lname

FROM EMPLOYEE

WHERE Address LIKE ‘%Houston,TX%’ ;

Substring pattern queries

16

Fname LnameJohn Smith

Frankin SmithJoyce Smith

Ahmad SmithJames Smith

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 157: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-9

ตวอยาง Queries (Cont.)Q8 – จงแสดงทกเขตขอมลของพนกงานทสงกดรหสแผนกหมายเลข 5 และมเงนเดอนตงแต 30000 ถง 40000

SELECT *

FROM EMPLOYEE

WHERE Dno = 5 AND

(Salary BETWEEN 30000 AND 40000)

ORDER BY Salary DESC, Fname, Lname;

17

Fname Minit Lname Ssn Bdate Address Sex Salary Super_ssn DnoRemesh K Smith 666884444 1962-09-15 975 Fire Oak, Humtle, TX M 33500 123456789 5

ตวอยาง Queries (Cont.)

Q9 – จงแสดงชอตนและนามสกลพนกงาน ทไมมหวหนา โดยใหเรยงลาดบ จากนามสกล กอน แลวตอดวยชอตน

SELECT Fname, Lname

FROM EMPLOYEE

WHERE Super_ssn IS NULL

ORDER BY Lname, Fname;

18

Fname Lname

James Smith

John Smithคล

งความร

ดจทล ม

หาวทยาล

ยเกษตรศ

าสตร

Page 158: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-10

ตวอยาง Queries (Cont.) Q10 – จงแสดงรหสพนกงานของพนกงานทกคน

ททาโครงการหมายเลข 1 หรอ 2 หรอ 3

SELECT Distinct Essn

FROM WORKS_ON

WHERE Pno in (1,2,3) ;

19

Essn123456789666884444453453453333445555

ตวอยาง Queries (Cont.)Q11 – จงแสดง รหสพนกงาน และชอแผนกทพนกงานสงกด

SELECT Ssn, Dname

FROM EMPLOYEE, DEPARTMENT

WHERE Dno = Dnumber;

20

Ssn Dname123456789 Headquarters333445555 Research999887777 Administration987654321 Administration666884444 Research453453453 Research987987987 Administration888665555 Headquarters

เรยกวา SELECT-PROJECT-JOIN queriesคล

งความร

ดจทล ม

หาวทยาล

ยเกษตรศ

าสตร

Page 159: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-11

ตวอยาง Queries (Cont.)Q12 – จงแสดงชอตน นามสกล และ ทอยของพนกงาน ททางานทแผนก Research

SELECT Fname, Lname, Address

FROM EMPLOYEE, DEPARTMENT

WHERE Dname = ‘Research’

AND Dnumber = Dno ;

21

Fname Lname AddressFrankin Smith 638 Voss, Houston, TXRemesh Smith 975 Fire Oak, Humtle, TXJoyce Smith 5631 Rice, Houston, TX

ตวอยาง Queries (Cont.)Q13 – จงแสดงขอมลทกเขตขอมลของพนกงาน ทอยในแผนก Research

SELECT E.*

FROM EMPLOYEE AS E, DEPARTMENT AS D

WHERE Dname = ‘Research’ AND E.Dno = D.Dnumber;

22

Fname Minit Lname Ssn Bdate Address Sex Salary Super_ssn Dno

Frankin T Smith 333445555 1955-12-08 638 Voss, Houston, TX M 25000 123456789 5

Remesh K Smith 666884444 1962-09-15 975 Fire Oak, Humtle, TX M 33500 123456789 5

Joyce A Smith 453453453 1972-07-31 5631 Rice, Houston, TX F 25500 123456789 5

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 160: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-12

ตวอยาง Queries (Cont.) Q14 – จงแสดงชอตน และนามสกลพนกงาน ทม ผทเกยวของกบพนกงาน ทมชอและนามสกลและเพศเดยวกนกบพนกงาน

SELECT E.Fname, E.Lname

FROM EMPLOYEE E

WHERE E.Ssn IN (SELECT Essn

FROM DEPENDENT

WHERE E.Fname||E.Lname = trim(Dependent_name)

AND E.Sex = Sex) ;

Subqueries

23

E.Fname E.Lname

Joyce Smith

ตวอยาง Queries (Cont.)

Q15 – จงแสดงชอตน นามสกล ของพนกงาน และ ชอตน นามสกลของหวหนาของพนกงาน

SELECT E.Fname, E.Lname, S.Fname, S.Lname

FROM EMPLOYEE AS E, EMPLOYEE AS S

WHERE E.Super_Ssn = S.Ssn ;

24

E.Fname E.Lname S.Fname S.LnameFrankin Smith John SmithAlicia Smith Frankin Smith

Jennifer Smith Frankin SmithRemesh Smith John SmithJoyce Smith John Smith

Ahmad Smith Frankin Smith

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 161: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-13

ตวอยาง Queries (Cont.)

Q16 – จงแสดงหมายเลขโครงการ รหสแผนกทเปนเจาของโครงการ นามสกลของผจดการแผนก ทอยผจดการ และ วนเกดผจดการ ของโครงการทตงอยทเมอง Stafford

SELECT Pnumber, Dnum, Lname, Address, Bdate

FROM EMPLOYEE, DEPARTMENT, PROJECT

WHERE Plocation = ‘Stafford’

AND Dnum = Dnumber

AND Mgr_ssn = Ssn ;

25

Pnumber Dnum Lname Address Bdate10 4 Smith 291 Berny, Bellaire, TX 1941-06-2030 4 Smith 291 Berny, Bellaire, TX 1941-06-20

ตวอยาง Queries (Cont.) Q17 – จงหาผลรวมของเงนเดอน เงนเดอนสงสด เงนเดอนตาสด และคาเฉลยเงนเดอน ของพนกงานทกคน

SELECT SUM(Salary), MAX(Salary), MIN(Salary), AVG(Salary)

FROM EMPLOYEE ;

Aggregate function เชน SUM, MAX, MIN, AVG, COUNT เปนตน

26

sum(Salary) max(Salary) min(Salary) avg(Salary)259550 50000 25000 32443.75

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 162: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-14

ตวอยาง Queries (Cont.) Q18 – จงหาจานวนพนกงานทงหมด

SELECT COUNT(*)

FROM EMPLOYEE ;

หรอ

SELECT COUNT(Ssn)

FROM EMPLOYEE ;

27

count(*)8

count(Ssn)8

ตวอยาง Queries (Cont.)

Q19 – จงหาจานวนพนกงานและคาเฉลยของเงนเดอน ของแตละแผนก

SELECT Dno, COUNT(*), AVG(Salary)

FROM EMPLOYEE

GROUP BY Dno ;

เรยก Dno วา Grouping Attribute

28

Dno count(*) avg(Salary)1 2 387505 3 30166.674 3 30516.67

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 163: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-15

ตวอยาง Queries (Cont.)

Q20 – จงหาจานวนพนกงานทงหมด ทอยทแผนก Research

SELECT COUNT(*)

FROM EMPLOYEE , DEPARTMENT

WHERE Dname = ‘Research’

AND Dno = Dnumber ;

29

count(*)3

ตวอยาง Queries (Cont.) Q21 – จงแสดง หมายเลขโครงการ ชอโครงการ และจานวนพนกงานททางานอยในแตละโครงการ

SELECT Pnumber, Pname, COUNT(WORKS_ON.*)

FROM PROJECT, WORKS_ON

WHERE Pnumber = Pno

GROUP BY Pnumber, Pname ;

30

Pnumber Pname Count(Works_On.*)2 ProductY 33 ProductZ 410 Computerzation 320 Reorganization 330 Newbenetis 3

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 164: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-16

ตวอยาง Queries (Cont.) Q22 – จงแสดง หมายเลขโครงการ ชอโครงการ และจานวนพนกงานททางานอยในแตละโครงการ เฉพาะโครงการทมจานวนพนกงานทางานมากกวา 2 คน

SELECT Pnumber, Pname, COUNT(WORKS_ON.*)

FROM PROJECT, WORKS_ON

WHERE Pnumber = Pno

GROUP BY Pnumber, Pname

HAVING COUNT(WORKS_ON.*) > 2 ;

31

Pnumber Pname Count(Works_On.*)2 ProductY 33 ProductZ 410 Computerzation 320 Reorganization 330 Newbenetis 3

ตวอยาง Queries (Cont.) Q23 – จงแสดง ชอแผนก และจานวนพนกงานทสงกดอยในแตละแผนก เฉพาะพนกงานทมเงนเดอนมากกวา 30000 และเฉพาะแผนกทมจานวนพนกงานมากกวาหรอเทากบ 2 คน และใหแสดงขอมลเรยงลาดบตามชอแผนก จากมากไปนอย แลวตอดวยจานวนจากนอยไปหามากSELECT Dname, COUNT(E.*)FROM DEPARTMENT D, EMPLOYEE EWHERE Dnumber = Dno AND Salary > 30000 GROUP BY DnameHAVING COUNT(E.*) >= 2 ORDER BY 1 DESC, 2;

32

Dname Count(E.*)

Research 2

Administration 2

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 165: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-17

DML – Data Manipulation Language

• INSERT Command

•DELETE Command

•UPDATE Command• SELECT-FROM-WHERE Command

33

INSERT Statements• INSERT INTO command

เชน INSERT INTO EMPLOYEE

VALUES (‘Richard’, ‘K’, ‘Marini’, ‘653298653’, ‘1962-12-30’,

‘98 Oak Forest, Katy, TX’, ‘M’, 37000, ‘653298653’, 4);

เชน INSERT INTO EMPLOYEE (Fname, Lname, Dno, Ssn)

VALUES (‘Richard’, ‘Marini’, 4, ‘653298653’);

34

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 166: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-18

INSERT Statements (Cont.)• INSERT INTO command

เชน INSERT INTO DEPTS_INFO(D_name,No_of_emps,Total_sal)

SELECT Dname, COUNT(*), SUM(Salary)

FROM DEPARTMENT D, EMPLOYEE E

WHERE D.Dnumber = E.Dno

GROUP BY Dname ;

35

DELETE Statements • DELETE FROM command

เชน DELETE FROM EMPLOYEE

WHERE Lname = ‘Brown’ ;

เชน DELETE FROM EMPLOYEE

WHERE Ssn = ‘123456789’ ;

เชน DELETE FROM EMPLOYEE ;

36

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 167: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-19

UPDATE Statements • UPDATE command

เชน UPDATE PROJECT

SET Plocation = ‘Bellaire’, Dnum = 5

WHERE Pnumber = 10 ;

เชน UPDATE EMPLOYEE

SET Salary = 1.1*Salary

WHERE Dno IN (SELECT Dnumber FROM DEPARTMENT

WHERE Dname = ‘Research’) ;

37

ภาษาการกาหนดขอมล (DDL – Data Definition Language)

• คาสงในกลมน เรมตนดวยคาวา CREATE เปนสวนใหญ

• CREATE SCHEMA

• CREATE TABLE

• CREATE VIEW

• คาสงในกลม Schema Change Statements

38

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 168: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-20

DDL – Data Definition Language

CREATE SCHEMA

รปแบบ

CREATE SCHEMA ชอ schema AUTHORIZATION ชอ user

เชน CREATE SCHEMA COMPANY AUTHORIZATION Jsmith;

39

DDL – Data Definition LanguageCREATE TABLE

รปแบบ CREATE TABLE ชอ schema.ชอ table

(ระบชอ attribute ท 1 พรอม data type และความยาว,

ระบชอ attribute ท 2 พรอม data type และความยาว,

…,

ระบชอ attribute ท n พรอม data type และความยาว,

[PRIMARY KEY (ชอ attribute)] ,

[FOREIGN KEY (ชอ attribute)] ,

…. );

40

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 169: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-21

DDL – Data Definition LanguageCREATE TABLEเชน CREATE TABLE DEPARTMENT

(Dname varchar(15) NOT NULL,Dnumber Int NOT NULL,Mgr_ssnchar(9) NOT NULL,Mgr_start_date date,PRIMARY KEY (Dnumber),UNIQUE (Dname),FOREIGN KEY (Mgr_ssn) REFERENCES EMPLOYEE(Ssn));

41

DDL – Data Definition LanguageCREATE VIEW

เชน CREATE VIEW WORKS_ON1AS SELECT Fname, Lname, Pname, Hours

FROM EMPLOYEE, PROJECT, WORKS_ONWHERE Ssn = EssnAND Pno = Pnumber;

42

การเรยกใชงาน VIEWSELECT *FROM WORKS_ON1;

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 170: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-22

DDL – Data Definition LanguageCREATE VIEW (ตอ)

เชน CREATE VIEW DEPT_INFO(Dept_name,No_of_emps,Total_salAS SELECT Dname, Count(*), Sum(Salary)

FROM DEPARTMENT, EMPLOYEEWHERE Dnumber = DnoGROUP BY Dname;

43

การเรยกใชงาน VIEWSELECT Dept_name,No_of_emps,Total_salFROM DEPT_INFOWHERE Total_sal >= 35000;

Schema Change Statements DROP command

เชน DROP SCHEMA …..;

DROP TABLE …..;

DROP VIEW …..;

ALTER command

เชน ALTER TABLE …. ADD COLUMN;

ALTER TABLE … DROP COLUMN … CASCADE;

ALTER TABLE … DROP CONSTRAINT … CASCADE;

44

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 171: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

6-23

Schema Change Statements• DROP & ALTER command

เชน DROP SCHEMA COMPANY CASCADE;

DROP TABLE DEPENDENT CASCADE;

DROP VIEW WORKS_ON1;

ALTER TABLE COMPANY.EMPLOYEE ADD COLUMN job varchar(12);

ALTER TABLE COMPANY.EMPLOYEE DROP COLUMN Address;

ALTER TABLE COMPANY.EMPLOYEE DROP CONSTRAINT empsuperfkCASCADE;

45

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 172: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-1

บทท 7 การจดแฟมขอมลและความปลอดภยของแฟมขอมล

อ.ศรพร แสนศรภาควชาวทยาการคอมพวเตอรและสารสนเทศ

คณะวทยาศาสตรและวศวกรรมศาสตร

1

เนอหาบทเรยน

• พนฐานของทรานแซคชน - Transaction

• สถานะของทรานแซคชน (Transaction State)

• คณสมบตของทรานแซคชน (Property of Transaction)

2

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 173: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-2

พนฐานทรานแซคชน Transaction

• transaction คอ หนวย (unit) ของการประมวลผล (execute) คอเมอทาแลวตองทาจนจบ ถาทาไมจบกตองยกเลกทงหมด เชนม 5 คาสงตอ 1 transaction กตองทาใหเสรจทง 5 คาสง อาจจะเปน insert/update/delete/query กได ใน 1 transaction

• เมอ transaction เรมทางานและจบการทางาน database จะตองอยในสถานะถกตอง (valid state) ดงนน transaction จะตองอยในสถานะ consistent แตถาเปลยนจาก valid เปน invalid กตอง ยกเลกแตระหวางทาง database state อยในสถานะไมถกตอง (invalid state) ได แตถาจบตองอยใน valid state

3

Introduction (ตอ)

• เมอ transaction จบการทางานสมบรณ หรอ เมอ commit การเปลยนแปลงนใดๆ กตามทเกดจาก transaction กจะทาใหเกด permanent กคอยงอย ถาระบบลมเหลวหรอกขอมล การเปลยนแปลงเหลานกยงคงอย

• ใน transaction หนงๆ แยก operation เปน 2 ประเภทคอ ไมวาจะเปน insert/update/delete/query

• read(x) หรอ read_item(x)

• write(x) หรอ write_item(x)

4

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 174: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-3

read(x)

• ทาการคนหา address ของ disk block ทม item x อย

• copy disk block เขาไปใน buffer

• copy item x จาก buffer ไปยงตวแปรของโปรแกรมทมชอ x

5

write(x)• ทาการคนหา address ของ disk block ทม item x อย

• copy disk block เขาไปใน buffer

• copy item x จากตวแปรของโปรแกรมทมชอ x เขาไปเกบไวในตาแหนงทถกตองใน buffer

• store block ท update แลวจาก buffer กลบเขาส disk

6

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 175: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-4

7

TRANSACTION (ตอ)

ทมารป : Fundamental of Database Systems , Elmasri & Navathe

Interleaved processing VS parallel processing of concurrent transactions

8

ทมารป : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 176: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-5

Interleaved processing VS parallel processing of concurrent transactions

• interleaved processing คอ (t1-t2) ม 1 CPU แต user มองเหนวาหลายๆ โปรแกรมทางานพรอมกน แตกคอ ทางานไปนดนง ถาม I/O กหยด ไปให transaction อนทางานตอไปเรอยๆ

• concurrent processing คอ (t3-t4)มหลาย CPU ทางานไดพรอมๆ กน

ดงนนควรมการควบคมการทางานเหลาน ม 2 เรองทตองจดการคอ

• เมอเกดการลมเหลวของระบบ เชนไฟดบ จะทาการกระบบคนไดอยางไร

• concurrent execution กคอการ control เมอมการ access ขอมลตวเดยวกน จะตองไดขอมลทถกตอง (concurrency control)

9

การควบคม Concurrencyสาเหตทตองม concurrency control เนองจากเกดปญหา 4 ขอเหลานคอ

• The lost update problem

• The temporary update (dirty read) problem

• The incorrect summary problem

• The unrepeated read เมอ data ตวเดยวกนแตอานหลายครงแตคาไมเหมอนกน เชน agency ขายตวเครองบน เชน agency 1 ขายตวเครองบนวาม 1 ท เมอลกคาตองการจองกตอง read อกครง ทาใหทนงนอาจจะถกจองไปแลวกได เปนตน แกโดยให read,update อยใน transaction เดยวกน แลวตามดวย concurrency control กจะแกปญหาได

10

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 177: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-6

ตวอยาง ทรานแซคชน 2 ทรานแซคชน (Two sample transactions )

11

(a) The lost update problem. สมมต T1 คอ การโอนเงน คอโอนจาก X ไปยง Y ดวยจานวนเงน N สวน T2 คอการฝากเงน จานวน M ถาทงสอง transaction ทางานพรอมกนแบบ interleaved

(b) The temporary update problem.

ทมารป : Fundamental of Database Systems , Elmasri & Navathe

Two sample transactions (ตอ)12

ทมารป : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 178: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-7

Two sample transactions (ตอ)จากรป a สมมต X = 1000, Y = 800, N = 50 , M = 300

T1 read_item(1000), X := X-N := 1000-50 := 950 หยด X ยงไม write กลบไป buffer

T2 read_item(1000), X:= X+M := 1000+300 := 1300 หยด

T1 write_item(X) X=950 , read_item(Y) Y=800 หยด

T2 write_item(X) X=1300 หยด ซ งไปทบ 950 เรยกวา lost update problem เพราะคา 950 ถก update เปลยนไปดวยคา X=1300

T1 Y := Y+N := 800+50 := 850 , write_item(Y) Y=850

เมอจบแลวใน buffer X=1300 Y=850 ซ ง X ผดตองได 1250

13

Two sample transactions (ตอ)จากรป b เรยกวา temporary update problem

T1 read_item(X) X = 1000 , X:=X-N:=1000-50:=950,write_item(X) X= 950 หยด

T2 read_item(X) X=950, X:=X+M:=950+300:=1250,write_item(X) X=1250 หยด

T1 read_item(Y) Y=800 แลวเกด fail ดงนนจะตองยกเลกคอ X=1000 เหมอนเดม แตใน T2 อาน X=950 ไปแลวทาใหอานคาผดไปทางาน ดงนนจงตอง rollback กลบใหหมด คอ X=1000 เทาเดม แตคา X=950 อานไปแลวโดย T2 เรยกวา temporary update problem

14

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 179: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-8

ตวอยาง ปญหาการสรปขอมลทไมถกตอง (The incorrect summary problem)

15

ทมารป : Fundamental of Database Systems , Elmasri & Navathe

The incorrect summary problem (ตอ)จากรป c T1 โอนเงน T3 หา balance ลกคาของสาขาน ทางานพรอมๆกน

T3 sum:=0, read_item(A),.. หยดT1 read_item(X) X=1000, X:=X-N:=1000-50:=950,

write_item(X) X=950 หยดT3 read_item(X) X=950,

sum:=sum+X:=0+950:=950,read_item(Y) Y=800,sum:=sum+Y:=950+800:=1750 ซงผดไปแลว เพราะตองได 1800

T1 read_item(Y) Y=800, Y:=Y+N:=800+50:=850, write_item(Y) Y=850 หยด

ซงคา Y ยงทาไมเสรจ แต หา summary แลว เรยกวา incorrect summary problem

16

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 180: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-9

การกคนขอมล (Recovery)เมอ transaction ถกสงไปยง DBMS เพอทาการ execute ระบบจะตองมหนาทททาใหเกดความมนใจดงน

• ทก operation ใน transaction ทางานสาเรจและสมบรณและผลจากการทา transaction ถกเกบอยางถาวรใน database นนคอ DBMS จะตอง commit ใหเรยบรอย

• transaction ไมมผลตอขอมลใน database เพราะทาไมสาเรจ คอ DBMS จะตองทาการ rollback ทงหมด ทาใหขอมลเหมอนเดมกอนเกด transaction

17

Recovery (ตอ)ดงนนควรมการทา recovery เชน

• ถา transaction ทาสาเรจแลวคอ write ลง buffer แตยงไม write ลง disk

แตเกดไฟดบ ดงนน DBMS จะตองทาให transaction สาเรจคอไป write

ขอมลลง disk ซง DBMS จะตองทาซาเพอ write ขอมลลง disk ได

• ถา transaction ทางานไมสาเรจ บางสวน write ลง disk บางสวนยงไม write

ลง disk และเกดไฟดบ ดงนนเมอไฟตด recovery module จะทาหนาททาให

ขอมลเหมอนเดมกอนเกด transaction ถาไฟไมดบแตเกด error DBMS กจะทา

การ rollback

18

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 181: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-10

สถานะของทรานแซคชน (Transaction State)

transaction ใดๆ จะม state ดงน

• active state

• partially committed state

• committed state

• failed state

• terminated state

19

ตวอยาง State transition diagram สาหรบการประมวลผล transaction

20

ทมารป : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 182: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-11

State transition diagram สาหรบการประมวลผล transaction (ตอ)

• เมอเรม transaction ทางาน กอยใน active state คอพวก read/write เมอถงคาสงสดทายของการทา transaction เสรจ state กจะเปลยนเปน partially committed state จะไปส committed state โดย DBMS จะตองเกบขอมล ตรวจตามขนตอน recovery,concurrency แลวเมอทาสาเรจแลว ถกตองจะเปลยน state เปน committed state แลวไปส terminated state

• ถา transaction error จะเปลยนจาก active state เปน failed state

• จาก partially committed state จะไปส failed state โดย DBMS จะตองเกบขอมล ตรวจตามขนตอน recovery,concurrency แลวเมอทาสาเรจแลว แตปรากฎวาขอมลไมถกตองจะเปลยน state เปน failed state แลวไปส terminated state

21

The System Log• system log คอ ขอมลทเกยวของกบการทางานของ transaction ทมผลตอขอมลใน database เกบเฉพาะการ write data ไมเกบการ read data โดยเกบใน disk และทา backup เกบไว

• ในแตละ transaction เมอทางานกจะสราง transaction id ของแตละ transaction จะมคา unique เมอ transaction ถงจด commit คอทก operation ทางานสาเรจ ผลนจะตองถก write ลง log ดวยเชนกน

22

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 183: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-12

คณสมบตของทรานแซคชน (Properties of Transactions)

คณสมบตของ transaction เรยกวา ACID property ประกอบดวย

• Atomicity คอ unit ของ transaction กคอทาทงหมด ไมทาแคบางสวน ไมสามารถแบงแยกได ไมสามารถ interrupt ได ถาทาไมสาเรจตอง rollback ทงหมด

• Consistency preservation การทางานของ transaction ตองทางานแบบโดดๆ ไมสนใจขางเคยงและไดขอมลทถกตองดวย ทงเรมและสดทาย valid state ไป valid state

23

Properties of Transactions (ตอ)

• Isolation การทางานของ transaction ทมการทางานหลายๆ transaction จะตองไมมใครมาดงขอมลในชวงกลางของ transaction ไปได (intermidate result) คอจะถกซอนไว จะนาไปใชเมอจบ transaction ไมเหนขอมลของ transaction อนเลย

• Durability or permanency ผลของการทางานของ transaction จะตองเปนผลแบบถาวร ถาทาสาเรจสมบรณ

24

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 184: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-13

Properties of Transactions (ตอ)ตวอยาง transaction

ตองการทา transfer $50 จาก account A ไปยง account B

read(A)

A:=A-50

write(A)

read(B)

B:=B+50

write(B)

25

ตารางการทางานของทรานแซคชน (Schedules of Transactions)• การจดตารางการทางานของ transaction (interleave คอการสลบการทางาน) และมการทางานแบบ interleave จะตองทาการจด schedule

• Schedule ประกอบดวย คาสงทงหมดของ transaction และ ลาดบในการทางานทเปนไปตามลาดบของการทา transaction

• ถา transaction ทางานสาเรจ มคาสง commit เปนคาสงสดทาย แตถา transaction ทางานไมสาเรจ มคาสง abort เปนคาสงสดทาย

• เมอ transaction ทางานเสรจแลว database จะอยในสถานะ consistency คอไปสสถานะ valid ถาอยในสถานะ invalid transaction จะถก reject

26

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 185: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-14

Serializability of Schedule• เปนการทางานทละ transaction ใหจบไปทละ transaction จงจะทา transaction ตอไปได ถาไมละเมดกฎของ database 3 ขอ (referential integrity constraint,Integrityconstraint,Key constraint) กอยในรกษาสถานะ consistency ของ database อยแลว

• เมอมการทางานแบบ interleave ผลของการทางานตองเหมอนผลการทางานแบบ serial ดงนนการจดทา schedule มคณสมบต serializability คอ การจด n transaction จะไดผลลพธ equivalent กบแบบ serial schedule

27

Serializability of Schedule (ตอ)

Schedule 1

• T1 โอนเงน 50 บาท

• เปนการจดการทางานแบบ serial คอทาทละ transaction ใหเสรจกอน

• A = 1000 , B = 1000 เมอจบแลว A = 855 ,B = 1145

ดงนน A+B = 2000

28

T1 T2

Read (A)

A := A – 50

Write (A)

Read (B)

B := B + 50

Write (B)

Read (A)

Temp := A*0.1

A := A-temp

Write (A)

Read (B)

B := B+temp

Write (B)

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 186: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-15

Serializability of Schedule (ตอ)Schedule 2

• Let T1 and T2 be the transactions defined previously. The following schedule is not a serial schedule, but it is equivalent to Schedule 1.

• A=1000,B=1000 เมอจบแลว A=855,B=1145

29

T1 T2

Read (A)

A := A – 50

Write (A) Read (A)

Temp := A*0.1

A := A-temp

Write (A)

Read (B)

B := B + 50

Write (B)

Read (B)

B := B+temp

Write (B)

Serializability of Schedule (ตอ)Schedule 3

• The following concurrent schedule does not preserve the value of the sum A+B

• read จาก buffer กอนคอยเกบไปใสในตวแปร A=1000,B=1000 เมอจบแลว A = 950,B=1100 ดงนน schedule 3 ไมม serializability

30

T1 T2

Read (A) ม A ใน

buffer 1000

A := A – 50

Read (A)

Temp := A*0.1

A := A-temp

Write (A)

Read (B) ม B ใน

buffer 1000

Write (A)

Read (B)

B := B + 50

Write (B) 1050

B := B+temp

Write (B)

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 187: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-16

Conflict Operationsเมอ 2 operation ใน schedule มการ conflict ถาเกดเงอนไขใน 3 ขอนคอ• คนละ transaction

• access item X เดยวกน

• operation ใด operation หนงเปน write_item(x)

เชน li=read(Q), lj=read(Q) li and lj ไม conflict

li=read(Q), lj=write(Q) li and lj conflict

li=write(Q), lj=read(Q) li and lj conflict

li=write(Q), lj=write(Q) li and lj conflict

ถา 2 schedule จะ conflict equivalent ถาลาดบของ 2 operation ท conflict กนเปนลาดบเดยวกนทงสอง schedule

31

การทดสอบ Conflict Serializability32

การทดสอบวาถาม confilct operation แลวมาจด schedule แลวม conflict serializability หรอไม ถามแสดงวา schedule ใชงานได ถาไมมตองจด schedule ใหม โดยใช directed graph เขามาชวย1. สราง node คอแตละ transaction จานวน node เทากบ จานวน

transaction2. ถา Tj ม read_item(x) หลงจาก Ti ทม write_item(x) ใหสราง edge

จาก Ti -> Tj3. ถา Tj ม write_item(x) หลงจาก Ti ทม read_item(x) ใหสราง edge

จาก Ti -> Tj4. ถา Tj ม write_item(x) หลงจาก Ti ทม write_item(x) ใหสราง edge

จาก Ti -> Tj5. ถาได graph ทไมม cycle แสดงวา schedule มคณสมบต conflict

serializability แสดงวา schedule นใชได

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 188: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-17

การทดสอบ Conflict Serializability (ตอ)33

a) Serial schedule A : T1 followed by T2.b) Serial schedule B : T2 followed by T1.c) Two nonserialschedules C and D with interleaving of operationsT1 โอนเงน T2 ฝากเงน

ทมารป : Fundamental of Database Systems , Elmasri & Navathe

การทดสอบ Conflict Serializability (ตอ)a) ม conflict คอ T1 read_item(X) กบ T2 write_item(X) และ

T1 write_tiem(X) กบ T2 read_item(X) และ T1 write_item(X) กบ T2 write_item(X)

b) ม conflict คอ T2 read_item(X) กบ T1 write_item(X) , T2 write_item(X) กบ T1 read_item(X) , T2 write_item(X) กบ T1 write_item(X)

c) ม conflict คอ T1 read_item(X) กบ T2 write_item(X), T2 read_item(X) กบ T1 write_item(X) และ T1 write_item(X) กบ T2 write_item(X)

d) ม confilct คอ T1 read_item(X) กบ T2 write_item(X), T1 write_item(X) กบ T2 read_item(X) และ T1 write_item(X) กบ T2 write_item(X)

34

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต

Page 189: เอกสารประกอบการเรียนการสอน รายวิชา ระบบฐานข

7-18

การทดสอบ Conflict Serializability (ตอ)

a) Precedence graph for serial schedule A.

b) Precedence graph for serial schedule B.

c) Precedence graph for schedule C (not serializable).

d) Precedence graph for schedule D.

35

ทมารป : Fundamental of Database Systems , Elmasri & Navathe

คลงคว

ามรดจ

ทล มหาวท

ยาลยเก

ษตรศาสต