Upload
kittinansuksom2
View
133
Download
3
Embed Size (px)
Citation preview
งานกลมกลมท 3
เรองฐานขอมลเชงสมพนธ
ระบบฐานขอมลเชงสมพนธ (Relational Database) เปนฐานขอมลทใชโมเดลเชงสมพนธ (Relational Database Model) ซงผคดคนโมเดลเชงสมพนธนคอ Dr. E.F. Codd โดยใชหลกพนฐานทางคณตศาสตร เนองดวยแนวคดของแบบจำาลองแบบนมลกษณะทคนใชกนทวกลาวคอมการเกบเปนตาราง ทำาใหงายตอการเขาใจและการประยกตใชงาน ดวยเหตน ระบบฐานขอมลแบบนจงทไดรบความนยมมากทสด ในแงของ entity แบบจำาลองแบบนคอ แฟมขอมลในรปตาราง และ attribute กเปรยบเหมอนเขตขอมล สวนความสมพนธคอความสมพนธระหวาง entity
ความหมายของฐานขอมลเชงสมพนธ
คอ การเกบขอมลในรปของตาราง (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)
อาจจะเขยนในรปสมการดงตอไปน R(รหสประจำาตวประชาชน,ชอ,นามสกล,วนเกด) เนองจากแตละตารางสามารถมความสมพนธกนไดดงทกวาไวในขางตน ทำาใหการเกบขอมลในรปแบบน มความคลองตวสงเพราะเราสามารถแยกเกบขอมลใน หลายตารางโดยอาศยความสมพนธดงกลาว และสามารถสบคนไดจากรหสพเศษทเรยกวา กญแจ(key)
แสดงรายละเอยดของสวนประกอบตาง ๆ ของโมเดลแบบความสมพนธ
Dr.E.F.Codd ไดกำาหนดสวนประกอบของโมเดลเชงสมพนธน แบงเปน 3 สวนไดแก1. สวนทเกยวของกบโครงสรางของขอมล2. สวนทเกยวกบการควบคมความถกตองใหกบขอมล3. สวนในการจดการกบขอมล
แสดงตวอยางการสบคนขอมลโดยอาศยความสมพนธ
Relation โครงสรางของฐานขอมลเชงสมพนธ จะอยในลกษณะของตาราง 2 มต ประกอบดวยทางดานแถว และคอลมน ซงจะเรยกวา รเลชน (Relation) โดยทว ๆ ไป Relation หนง ๆ จะมคณสมบตตาง ๆ ดงน1) ไมม Tuples คใด ๆ เลยทซำากน (No duplicate tuples) 2) ลำาดบทของ Tuples ไมมความสำาคญ3) ลำาดบทของ Attributes ไมมความสำาคญ4) คาของ Attribute จะเปนคาเดยว ๆ (Atomic) นนคอ คาของขอมลทปรากฏอยในตารางจะเปนคา ๆ เดยว เปนลสตของคาหลาย ๆ คาไมได ซง Relation ทมคณสมบตขอนจะถกเรยกวาเปน Relation ทอยในรปแบบ Normal form5) คาของขอมลในแตละ Attribute จะบรรจคาของขอมลประเภทเดยวกน
โครงสรางของขอมล (Data Structure)
1) Relation หลก (Base Relation)เปน Relation ทถกกำาหนดขนเพอเกบขอมลและเพอนำาขอมลไปใชเมอมการสราง Relation โดยใช Data Definition Language เชน ใน SQL คำาสง CREATE TABLE เปนการสราง Relation หลก หลงจากนนกจะทำาการเกบขอมลเพอการเรยกใชขอมลในภายหลง Relation หลกจะเปนตารางทจดเกบขอมลจรงไว2) วว (View) หรออาจเรยกอกอยางหนงวา Relation สมมต (Virtual Relation)เปน Relation ทถกสรางขนตามความตองการใชขอมลของผใชแตละคน เนองจาก ผใชแตละคนอาจตองการใชขอมลในลกษณะทแตกตางกน จงทำาการกำาหนดววของตวเองขนมาจาก Relation หลก เพอความสะดวกในการใชขอมล และชวยใหการรกษาความปลอดภยของฐานขอมลทำาไดงายขน Relation ทถกสมมตขนมานจะไมมการเกบขอมลจรง ๆ ในระบบฐานขอมล
ชนดของ Relations
ตารางขอมลทงหมด จะเรยกวา Relation แตโดยสวนใหญนยมเรยกวา Table หรอ ตาราง เนองจากโครงสรางการจดเกบเปนแบบตาราง สวนขอมลในแตละแถว จะเรยกวา ทเพล (Tuple) สวนขอมลในแตละคอลมน จะเรยกวา แอตทรบวส (Attribute) ดงตวอยางม 4 แอตทรบวส คอ SID, Sname, GPA, Major เขยนเปนสมการไดดงน Student(SID,Sname,GPA,Major)
โครงสรางของฐานขอมลเชงสมพนธ
คอการกำาหนดขอบเขตและชนดของขอมลเพอปองกนไมใหขอมลทผใชจดเกบ มความผดพลาดไปจากความเปนจรงทควรจะเปน ตวอยางดงรป
โดเมน (Domain)
เปนการกำาหนดโดเมนใหกบแอตทรบวสขอมล GPA ซงเปนคาเกรดเฉลย ของนกศกษา ซงคาเกรดเฉลยจะตองมคาอยระหวาง 0 - 4 ดงนนจงตองกำาหนดโดเมนใหกบแอตทรบวส GPA เพอไมใหขอมลผดพลาดไปจากน
คยอยางงาย (Simple key) หมายถง key ทประกอบดวย attribute เดยว คยประกอบ (Combine key หรอ Composite key) หมายถง key ท ประกอบดวย attribute มากกวา 1 attribute คยคแขง (Candidate Key) คอคยทเลกทสด ทแยกความแตกตางของขอมล แตละทเพลได ยกตวอยางเชน ในรเลชน Student มขอมลทสามารถเปนคยคแขง คอแอตทรบวส รหสนกศกษา และการใชแอตทรบวส ชอรวมกบนามสกล ซงทงสองแบบสามารถระบความแตกตาง ของขอมล แตละทเพลได คยหลก (Primary Key) คอคยคแขงซงไดเลอกมาเพอใชกำาหนดใหเปนคาคย หลกของ รเลชน ซงขอมลทเปนคยหลกนนจะตองมขอมลทไมซำากน และมกจะเลอกคยคแขง ทมขนาดเลกมาเปนคยหลก ตวอยางเชน การเลอกแอตทรบวสรหสนกศกษา มาเปนคาคยหลก เนองจาก มขนาดเลกกวาแอตทรบวส ชอ รวมกบ นามสกล ซงจะทำาใหการทำางานเรวกวา เนองจากมขนาดเลกกวา คยรอง (Alternate Key หรอ Secondary key) คอคยคแขงอนๆ ทไมได ถกเลอกมาใชงาน ยกตวอยางเชน แอตทรบวส ชอรวมกบนามสกล ซงไมไดถกเลอกใหเปนคยหลกของรเลชน กจะกลายเปน Alternate Key
คย (Key)
รเลชน Student มคาคยหลกคอ SID ซงเปนรหสนกศกษา โดยขอมลของรหสนกศกษาจะตองมขอมลทไมซ ำากน และมคยนอกของตารางคอแอตทรบวส Major ซงเชอมโยงความสมพนธไปยงแอตทรบวส Major ของรเลชน Major ซงขอมลทกตวของแอตทรบวส Major ในรเลชน Student จะตองมอยในแอตทรบวส Major ของรเลชน Major สวนตาราง Major มคยหลกคอแอตทรบวส Majorซปเปอรคย (Super key) หมายถง attribute หรอ เซทของ attribute ท สามารถบงบอกวาแตละแถว (Tuple) แตกตางกน ในทก ๆ ความสมพนธ จะตองมอยางนอย หนง super key ในเซทของ attributes
คยนอก (Foreign Key)
กฎทใชสำาหรบรกษาความถกตองของขอมล แบงออกเปน 2 กฎคอ กฎทเกยวของกบเอนทต และกฎทเกยวของกบการเชอมโยงความสมพนธของเอนทต )3.3.1. กฎความบรณภาพของเอนทต (Entity Integrity Rule)กฎความบรณภาพของเอนทต เปนกฎทใชกำาหนดเพอใหขอมลของเอนทต มความถกตอง ซงกลาวไววา "แอตทรบวสททำาหนาทเปนคยหลกของรเลชน ไมสามารถมคาเปนคาวางได (Null Value)" และจะตองมคณสมบตทเปนเอกลกษณ (Identity) คอสามารถระบขอมลแอตทรบวสอนๆ ทอยในทเพลเดยวกนได
3.3.2. กฎความบรณภาพของการอางอง (Referential Integrity Rule)กฎความบรณภาพของการอางอง คอกฎทใชรกษาความถกตองของขอมลทมความสมพนธกนของเอนทต ซงไดกลาวไววา "คาของคยนอกในรเลชน จะตองมขอมลอยในอก รเลชนหนง ทคยนอกของรเลชนนนอางองถง"ในบางกรณคยนอกอาจเปนคาวางได ถานโยบายขององคกร อนญาตใหคาคยนอกเปน คาวางได กรณหากมการลบ หรอแกไขขอมล ในรเลชนทถกอางองถง ซงจะทำาใหสญเสยความบรณภาพของขอมล ดงตวอยางรปท 3.6 หากมการแกไขหรอลบขอมลของรเลชน Major ในแอตทรบวส Major ซงมความสมพนธอยกบรเลชน Student จะทำาใหความสมพนธของขอมลเสยหาย ดงนนจงตองเลอก การกระทำาเพอไมใหความสมพนธของขอมลสญเสยไป
3.3. กฎทเกยวของกบการรกษาความถกตอง
1. หามทำาการแกไขขอมลในรเลชนทถกอางถงนน เนองจากจะทำาใหขอมลในรเลชนทอางองมา ไมสามารถอางองขอมลได 2. อนญาตใหทำาการแกไขขอมลในรเลชนทถกอางองถงได แตจะตองตามไปแกไขขอมล ในรเลชนทอางองมาใหตรงกบขอมลทแกไขใหมทงหมด3. อนญาตใหทำาการแกไขขอมลในรเลชนทถกอางองถงได โดยการแกไขขอมลในรเลชน ทอางองมาใหมคาเปน คาวาง
กรณการแกไขขอมล
1. หามทำาการลบขอมลในรเลชนทถกอางถงนน เนองจากจะทำาใหขอมลใน รเลชนทอางองมา ไมสามารถอางองขอมลได 2. อนญาตใหทำาการลบขอมลในรเลชนทถกอางองถงได แตจะตอง ตามไปลบขอมลในรเลชน ทอางองมาทงหมด3. อนญาตใหทำาการลบขอมลในรเลชนทถกอางองถงได โดยการแกไขขอมลในรเลชน ทอางองมาใหมคาเปน คาวาง (Null value)
คาวาง (Null Values)คาของ Attribute อาจจะเปนคาวาง (Null) คอ ไมมคาหรอยงไมทราบคาได ตวอยางเชน จำานวนไขของนกกระจอกเทศ จะสามารถบอกไดเมอนกกระจอกเทศออกไขแลว แตยงไมทราบคา ในขณะทจำานวนไขของชางนนไมมคา เปนตน
กรณการลบขอมล
ชอรเลชน WHERE <COMPARISION>
การจดการกบขอมล (DATA MANIPULATION)
Dr. E.F. Codd ไดนำาทฤษฎของเซท ซงเปนทฤษฎทางคณตศาสตรมาใชในการจดการกบ ขอมลของ ฐานเชงสมพนธ ซงมอยหลายการกระทำาดวยกน ในบทนจะกลาวโดยยอๆ เทานน เนองจากเปน เนอหาทางทฤษฎ ซงการนำาไปใชงานจรงนน จะพดถงในบททเกยวกบคำาสงทใช จดการฐานขอมล ซง
เนอหาจะมความใกลเคยงกน การกระทำาเหลานไดแก3.4.1. Restrict
คำาวา Restrict เปนโอเปอเรเตอรทางคณตศาสตรทใชในการเลอกขอมลจากรเลชนหนง ๆ ทมเงอนไข ตรงตามทระบไว กลาวอกนยหนงคอ ใชในการแสดงขอมลของทเพลทเปนไปตามเงอนไขทระบไว
รปแบบCOMPARISION ในทน หมายถงเงอนไขของขอมลทตองการเรยกด ซงจะระบชอแอททรบวต และ
คาเฉพาะทตองการดขอมล โดยมเครองหมายทประกอบการระบเงอนไข เชน = (เทากบ) < (นอยกวา) > (มากกวา) <> (ไมเทากบ) เปนตน ในกรณทมเงอนไขมากกวาหนงเงอนไขอาจใชคำาวา OR (หรอ) AND (และ) ประกอบกนเปนเงอนไขทตองการได
Union คอ การแสดงขอมลตามลกษณะทฤษฎการ Union ของเซต คอสวนของขอมลทเพลทตางกน ของรเลชน จะนำามาทงหมด สวนขอมลทเพลทเหมอนกนของรเลชนจะนำามาจากรเลชนเดยว โดยรเลชนทจะมา Union กน ตองเปนรเลชนทไปกนได (Compatible Relation) นนคอ จะตองมจำานวนและชอแอททรบวตทเหมอนกนและจดเรยงแอททรบวตในตารางทเหมอนกน (จากซายไปขวา) ดงตวอยางรปท 3.8 ขอมลสวนทแรเงาคอขอมลผลลพธของการทำา Union
Union
รหส ชอ จงหวดB001 แดง นครราชสมาB002 ดำา กรงเทพฯB003 เขยว สระบรB004 ขาว นครราชสมา
การกระทำา Unionรหส ชอ จงหวด
B001 แดง นครราชสมา
B005 ฝน กรงเทพฯ
รหส ชอ จงหวด<>/th>B001 แดง นครราชสมาB002 ดำา กรงเทพฯB003 เขยว สระบรB004 ขาว นครราชสมาB005 ฝน กรงเทพ
A B
A UNION Bผลทไดคอ
คอการแสดงขอมลทเพลของรเลชน ซงไมมอยในอกรเลชนหนง ตามทฤษฎการ Difference ของเซต เชนถานำาขอมล รเลชน A - รเลชน B ขอมลทไดคอขอมลของรเลชน A ทไมมในรเลชน B ซงจะใหผลลพธทแตกตางกนกบ รเลชน B - รเลชน A โดยทรเลชนทงสองเปนรเลชนทไปกนได (Compatible Relation) ดงตวอยางรปท 3.10 ซงผลลพธของการทำา Difference คอสวนทแรเงา
Difference
เปนการกระทำาเพอแสดงขอมลทเปนไปไดทงหมดทเกดจากการเชอมโยงขอมลของ 2 รเลชน ทมคาของขอมลใน Attribute ทกำาหนดเหมอนกนโดย Attribute นอาจเปนเพยง Attribute เดยวหรอมากกวากได แตทสำาคญ Attribute น จะตองมชอทเหมอนกน และม Domain ของขอมลเดยวกน
Join
เปนการแสดงขอมลจากสองรเลชน โดยทรเลชนทงสองมแอททรบวตอยางนอยหนงแอททรบวตทเหมอนกน ผลลพธทได จะเปนคาของแอททรบวตจากรเลชนทมจำานวนแอททรบวตมากกวา ซงเปนคาของแอททรบวตหนงทมคาหนงทจบคตรงกบทกคาของแอททรบวตทเหมอนกนนในอกรเลชนทมแอททรบวตนอยกวา รปแบบ
Division
http://203.172.182.81/wbidatabase/unit3/unit3.php
แหลงอางอง