21
งงงงงงงง งงงงงงงง 3 งงงงงง งงงงงงงงงงงงงงงงงงงงง

งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

Embed Size (px)

Citation preview

Page 1: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

งานกลมกลมท 3

เรองฐานขอมลเชงสมพนธ

Page 2: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

ระบบฐานขอมลเชงสมพนธ (Relational Database) เปนฐานขอมลทใชโมเดลเชงสมพนธ (Relational Database Model) ซงผคดคนโมเดลเชงสมพนธนคอ Dr. E.F. Codd โดยใชหลกพนฐานทางคณตศาสตร เนองดวยแนวคดของแบบจำาลองแบบนมลกษณะทคนใชกนทวกลาวคอมการเกบเปนตาราง ทำาใหงายตอการเขาใจและการประยกตใชงาน ดวยเหตน ระบบฐานขอมลแบบนจงทไดรบความนยมมากทสด ในแงของ entity แบบจำาลองแบบนคอ แฟมขอมลในรปตาราง และ attribute กเปรยบเหมอนเขตขอมล สวนความสมพนธคอความสมพนธระหวาง entity

ความหมายของฐานขอมลเชงสมพนธ

Page 3: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

คอ การเกบขอมลในรปของตาราง (Table) หลายๆตารางทมความสมพนธกน ในแตละตารางแบงออกเปนแถวๆ และในแตละแถวจะแบงเปนคอลมน (Column) ในทางทฤษฎจะมคำาศพทเฉพาะแตกตางออกไป เนองจากแบบจำาลองแบบนเกดจากทฤษฎทางคณตศาสตรเรองเซท (Set) ดงนน เราจะมคำาศพทเฉพาะดงตารางท

ฐานขอมลเชงสมพนธ 

ศพทเฉพาะ ศพททวไป

รเลชน (Relation) ตาราง (Table)

ทเปล (Tuple) แถว (Row) หรอ เรคคอรด (Record) หรอ ระเบยน

แอททรบวท (Attribute) คอลมน (Column) หรอฟลด (Field)

คารดนลลต (Cardinality) จำานวนแถว (Number of rows)จำานวนแอททรบวท (Number of attribute)

คยหลก (Primary key) คาเอกลกษณ (Unique identifier)

โดเมน (Domain) ขอบขายของคาของขอมล (Pool of legal values)

Page 4: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

อาจจะเขยนในรปสมการดงตอไปน R(รหสประจำาตวประชาชน,ชอ,นามสกล,วนเกด) เนองจากแตละตารางสามารถมความสมพนธกนไดดงทกวาไวในขางตน ทำาใหการเกบขอมลในรปแบบน มความคลองตวสงเพราะเราสามารถแยกเกบขอมลใน หลายตารางโดยอาศยความสมพนธดงกลาว และสามารถสบคนไดจากรหสพเศษทเรยกวา กญแจ(key)

แสดงรายละเอยดของสวนประกอบตาง ๆ ของโมเดลแบบความสมพนธ

Page 5: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

Dr.E.F.Codd ไดกำาหนดสวนประกอบของโมเดลเชงสมพนธน แบงเปน 3 สวนไดแก1. สวนทเกยวของกบโครงสรางของขอมล2. สวนทเกยวกบการควบคมความถกตองใหกบขอมล3. สวนในการจดการกบขอมล

แสดงตวอยางการสบคนขอมลโดยอาศยความสมพนธ

Page 6: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

Relation โครงสรางของฐานขอมลเชงสมพนธ จะอยในลกษณะของตาราง 2 มต ประกอบดวยทางดานแถว และคอลมน ซงจะเรยกวา รเลชน (Relation) โดยทว ๆ ไป Relation หนง ๆ จะมคณสมบตตาง ๆ ดงน1) ไมม Tuples คใด ๆ เลยทซำากน (No duplicate tuples) 2) ลำาดบทของ Tuples ไมมความสำาคญ3) ลำาดบทของ Attributes ไมมความสำาคญ4) คาของ Attribute จะเปนคาเดยว ๆ (Atomic) นนคอ คาของขอมลทปรากฏอยในตารางจะเปนคา ๆ เดยว เปนลสตของคาหลาย ๆ คาไมได ซง Relation ทมคณสมบตขอนจะถกเรยกวาเปน Relation ทอยในรปแบบ Normal form5) คาของขอมลในแตละ Attribute จะบรรจคาของขอมลประเภทเดยวกน

โครงสรางของขอมล (Data Structure)

Page 7: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

1) Relation หลก (Base Relation)เปน Relation ทถกกำาหนดขนเพอเกบขอมลและเพอนำาขอมลไปใชเมอมการสราง Relation โดยใช Data Definition Language เชน ใน SQL คำาสง CREATE TABLE เปนการสราง Relation หลก หลงจากนนกจะทำาการเกบขอมลเพอการเรยกใชขอมลในภายหลง Relation หลกจะเปนตารางทจดเกบขอมลจรงไว2) วว (View) หรออาจเรยกอกอยางหนงวา Relation สมมต (Virtual Relation)เปน Relation ทถกสรางขนตามความตองการใชขอมลของผใชแตละคน เนองจาก ผใชแตละคนอาจตองการใชขอมลในลกษณะทแตกตางกน จงทำาการกำาหนดววของตวเองขนมาจาก Relation หลก เพอความสะดวกในการใชขอมล และชวยใหการรกษาความปลอดภยของฐานขอมลทำาไดงายขน Relation ทถกสมมตขนมานจะไมมการเกบขอมลจรง ๆ ในระบบฐานขอมล

ชนดของ Relations

Page 8: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

ตารางขอมลทงหมด จะเรยกวา Relation แตโดยสวนใหญนยมเรยกวา Table หรอ ตาราง เนองจากโครงสรางการจดเกบเปนแบบตาราง สวนขอมลในแตละแถว จะเรยกวา ทเพล (Tuple) สวนขอมลในแตละคอลมน จะเรยกวา แอตทรบวส (Attribute) ดงตวอยางม 4 แอตทรบวส คอ SID, Sname, GPA, Major เขยนเปนสมการไดดงน Student(SID,Sname,GPA,Major)

โครงสรางของฐานขอมลเชงสมพนธ

Page 9: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

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

โดเมน (Domain)  

เปนการกำาหนดโดเมนใหกบแอตทรบวสขอมล GPA ซงเปนคาเกรดเฉลย ของนกศกษา ซงคาเกรดเฉลยจะตองมคาอยระหวาง 0 - 4 ดงนนจงตองกำาหนดโดเมนใหกบแอตทรบวส GPA เพอไมใหขอมลผดพลาดไปจากน

Page 10: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

คยอยางงาย (Simple key) หมายถง key ทประกอบดวย attribute เดยว คยประกอบ (Combine key หรอ Composite key) หมายถง key ท ประกอบดวย attribute มากกวา 1 attribute คยคแขง (Candidate Key) คอคยทเลกทสด ทแยกความแตกตางของขอมล แตละทเพลได ยกตวอยางเชน ในรเลชน Student มขอมลทสามารถเปนคยคแขง คอแอตทรบวส รหสนกศกษา และการใชแอตทรบวส ชอรวมกบนามสกล ซงทงสองแบบสามารถระบความแตกตาง ของขอมล แตละทเพลได คยหลก (Primary Key) คอคยคแขงซงไดเลอกมาเพอใชกำาหนดใหเปนคาคย หลกของ รเลชน ซงขอมลทเปนคยหลกนนจะตองมขอมลทไมซำากน และมกจะเลอกคยคแขง ทมขนาดเลกมาเปนคยหลก ตวอยางเชน การเลอกแอตทรบวสรหสนกศกษา มาเปนคาคยหลก เนองจาก มขนาดเลกกวาแอตทรบวส ชอ รวมกบ นามสกล ซงจะทำาใหการทำางานเรวกวา เนองจากมขนาดเลกกวา คยรอง (Alternate Key หรอ Secondary key) คอคยคแขงอนๆ ทไมได ถกเลอกมาใชงาน ยกตวอยางเชน แอตทรบวส ชอรวมกบนามสกล ซงไมไดถกเลอกใหเปนคยหลกของรเลชน กจะกลายเปน Alternate Key

คย (Key)

Page 11: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

รเลชน Student มคาคยหลกคอ SID ซงเปนรหสนกศกษา โดยขอมลของรหสนกศกษาจะตองมขอมลทไมซ ำากน และมคยนอกของตารางคอแอตทรบวส Major ซงเชอมโยงความสมพนธไปยงแอตทรบวส Major ของรเลชน Major ซงขอมลทกตวของแอตทรบวส Major ในรเลชน Student จะตองมอยในแอตทรบวส Major ของรเลชน Major สวนตาราง Major มคยหลกคอแอตทรบวส Majorซปเปอรคย (Super key) หมายถง attribute หรอ เซทของ attribute ท สามารถบงบอกวาแตละแถว (Tuple) แตกตางกน ในทก ๆ ความสมพนธ จะตองมอยางนอย หนง super key ในเซทของ attributes

คยนอก (Foreign Key)

Page 12: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

กฎทใชสำาหรบรกษาความถกตองของขอมล แบงออกเปน 2 กฎคอ กฎทเกยวของกบเอนทต และกฎทเกยวของกบการเชอมโยงความสมพนธของเอนทต )3.3.1. กฎความบรณภาพของเอนทต (Entity Integrity Rule)กฎความบรณภาพของเอนทต เปนกฎทใชกำาหนดเพอใหขอมลของเอนทต มความถกตอง ซงกลาวไววา "แอตทรบวสททำาหนาทเปนคยหลกของรเลชน ไมสามารถมคาเปนคาวางได (Null Value)" และจะตองมคณสมบตทเปนเอกลกษณ (Identity) คอสามารถระบขอมลแอตทรบวสอนๆ ทอยในทเพลเดยวกนได

3.3.2. กฎความบรณภาพของการอางอง (Referential Integrity Rule)กฎความบรณภาพของการอางอง คอกฎทใชรกษาความถกตองของขอมลทมความสมพนธกนของเอนทต ซงไดกลาวไววา "คาของคยนอกในรเลชน จะตองมขอมลอยในอก รเลชนหนง ทคยนอกของรเลชนนนอางองถง"ในบางกรณคยนอกอาจเปนคาวางได ถานโยบายขององคกร อนญาตใหคาคยนอกเปน คาวางได กรณหากมการลบ หรอแกไขขอมล ในรเลชนทถกอางองถง ซงจะทำาใหสญเสยความบรณภาพของขอมล ดงตวอยางรปท 3.6 หากมการแกไขหรอลบขอมลของรเลชน Major ในแอตทรบวส Major ซงมความสมพนธอยกบรเลชน Student จะทำาใหความสมพนธของขอมลเสยหาย ดงนนจงตองเลอก การกระทำาเพอไมใหความสมพนธของขอมลสญเสยไป

3.3. กฎทเกยวของกบการรกษาความถกตอง

Page 13: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

1. หามทำาการแกไขขอมลในรเลชนทถกอางถงนน เนองจากจะทำาใหขอมลในรเลชนทอางองมา ไมสามารถอางองขอมลได 2. อนญาตใหทำาการแกไขขอมลในรเลชนทถกอางองถงได แตจะตองตามไปแกไขขอมล ในรเลชนทอางองมาใหตรงกบขอมลทแกไขใหมทงหมด3. อนญาตใหทำาการแกไขขอมลในรเลชนทถกอางองถงได โดยการแกไขขอมลในรเลชน ทอางองมาใหมคาเปน คาวาง

กรณการแกไขขอมล

Page 14: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

1. หามทำาการลบขอมลในรเลชนทถกอางถงนน เนองจากจะทำาใหขอมลใน รเลชนทอางองมา ไมสามารถอางองขอมลได 2. อนญาตใหทำาการลบขอมลในรเลชนทถกอางองถงได แตจะตอง ตามไปลบขอมลในรเลชน ทอางองมาทงหมด3. อนญาตใหทำาการลบขอมลในรเลชนทถกอางองถงได โดยการแกไขขอมลในรเลชน ทอางองมาใหมคาเปน คาวาง (Null value)

คาวาง (Null Values)คาของ Attribute อาจจะเปนคาวาง (Null) คอ ไมมคาหรอยงไมทราบคาได ตวอยางเชน จำานวนไขของนกกระจอกเทศ จะสามารถบอกไดเมอนกกระจอกเทศออกไขแลว แตยงไมทราบคา ในขณะทจำานวนไขของชางนนไมมคา เปนตน

กรณการลบขอมล

Page 15: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

ชอรเลชน WHERE <COMPARISION>

การจดการกบขอมล (DATA MANIPULATION)

Dr. E.F. Codd ไดนำาทฤษฎของเซท ซงเปนทฤษฎทางคณตศาสตรมาใชในการจดการกบ ขอมลของ ฐานเชงสมพนธ ซงมอยหลายการกระทำาดวยกน ในบทนจะกลาวโดยยอๆ เทานน เนองจากเปน เนอหาทางทฤษฎ ซงการนำาไปใชงานจรงนน จะพดถงในบททเกยวกบคำาสงทใช จดการฐานขอมล ซง

เนอหาจะมความใกลเคยงกน การกระทำาเหลานไดแก3.4.1. Restrict

คำาวา Restrict เปนโอเปอเรเตอรทางคณตศาสตรทใชในการเลอกขอมลจากรเลชนหนง ๆ ทมเงอนไข ตรงตามทระบไว กลาวอกนยหนงคอ ใชในการแสดงขอมลของทเพลทเปนไปตามเงอนไขทระบไว

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

คาเฉพาะทตองการดขอมล โดยมเครองหมายทประกอบการระบเงอนไข เชน = (เทากบ) < (นอยกวา) > (มากกวา) <> (ไมเทากบ) เปนตน ในกรณทมเงอนไขมากกวาหนงเงอนไขอาจใชคำาวา OR (หรอ) AND (และ) ประกอบกนเปนเงอนไขทตองการได

Page 16: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

Union คอ การแสดงขอมลตามลกษณะทฤษฎการ Union ของเซต คอสวนของขอมลทเพลทตางกน ของรเลชน จะนำามาทงหมด สวนขอมลทเพลทเหมอนกนของรเลชนจะนำามาจากรเลชนเดยว โดยรเลชนทจะมา Union กน ตองเปนรเลชนทไปกนได (Compatible Relation) นนคอ จะตองมจำานวนและชอแอททรบวตทเหมอนกนและจดเรยงแอททรบวตในตารางทเหมอนกน (จากซายไปขวา) ดงตวอยางรปท 3.8 ขอมลสวนทแรเงาคอขอมลผลลพธของการทำา Union

Union

Page 17: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

รหส ชอ จงหวดB001 แดง นครราชสมาB002 ดำา กรงเทพฯB003 เขยว สระบรB004 ขาว นครราชสมา

การกระทำา Unionรหส ชอ จงหวด

B001 แดง นครราชสมา

B005 ฝน กรงเทพฯ

รหส ชอ จงหวด<>/th>B001 แดง นครราชสมาB002 ดำา กรงเทพฯB003 เขยว สระบรB004 ขาว นครราชสมาB005 ฝน กรงเทพ

A B

A UNION Bผลทไดคอ

Page 18: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

คอการแสดงขอมลทเพลของรเลชน ซงไมมอยในอกรเลชนหนง ตามทฤษฎการ Difference ของเซต เชนถานำาขอมล รเลชน A - รเลชน B ขอมลทไดคอขอมลของรเลชน A ทไมมในรเลชน B ซงจะใหผลลพธทแตกตางกนกบ รเลชน B - รเลชน A โดยทรเลชนทงสองเปนรเลชนทไปกนได (Compatible Relation) ดงตวอยางรปท 3.10 ซงผลลพธของการทำา Difference คอสวนทแรเงา

Difference

Page 19: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

เปนการกระทำาเพอแสดงขอมลทเปนไปไดทงหมดทเกดจากการเชอมโยงขอมลของ 2 รเลชน ทมคาของขอมลใน Attribute ทกำาหนดเหมอนกนโดย Attribute นอาจเปนเพยง Attribute เดยวหรอมากกวากได แตทสำาคญ Attribute น จะตองมชอทเหมอนกน และม Domain ของขอมลเดยวกน

Join

Page 20: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

เปนการแสดงขอมลจากสองรเลชน โดยทรเลชนทงสองมแอททรบวตอยางนอยหนงแอททรบวตทเหมอนกน ผลลพธทได จะเปนคาของแอททรบวตจากรเลชนทมจำานวนแอททรบวตมากกวา ซงเปนคาของแอททรบวตหนงทมคาหนงทจบคตรงกบทกคาของแอททรบวตทเหมอนกนนในอกรเลชนทมแอททรบวตนอยกวา รปแบบ

Division

Page 21: งานกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ ม.2/4 เลขที่ 1-18-26-29-31-34-40

http://203.172.182.81/wbidatabase/unit3/unit3.php

แหลงอางอง