Rdbms ม ประโยชน อย างไรต อการใช งานฐานข อม ล

บทที่ 3 ระบบฐานข้อมูลเชิงสัมพนั ธ์

หัวข้อเรื่อง

3.1 ความหมายของฐานขอ้ มูลเชิงสมั พนั ธ์ 3.2 โครงสร้างของขอ้ มูล (Data Structure) 3.3 กฎท่ีเกี่ยวขอ้ งกบั การรักษาความถูกตอ้ ง 3.4 การจดั การกบั ขอ้ มูล (Data manipulation)

จุดประสงค์ทวั่ ไป

 เพอื่ ใหม้ ีความรู้ความเขา้ ใจเก่ียวกบั ระบบฐานขอ้ มูลเชิงสมั พนั ธ์

จุดประสงค์เชิงพฤตกิ รรม

เม่ือศึกษาหน่วยที่ 3 จบแลว้ ผเู้ รียนสามารถ

1. อธิบายความหมายและประโยชนข์ องฐานขอ้ มูลเชิงสัมพนั ธ์ได้ 2. บอกลกั ษณะโครงสร้างของระบบฐานขอ้ มูลเชิงสัมพนั ธ์ได้ 3. บอกความหมายของคาศพั ทต์ ่างๆ ท่ีใชใ้ นฐานขอ้ มูลเชิงสมั พนั ธ์ได้ 4. อธิบายเก่ียวกบั คียแ์ บบตา่ งๆได้ 5. อธิบายกฎที่เก่ียวขอ้ งกบั การรักษาความถูกตอ้ งของขอ้ มูลได้ 6. อธิบายการกระทาตา่ งๆ กบั ขอ้ มูลในฐานขอ้ มูลได้

3.1. ความหมายของฐานข้อมูลเชิงสัมพนั ธ์

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

ฐานขอ้ มูลเชิงสัมพนั ธ์ คือ การเกบ็ ขอ้ มูลในรูปของตาราง (Table) หลายๆตารางท่ีมีความสมั พนั ธ์กนั ในแต่ละตารางแบ่ง ออกเป็นแถวๆ และในแต่ละแถวจะแบ่งเป็นคอลมั น์ (Column) ในทางทฤษฎีจะมีคาศพั ทเ์ ฉพาะแตกต่างออกไป เนื่องจาก แบบจาลองแบบน้ีเกิดจากทฤษฎีทางคณิตศาสตร์เร่ืองเซ็ท (Set) ดงั น้นั เราจะมีคาศพั ทเ์ ฉพาะดงั ตารางท่ี 3.1น้ี

ตารางท่ี 3.1 คาศพั ทเ์ ฉพาะที่ใชใ้ นระบบฐานขอ้ มูลเชิงสมั พนั ธ์

ศัพท์เฉพาะ ศัพท์ทว่ั ไป

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

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

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

คาร์ดินลั ลิติ้ (Cardinality) จานวนแถว (Number of rows)

ดีกรี (Degree) จานวนแอททริบิวท์ (Number of attribute)

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

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

รูปที่ 3.1 แสดงรายละเอยี ดของส่วนประกอบต่าง ๆ ของโมเดลแบบความสัมพนั ธ์

อาจจะเขียนในรูปสมการดงั ตอ่ ไปน้ี R(รหสั ประจาตวั ประชาชน,ช่ือ,นามสกลุ ,วนั เกิด) เนื่องจากแตล่ ะตารางสามารถมี ความสมั พนั ธ์กนั ไดด้ งั ท่ีกวา่ ไวใ้ นขา้ งตน้ ทาใหก้ ารเกบ็ ขอ้ มูลในรูปแบบน้ี มีความคล่องตวั สูงเพราะเราสามารถแยกเกบ็ ขอ้ มูลใน หลายตารางโดยอาศยั ความสมั พนั ธ์ดงั กล่าว และสามารถสืบคน้ ไดจ้ ากรหสั พิเศษท่ีเรียกวา่ กญุ แจ(key) ดงั รูปที่ 3.2

รูปท่ี 3.2 แสดงตวั อย่างการสืบค้นข้อมูลโดยอาศัยความสัมพนั ธ์

Dr.E.F.Codd ไดก้ าหนดส่วนประกอบของโมเดลเชิงสัมพนั ธ์น้ี แบ่งเป็น 3 ส่วนไดแ้ ก่

1. ส่วนที่เกี่ยวขอ้ งกบั โครงสร้างของขอ้ มูล 2. ส่วนท่ีเกี่ยวกบั การควบคุมความถูกตอ้ งใหก้ บั ขอ้ มูล 3. ส่วนในการจดั การกบั ขอ้ มูล

3.2. โครงสร้างของข้อมูล (Data Structure)

3.2.1. Relation โครงสร้างของฐานขอ้ มูลเชิงสมั พนั ธ์ จะอยใู่ นลกั ษณะของตาราง 2 มิติ ประกอบดว้ ยทางดา้ นแถว และคอลมั น์ ซ่ึงจะ เรียกวา่ รีเลชนั (Relation) โดยทว่ั ๆ ไป Relation หน่ึง ๆ จะมีคุณสมบตั ิต่าง ๆ ดงั น้ี

  1. ไม่มี Tuples คู่ใด ๆ เลยท่ีซ้ากนั (No duplicate tuples)
  2. ลาดบั ที่ของ Tuples ไม่มีความสาคญั
  3. ลาดบั ท่ีของ Attributes ไม่มีความสาคญั
  4. ค่าของ Attribute จะเป็นค่าเดี่ยว ๆ (Atomic) นน่ั คือ ค่าของขอ้ มูลที่ปรากฏอยใู่ นตารางจะเป็นค่า ๆ เดียว เป็นลิสตข์ องคา่ หลาย ๆ คา่ ไม่ได้ ซ่ึง Relation ที่มีคุณสมบตั ิขอ้ น้ีจะถูกเรียกวา่ เป็น Relation ที่อยใู่ นรูปแบบ Normal form
  5. คา่ ของขอ้ มูลในแต่ละ Attribute จะบรรจุค่าของขอ้ มูลประเภทเดียวกนั

ชนิดของ Relations

ในระบบจดั การฐานขอ้ มูลทวั่ ๆ ไป Relation อาจจาแนกออกไดเ้ ป็น 2 ประเภท ดงั น้ีคือ

  1. Relation หลกั (Base Relation) เป็น Relation ท่ีถูกกาหนดข้ึนเพื่อเกบ็ ขอ้ มูลและเพอ่ื นาขอ้ มูลไปใชเ้ มื่อมีการสร้าง Relation โดยใช้ Data Definition

Language เช่น ใน SQL คาสง่ั CREATE TABLE เป็นการสร้าง Relation หลกั หลงั จากน้นั กจ็ ะทาการเกบ็ ขอ้ มูลเพื่อการ เรียกใชข้ อ้ มูลในภายหลงั Relation หลกั จะเป็นตารางที่จดั เกบ็ ขอ้ มูลจริงไว้

  1. ววิ (View) หรืออาจเรียกอกี อย่างหนึ่งว่า Relation สมมุติ (Virtual Relation) เป็น Relation ที่ถูกสร้างข้ึนตามความตอ้ งการใชข้ อ้ มูลของผใู้ ชแ้ ต่ละคน เน่ืองจาก ผใู้ ชแ้ ต่ละคนอาจตอ้ งการใชข้ อ้ มูลใน ลกั ษณะที่แตกต่างกนั จึงทาการกาหนดวิวของตวั เองข้ึนมาจาก Relation หลกั เพ่ือความสะดวกในการใชข้ อ้ มูล และช่วยให้ การรักษาความปลอดภยั ของฐานขอ้ มูลทาไดง้ ่ายข้ึน Relation ท่ีถูกสมมติข้ึนมาน้ีจะไม่มีการเกบ็ ขอ้ มูลจริง ๆ ในระบบ ฐานขอ้ มูล ลกั ษณะของรีเลชน่ั แสดงดงั รูปท่ี 3.3

รูปท่ี 3.3 โครงสร้างของฐานข้อมูลเชิงสัมพนั ธ์ จากรูปท่ี 3.3 ตารางขอ้ มูลท้งั หมด จะเรียกวา่ Relation แตโ่ ดยส่วนใหญ่นิยมเรียกวา่ Table หรือ ตาราง เนื่องจากโครงสร้าง การจดั เกบ็ เป็นแบบตาราง ส่วนขอ้ มูลในแตล่ ะแถว จะเรียกวา่ ทูเพิล (Tuple) ส่วนขอ้ มูลในแตล่ ะคอลมั น์ จะเรียกวา่ แอตทริ บิวส์ (Attribute) ดงั ตวั อยา่ งมี 4 แอตทริบิวส์ คือ SID, Sname, GPA, Major เขียนเป็นสมการไดด้ งั น้ี Student(SID,Sname,GPA,Major) 3.2.2. Domain โดเมน (Domain) คือการกาหนดขอบเขตและชนิดของขอ้ มูลเพ่ือป้องกนั ไม่ใหข้ อ้ มูลท่ีผใู้ ชจ้ ดั เกบ็ มีความผดิ พลาดไปจาก ความเป็นจริงท่ีควรจะเป็น ตวั อยา่ งดงั รูปท่ี 3.4

รูปที่ 3.4 โดเมนของข้อมูล

จากรูปท่ี 3.4 เป็นการกาหนดโดเมนใหก้ บั แอตทริบิวส์ขอ้ มูล GPA ซ่ึงเป็นค่าเกรดเฉล่ีย ของนกั ศึกษา ซ่ึงค่าเกรดเฉลี่ย จะตอ้ งมีค่าอยรู่ ะหวา่ ง 0 - 4 ดงั น้นั จึงตอ้ งกาหนดโดเมนใหก้ บั แอตทริบิวส์ GPA เพ่ือไม่ใหข้ อ้ มูลผดิ พลาดไปจากน้ี

3.2.3. คยี ์ (Key) คีย์ คือ แอตทริบิวส์ หรือ กลุม่ ของแอตทริบิวส์ท่ีสามารถแยกความแตกต่างของขอ้ มูล ในแตล่ ะทูเพลิ ได้ หรือแอตทริบิวส์ที่ ขอ้ มูลในแอตทริบิวส์น้นั ตอ้ งมีขอ้ มูลที่ไม่ซ้ากนั ซ่ึงคีย์ มีอยหู่ ลายชนิดดว้ ยกนั ไดแ้ ก่

3.2.3.1. คยี ์อย่างง่าย (Simple key) หมายถึง key ท่ีประกอบดว้ ย attribute เดียว 3.2.3.2. คยี ์ประกอบ (Combine key หรือ Composite key) หมายถึง key ท่ี ประกอบดว้ ย attribute มากกวา่ 1 attribute 3.2.3.3. คยี ์คู่แข่ง (Candidate Key) คือคียท์ ี่เลก็ ที่สุด ท่ีแยกความแตกต่างของขอ้ มูล แตล่ ะทูเพิลได้ ยกตวั อยา่ งเช่น ในรีเล ชนั Student มีขอ้ มูลที่สามารถเป็นคียค์ ูแ่ ข่ง คือแอตทริบิวส์ รหสั นกั ศึกษา และการใชแ้ อตทริบิวส์ ช่ือรวมกบั นามสกลุ ซ่ึง ท้งั สองแบบสามารถระบุความแตกต่าง ของขอ้ มูล แตล่ ะทูเพิลได้ 3.2.3.4. คยี ์หลกั (Primary Key) คือคียค์ ู่แข่งซ่ึงไดเ้ ลือกมาเพื่อใชก้ าหนดใหเ้ ป็นค่าคีย์ หลกั ของ รีเลชนั ซ่ึงขอ้ มูลที่เป็นคีย์ หลกั น้นั จะตอ้ งมีขอ้ มูลที่ไม่ซ้ากนั และมกั จะเลือกคียค์ ูแ่ ขง่ ท่ีมีขนาดเลก็ มาเป็นคียห์ ลกั ตวั อยา่ งเช่น การเลือกแอตทริบิวส์ รหสั นกั ศึกษา มาเป็นคา่ คียห์ ลกั เนื่องจาก มีขนาดเลก็ กวา่ แอตทริบิวส์ ชื่อ รวมกบั นามสกลุ ซ่ึงจะทาใหก้ ารทางานเร็วกวา่ เน่ืองจากมีขนาดเลก็ กวา่ 3.2.3.5. คยี ์รอง (Alternate Key หรือ Secondary key) คือคียค์ ู่แขง่ อ่ืนๆ ท่ีไม่ได้ ถูกเลือกมาใชง้ าน ยกตวั อยา่ งเช่น แอตทริ บิวส์ ช่ือรวมกบั นามสกลุ ซ่ึงไม่ไดถ้ ูกเลือกใหเ้ ป็นคียห์ ลกั ของรีเลชนั กจ็ ะกลายเป็น Alternate Key 3.2.3.6. คยี ์นอก (Foreign Key)เป็นคียท์ ่ีใชเ้ ช่ือมความสมั พนั ธ์ของรีเลชนั ตวั อยา่ งแสดงดงั รูปที่ 3.5

รูปที่ 3.5 คยี ์หลกั และคยี ์นอก

จากรูปท่ี 3.5 รีเลชนั Student มีค่าคียห์ ลกั คือ SID ซ่ึงเป็นรหสั นกั ศึกษา โดยขอ้ มูลของรหสั นกั ศึกษาจะตอ้ งมีขอ้ มูลท่ีไม่ซ้า กนั และมีคียน์ อกของตารางคือแอตทริบิวส์ Major ซ่ึงเช่ือมโยงความสัมพนั ธ์ไปยงั แอตทริบิวส์ Major ของรีเลชนั Major ซ่ึง ขอ้ มูลทุกตวั ของแอตทริบิวส์ Major ในรีเลชนั Student จะตอ้ งมีอยใู่ นแอตทริบิวส์ Major ของรีเลชนั Major ส่วนตาราง Major มีคียห์ ลกั คือแอตทริบิวส์ Major 3.2.3.7. ซุปเปอร์คยี ์ (Super key) หมายถึง attribute หรือ เซ็ทของ attribute ท่ี สามารถบ่งบอกวา่ แตล่ ะแถว (Tuple) แตกตา่ ง กนั ในทุก ๆ ความสมั พนั ธ์ จะตอ้ งมีอยา่ งนอ้ ย หน่ึง super key ในเซ็ทของ attributes

3.3. กฎทเี่ กย่ี วข้องกบั การรักษาความถูกต้อง กฎที่ใชส้ าหรับรักษาความถูกตอ้ งของขอ้ มูล แบ่งออกเป็น 2 กฎคือ กฎท่ีเกี่ยวขอ้ งกบั เอนทิต้ี และกฎท่ีเก่ียวขอ้ งกบั การ เช่ือมโยงความสมั พนั ธ์ของเอนทิต้ี ) 3.3.1. กฎความบูรณภาพของเอนทติ ี้ (Entity Integrity Rule) กฎความบูรณภาพของเอนทิต้ี เป็นกฎท่ีใชก้ าหนดเพื่อใหข้ อ้ มูลของเอนทิต้ี มีความถูกตอ้ ง ซ่ึงกล่าวไวว้ า่ "แอตทริบิวส์ที่ทา หนา้ ท่ีเป็นคียห์ ลกั ของรีเลชนั ไม่สามารถมีคา่ เป็นคา่ วา่ งได้ (Null Value)" และจะตอ้ งมีคุณสมบตั ิที่เป็นเอกลกั ษณ์ (Identity) คือสามารถระบุขอ้ มูลแอตทริบิวส์อื่นๆ ที่อยใู่ นทูเพิลเดียวกนั ได้ 3.3.2. กฎความบูรณภาพของการอ้างองิ (Referential Integrity Rule) กฎความบูรณภาพของการอา้ งอิง คือกฎท่ีใชร้ ักษาความถูกตอ้ งของขอ้ มูลท่ีมีความสัมพนั ธ์กนั ของเอนทิต้ี ซ่ึงไดก้ ล่าวไวว้ า่ "ค่าของคียน์ อกในรีเลชนั จะตอ้ งมีขอ้ มูลอยใู่ นอีก รีเลชนั หน่ึง ที่คียน์ อกของรีเลชนั น้นั อา้ งอิงถึง" ในบางกรณีคียน์ อกอาจเป็นคา่ วา่ งได้ ถา้ นโยบายขององคก์ ร อนุญาตใหค้ ่าคียน์ อกเป็น ค่าวา่ งได้ กรณีหากมีการลบ หรือ แกไ้ ขขอ้ มูล ในรีเลชนั ท่ีถูกอา้ งอิงถึง ซ่ึงจะทาใหส้ ูญเสียความบูรณภาพของขอ้ มูล ดงั ตวั อยา่ งรูปท่ี 3.6 หากมีการแกไ้ ขหรือ ลบขอ้ มูลของรีเลชนั Major ในแอตทริบิวส์ Major ซ่ึงมีความสัมพนั ธ์อยกู่ บั รีเลชนั Student จะทาใหค้ วามสมั พนั ธข์ อง ขอ้ มูลเสียหาย ดงั น้นั จึงตอ้ งเลือก การกระทาเพือ่ ไม่ใหค้ วามสัมพนั ธ์ของขอ้ มูลสูญเสียไปดงั น้ี กรณกี ารแก้ไขข้อมูล 1. หา้ มทาการแกไ้ ขขอ้ มูลในรีเลชนั ท่ีถูกอา้ งถึงน้นั เน่ืองจากจะทาใหข้ อ้ มูลในรีเลชนั ที่อา้ งอิงมา ไม่สามารถอา้ งอิงขอ้ มูลได้ 2. อนุญาตใหท้ าการแกไ้ ขขอ้ มูลในรีเลชนั ท่ีถูกอา้ งอิงถึงได้ แตจ่ ะตอ้ งตามไปแกไ้ ขขอ้ มูล ในรีเลชนั ท่ีอา้ งอิงมาใหต้ รงกบั ขอ้ มูลท่ีแกไ้ ขใหม่ท้งั หมด 3. อนุญาตใหท้ าการแกไ้ ขขอ้ มูลในรีเลชนั ที่ถูกอา้ งอิงถึงได้ โดยการแกไ้ ขขอ้ มูลในรีเลชนั ที่อา้ งอิงมาใหม้ ีค่าเป็น คา่ วา่ ง

รูปท่ี 3.6 รีเลชันทมี่ คี วามสัมพนั ธ์กนั

กรณีการลบข้อมูล

1. หา้ มทาการลบขอ้ มูลในรีเลชนั ที่ถูกอา้ งถึงน้นั เน่ืองจากจะทาใหข้ อ้ มูลใน รีเลชนั ท่ีอา้ งอิงมา ไม่สามารถอา้ งอิงขอ้ มูลได้ 2. อนุญาตใหท้ าการลบขอ้ มูลในรีเลชนั ที่ถูกอา้ งอิงถึงได้ แต่จะตอ้ ง ตามไปลบขอ้ มูลในรีเลชนั ท่ีอา้ งอิงมาท้งั หมด 3. อนุญาตใหท้ าการลบขอ้ มูลในรีเลชนั ที่ถูกอา้ งอิงถึงได้ โดยการแกไ้ ขขอ้ มูลในรีเลชนั ท่ีอา้ งอิงมาใหม้ ีคา่ เป็น ค่าวา่ ง (Null value) ค่าว่าง (Null Values) คา่ ของ Attribute อาจจะเป็นคา่ วา่ ง (Null) คือ ไม่มีค่าหรือยงั ไม่ทราบค่าได้ ตวั อยา่ งเช่น จานวนไข่ของนกกระจอกเทศ จะ สามารถบอกไดเ้ มื่อนกกระจอกเทศออกไขแ่ ลว้ แตย่ งั ไม่ทราบคา่ ในขณะที่จานวนไขข่ องชา้ งน้นั ไม่มีค่า เป็นตน้

3.4. การจดั การกบั ข้อมูล (Data manipulation)

Dr. E.F. Codd ไดน้ าทฤษฎีของเซท ซ่ึงเป็นทฤษฎีทางคณิตศาสตร์มาใชใ้ นการจดั การกบั ขอ้ มูลของฐานเชิงสัมพนั ธ์ ซ่ึงมีอยู่ หลายการกระทาดว้ ยกนั ในบทน้ีจะกลา่ วโดยยอ่ ๆ เท่าน้นั เนื่องจากเป็นเน้ือหาทางทฤษฎี ซ่ึงการนาไปใชง้ านจริงน้นั จะพดู ถึงในบทท่ีเก่ียวกบั คาส่ังที่ใช้ จดั การฐานขอ้ มูล ซ่ึงเน้ือหาจะมีความใกลเ้ คียงกนั การกระทาเหล่าน้ีไดแ้ ก่

3.4.1. Restrict คาวา่ Restrict เป็นโอเปอเรเตอร์ทางคณิตศาสตร์ท่ีใชใ้ นการเลือกขอ้ มูลจากรีเลชนั่ หน่ึง ๆ ที่มีเง่ือนไขตรงตามที่ระบุไว้ กลา่ วอีกนยั หน่ึงคือ ใชใ้ นการแสดงขอ้ มูลของทูเพิลที่เป็นไปตามเงื่อนไขที่ระบุไว้

รูปแบบ

ชื่อรีเลชนั่ WHERE <COMPARISION>

COMPARISION ในที่น้ี หมายถึงเงื่อนไขของขอ้ มูลท่ีตอ้ งการเรียกดู ซ่ึงจะระบุช่ือแอททริบิวต์ และคา่ เฉพาะท่ีตอ้ งการดู ขอ้ มูล โดยมีเคร่ืองหมายที่ประกอบการระบุเงื่อนไข เช่น = (เท่ากบั ) < (นอ้ ยกวา่ ) > (มากกวา่ ) <> (ไม่เท่ากบั ) เป็นตน้ ใน กรณีท่ีมีเงื่อนไขมากกวา่ หน่ึงเงื่อนไขอาจใชค้ าวา่ OR (หรือ) AND (และ) ประกอบกนั เป็นเง่ือนไขที่ตอ้ งการได้ ตวั อยา่ ง จากตารางใหแ้ สดงรายละเอียดของนกั ศึกษาที่อยู่ นครราชสีมา

นักศึกษา

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

นกั ศึกษา WHERE จงั หวดั = 'นครราชสีมา'

ผลท่ีได้ ดงั น้ี นักศึกษา

รหัส ชื่อ จังหวดั B001 แดง นครราชสีมา B004 ขาว นครราชสีมา

3.4.2. Project คาวา่ Project เป็นโอเปอเรเตอร์ทางคณิตศาสตร์ที่ใชใ้ นการแสดงขอ้ มูลเพียงบางแอททริบิวต์ จากรีเลชน่ั หน่ึง ๆ ซ่ึงการ แสดงขอ้ มูลอาจจะเป็นแบบมีเง่ือนไขหรือไม่มีกไ็ ด้

รูปแบบ

ชื่อรีเลชนั่ [ชื่อแอตทริบิวต์ 1, ช่ือแอตทริบิวต์ 2, ...]

หรือ

ช่ือรีเลชนั่ WHERE <COMPARISION> [ชื่อแอตทริบิวต์ 1, ...]

ตวั อยา่ ง จากตารางนกั ศึกษาที่ผา่ นมา ใหแ้ สดงชื่อจงั หวดั ที่นกั ศึกษาอยู่

นักศึกษา [จังหวดั ] ผลท่ีได้ ดงั น้ี

จังหวดั

นครราชสีมา กรุงเทพฯ สระบุรี นครราชสีมา

ตวั อยา่ ง จากตารางนกั ศึกษาท่ีผา่ นมา ใหแ้ สดงช่ือนกั ศึกษาและชื่อจงั หวดั เฉพาะนครราชสีมา (นักศึกษา WHERE จงั หวดั = 'นครราชสีมา' [ช่ือ,จงั หวดั ] ผลที่ได้ ดงั น้ี

ชื่อ จงั หวดั แดง ขาว นครราชสีมา นครราชสีมา

3.4.3. Product Product หรือ Cartesian Product เป็นการกระทาเพ่ือแสดงขอ้ มูลที่เป็นไปไดท้ ุกกรณีของการ จบั คู่กนั ระหวา่ ง 2 รีเลชนั ดงั ตวั อยา่ งรูปท่ี 3.7 รูปแบบ ชื่อรีเลชน่ั แรก TIMES ชื่อรีเลชนั่ สอง] จากตารางตอ่ ไปน้ี

นักศึกษา TIMES วชิ า ผลท่ีไดค้ ือ

หรือแสดงสมการตามรูปที่ 3.7

รูปท่ี 3.7 การกระทา Product

3.4.4. Union คือ การแสดงขอ้ มูลตามลกั ษณะทฤษฎีการ Union ของเซต คือส่วนของขอ้ มูลทูเพิลท่ีตา่ งกนั ของรีเลชนั จะ นามาท้งั หมด ส่วนขอ้ มูลทูเพลิ ที่เหมือนกนั ของรีเลชนั จะนามาจากรีเลชนั เดียว โดยรีเลชน่ั ท่ีจะมา Union กนั ตอ้ งเป็นรีเลชนั่ ที่ไปกนั ได้ (Compatible Relation) นน่ั คือ จะตอ้ งมีจานวนและช่ือแอททริบิวตท์ ี่เหมือนกนั และจดั เรียงแอททริบิวตใ์ นตาราง ท่ีเหมือนกนั (จากซา้ ยไปขวา) ดงั ตวั อยา่ งรูปท่ี 3.8 ขอ้ มูลส่วนที่แรเงาคือขอ้ มูลผลลพั ธ์ของการทา Union

รูปท่ี 3.8 การกระทา Union

รูปแบบ

ชื่อรีเลชน่ั แรก UNION ชื่อรีเลชนั่ สอง

ตวั อยา่ ง จากตาราง A และ B เป็นดงั น้ี คือ

A

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

B

รหัส ชื่อ จงั หวดั B001 แดง นครราชสีมา B005 ฝน กรุงเทพฯ

A UNION B ผลที่ไดค้ ือ

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

3.4.5. Intersection คาวา่ Intersection เป็นโอเปอเรเตอร์ทางคณิตศาสตร์ท่ีใชใ้ นการแสดงขอ้ มูลท่ีมีอยใู่ นท้งั สองรีเลชน่ั หรือมากกวา่ โดยรีเลชน่ั ท่ีจะมา Intersection กนั จะเป็นรีเลชนั่ ที่ไปกนั ได้ (Compatible Relation) ดงั ตวั อยา่ งรูปที่ 3.9 ขอ้ มูล ส่วนที่แรเงาคือขอ้ มูลผลลพั ธ์ของการทา Intersection

รูปที่ 3.9 การกระทา Intersection รูปแบบ ช่ือรีเลชนั่ แรก INTERSECT ช่ือรีเลชนั่ สอง จากตวั อยา่ งตาราง A และ B ที่ผา่ นมา A INTERSECT B ผลที่ไดค้ ือ รหัส ช่ือ จังหวดั <>/th> B001 แดง นครราชสีมา 3.4.6. Difference คือการแสดงขอ้ มูลทูเพิลของรีเลชนั ซ่ึงไม่มีอยใู่ นอีกรีเลชนั หน่ึง ตามทฤษฎีการ Difference ของเซต เช่นถา้ นาขอ้ มูล รีเลชนั A - รีเลชนั B ขอ้ มูลที่ไดค้ ือขอ้ มูลของรีเลชนั A ที่ไม่มีในรีเลชนั B ซ่ึงจะใหผ้ ลลพั ธ์ท่ีแตกต่างกนั กบั รีเลชนั B - รีเลชนั A โดยที่รีเลชน่ั ท้งั สองเป็นรีเลชน่ั ท่ีไปกนั ได้ (Compatible Relation) ดงั ตวั อยา่ งรูปท่ี 3.10 ซ่ึงผลลพั ธ์ของการทา Difference คือส่วนท่ีแรเงา

รูปที่ 3.10 การกระทา Difference

รูปแบบ

ชื่อรีเลชนั่ แรก MINUS ชื่อรีเลชน่ั สอง

จากตวั อยา่ งตาราง A และ B ที่ผา่ นมา

A MINUS B

ผลที่ไดค้ ือ

รหัส ชื่อ จงั หวดั <>/th> B002 ดา กรุงเทพฯ B003 เขียว สระบุรี B004 ขาว นครราชสีมา

3.4.7. Join เป็นการกระทาเพ่ือแสดงขอ้ มูลที่เป็นไปไดท้ ้งั หมดที่เกิดจากการเชื่อมโยง ขอ้ มูลของ 2 รีเลชนั่ ที่มีคา่ ของขอ้ มูลใน Attribute ที่กาหนดเหมือนกนั โดย Attribute น้ีอาจเป็นเพยี ง Attribute เดียวหรือมากกวา่ กไ็ ด้ แตท่ ี่สาคญั Attribute น้ี จะตอ้ งมีช่ือท่ี เหมือนกนั และมี Domain ของขอ้ มูลเดียวกนั

รูปแบบ

ชื่อรีเลชน่ั JOIN ช่ือรีเลชน่ั

ตวั อยา่ งจาก ตาราง X และ Y ท่ีกาหนดใหต้ อ่ ไปน้ี

X JOIN Y ผลท่ีไดค้ ือ

เม่ือทาคาสั่ง X JOIN Y เนื่องจากมีคา่ ของแอททริบิวต์ "City" ที่เหมือนกนั จึงใช้ Attribute น้ี เช่ือมโยงขอ้ มูล เช่นถา้ พจิ ารณาเฉพาะทูเพิลของ "B001" ของรีเลชนั่ X ซ่ึงมีคา่ แอททริบิวต์ "City" เท่ากบั "Korat" มา Join กบั ทูเพิลตา่ ง ๆ ใน รีเลชน่ั Y ผลท่ีได้ ไดแ้ ก่ทุก ๆ ทูเพิลในรีเลชน่ั Y ท่ีมีค่าแอททริบิวต์ "City" เท่ากบั "Korat" ในการ Join ระหวา่ งรีเลชนั่ ใด ๆ น้นั ลาดบั ในการ Join จะไม่มีผลต่อผลลพั ธ์ท่ีเกิดจากการ Join น้นั ดงั น้นั ไม่วา่ จะใชค้ าสั่ง X JOIN Y หรือ Y JOIN X ยอ่ มใหผ้ ลลพั ธ์เช่นเดียวกนั 3.4.8. Division เป็นการแสดงขอ้ มูลจากสองรีเลชน่ั โดยท่ีรีเลชน่ั ท้งั สองมีแอททริบิวตอ์ ยา่ งนอ้ ยหน่ึงแอททริบิวตท์ ่ี เหมือนกนั ผลลพั ธท์ ี่ได้ จะเป็นคา่ ของแอททริบิวตจ์ ากรีเลชนั่ ที่มีจานวนแอททริบิวตม์ ากกวา่ ซ่ึงเป็นคา่ ของแอททริบิวต์ หน่ึงท่ีมีค่าหน่ึงที่จบั คูต่ รงกบั ทุกคา่ ของแอ ททริบิวตท์ ี่เหมือนกนั น้ีในอีกรีเลชนั่ ที่มีแอททริบิวตน์ อ้ ยกวา่ รูปแบบ ช่ือรีเลชน่ั DIVIDEBY ชื่อรีเลชนั่

ตวั อยา่ ง จากตาราง O และ P

ตวั อยา่ ง ถา้ รีเลชน่ั P คือ ตวั อยา่ ง ถา้ รีเลชน่ั P คือ

Rdbms มีประโยชน์อย่างไรต่อการใช้งานฐานข้อมูล

ข้อดีที่สำคัญประการหนึ่งของ RDBMS คือความง่ายในการใช้งานและการบำรุงรักษา ภาษา SQL ที่เป็นมาตรฐานช่วยให้นักพัฒนาสามารถโต้ตอบกับฐานข้อมูลและดำเนินการต่างๆ โดยไม่คำนึงถึงการใช้งาน RDBMS พื้นฐาน นอกจากนี้ RDBMS ยังมีเครื่องมือสำรอง กู้คืน และปรับแต่งประสิทธิภาพ ทำให้ง่ายต่อการบำรุงรักษาและจัดการฐานข้อมูลเมื่อเวลาผ่านไป

ระบบจัดการฐานข้อมูล (DBMS) มีหน้าที่อย่างไร

DBMS ย่อมาจาก Database Management System คือ ระบบการจัดการฐานข้อมูล หรือซอฟต์แวร์สำหรับบริหารและจัดการฐานข้อมูล ทำหน้าที่เป็นตัวกลางในระบบติดต่อระหว่างผู้ใช้กับฐานข้อมูล ในการสร้าง การปรับปรุงแก้ไข การเข้าถึงข้อมูล และการจัดการเกี่ยวกับระบบแฟ้มข้อมูล ระบบจัดการฐานข้อมูลที่นิยมใช้กันในปัจจุบัน ได้แก่ Oracle, Microsoft ...

รูปแบบ และประโยชน์ของระบบฐานข้อมูล มีอะไรบ้าง

ความสำคัญของการประมวลผลแบบระบบฐานข้อมูล.

1. สามารถลดความซ้ำซ้อนของข้อมูลได้ ... .

2. หลีกเลี่ยงความขัดแย้งของข้อมูลได้ ... .

3. สามารถใช้ข้อมูลร่วมกันได้ ... .

4. สามารถรักษาความถูกต้องเชื่อถือได้ของข้อมูล ... .

5. สามารถกำหนดความป็นมาตรฐานเดียวกันของข้อมูลได้ ... .

6. สามารถกำหนดระบบความปลอดภัยของข้อมูลได้ ... .

7. เกิดความเป็นอิสระของข้อมูล.

ฐานข้อมูลมีประโยชน์อย่างไรบ้าง

ข้อดีของระบบฐานข้อมูล 1. การค้นหาข้อมูลที่มีจำนวนมากและซับซ้อน ได้รวดเร็ว 2. มีขนาดเล็กกว่า 3. ไม่มีข้อมูลซ้ำซ้อน (Redundancy) 4. ป้องกันข้อมูลขัดแย้ง (Inconsistency) ได้ 5. บังคับให้เกิดมาตราฐานได้ 6. ใช้ข้อมูลร่วมกันได้ 7. มีระบบรักษาความปลอดภัย (Security) เช่น กำหนดสิทธิ์ในการใช้งานของผู้ใช้