relational algebra - เว็บไซต์คณะเทคโนโลยี ......บทท 5...
TRANSCRIPT
บทท 5
พชคณตเชงสมพนธ
(Relational Algebra)
แบบจ ำลองฐำนขอมลเชงสมพนธ เปนแบบจ ำลองฐำนขอมลทนยมใชกนมำก
ทสดในปจจบน เพรำะเปนฐำนขอมลทเขำใจงำย กำรจดเกบขอมลในรปของตำรำง 2
มต คอแถวหรอทเพล และคอลมนหรอแอททรบวท กำรเชอมโยงระหวำงขอมลใน
ตำรำงสองตำรำงหรอมำกกวำ จะเชอมโยงกนโดยใชแอททรบวททมอยในตำรำงท
ตองกำรเชอมโยงขอมลกน โดยทแอททรบวทจะแสดงคณสมบตของรเลชนตำง ๆ ท
เหลำนผำนกระบวนกำรท ำใหเปนบรรทดฐำน (Normalized) เพอลดควำมซ ำซอนและ
ใหกำรจดกำรฐำนขอมลเปนไปอยำงมประสทธภำพ
พชคณตเชงสมพนธ (Relational Algebra) หรอเรยกไดอกอยำงวำ Relational
Query Language เปนทฤษฎทำงภำษำทเนนภำษำกำรสอบถำมทมควำมสมพนธกบ
แบบจ ำลองแบบเชงสมพนธ โดยเนนของพชคณตเชงสมพนธและแคลคลสเชงสมพนธ
กำรเขยนพชคณตเชงสมพนธจะเปนกำรสงทละขอ มลกษณะเปนขนตอน (Procedural)
ส ำหรบกำรด ำเนนกำรระหวำงขอมลในรเลชนใดรเลชนหนงหรอหลำยรเลชน เพอสรำง
รเลชนใหมจำกรเลชนเดม โดยทผลของกำรด ำเนนกำรนนจะไมสงผลกระทบตอร
เลชนหลกหรอรเลชนเดมแตอยำงใด
Dr. E.F Codd ไดก ำหนดแบบจ ำลองของกำรด ำเนนกำร (Operation) ตำง ๆ ท
เกดขนกบขอมลในแบบจ ำลองฐำนขอมลเชงสมพนธ ม 2 แบบ ดวยกน คอพชคณตเชง
สมพนธ และ แคลคลสเชงสมพนธ (Relational Calculus) พชคณตเชงสมพนธท Codd
ก ำหนดไวประกอบไปดวย 8 ตวด ำเนนกำร (Codd,1972) แตตวด ำเนนกำรพนฐำนหรอ
กำรใชงำนขนพนฐำนจะม 5 ตวด ำเนนกำร คอ Selection, Projection, Cartesian
Product, Union และ Set Difference สวนอก 3 ตวด ำเนนกำร จะใชส ำหรบสบคนขอมล
ตำมเงอนไขทผใชตองกำร คอ Join, Intersection และ Division เปนตน
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 96
1. การด าเนนการแบบยนาร (Unary Operations)
กำรด ำเนนกำรแบบยนำร เปนกำรด ำเนนกำรทกระท ำกบขอมลในรเลชนของ
ตวเองเพยงรเลชนเดยวหรอตวกระท ำทตองกำรเพยงรเลชนเดยว (เลอกจำกตำรำง
เดยว) ประกอบไปดวย 2 ตวด ำเนนกำร คอ Projection และ Selection หรอ Restriction
1.1 Projection (สญลกษณ π) : “กำรเลอกเฉพำะแอททรบวททตองกำร”
Projection เปนตวด ำเนนกำรทำงคณตศำสตรทใชในกำรแสดงขอมลบำง
แอททรบวท ออกมำจำกรเลชนทตองกำร หรอเปนกำรเลอกเฉพำะบำงแอททรบวทท
ตองกำรจำกรเลชนนนเอง นนคอจะไดรเลชนซงจะมทกทเพลของรเลชนนน แตจะ
แสดงเฉพำะในแอททรบวททก ำหนดไวเทำนน กำรแสดงขอมลอำจจะเปนแบบมเงอนไข
หรอไมมกได
รปแบบของ Projection :
หรอ
π = สญญลกษณกำร Projection
A 1,…A n = แอททรบวททตองกำรแสดง
R = ชอรเลชน
ชอรเลชน [ชอแอททรบวท 1, ชอแอททรบวท 2,………]
π (R) A 1, A 2,…A n
แอททรบวท
ภำพท 5.1 รปแบบของ Projection
รเลชน
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 97
ตวอยำง : กำรเลอกดขอมลเฉพำะรหสนสต คณะวชา และ คะแนน จำก
รเลชน นสต เรำจะเลอกเอำเฉพำะแตขอมลของรหสนสต คณะวชา และคะแนน
นนเอง ซงสำมำรถแปลงเปนพชคณตเชงสมพนธได ผลลพธจำกกำร Projection ใน
รเลชน “นสต” ซงจะไดเฉพำะแอททรบวททตองกำรแสดงไดดงตำรำงขำงลำง
1.2 Selection (สญลกษณ σ) : “ กำรเลอกเฉพำะทเพลทตองกำร”
Selection หรอ Restriction เปนตวด ำเนนกำรทำงคณตศำสตร ทใชในกำร
เลอกขอมลจำกรเลชนเดยวเพอดงขอมลเฉพำะทเพลทมเงอนไขตรงตำมทก ำหนดหรอ
เปนไปตำมเงอนไขของขอมลตำมทระบไว ผลลพธจำกกำร Selection จะแสดงทก
แอททรบวท จ ำนวนทเพลจะขนอยกบเงอนไขทก ำหนดเอำไว อำจจะมตงแตศนยทเพล
ขนไป แตจะไมเกนกวำจ ำนวนทเพลทงหมดทมอยในควำมสมพนธ กำรก ำหนดเงอนไข
สำมำรถใชเครองหมำยแสดงกำรเปรยบเทยบเชน : > (มำกกวำ) < (นอยกวำ) =
(เทำกบ) และ <> (ไมเทำกบ) เขำมำรวมในกำรสรำงเงอนไข ในกรณทมเงอนไข
รหสนสต ชอ สกล คณะวชำ สำขำ คะแนน
580103 น.ส.นำร สดใส พยำบำล กำรพยำบำล 3.25
580314 นำยสะอำด ใจด วทยำศำสตร ชววทยำ 2.30
580619 นำยมำนะ อดทน วศวกรรมศำสตร วศวกรรมไฟฟำ 3.70
580907 น.ส.วไล โสภำ สหเวชศำสตร กำยวภำค 2.00
รหสนสต คณะวชา คะแนน
580103 พยำบำล 3.25
580314 วทยำศำสตร 2.30
580619 วศวกรรมศำสตร 3.70
580907 สหเวชศำสตร 2.00
รเลชน “นสต”
คยหลก
π รหสนสต, คณะวชำ, คะแนน นสต
ภำพท 5.2 แสดง Projection Operation
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 98
มำกกวำหนงเงอนไข อำจจะใชค ำวำ “หรอ” (OR) หรอ “และ” (AND) ประกอบกน
เปนเงอนไขทตองกำรได
รปแบบของ Selection :
σ = สญญลกษณของ Selection
predicate = เงอนไขทก ำหนด
R = ชอรเลชนทตองกำร Selection
รหสนสต ชอ สกล คณะวชา สาขา คะแนน
580103 น.ส.นำร สดใส พยำบำล กำรพยำบำล 3.25
580314 นำยสะอำด ใจด วทยำศำสตร ชววทยำ 2.30
580619 นำยมำนะ อดทน วศวกรรมศำสตร วศวกรรมไฟฟำ 3.70
580907 น.ส.วไล โสภำ สหเวชศำสตร กำยวภำค 2.00
รหสนสต ชอ สกล คณะวชา สาขา คะแนน
580103 น.ส.นำร สดใส พยำบำล กำรพยำบำล 3.25
580619 นำยมำนะ อดทน วศวกรรมศำสตร วศวกรรมไฟฟำ 3.70
σ (R) predicate
ภำพท 5.3 รปแบบของ Selection
ทเพล รเลชน
รเลชน “นสต”
σ นสต คะแนน > 3.0
ภำพท 5.4 แสดง Selection Operation
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 99
จำกภำพ 5.4 เปนตวอยำงกำรเลอกดขอมลเฉพำะขอมลนสตทมคะแนน
มำกกวำ 3.00 (> 3.00) ซงสำมำรถแปลงเปนพชคณตเชงสมพนธ ผลจำกกำร
Selection ในรเลชน “นสต” ซงจะไดเฉพำะทเพลทตองกำร คอ มคะแนน > 3.00
1.3 กำรใชงำนรวมกนระวำง Projection และ Selection :
เรำสำมำรถน ำตวด ำเนนกำร σ และ π มำใชงำนรวมกนได
รปแบบ :
ตวอยำง : แสดงขอมล รหส ชอ สาขาวชา เฉพำะนสตทมคะแนน > 3.00
ภำพท 5.5 แสดง Projection และ Selection Operation
รหสนสต ชอ สกล คณะวชา สาขา คะแนน
580103 น.ส.นำร สดใส พยำบำล กำรพยำบำล 3.25
580314 นำยสะอำด ใจด วทยำศำสตร ชววทยำ 2.30
580619 นำยมำนะ อดทน วศวกรรมศำสตร วศวกรรมไฟฟำ 3.70
580907 น.ส.วไล โสภำ สหเวชศำสตร กำยวภำค 2.00
รหสนสต ชอ สาขา คะแนน
580103 น.ส.นำร กำรพยำบำล 3.25
580619 นำยมำนะ วศวกรรมไฟฟำ 3.70
σ condition (π ชอแอททรบวท 1,……
(รเลชน)
σ คะแนน > 3.00 (π รหส, ชอ, สำขำวชำ นสต )1,………(รเลชน)
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 100
2. การด าเนนการแบบไบนาร หรอเซตโอเปอเรชน (Binary or Set Operation)
กำรด ำเนนกำรแบบไบนำร เปนกำรด ำเนนกำรแบบเซต ทกระท ำกบขอมล
ตงแตสองรเลชนขนไป ประกอบไปดวยตวด ำเนนกำร เชน Union, Intersection,
Difference และ Cartesian Product
2.1 Union (สญลกษณ ) : “กำรรวมรเลชนเขำดวยกน”
Union เปนโอเปอเรเตอรทำงคณตศำสตร ใชในกำรแสดงขอมลตำมทฤษฎกำร
Union ของเซต เปนกำรเชอมควำมสมพนธของทเพลของรเลชนตงแต 2 รเลชนขนไป
โดยรเลชนทมำ Union กนจะตองเปนรเลชนทไปดวยกนได (Compatible Relation) นน
คอมชนดของทเพลทตรงกน (Tuple Homogeneous) คอประกอบไปดวยแอททรบวทชด
เดยวกน (มจ ำนวนเทำกน ชอแอททรบวทเหมอนกน และกำรจดเรยงแอททรบวทใน
ตำรำงทเหมอนกน) ผลลพธของกำร Union จะไดรเลชนใหมทประกอบไปดวยทเพล
ทงหมดของรเลชนทมำ Union กน โดยทเพลทเหมอนกนจะน ำมำจำกรเลชนเดยว และ
ทเพลทซ ำกนจะถกก ำจดออกไป
รปแบบของ Union :
= สญญลกษณกำร Union
R1 = รเลชน R1
R2 = รเลชน R2
R1 R2
ภำพท 5.6 รปแบบของ Union
R2
R1 U R2
R1
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 101
ตวอยำง : กำรรวมรเลชน 2 รเลชนเขำดวยกน สำมำรถแปลงเปนพชคณต
เชงสมพนธได ผลลพธจำกกำรรวมรเลชนแสดงไดดงภำพท 5.7
ผลลพธจำกกำรรวมรเลชนในรเลชน “นสตชมรมปงปอง” และ “นสตชมรม
หมำกรก” เขำดวยกนจะไดรเลชนใหมทประกอบไปดวยทกทเพลจำกทงสองรเลชน ซง
หำกมทเพลทซ ำกน กจะปรำกฏเพยงครงเดยวเทำนน
ภำพท 5.7 แสดง Union Operation
2.2 Intersection (สญลกษณ ) : “กำรหำสมำชกรวม”
Intersection เปนกำรแสดงขอมลตำมทฤษฎกำรหำสมำชกรวมของเซต เปน
กำรแสดงขอมลทมอยในรเลชนตงแต 2 รเลชนหรอมำกกวำขนไป โดยรเลชนทมำหำ
สมำชกรวมกน จะ ตองมชนดของทเพลทตรงกน (Tuple-Homogeneous) หรอไปกนได
(Compatible Relation) นนคอประกอบไปดวยแอททรบวทชดเดยวกน ผลลพธของกำร
หำสมำชกรวมจะไดรเลชนใหม ซงจะประกอบไปดวย เฉพำะทเพลทตรงกนของรเลชน
ทมำหำสมำชกรวมกน
รหส
นสต
ชอ สกล คณะ
วชา
รหส
นสต
ชอ สกล คณะ
วชา
580103 น.ส.นำร สดใส พยำบำล 580103 น.ส.นำร สดใส พยำบำล
580314 นำยสะอำด ใจด วทยฯ 580316 นำยสนก สนำน เกษตรฯ
580619 นำยมำนะ อดทน วศวฯ 580620 น.ส.พอใจ พอด พยำบำล
580907 น.ส.วไล โสภำ สหเวชฯ 580907 น.ส.วไล โสภำ สหเวชฯ
รหสนสต ชอ สกล คณะวชา
580103 น.ส.นำร สดใส พยำบำล
580314 นำยสะอำด ใจด วทยฯ
580619 นำยมำนะ อดทน วศวฯ
580907 น.ส.วไล โสภำ สหเวชฯ
580316 นำยสนก สนำน เกษตรฯ
580620 น.ส.พอใจ พอด พยำบำล
รเลชน “นสตชมรมปงปอง”
รเลชน “นสตชมรมหมำกรก”
นสตชมรมปงปอง นสตชมรมหมำกรก
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 102
รปแบบของ Intersection :
= สญญลกษณกำร Intersection
R1 = รเลชน R1
R2 = รเลชน R2
ภำพท 5.9 แสดง Intersection Operation
จำกภำพท 5.9 แสดงผลจำก Intersection ในรเลชน “นสตชมรมปงปอง”
และ“นสตชมรมหมำกรก” ซงจะไดรเลชนใหม ทประกอบไปดวยทกทเพลทเหมอนกน
จำกทงสองรเลชน
รหส
นสต
ชอ สกล คณะ
วชา
รหส
นสต
ชอ สกล คณะ
วชา
580103 น.ส.นำร สดใส พยำบำล 580103 น.ส.นำร สดใส พยำบำล
580314 นำยสะอำด ใจด วทยฯ 580316 นำยสนก สนำน เกษตรฯ
580619 นำยมำนะ อดทน วศวฯ 580620 น.ส.พอใจ พอด พยำบำล
580907 น.ส.วไล โสภำ สหเวชฯ 580907 น.ส.วไล โสภำ สหเวชฯ
รหสนสต ชอ สกล คณะวชา
580103 น.ส.นำร สดใส พยำบำล
580907 น.ส.วไล โสภำ สหเวชฯ
R1 R2
ภำพท 5.8 รปแบบของหำสมำชกรวม หรอ Intersection
R2
R1 R2
R1
รเลชน “นสตชมรมปงปอง”
รเลชน “นสตชมรมหมำกรก”
นสตชมรมปงปอง นสตชมรมหมากรก
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 103
2.3 Difference (สญลกษณ - ) : “กำรหำผลตำงระหวำงรเลชน”
Difference หรอ กำรหำผลตำงระหวำงรเลชน เปนกำรแสดงขอมลตำมทฤษฎ
กำรหำผลตำงของเซต คอ เปนกำรแสดงขอมลทมอยในรเลชน 2 รเลชน โดยรเลชน
ทมำหำผลตำง กน จะตองมชนดของทเพลทตรงกน (Tuple-Homogeneous) หรอ
ประกอบไปดวยแอททรบวทชดเดยวกน ผลลพธของกำรหำผลตำงจะไดรเลชนใหม ซง
ประกอบไปดวยเฉพำะทเพลทอยใน รเลชนหนงแตไมพบในอกรเลชนทน ำมำหำ
ผลตำงกน
รปแบบของ Difference :
“-” = สญญลกษณกำร Difference
R1 = รเลชน R1
R2 = รเลชน R2
รหส
นสต
ชอ สกล คณะ
วชา
รหส
นสต
ชอ สกล คณะ
วชา
580103 น.ส.นำร สดใส พยำบำล 580103 น.ส.นำร สดใส พยำบำล
580314 นำยสะอำด ใจด วทยฯ 580316 นำยสนก สนำน เกษตรฯ
580619 นำยมำนะ อดทน วศวฯ 580620 น.ส.พอใจ พอด พยำบำล
580907 น.ส.วไล โสภำ สหเวชฯ 580907 น.ส.วไล โสภำ สหเวชฯ
รหสนสต ชอ สกล คณะวชา
580314 นำยสะอำด ใจด วทยฯ
580619 นำยมำนะ อดทน วศวฯ
R1 - R2
R1
R1 – R2
R2
รเลชน “นสตชมรมปงปอง” รเลชน “นสตชมรมหมำกรก”
นสตชมรมปงปอง - นสตชมรมหมากรก
ภำพท 5.10 แสดง Difference Operation
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 104
กำร Difference รเลชน สำมำรถแปลงเปนพชคณตเชงสมพนธได ผลลพธจำก
Difference แสดงไดดงภำพท 5.10 และภำพท 5.11 ผลจำกกำร Difference รเลชน
“นสตชมรมปงปอง” และ รเลชน “นสตชมรมหมำกรก”จะไดรเลชนใหม ทประกอบไป
ดวยทกทเพลทพบในรเลชนหนงแตไมพบในอกรเลชนหนงทมำ Difference กน
2.4 Cartesian Product (สญลกษณ X ) : “การคณ 2 รเลชน”
Cartesian Product หรอ Product เปนกำรแสดงขอมลตำมทฤษฎ Cartesian
Product ของเซต โดยเปนกำรรวมขอมลจำกสองรเลชนโดยวธกำรคณหรอกำรจบคทก
ทเพลในรเลชนหนงกบทกทเพลในอกรเลชน ผลลพธของกำรคณจะไดรเลชนใหม ซง
ประกอบไปดวยทกทเพลทเปนไปไดจำกผลคณของทงสองรเลชน หรออำจจะสรปไดวำ
Product เปนกำรจบคขอมลระหวำงรเลชนตงแต 2 รเลชนขนไป โดยมหลกกำรดงน
2.4.1 จ ำนวนทเพลในผลลพธจะเทำกบจ ำนวนทเพลจำกรเลชนแรก
คณกบจ ำนวนทเพลของรเลชนทสอง
2.4.2 วธกำรจบคจะท ำโดยน ำทเพลของรเลชนแรก ไปจบคกบ
ขอมลทกทเพลในอกรเลชนหนงและ ผลลพธจะแสดงทกแอททรบวท
รหส
นสต
ชอ สกล คณะ
วชา
รหส
นสต
ชอ สกล คณะ
วชา
580103 น.ส.นำร สดใส พยำบำล 580103 น.ส.นำร สดใส พยำบำล
580314 นำยสะอำด ใจด วทยฯ 580316 นำยสนก สนำน เกษตรฯ
580619 นำยมำนะ อดทน วศวฯ 580620 น.ส.พอใจ พอด พยำบำล
580907 น.ส.วไล โสภำ สหเวชฯ 580907 น.ส.วไล โสภำ สหเวชฯ
รหสนสต ชอ สกล คณะวชา
580316 นำยสนก สนำน เกษตรฯ
580620 น.ส.พอใจ พอด พยำบำล
รเลชน “นสตชมรมหมำกรก”
นสตชมรมหมากรก - นสตชมรมปงปอง
ภำพท 5.11 แสดง Difference Operation
รเลชน “นสตชมรมปงปอง
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 105
ภำพท 5.13 แสดง Cartesian product Operation
R1 x R2
a
a
a
b
b
b
1
2
3
1
2
3
R1
a
b
R2
1
2
3
=
ภำพท 5.12 รปแบบของ Cartesian Product
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 106
รปแบบของ Cartesian Product :
X = สญญลกษณกำร Cartesian Product
R1 และ R2 = รเลชน R1 และ รเลชน R2
ผลลพธจำกกำรคณของรเลชน แสดงไดดงภำพท 5.12 ผลจำกกำรคณรเลชน “นสต”
และรเลชน “วชำ” จะไดรเลชนใหม ทประกอบไปดวยทกทเพลทเปนไปไดของทงสอง
รเลชน
3. การด าเนนการแบบ Join (Join Operation)
Join หรอ Natural Join (สญลกษณดวย ⋈) เปนกำรจบคขอมลหรอกำรรวม
รเลชนตงแต 2 รเลชนขนไปเพอสรำงเปนรเลชนใหม และรเลชนทจะมำรวมกนนนอยำง
นอยจะตองมแอททรบวทหนงทมชอทเหมอนกนและมโดเมนของขอมลเดยวกน แตถำ
รเลชนทน ำมำ Join กนนน ไมมแอททรบวทใดทมชอเหมอนกนเลย กสำมำรถน ำรเลชน
นนมำ Join กนได โดยกำรท ำ Product คกบกำรท ำ Restrict แทน (น ำรเลชนทงสองมำ
ท ำ Cartesian Product กอน แลวจงน ำผลทไดมำเลอกเฉพำะทเพลทตรงตำมเงอนไขท
ก ำหนดในกำรท ำ Restrict) กำร Join จะคลำยกบ Product แตจะตำงกนตรงท กำร Join
จะแสดงผลลพธเฉพำะแถวทตรงกบเงอนไขทก ำหนดไวเทำนน รปแบบของตว
ด ำเนนกำร Join แบงออกไดดงน
3.1 Theta Join (สญลกษณ ) : เปนกำรเชอมโยงขอมลของ 2 รเลชนหรอ
มำกกวำ โดยใชตวด ำเนนกำร <, ≤ , >, ≥, = , ≠ เพอน ำไปเปรยบเทยบคำตำม
เงอนไขทตองกำร ผลลพธจำกกำรใชตวด ำเนนกำร Theta join จะไดรเลชนผลลพธท
มจ ำนวนแอททรบวทเทำกบ จ ำนวนแอททรบวทของสองรเลชนรวมกน
3.2 Equi Join เปนสวนหนงของ Theta Join เปนกำร Join แบบมเงอนไขเทำกบ
(=) เทำนน และผลลพธทไดแอททรบวททซ ำกนจะถกแสดงทงหมด จะถกแสดงเพยง
แคครงเดยวหรออำจจะกลำวไดวำ Equi Join เปนกำรเชอมโยงขอมลตงแต 2 รเลชนขน
ไปตำมเงอนไขทระบ ไว เหมอน Theta Join เพยงแตตวด ำ เนนกำรทแสดงกำร
เปรยบเทยบจะใชเครองหมำยเทำกบ (=) เทำนน และผลลพธทไดคอลมนทซ ำกนจะถก
แสดงเพยงแคครงเดยว
R1 X R2
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 107
3.3 Natural Join เปนกำรจบคระหวำง 2 รเลชนโดยใชแอททรบวทททงสอง
รเลชนใชรวมกน ผลลพธของ Natural Join จะไดแถวขอมลทแอททรบวททใชจบคมคำ
เทำกน และตด แอททรบวททซ ำกนออกไป 1 ตว อำจกลำวไดวำ Natural join คอ Equi-
Join ท Join ทกคอลมนแตขจดคอลมนทซ ำกนออกไป ขนตอนกำร join ม 3 ขนตอน
คอ
ขนตอนท 1 ด ำเนนกำรเหมอน Product
ขนตอนท 2 เลอกแถวทมคำรหสสนคำเทำกน
ขนตอนท 3 ตดแอททรบวททซ ำกนออกไป
รปแบบ Natural Join
⋈ = สญลกษณ Product
R , S = รเลชน
F = เงอนไขในกำรรวมรเลชน
ตวอยาง
รหสสนคำ ชอ รำคำ
001 ปำกกำ 100
003 สมด 50
005 ดนสอ 10
เลขทใบสงซอ รหสลกคำ รหสสนคำ
1 A001 003
2 A015 001
เลขทใบสงซอ รหสลกคำ รหสสนคำ รหสสนคำ ชอสนคำ รำคำสนคำ
1 A001 003 001 ปำกกำ 100
2 A015 001 001 ปำกกำ 100
R ⋈ F S
ผลลพธของ Theta Join โดยก าหนดเงอนไข “ชอสนคา” = ปากกา
สนคำ กำรสงซอ
สนคำ กำรสงซอ
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 108
ตวอยาง
ตวอยาง
รหสสนคำ ชอ รำคำ
001 ปำกกำ 100
003 สมด 50
005 ดนสอ 10
เลขทใบสงซอ รหสลกคำ รหสสนคำ
1 A001 003
2 A015 001
เลขทใบสงซอ รหสลกคำ รหสสนคำ รหสสนคำ ชอสนคำ รำคำสนคำ
1 A001 003 003 สมด 50
2 A015 001 001 ปำกกำ 100
เลขทใบสงซอ รหสลกคำ รหสสนคำ
1 A001 003
2 A015 001
รหสสนคำ ชอ รำคำ
001 ปำกกำ 100
003 สมด 50
005 ดนสอ 10
เลขทใบสงซอ รหสลกคำ รหสสนคำ รหสสนคำ ชอสนคำ รำคำสนคำ
1 A001 003 001 ปำกกำ 100
1 A001 003 003 สมด 50
1 A001 003 005 ดนสอ 10
2 A015 001 001 ปำกกำ 100
2 A015 001 003 สมด 50
2 A015 001 005 ดนสอ 10
ผลลพธของ Equi Join
สนคำ กำรสงซอ
สนคำ กำรสงซอ
สนคำ กำรสงซอ
ขนตอนท 1 ด ำเนนกำรเหมอน product
สนคำ กำรสงซอ
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 109
3.4 Outer Join เปนกำร Join ทแสดงขอมลแถวทจบคกนไดและขอมลแถว
ทไมสำมำรถจบคกนได โดยคำของแอททรบวททำงฝงรเลชนทจบคกนไมไดนนจะแสดง
เปนคำ Null (ปกตขอมลแถวทไมสำมำรถจบคกนได จะไมแสดงใน Natural Join)
เลขทใบสงซอ รหสลกคำ รหสสนคำ รหสสนคำ ชอสนคำ รำคำสนคำ
1 A001 003 001 ปำกกำ 100
1 A001 003 003 สมด 50
1 A001 003 005 ดนสอ 10
2 A015 001 001 ปำกกำ 100
2 A015 001 003 สมด 50
2 A015 001 005 ดนสอ 10
เลขทใบสงซอ รหสลกคำ รหสสนคำ รหสสนคำ ชอสนคำ รำคำสนคำ
1 A001 003 003 สมด 50
2 A015 001 001 ปำกกำ 100
เลขทใบสงซอ รหสลกคำ รหสสนคำ ชอสนคำ รำคำสนคำ
1 A001 003 สมด 50
2 A015 001 ปำกกำ 100
ขนตอนท 3 ตดแอททรบวททซ ำกนออกไป
ขนตอนท 2 เลอกแถวทมคำรหสสนคำเทำกน
ผลลพธของ Natural Join
สนคำ กำรสงซอ
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 110
Outer Join แบงออกเปนประเภทยอย ๆ ได 2 ประเภท โดยยดตำรำงใดตำรำง
หนงเปนหลก คอ Left Outer Join กบ Right Outer Join
3.4.1 Left Outer Join จะแสดงขอมลทงหมดของตำรำงดำนซำยมอ
เปนหลก รวมไปถงขอมลทจบคกนไมไดของทง 2 ตำรำงมำดวย
3.4.2 Right Outer Join จะแสดงขอมลท งหมดของตำรำงดำน
ขวำมอเปนหลก รวมไปถงขอมลทจบคกนไมไดของทง 2 ตำรำงมำดวย
ตวอยาง
รหสสนคำ ชอ รำคำ
001 ปำกกำ 100
003 สมด 50
005 ดนสอ 10
เลขทใบสงซอ รหสลกคำ รหสสนคำ
1 A001 003
2 A015 001
3 A016 004
เลขทใบสงซอ รหสลกคำ รหสสนคำ ชอสนคำ รำคำสนคำ
1 A001 003 สมด 50
2 A015 001 ปำกกำ 100
005 ดนสอ 10
เลขทใบสงซอ รหสลกคำ รหสสนคำ ชอสนคำ รำคำสนคำ
1 A001 003 สมด 50
2 A015 001 ปำกกำ 100
3 A016 004
ผลลพธของ Left Outer Join
ผลลพธของ Right Outer Join
สนคำ กำรสงซอ
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 111
3.5 Semi Join เปนกำร Join ระหวำง 2 รเลชน หรอเปนกำรแสดงทเพลของ
รเลชนแรกท Join กบรเลชนทสอง ขอดของ Semi Join คอ ลดจ ำนวนทเพลทเกดจำก
กำร Join เพรำะผลลพธจะแสดงเฉพำะขอมลของรเลชนทอยทำงดำนซำย ดงสมกำร
⊳= Semi Join R , S = รเลชน π = Projection
ตวอยาง
สนคำ กำรสงซอ
4. โอเปอเรชนการหาร (Division Operation) (สญลกษณ ) “กำรจบคทตรงกน
ทกคำของแอททรบวทระหวำง 2 รเลชน”
เปนกำรแสดงขอมลทน ำสองรเลชนมำหำรกน โดยทรเลชนตวตงจะมจ ำนวน
แอททรบวทมำกกวำรเลชนตวหำร และรเลชนทงสองมแอททรบวตอยำงนอยหนง
แอททรบวททเหมอนกน ผลลพธทไดจะเปนคำของแอททรบวทจำกรเลชนทมจ ำนวน
แอททรบวทมำกกวำ
ก ำหนดให : รเลชน R มกลมแอททรบวท A
รเลชน S มกลมของแอททรบวท B
B เปน subset ของ A และ
C = A – B (ซง C ประกอบดวยแอททรบวทของ A ไมใช B)
รหสสนคำ ชอ รำคำ 001 ปำกกำ 100 003 สมด 50 005 ดนสอ 10
เลขทใบสงซอ รหสลกคำ รหสสนคำ 1 A001 003 2 A015 001
เลขทใบสงซอ รหสลกคำ รหสสนคำ ชอสนคำ รำคำสนคำ
1 A001 003 สมด 50
ผลลพธของ Semi Join โดยก ำหนดเงอนไข “รหสลกคำ” = 001
R ⊳เงอนไข S = π A (R ⊳⊲ เงอนไข S)
พ ช ค ณ ต เ ช ง ส ม พ น ธ | 112
โดยสรำงรเลชนทมแอททรบวทของทเพลจำกรเลชน R ทตรงกบกำรรวมทก
ทเพลในรเลชน S
รปแบบ
= Division R , S = รเลชน
ตวอยำง
พชคณตเชงสมพนธ เปนภำษำสอบถำม หรอภำษำกระบวนกำร (Procedural
Language) ภำษำหนงของแบบจ ำลองฐำนขอมลเชงสมพนธ ทใชอธบำยวธทระบบกำร
จดกำรฐำนขอมล ส ำหรบปฏบตกำรกบรเลชนหนงหรอกลมรเลชนทอยในฐำนขอมล
เพอสรำงรเลชนใหม ผลของกำรปฏบตกำรจะไมสงผลตอรเลชนเดมหรอรเลชนหลก
ตวด ำเนนกำร หรอ Operator ในพชคณตเชงสมพนธประกอบไปดวยกลมตว
ด ำเนนกำร 2 กลม คอ
Traditional Set Operation เปนกลมตวด ำเนนกำรทมำจำกพนฐำน
ทำงคณตศำสตร เปนกำรกระท ำทเกดกบรเลชนตำมทฤษฎของเซต เชน Union,
Intersection, Difference และ Cartesian Product
Special Relational Operation เปนกลมตวด ำเนนกำรทใชในกำร
พฒนำฐำนขอมลเชงสมพนธ เชน Join, Selection, Projection และ Division
********************
รหสใบสงซอ รหสสนคำ AAA S01 BBB S01 AAA S02
550004 S02 550005 S01 550006 S03 550007 S01 550008 S04
BBB S02
รหสสนคำ
S01
S02
รหสใบสงซอ
AAA
BBB
R S
ผลลพธของ Division
ใบสงซอ (R) สนคำ (S)