Unit 2 Relational Data Model แบบจาํ ลองฐานขอ มลู (Database Models) แบบจาํ ลองฐานขอ มลู (Database Models) คอื แบบจําลองฐานขอมลู นาํ ไปใชใ นขน้ั ตอนการออกแบบฐานขอมูลเพ่ือใหเห็นภายในฐาน ขอ มลู และนําไปใชใ นข้นั ตอนการสรา งฐานขอ มูล แบง ไดเ ปน โมเดลแบบแนวคดิ และโมเดลแบบการนาํ ไปใช ● แบบแนวคิดเปนแบบจาํ ลองซ่งึ ถูกนําไปใชในขั้นตอนการออกแบบฐาน ขอ มลู เพื่อใหเห็นวาภายในฐานขอมูลตอ งประกอบดวยขอ มลู อะไรบาง และแตล ะขอมูลมีความสมั พันธก ันอยา งไร ดงั นั้นแบบจําลองในกลุม มักจะมสี ญั ลกั ษณท ่ีใชแ ทนขอ มลู คณุ สมบัติของขอ มูลและความ สมั พนั ธร ะหวางขอมูล ● แบบการนําไปใชเ ปนแบบจาํ ลองซึง่ ถกู นาํ ไปใชในขนั้ ตอนการสรางฐาน ขอมูลของฐานขอมลู แตละประเภท สําหรับการนําโมเดลแบบแนวความคิดตาง ๆ และโมเดลแบบการนาํ ไปใชมานาํ เสนอใหเกดิ เปนรปู แบบจาํ ลองเพอื่ ใชส ําหรับการส่ือสารระหวางผอู อกแบบฐานขอ มลกบั ผใู ชใ หเ กดิ ความเขาใจตรงกนั ไดแ ก แบบจาํ ลองขอมูลลําดบั ช้นั (Hierarchical database model) แบบ จําลองขอมูลเครอื ขา ย (Network database model) และแบบจาํ ลองฐานขอ มลู เชิงสมั พนั ธ (Relational database model) เปน ตน โดยมรี ายละเอียดดังน ้ี
● แบบจาํ ลองขอ มลู ลําดับช้ัน (Hierarchical database model) โครงสรางของแบบจาํ ลองขอ มูลลาํ ดบั ชน้ั มีลักษณะเปนแนวตนไม (Tree) \\ [ แบบจําลองขอ มูลลาํ ดบั ชน้ั เปน แบบจาํ ลองตน แบบสําหรบั การแกไ ขปญหาการเกบ็ ขอมลู ดวยระบบ แฟมขอ มลู ] ● ขอดีของแบบจําลองฐานขอมลู ลาํ ดบั ชัน้ ○ แบบจําลองฐานขอมลู ลาํ ดับช้ันสามารถกําหนดกฎเกณฑท ่ีใชควบคมุ ความถกู ตองใหก บั ขอ มูลภายในฐานขอ มูลไดงาย ○ แบบจาํ ลองฐานขอมลู ลําดบั ชั้นมโี ครงสรางท่ีเหมาะกบั ขอ มูลท่มี ีความ สมั พันธในแบบหนึ่งตอกลมุ (One-to-Many) ○ มโี ครงสรา งท่ีเหมาะสมกับระบบคอมพวิ เตอรท ่ีมีขนาดใหญ ● ขอ เสยี ของแบบจาํ ลองฐานขอมูลลาํ ดับชั้น ○ การเปล่ียนแปลงโครงสรางของขอ มูลในแบบจาํ ลองฐานขอ มูลลาํ ดับช้ัน สงผลใหตองมีการปรับเปลย่ี นและแกไขโปรแกรม ○ แบบจําลองฐานขอมูลลาํ ดับชัน้ ลองรับเฉพาะกับขอมลู ท่ีมคี วามสมั พันธ ในแบบหนง่ึ ตอกลุม (One-to-Many) ○ แบบจาํ ลองฐานขอ มลู ลําดับชั้นการจดั การกับขอ มลู ขาดความยืดหยนุ ใน การทาํ งาน
● แบบจาํ ลองขอ มลู เครือขาย (Network database model) [แบบจําลองขอมูลเครือขายถูกพัฒนาเพื่อแกไขปญหาของแบบจาํ ลองขอ มลู ลาํ ดับ ชนั้ ] โดยเพ่มิ ความสามารถการโอนถายขอ มลู ผา นระบบจัดการฐานขอ มูล (DBMS :: Database Management System) ● ขอดีของแบบจาํ ลองฐานขอมูลเครือขาย ○ แบบจาํ ลองขอมูลเครอื ขายสามารถรองรับความสมั พนั ธแ บบกลมุ ตอ กลมุ ได ○ แบบจาํ ลองขอ มูลเครือขา ยสามารถเขา ถงึ ขอมูลทําไดง ายและสามารถ ควบคมุ ใหข อมูลเปนไปตามกฎท่ใี ชใ นการควบคมุ ความถกู ตองขอมลู ได งาย ○ สนบั สนนุ ใหโ ปรแกรมมีความเปน อิสระจากขอมูลมากกวาฐานขอมูลทมี่ ี โครงสรา งของขอมลู ในรูปแบบฐานขอมูลลําดบั ช้นั ● ขอเสยี ของแบบจาํ ลองฐานขอมลู เครอื ขาย ○ การออกแบบและการเปล่ยี นแปลงขอมลู ในฐานขอมูลเครือขา ยจะ กระทําไดค อนขางยากเนื่องจากตองกําหนดความสัมพันธใ หครอบคลมุ ทกุ ขอ มูลในฐานขอ มลู ○ ฐานขอ มลู เครอื ขา ยการปอ งกันความปลอดภัยของขอ มูลมนี อ ยกวา ฐาน ขอ มลู เชิงสัมพนั ธ
● แบบจาํ ลองฐานขอ มูลเชงิ สมั พนั ธ (Relational database model) ฐานขอมูลเชิงสมั พนั ธ คือ การเก็บขอมูลในรูปของตาราง (Table) หลายๆตาราง ทม่ี ีความสมั พนั ธกนั ในแตล ะตารางแบงออกเปนแถวๆ และในแตละแถวจะแบง เปนคอลมั น (Column) เรม่ิ ตนผคู ิดคน คือ Dr.E.F.Codd โดยใชหลักพนื้ ฐานทางคณติ ศาสตรเร่ืองเซ็ท (Set) กําหนดสว นประกอบของแบบจาํ ลอง (โมเดล) เชิงสมั พันธ ไดแก สว นโครงสรางขอมลู สวน ควบคมุ ความถกู ตอง และสว นจัดการขอ มูล ● ขอ ดขี องแบบจําลองฐานขอ มลู เชิงสมั พนั ธ ○ ฐานขอ มลู เชิงสัมพนั ธเปน กลุม ของความสมั พนั ธหรือตารางท่ีถูกจดั เกบ็ เปน แถวและคอลัมนท ําใหผ ูใชง านมองเห็นภาพของขอมูลไดง า ย ○ ฐานขอ มลู เชงิ สัมพันธสามารถทําความเขา ใจและเรยี กใชหรือเชือ่ มโยง ขอ มูลไดงา ยโดยผูใชไ มจําเปนตองรวู า ขอ มลู ถูกจัดเกบ็ จรงิ อยางไร ○ ภาษาที่ใชในการเรียกดูขอมลู ในฐานขอมูลเชิงสมั พนั ธเ ปน ลกั ษณะคลา ย ภาษาองั กฤษ และไมจาํ เปน ตองเขียนเปนลาํ ดับขั้นตอน เชน ภาษา SQL (Structured Query Language) ○ ฐานขอ มลู เชิงสัมพนั ธม ีความปลอดภัยเนอ่ื งจากใชก ญุ แจหรือคียใ นการ อางอิงถึงตารางอน่ื ๆ ทเี่ กีย่ วของ ซ่ึงคียสามารถเปนไดท ง้ั คียหลัก (primary key) และคยี ร อง (secondary key) เพอื่ กําหนดการเรียง ลาํ ดบั ดชั นีเพ่ือเขาถงึ ขอมลู ไดโดยเร็ว
● ขอ เสยี ของแบบจําลองฐานขอมูลเชิงสัมพันธ ○ ฐานขอ มูลเชิงสมั พนั ธมีความซับซอนสงู และตอ งซอนความซบั ซอนจาก มุมมองของผใู ชง านฐานขอ มูลทาํ ใหตองเลอื กใชเคร่ืองคอมพิวเตอรท ี่มี ประสทิ ธิภาพสูง ดงั น้ันฐานขอมูลลําดับชน้ั หากออกแบบฐานขอ มูลไมด ี จะทาํ ใหระบบทาํ งานไดช า ○ ฐานขอ มลู เชงิ สมั พันธใ ท รพั ยากรคณุ ภาพสงู จึงตองมคี า ใชจา ยสูง
โมเดลฐานขอมลู เชิงสัมพันธ (Relational database model) โมเดลฐานขอ มูลเชงิ สมั พนั ธทํางานผา นโปรแกรมประเภทระบบการจดั การ ฐานขอ มลู เชงิ สัมพันธ (Relational Database Management System :: RDBMS) ความหมายของฐานขอมลู เชิงสัมพนั ธ ฐานขอมูลเชงิ สัมพันธเ ปน ฐานขอ มูลซ่ึงใหภ าพของขอ มูลในระดบั ภายนอก และระดบั แนวคิดตา งๆ ในฐานขอมลู จะประกอบดวยขอมูลทใ่ี ชอ ธบิ ายคณุ สมบัติ หรือ คุณลักษณะของแตละส่ิงตางๆ(Things) หรอื วัตถ(ุ Objects) ทีถ่ ูกรวบรวมเปน ขอมลู ในฐานขอมูล ทถ่ี กู ออกแบบเพื่อลดความซํา้ ซอ นของขอ มูลและสามารถเรียกใชข อมลู ไดอยา งมีประสิทธภิ าพ โดย มรี ะบบจัดการฐานขอ มลู เปนผจู ดั การฐานขอมลู (RDBMS) ตามท่ฐี านขอมลู ไดอ อกแบบไว ห มายเหตุ ขอ มลู แตล ะแถวจะถูกเรียกวา ทูเปล (Tuple) สว นแอททริบิ วต (Attribute) หมายถงึ ขอ มลู ทใี่ ชอธบิ ายคณุ สมบตั หิ รอื คณุ ลกั ษณะของแตล ะเอนทีต้ีและ เอนที ตี้ (Entity) หมายถงึ สงิ่ ตา งๆ(Things) หรือ วัตถ(ุ Objects) ที่ถกู รวบรวมเปนขอมูลในฐานขอ มูล
เชงิ สัมพันธ Relationship ในระบบฐานขอ มูล ขอมลู แตล ะสวนจะมคี วาม สัมพันธเก่ียวขอ งกัน ทฤษฏรี ะบบฐานขอ มลู ไดแ บงความสมั พนั ธข องขอมูลออกเปน 3 แบบ คือ หนงึ่ ตอ หนง่ึ (one-to-one) , หนง่ึ ตอ กลุม (one-to-many) , กลมุ ตอกลุม (many-to-many) ก ารออกแบบความสัมพันธของสถาปต ยกรรมในระดับแนวคิด (Conceptual Level) การออกแบบความสัมพนั ธใ นระดับแนวคดิ (Relationship) เปนการกําหนด ความสมั พันธระหวางตาราง แบงออกเปน ● ความสัมพันธแ บบหน่ึงตอ หนง่ึ (one-to-one relationship) : เปนความสัมพนั ธ ระหวางentityหนง่ึ ไปมีความสัมพนั ธก ับอกี entityหนึง่ เพียงหน่ึงรายการเทานน้ั เชน พนักงาน(Staff) หน่ึงคนจะดูแลหนง่ึ สาขา ในขณะที่สาขาจะมหี ัวหนาพนักงานดแู ล ไดเพยี งหนง่ึ คน ● ความสัมพนั ธแบบหน่งึ ตอกลุม (one-to-many relationship) : เปน ความ สัมพันธระหวาง entity หนึ่งไปมคี วามสมั พันธก บั อีก entity หนึง่ มากกวา หนึ่ง รายการ ● ความสัมพนั ธแ บบกลมุ ตอ กลมุ (many-to-many relationship) : เปนความ สมั พนั ธแบบหลายรายการระหวา งentityทงั้ สอง
● แบบจาํ ลองฐานขอมูลเชิงวตั ถุ (Object-Oriented database model) แบบจาํ ลองฐานขอ มูลเชิงวัตถุ (Object-Oriented database model) เปน เทคโนโลยีทพ่ี ัฒนาตอ จากฐานขอมูลเชิงสัมพนั ธ โดยการจดั การฐานขอมูลเชงิ วตั ถใุ หความสนใจ ดวยการมองทุกสิง่ เปนวตั ถุ โดยแตละวตั ถจุ ะเปน แหลง รวมของขอ มูลและการปฏบิ ตั ิงาน (data and operation) มคี ลาสเปน ตัวกําหนดคุณสมบตั หิ รอื รายละเอียดของวตั ถุ รวมท้ังคณุ สมบตั กิ าร ปกปดความลับของวตั ถ ุ *หมายเหตุ แบบจาํ ลองฐานขอ มลู ยังมีอีกมาก อันไดแก แบบจาํ ลองฐานขอ มูลมลั ติไดเมนชนั (Multidimensional database model) แบบจาํ ลองชนิดท่ีใชง านกบั คลงั ขอ มูล (Data Warehouse) เปนตน
โ มเดลฐานขอมูลเชิงสมั พนั ธ (Relation Database Models) ระบบฐานขอมลู เชิงสัมพนั ธ (Relational Database) เปนฐานขอ มลู ทใี่ ชโมเดลเชงิ สัมพนั ธ (Relational Database Model) เน่อื งดว ยแนวคิดของแบบจําลองฐานขอมูลเชงิ สมั พนั ธแ บบน้ีมีลักษณะทค่ี นใชก นั ทั่วกลา ว คือมกี ารเก็บเปนตารางทาํ ใหงา ยตอ การเขาใจและการประยกุ ตใ ช ฐ านขอมลู เชงิ สัมพนั ธ คอื การเก็บขอ มลู ในรูปของตาราง (Table) หลายๆตารางที่มี ความสมั พันธก ัน ในแตล ะตารางแบงออกเปนแถวๆ และในแตละแถวจะแบงเปนคอลมั น (Column) โมเดลฐานขอมลู เชิงสมั พันธ ผูรเิ ริม่ คอื Dr.E.F.Codd โดยกาํ หนดสวนประกอบของโมเดล เชิงสมั พันธแบง เปน 3 สว นไดแ ก 1. สว นที่เก่ียวของกับโครงสรา งของขอมลู 2. สว นท่ีเกีย่ วกับการควบคุมความถกู ตอ งใหก ับขอมลู 3. สว นในการจัดการกบั ขอมูล
1. โครงสรา งของขอ มูลเชงิ สัมพันธ (Relational Data Structure) ● ความสมั พนั ธ (รเี ลชัน) Relation ความสมั พันธ (รีเลชัน) Relation จะอยูใ นลักษณะของตาราง 2 มิติ [มีความ สมั พนั ธ] ประกอบดว ยทางดา นแถว และคอลัมน ซง่ึ แตละรีเลชันจะมีชื่อรเี ลชันเพื่อใชอางองิ คุณสมบตั ิของความสมั พนั ธ (รีเลชัน) Relation โดยท่ัว ๆ ไปความสัมพันธหนง่ึ ๆ จะมีคุณสมบตั ิตาง ๆ ดงั น ้ี ● ขอ มูลในแตละแถวจะไมซํา้ กนั หมายถงึ ไมมีทเู พลิ (Tuple) หรอื ขอ มูลใน แตละแถวของรีเลชนั คใู ด ๆ เลยท่ซี ้ํากนั (No duplicate tuples)
● ไมม ีการกาํ หนดลําดับท่ใี หก ับแถวแตล ะแถว หมายถึง ลาํ ดับท่ีของทูเพลิ (Tuple) หรอื ขอ มลู ในแตละแถวของรเี ลชัน ไมมคี วามสําคญั ลําดบั ท่ขี อง Attributes ไมมคี วามสําคญั ● คา ของ Attribute จะเปนคาเดี่ยว ๆ นนั่ คอื คา ของขอ มูลที่ปรากฏอยใู น ตารางจะเปน คา ๆ เดยี ว เปน ลสิ ตข องคาหลาย ๆ คา ไมได ซงึ่ Relation ทม่ี ี คุณสมบัติขอ นจ้ี ะถูกเรยี กวา เปน Relation ท่อี ยใู นรูปแบบ Normal form และคา ของขอ มูลในแตละ Attribute จะบรรจุคาของขอมูลประเภทเดียวกนั ● ไมม ีการกําหนดลาํ ดบั ใหก ับฟล ด การอา งถึงฟล ดใด ๆ จะใชชอื่ ของฟลดใน การอางถึง ไมไดใ ชลําดับทท่ี ีฟ่ ลดน ้นั ปรากฏอยใู นความสมั พนั ธ และคา ของ ขอ มลู ในแตละฟล ดข องระเบยี นจะบรรจขุ อมูลไดเพยี งคาเดียวโดยขอ มูลใน แตละฟล ดจะตอ งบรรจุขอมลู เพยี งคาเดียว ชนิดของความสมั พนั ธ (รีเลชนั ) Relation ในระบบจัดการฐานขอมูลอาจ จาํ แนกไดเปน 2 ประเภท ● 1) ความสัมพนั ธหลกั (รเี ลชันหลกั ) (Base Relation) เปน ความสมั พันธท ่ี ถูกกาํ หนดขนึ้ เพอ่ื เก็บขอ มูลและเพ่อื นาํ ขอ มลู ไปใชเ มื่อมีการสรา งความ สมั พันธโ ดยใช Data Definition Language เชน ใน SQL คาํ สง่ั CREATE TABLE เปนการสรางความสมั พนั ธห ลัก ● 2) มุมมอง หรือ ววิ (View) หรืออาจเรยี กอกี อยา งหน่งึ วาความสมั พันธ สมมตุ ิ (Virtual Relation) เปน ความสัมพนั ธท ีถ่ ูกสรา งขึ้นตามความตอ งการ ใชขอ มูลของผใู ชแ ตละคน เนื่องจากผูใชแ ตละคนตองการใชขอ มูลในลกั ษณะที่ แตกตางกัน จึงทําการกําหนดวิวของตวั เองขึ้นมาเพ่ือความสะดวกในการใช ขอมูล และชวยใหก ารรักษาความปลอดภยั ของฐานขอมูล
● โดเมน (Domain) โดเมน (Domain) คอื การกําหนดขอบเขตและชนิดของขอมูลเพอ่ื ปอ งกันความผิด พลาดในการปอ นขอ มลู ในรีเลชนั ● ทูเพลิ (Tuple) ทเู พิล (Tuple) คือ ขอมลู ในแตล ะแถวของรเี ลชนั อาจมกี ารเปลี่ยนแปลงโดยการ ลบ เพ่ิมหรอื ปรับปรงุ ขอมูล ● กญุ แจ หรือ คยี (Key) กุญแจ หรอื คยี (Key) คอื ฟล ดท ม่ี ีลกั ษณะเฉพาะตัวเปนแอททริบวิ ททสี่ ามารถ แยกความแตกตางของขอ มูลในแตล ะทูเพลิ ได ดงั นน้ั กุญแจ หรอื คยี (Key) จึงหมายถงึ ส่ิงท่ีใชก าํ หนดความเปนเอกลักษณ ในความสมั พันธ
● คียห ลัก (PK: Primary Key) หรือ กุญแจหลกั (PK เปน คียค ูแขง candidate key ตัวหน่ึงท่ีถูกเลอื กขึน้ มาเปนคยี หลัก) คณุ สมบัตขิ องคียหลัก คือ มีความเปน หนง่ึ เดยี ว คา ของคียหลักตอ งไมซ ํ้ากนั เลย ประกอบดวยจาํ นวนแอททริบวิ ตนอยท่ีสุดท่สี ามารถ เจาะจงทัพเพิลหนงึ่ ในรเี ลชันได (PK หา มซา้ํ ) ● คียรอง ( Alternate Key หรอื Secondary Key) กุญแจทไี่ มถกู เลอื กใหเปน กญุ แจหลัก ● คยี น อก (FK: Foreign Key) ใชในการเช่อื มโยงขอมูลระหวางความสัมพันธเ ขา ดว ย กัน (nonkey attribute ใน relation หน่ึงทเ่ี ปน primary key ใน relation อื่น) ● คยี อ ยางงา ย (Simple key) ประกอบดวย attribute เดียว ● คยี ป ระกอบ (Combine key หรอื Composite key) กญุ แจทป่ี ระกอบข้ึนจาก แอททรบิ วิ ทม ากกวา 1 แอททริบิวท เมื่อนําแอททริบิวตท ้งั หมดมาผสมกัน ทาํ ใหไ ด คาท่ีไมซ ํ้ากันเลย
● คียคแู ขง (Candidate Key) สามารถจะเปนคูแขง ซ่ึงจะถกู เลอื กใหเปนคียห ลกั ● ซุปเปอรค ยี (Super key) กลมุ ของแอททรบิ ิวตข องรเี ลชันที่สามารถเจาะจง (identify) ความเปนหนงึ่ เดียวของทัพเพิลท่ีแตกตา งจากทพั เพิลอนื่ ได หมาย ถงึ attribute หรอื เซท็ ของ attribute ที่สามารถบง บอกวาแตละแถว (Tuple) แตกตา งกัน ในทกุ ๆ ความสัมพันธ จะตอ งมีอยา งนอ ย หนง่ึ Super key ในเซท็ ของ attributes ● แอททริบิวต (Attribute) แอททรบิ ิวต (Attribute) หมายถึง แตละคอลมั นท ่อี ยใู นรีเลชนั แตล ะแอททริบิวต จะมชี ่ือกาํ กับแตล ะแอททรบิ วิ ตในตละรเี ลชนั
● คารดนิ ัลลิต้ี (Cardinality) คารด ินัลลติ ้ี (Cardinality) หมายถึง การอธบิ ายถึงลกั ษณะความสัมพันธของ ขอมลู ของตารางกับอีกตารางหนง่ึ (จํานวนทเู พิลหรอื แถวในแตล ะตารางหรือรีเลชัน) ซ่ึงมอี ยู 3 แบบ คือ ความสมั พนั ธข องขอ มลู แบบหนึง่ ตอ หนงึ่ (One to One) แบบหนึ่งตอกลุม (One to Many) แบบกลมุ ตอกลมุ (Many to Many) ● ดกี รี (Degree) ดีกรี (Degree) หมายถงึ จํานวนแอททิรบิ วิ ทของแตละตาราง(รเี ลชนั ) หรือ จํา นวนแอททิริบิวทท่ีมอี ยูในแตล ะตาราง(รีเลชนั ) ● คาวา ง (Null Values) คาวาง (Null Values) คอื คา ของ Attribute อาจจะเปนคาวาง (Null) คอื ไมมี คา หรอื ยังไมทราบคา ได
2. การควบคุมความถกู ตอ งใหก ับขอมูลกฎท่ีเก่ียวของกับการรกั ษา ความถูกตอ ง กฎทีใ่ ชส ําหรบั รกั ษาความถกู ตองของขอมูล แบง ออกเปน 2 กฎคือ กฎทีเ่ กี่ยวของ กับเอนทิตี้ และกฎท่เี กย่ี วของกับการเชือ่ มโยงความสมั พนั ธข องเอนทิตี้ ) ● กฎความบรู ณภาพหรอื คงสภาพของเอนทติ ้ี (Entity Integrity Rule) กฎความบรู ณภาพของเอนทิตี้ เปน กฎทีใ่ ชก าํ หนดเพื่อใหข อ มลู ของเอนทิต้ี มี ความถูกตอ ง แอตทริบิวสท ีท่ าํ หนาที่เปนคียห ลกั ของตารางไมสามารถมคี าเปนคาวา งได (Null Value) และจะตองมคี ณุ สมบตั ทิ ีเ่ ปน เอกลักษณ (identity) (ความเปนเอกลกั ษณ คือ สามารถระบุ ขอ มลู แอตทริบิวสอ น่ื ๆ ทอี่ ยใู นทเู พิลเดียวกนั ได) ● กฎความบูรณภาพหรือคงสภาพของการอา งอิง (Referential Integrity Rule) กฎความบรู ณภาพของการอางองิ คือกฎที่ใชร กั ษาความถกู ตอ งของขอมลู ทีม่ ี ความสัมพันธกนั ของเอนทติ ี คาของคียนอก (FK) ในตารางจะตอ งมขี อมูลอยูในอกี ตารางหนง่ึ ที่คยี นอกของตารางนัน้ อา งองิ ถงึ
3. การจดั การกับขอ มูล (Data manipulation) D r. E.F. Codd ไ ดนําทฤษฎีของเซท (set) ซง่ึ เปน ทฤษฎีทางคณติ ศาสตรมาใชใน การจดั การกบั ขอมูลของฐานเชงิ สมั พันธ โดยเซท หมายถึง คาํ ทใี่ ชบ ง บอกถงึ กลมุ ของสง่ิ ตา งๆ และ เมือ่ กลาวถงึ กลุม ใดแนนอนวา สง่ิ ใดอยูใ นกลมุ สง่ิ ใดไมอยูในกลมุ ตัวอยาง ให A เปนเซตของผลไม, A = {สับปะรด, ทุเรียน, มังคดุ , ลําไย, ลนิ้ จี่} จาํ นวนสมาชกิ ของ A, n(A)=5 และให B เปน เซตสี ของรงุ จะได B = {สีมว ง, สีคราม, สีนํา้ เงนิ , สเี ขียว, สีเหลือง, สแี สด, สแี ดง} และ n(B)=7 การจดั การกบั ขอ มูล (Data manipulation) ไดแ ก ● ยเู นยี น (Union) ใชสญั ลกั ษณ (∪) เช่ือมความสัมพันธเขาดว ยกนั คือ การแสดง ขอมลู ตามลักษณะทฤษฎีการ Union ของเซต กลา วไดวา ยูเนยี นของ A และ B คือ เซตทเ่ี กดิ จากการรวบรวมสมาชิกของ A และ B เขา ไวดว ยกนั
● อินเตอรเ ซกชนั (Intersection) คือ โอเปอเรเตอรท างคณติ ศาสตรที่ใชใ นการแสดง ขอมูลท่ีมอี ยูในทั้งสองรีเลชั่น หรือมากกวา โดยรเี ลชนั่ ที่จะมา Intersection กนั จะ เปน รเี ลชน่ั ท่ีไปกันได กลา วไดว า อนิ เตอรเ ซกชัน ของ A และ B คือเซตท่ปี ระกอบ ดวยสมาชิกที่เหมอื นกันของ A และ B
● ผลตา งระหวางเซต (Difference Set) (Minus) ใชสัญลกั ษณ (-) หาความแตกตา ง ระหวา งความสัมพันธ คอื การแสดงขอ มลู ทเู พลิ ของรีเลชัน ซ่งึ ไมมอี ยูในอีกรีเลชัน หนง่ึ ตามทฤษฎกี าร Difference ของเซต กลาวไดวา ผลตางระหวา งเซต A และเซต B คอื สมาชกิ อยูใ นเซต B โดย“ผลตางระหวา งเซต A และเซต B เขียนแทนดว ย A – B ” ● ● ● Join Operator คอื การกระทําเพอื่ แสดงขอมูลที่เปน ไปไดทั้งหมดทเ่ี กดิ จากการ เชอ่ื มโยงขอ มลู ของ 2 รีเลชน่ั ● Division คือ การแสดงขอมูลจากสองรีเลชน่ั โดยทรี่ ีเลชั่นท้งั สองมแี อททรบิ วิ ตอ ยาง นอ ยหนง่ึ แอททรบิ วิ ตท เี่ หมอื นกัน ผลลัพธท ่ีได จะเปน คาของแอททริบวิ ตจากรเี ลช่ันท่ี มีจํานวนแอททรบิ ิวตมากกวา ● แบบมีขอจาํ กัด (Restrict) คอื การแสดงขอ มูลในทเู พลิ ซ่งึ มขี อ มูลตรงตามเงอื่ นไขท่ี ระบุ หากมีการปรบั ปรงุ (Update)หรอื ลบ(Delete) ขอ มูลในกุญแจหลกั ของรเี ลชัน หลัก(Parent relation) ที่มขี อมลู ท่ีเปนกญุ แจนอกอา งองิ อยูในขณะนั้น จะไม สามารถปรับปรงุ หรือลบขอมูลดงั กลาวได ตวั อยางเชน หากตองการแกไข “รหสั สาขา ” ในรเี ลชนั “สาขา” จาก “B005” เปน B050” (หรอื ตอ งการลบ สาขาท่ีมรี หสั “B005” ออกจากรีเลชนั “สาขา”) จะไมส ามารถทาํ ไดหากมีการอา งถึงขอ มลู “B005” ในแอททรบิ ิวท “รหัสสาขา” ในรเี ลชนั “พนกั งาน” (ซ่ึงทําหนาทเ่ี ปนกญุ แจ
นอก) จะแกไขไดก ต็ อเมื่อ ไมมกี ารอา งถึงขอมูลดังกลาวในกญุ แจนอกของรีเลชนั “ พนักงาน” แลว ● Projection Operator ใชสัญลกั ษณ (π)(pi) แสดงขอ มลู เฉพาะบางฟลดจ ากตาราง โดยจะแสดงทุกรายการ ดังนั้น Projection คอื โอเปอเรเตอรทางคณติ ศาสตรทีใ่ ชใ น การแสดงขอมลู เพยี งบางแอททรบิ วิ ตจ ากรเี ลช่ันหน่งึ ๆ ซงึ่ การแสดงขอ มูลอาจจะเปน แบบมเี งอ่ื นไขหรือไมม ีกไ็ ด กลา วไดว าเลือกเฉพาะบางแอททริบวิ ตข องตารางหรือ ความสัมพันธ (รเี ลชัน)ทตี่ อ งการมาแสดง (เทยี บไดกบั การใช ค าํ ส่ัง Select...From ใน ภาษา SQL) ● Cross-product (X) หรือ Cartesian Product คอื การรวมความสมั พนั ธ โดย Product คือ การกระทาํ เพอ่ื แสดงขอ มลู ท่ีเปนไปไดทุกกรณขี องการจบั คูกันระหวา ง 2 รีเลชัน (จับคู 2 ตาราง) ●
นาย E.F. Codd ไดเ สนอโมเดลแบบรเี ลชน่ั นอล (Relational Model) โดยเขาเสนอกฏ 12 ขอท่เี ปน บรรทดั ฐานวดั วาระบบฐานขอมลู ใดบางทถ่ี ือไดว าเปน ฐานขอมูลแบบรเี ลช่ันนอล จากกฎ 12 ขอ น้ี ระบบปฏิบัตกิ ารฐานขอ มลู แบบ Relational Database Management System (RDBMS) จงึ ไดถ ูกพัฒนาข้ึนอยางจริงจัง โดยกฎ 12 ขอ มีดังน ้ี • กฎขอ ท่ี 1 กฎขาวสาร (The Information Rule) ขอ มูลตาง ๆ ในระบบฐานขอ มลู จะถูก นําเสนอและจดั การ ในรปู แบบตาราง โดยทอี่ ยา งนอยจะตองประกอบดวย ช่ือ ตาราง ชื่อคอลมั น คอลัมนใดเปน index หรอื key ชนดิ ของขอมลู ในแตละคอลมั น ขอบเขตของคาขอ มลู ในแตละคอลัมน (domain) • กฎขอท่ี 2 กฎการการันตีการเขา ถงึ ขอ มูล (Guaranteed Access Rule) ผใู ชจะ ตอ งสามารถเขา ถึงขอมลู ทุกตวั ในตารางไดด ว ยการระบุชอื่ ตารางคาของ primary key และชื่อคอลมั น (Column) ที่ตอ งการ และถา ไมไ ดม ีการเปล่ยี นแปลง ขอ มลู ใน ตารางแลว การเขา ถงึ และ เรียกใช ขอ มลู จะไดผ ลออกมาเพียงคาเดียว และเหมือน เดมิ ทุกครัง้ • กฎขอ ท่ี 3 วิธีแสดงวา ขอ มลู บางรายการยังไมพรอ ม หรือยังไมมคี า ใหใ ชค า null เพือ่ แสดงวาระบบน้ีไมมขี อมลู ในสว นน้นั ในหลายกรณีที่ ขอมลู ในสวนน้ันยังไมมีทันที เราสามารถแทนคา น้ันดวยคา null ตวั อยางเชน ใน ตาราง Employee ถาเรารบั พนักงานเขา มาใหม โดยยังไมได กาํ หนดวาพนกั งานคนนี้จะใหส งั กดั แผนกใด คา ของขอ มลู ในคอลมั น Manager และ Dept ของเรคอรดจะมคี า null
• กฎขอที่ 4 โครงสราง จะตอ งมีสภาพ โมเดลแบบรีเลชั่นนอล กฎขอนี้สามารถใหผ ูใช เรียกดู และแกไ ขโครงสรา งขอมูลตาง ๆ ของระบบไดดว ยภาษาและวธิ ีเดียวกบั การ เรียกดขู อมูลของระบบ • กฎขอที่ 5 กฎของภาษา (Comprehensive data sublanguage rule) ระบบ DBMS แบบรีเลช่ัน ควรมภี าษาอยางอยางนอย 1 ภาษา ที่สามารถกระทาํ การตอ ไปน ี้ ไดแก นยิ ามโครงสรา งระบบขอมูล นิยามววิ เปล่ยี นแปลงแกไ ขขอ มลู ทัง้ ดวยวธิ ีการ ใชค ําสง่ั แบบ interactive และ ดวยการเขียนโปรแกรม ควบคมุ integrity ท้งั integrity ของขอ มูล (entity integrity) ของการอางอิงดว ย (referential integrity) โดยขอใหดคู วามหมายของ integrity ทัง้ 2 น้ีไดใ นกฎขอ ท่ี 10 (integrity นักวชิ าการ บางทานหมายถึง บูรณภาพ คอื ลักษณะทมี่ ีความหมายม่นั คงเปน ปก แผน ) การใช สิทธกิ ารใชง าน และขอบเขตของ transaction • กฎขอ ท่ี 6 กฎการแกไขขอมูลผา นทางวิว (View update rule) ผใู ชแตล ะคน เห็น ระบบขอมูลในมุมมอง หรือ ววิ ทแ่ี ตกตา งกัน ระบบฐานขอ มูลตอ ง สามารถ เปล่ียนแปลงแกไขขอ มูล ตาม มุมมอง หรือ วิวทแ่ี ตตา งกนั ได ระบบฐานขอมลู ( DBMS ) จะตองสามารถ ตัดสนิ ไดวาผใู ชส ามารถเพมิ่ เตมิ ทพั เพลิ (tuple หมายถึง แถว หรอื เรคอรดในตาราง)ลบทัพเพิล หรือแกไ ขขอ มลู ในคอลัมนใด ๆ โดยกระทํา ผา นววิ ไดหรอื ไม • กฎขอ ท่ี 7 ความสามารถในการเพิม่ ลด และแกไขขอมลู ระบบฐานขอ มูล ( DBMS ) ควรจะมภี าษาทีส่ ามารถใหผ ใู ช เพ่มิ ลด หรือแกไ ข ขอมูลในหลาย ๆ แถว หรอื หลาย ๆ คอลัมน ไดดวยการออกคาํ สง่ั เพียงคําส่ังเดยี ว ซง่ึ ในปจ จบุ ัน สวนใหญร ะบบฐาน ขอมลู (DBMS) จะมีภาษาทชี่ ่ือ SQL เปน มาตรฐาน • กฎขอที่ 8 ความเปน อิสระของขอ มูลในระดบั กายภาพ (Physical data independence)
ผูใชง าน ระบบฐานขอมลู ( DBMS ) ไมจําเปน จะตอ งรบั รูเ กี่ยวกับการจดั เกบ็ ขอมูล จริง รวมทั้งการเปล่ยี นแปลงวิธกี ารจัดเกบ็ เหลา น้ี และการเขา ถึงขอมลู ดว ยการระบุ คา เชน เดิมนกี้ จ็ ะไดคําตอบเหมือนเดมิ เสมอ ไมวาระบบจะไดม กี ารเปลี่ยนแปลง ทาง ดา นกายภาพอยา งไร • กฎขอ ท่ี 9 ความเปนอสิ ระของขอ มูลในระดับตรรก (Logical data independence) การเปล่ียนแปลงขอมลู ในระดบั ตรรก รวมถงึ การเปลย่ี นแปลง โครงสรา งขอ มูล เชน เพิ่มเตมิ คอลมั น เขา ไปในตาราง หรอื การสรา งตารางใหม เปน ตน การเปลย่ี นแปลง ในระดบั ตรรก มีผลตอคําสง่ั และโปรแกรมท่ีเขยี นไวกอน ไดม ากกวา การเปล่ียนแปลงทางกายภาพ เชน ซอฟตแวร สวนใหญย อมใหเราแกไ ข โครงสราง (schema) ไดโ ดยไมต อ งพิมพข อมูลลงในตารางใหมก จ็ ริง • กฎขอ 10 ความเปนอสิ ระของ ระบบฐานขอ มูล ( DBMS ) ควรจะสามารถจดั เก็บ ขอ มูลเกย่ี วกับการควบคมุ ความคงสภาพ ( integrity ) • กฎขอ 11 ความเปน อิสระของการกระจาย ผใู ชระบบไมตอ งใหความสนใจวา ขอมูล จะถกู จัดเกบ็ อยา งไร แมแตจ ะถกู โยกยา ย ไปยังเคร่อื งคอมพิวเตอร เครือ่ งอน่ื ท่เี ช่อื ม โยงไวก ต็ าม • กฎขอ 12 การไมย อมใหภ าษาอ่ืนทาํ ลายกฎ กฎเกณฑตาง ๆ โดยเฉพาะกฎเกี่ยว กบั integrity จะตอ งสามารถใชควบคุมความ ถูกตองของขอมูลในระบบไดต ลอด เวลา ไมว า ผูใชจ ะเขา ถึงขอมูลดวยเครื่องมอื ใด ๆ (เชน ระบบ 4th GL หรือ 3nd GL) กต็ าม
ท าํ ไมจงึ ตอ งเรยี นรูฐานขอ มลู เชิงสัมพนั ธ ฐานขอ มลู เชิงสัมพนั ธเ ปนรูปแบบของฐานขอมลู ซงึ่ งายสาํ หรับผูใชทั่วไป โดยเฉพาะผูใชที่ไมใ ชน กั วิเคราะหแ ละออกแบบระบบ โปรแกรมเมอรห รอื ผจู ดั การฐานขอมลู เปน ตน ในปจ จุบนั Relational Model ไดรับความนยิ มใชก นั มากกวา โมเดลอืน่ ๆ เนื่องจากมขี อ ดี ดงั น ้ี ● 1) ผลงานที่ไดจ ากการพัฒนาระบบงานสงู สุด (Productivity สงู มาก) ● 2) โครงสรางขอมลู เรยี บงา ย ทาํ ใหง า ยตอ การใชงานและการเขียนโปรแกรม ● 3) ภาษาที่ใชเ หมาะสม เปน ภาษาทเี่ รียกวา “relational complete language” เปน concept ของ set theory เชน ภาษา SQL, QBE เปนตน
Search
Read the Text Version
- 1 - 24
Pages: