Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Unit 2 Relational Data Model

Unit 2 Relational Data Model

Published by Manote Keaowka, 2019-09-05 02:19:50

Description: Unit 2 Relational Data Model

Search

Read the Text Version

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 เปนตน    


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook