44
51
เพ่ือให้เขา้ ใจคาศพั ทเ์ ทคนิคขา้ งตน้ ท่ีใชใ้ นฐานขอ้ มูลเชิงสัมพนั ธ์ดีข้ึน จะขอยกตวั อยา่ งขอ้ มูลในตาราง
ท่ี 2 เพ่อื ประกอบการอธิบายดงั น้ี
STUDENT (นกั ศึกษา)
ตารางท่ี 2 ตวั อยา่ งตารางขอ้ มูลนกั ศึกษา
STNO STNAME ADMDATE ADVNO ADVNAME CLUBNO CLUBNAME
1002 นายสมหมาย 15/06/36 201 ดร.สมจิต 03 ประสานเสียง
3114 น.ส.สุนีย์ 13/06/37 112 ผศ.ประคอง 01 คอมพวิ เตอร์
3006 น.ส.ดวงใจ 15/06/36 203 อ.นารี 03 ประสานเสียง
2146 นายปราโมทย์ 15/06/37 201 ดร.สมจิต
3204 นายเอนก 13/06/37 203 อ.นารี 01 คอมพวิ เตอร์
จากตารางท่ี 2 ขา้ งตน้ อธิบายไดด้ งั น้ี
ตารางที่ 2 เป็นรีเลชนั ที่แสดงขอ้ มูลของประวตั ินกั ศึกษา (STUDENT) ประกอบดว้ ยแอททริบิวตท์ ี่เป็ น
เคา้ ร่างของรีเลชนั (Relation Schema) จานวน 7 แอททริบิวต์ (จึงมีคา่ ดีกรีเทา่ กบั 7) ดงั น้ี
STNO หมายถึง รหสั นกั ศึกษา
STNAME หมายถึง ช่ือนกั ศึกษา
ADMDATE หมายถึง วนั ท่ีเริ่มเขา้ รับการศึกษา
ADVNO หมายถึง รหสั อาจารยท์ ่ีปรึกษา
ADVNAME หมายถึง ชื่ออาจารยท์ ่ีปรึกษา
CLUBNO หมายถึง รหสั ชมรมที่นกั ศึกษาเป็นสมาชิก
CLUBNAME หมายถึง ช่ือชมรม
รีเลชนั ดงั กลา่ ว มีขอ้ มลู จานวน 5 ทเู พลิ จึงมีคา่ คาร์ดินาลิต้ี เท่ากบั 5
คยี ห์ ลกั หมายถึง ค่าของแอททริบิวตท์ ี่มีความเป็นเอกลกั ษณ์ ไมซ่ ้าซอ้ นกนั ในแต่ละทูเพลิ ในท่ีน้ี
ใช้ STNO เป็นคียห์ ลกั
45
52
โดเมน หมายถึง ขอบเขตของค่าของขอ้ มูลในแอททริบิวตห์ น่ึงๆ เช่น วนั ท่ีเร่ิมเขา้ รับการศึกษา จะเป็นค่า
วนั ท่ีในปฏิทินนกั ศึกษาแต่ละคนอาจสมคั รเป็นสมาชิกชมรมใดก็ไดท้ ่ีตนสนใจ หรืออาจไม่เป็นสมาชิกชมรมใด
เลยก็ได้ ดงั น้ันค่าของ CLUBNO และ CLUBNAME จึงอาจเป็ นค่าว่าง (Null) ได้ จาก ตารางที่ 2 จะเห็นไดว้ ่า
นกั ศึกษารหสั 2146 ช่ือนายปราโมทยไ์ ม่ไดเ้ ป็นสมาชิกชมรมไดเ้ ลย จึงไมม่ ีคา่ ของ CLUBNO และ CLUBNAME
เป็ นตน้
เมื่อพิจารณาดูขอ้ มูลในตารางท่ี 2 จะพบว่าค่าของขอ้ มูลในแต่ละคอลมั น์ก็คือขอ้ มูลที่แสดงค่าน้ันๆ
นนั่ เอง ตวั อยา่ งเช่น ขอ้ มูลท่ีอยใู่ นคอลมั น์ STNAME กค็ ือ ชื่อของนกั ศึกษา เป็นตน้ ส่วนขอ้ มูลในแต่ละแถวกจ็ ะ
มีความแตกต่างกนั ไม่มีขอ้ มูลในแถวไดเ้ ลยท่ีซ้ากนั มิฉะน้นั จะเป็ นการเก็บขอ้ มูลที่ซ้าซ้อนกนั ดงั น้ันแลว้ จึง
พอจะสรุปความหมายของคาวา่ “รีเลชนั ” ไดด้ งั น้ี
รีเลชัน หมายถึง การรวบรวมขอ้ มูลจดั เก็บในรูปของตาราง 2 มิติ ประกอบดว้ ยแอททริบิวตซ์ ่ึงแสดง
คณุ สมบตั ิของรีเลชนั น้นั ๆ โดยคณุ สมบตั ิของรีเลชนั มีดงั น้ี
1. แตล่ ะแถวของแต่ละคอลมั น์จะบรรจุขอ้ มูลเพียงคาเดียว
2. คาท่ีอยใู่ นแตล่ ะคอลมั นจ์ ะเป็นคา่ ของแอททริบิวตท์ ่ีระบใุ นหวั คอลมั น์น้นั ๆ
3. ช่ือของแต่ละคอลมั น์ ก็คือชื่อของแอททริบิวตซ์ ่ึงจะตอ้ งแตกต่างกนั
4. ขอ้ มูลในแต่ละแถวจะตอ้ งแตกตา่ งกนั
5. การเรียงลาดบั แถวไม่มีความสาคญั
6. การเรียงลาดบั คอลมั น์ไม่มีความสาคญั
จากความหมายของฐานขอ้ มูลท่ีกล่าวไวใ้ นหน่วยที่แลว้ น้ัน จึงอาจให้ความหมายของฐานขอ้ มูลเชิง
สัมพนั ธไ์ ดว้ า่ ฐานข้อมูลเชิงสัมพนั ธ์ หมายถึง การรวบรวมรีเลชนั ตา่ งๆ ที่มีความสัมพนั ธ์ระหวา่ งกนั เขา้ ดว้ ยกนั
โดยรีเลชนั ต่างๆ เหล่าน้นั ไดผ้ า่ นกระบวนการทารีเลชนั ใหเ้ ป็นบรรทดั ฐาน (Normalized) แลว้ เพอื่ ใหก้ ารจดั การ
ฐานขอ้ มูลเป็นไปอยา่ งมีประสิทธิภาพ
ขอ้ ดีของงานขอ้ มูลเชิงสมั พนั ธ์
ดว้ ยขอ้ ดีของฐานขอ้ มูลเชิงสัมพนั ธ์ ที่ทาให้ผูใ้ ช้รู้สึกว่าฐานขอ้ มูลชนิดน้ีเขา้ ใจง่าย จึงทาให้ฐานขอ้ มูล
เชิงสัมพนั ธเ์ ป็นท่ีนิยมใชแ้ พร่หลาย จึงพอสรุปขอ้ ดีของฐานขอ้ มลู เชิงสมั พนั ธ์ไดด้ งั น้ี
1. เป็ นรูปแบบของฐานข้อมูลทีเ่ ข้าใจง่าย เน่ืองจากฐานขอ้ มลู เชิงสมั พนั ธเ์ ป็นกล่มุ ของตารางหรือรีเลชนั
ที่ขอ้ มลู จดั เก็บในลกั ษณะเป็นแถวและคอลมั น์ ทาใหผ้ ใู้ ชม้ องภาพไดง้ า่ ย
46
53
2. มเี ครื่องมือท่ชี ่วยให้ผู้ใช้สามารถจัดการกบั ข้อมูลได้ด้วยคาสั่งง่ายๆ โดยผใู้ ชไ้ ม่ตอ้ งทราบ รายละเอียด
ของการจดั เก็บขอ้ มูลท่ีอยภู่ ายใน
3. สามารถใช้ภาษาท่ีง่ายต่อการเรียกดูข้อมูล เช่น ภาษา SQL โดยไม่จาเป็นตอ้ งเขียนเป็นลาดบั ข้นั ตอน
ของคาสงั่ อยา่ งในภาษาอื่นๆ
4. การเชื่อมโยงข้อมูลสามารถทาได้ง่าย ดว้ ยการใชเ้ ครื่องหมายคานวณและเปรียบเทียบทางคณิตศาสตร์
โดยไม่จาเป็นตอ้ งใชพ้ อยน์เตอร์ (Pointer)
การจดั เก็บขอ้ มูล
ดงั ไดท้ ราบแลว้ ว่า ขอ้ มูลท่ีจดั เก็บอยู่ในฐานขอ้ มูล ก็คือขอ้ มูลของเอนทิตีต่างๆ การสร้างความสัมพนั ธ์
ระหว่างเอนทิตีในฐานข้อมูลเชิงสัมพนั ธ์ก็สามารถทาได้ โดยกาหนดเอนทิตีเหล่าน้ันให้มีแอททริบิวต์ท่ี
เหมือนกนั แลว้ ใชค้ า่ ของแอททริบิวตท์ ่ีเหมือนกนั น้นั เป็นตวั ระบุขอ้ มูลในเอนทิตีท่ีมีความสัมพนั ธ์กนั
ตวั อย่าง เอนทิตีนกั ศึกษาและเอนทิตีอาจารยท์ ่ีปรึกษามีความสัมพนั ธ์กนั ในลกั ษณะท่ีนกั ศึกษาแต่ละ
คนอยใู่ นความดูแลของอาจารยท์ ่ีปรึกษาคนใด ดงั น้นั เราจะกาหนดใหม้ ีแอททริบิวตท์ ่ีเหมือนกนั ในสองเอนทิต้ี
น้ี คือ รหสั อาจารยท์ ี่ปรึกษา ขอ้ มลู ในแถวใดของตารางอาจารยท์ ่ีปรึกษา ที่มีคา่ ของรหสั อาจารยท์ ่ีปรึกษาตรงกบั
ขอ้ มูลในตารางนกั ศึกษา ก็จะแสดงความสัมพนั ธไ์ ดว้ า่ นกั ศึกษาคนน้นั อยู่ในความดูแลของอาจารยท์ ่ีปรึกษาท่ีมี
ค่าแอททริบิวตท์ ี่เป็นรหสั อาจารยท์ ่ีปรึกษาเดียวกนั นน่ั เอง
ดงั ไดก้ ล่าวไวแ้ ลว้ วา่ ความสัมพนั ธ์ระหวา่ งเอนทิตีมีอยู่ 3 ชนิด คอื ความสัมพนั ธแ์ บบหน่ึงต่อหน่ึง แบบ
หน่ึงตอ่ กลุ่ม และแบบกลมุ่ ตอ่ กล่มุ จึงขอยกตวั อยา่ งความสัมพนั ธ์ท้งั 3 ชนิด กบั ฐานขอ้ มลู เชิงสัมพนั ธ์ ดงั น้ี
1. การจดั เกบ็ ข้อมูลในฐานข้อมูลเชิงสัมพนั ธ์ ด้วยความสัมพนั ธ์แบบหน่ึงต่อหนึง่
ตวั อยา่ ง สถาบนั การศึกษาแห่งหน่ึง กาหนดวา่ นกั ศึกษาแต่ละคนจะมีอาจารยท์ ี่ปรึกษาที่ดูแลตนเพียง 1
คน ในขณะท่ีอาจารยท์ ่ีปรึกษาแต่ละคนก็จะมีนักศึกษาในความดูแลไดเ้ พียงคนเดียว ในลกั ษณะน้ี เราสามารถ
รวม 2 เอนทิตี คือ เอนทิตีนกั ศึกษาและเอนทิตีอาจารยท์ ี่ปรึกษาเขา้ ดว้ ยกนั โดยใช้ตารางเก็บขอ้ มูลเพียงตาราง
เดียว ดงั ตารางท่ี 3
นกั ศึกษา
ตารางที่ 3 ตารางเกบ็ ขอ้ มลู ดว้ ยความสัมพนั ธ์แบบหน่ึงต่อหน่ึง