Issuu on Google+

เอกสารประกอบการเรี ยนรายวิชา ง30206

ใบความรู้ที่ 1.3 เรื่อง ฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลเชิงสัมพันธ์ (Relational Database) เป็นฐานข้อมูลที่ได้รับความนิยมมากที่สุดในปัจจุบัน เนื่องจากใช้งานง่าย เพราะผู้ใช้จะทํางาน ร่วมกับข้อมูลในรูปของตารางหรือ Table ที่ข้อมูลแต่ละแถวจะหมายถึงแต่ละเรคอร์ด ส่วนข้อมูลแต่ ละคอลัมน์จะหมายถึงฟิลด์ ฐานข้อมูลแบบสัมพันธ์ เป็นฐานข้อมูลที่เก็บกันเป็นรูปตาราง เป็นการเก็บข้อมูลแบบ 2 มิติ ที่ประกอบด้วยข้อมูลแต่ละแถวในแนวนอน ทําให้สามารถเชื่อมโยงหรือสร้างความสัมพันธ์ระหว่าง กลุ่มข้อมูลหรือ ตารางรางที่เกี่ยวข้องในฐานข้อมูลเดียวกันได้ สําหรับโครงสร้างของฐานข้อมูลเชิงสัมพันธ์ที่สามารถเรียกใช้ข้อมูลได้ในรูปของตารางนี้ ผู้ใช้ ไม่จําเป็นต้องทราบว่าข้อมูลจะถูกเก็บจริงในลักษณะใด แต่สามารถกําหนดความสัมพันธ์ระหว่าง ตารางต่าง ๆในฐานข้อมูลด้วยกันเอง

รูปที่ 1.1 แสดงตัวอย่างฐานข้อมูลเชิงสัมพันธ์ จากตารางจะเห็นตารางลูกค้าและตารางสั่งซื้อ มีเขตข้อมูลรหัสลูกค้าเชื่อมความสัมพันธ์ ระหว่าง 2 ตารางนี้ ถ้าต้องการทราบชื่อและที่อยู่ของลูกค้ารหัส 1002 ในตารางการสั่งซื้อ เราจะนํา รหัส 1002 ไปค้นตารางลูกค้าทีมีรหัสตรงกัน ศัพท์ทคี่ วรรูเ้ กีย่ วกับฐานข้อมูล เอนทิตี้ (Entity) และ แอตทริบิวต์ (Attribute) เอนทิ ตี้ หมายถึ ง สิ่ งต่ าง ๆ ที่อ้า งถึงในฐานข้ อมูล ประกอบด้วยกลุ่ม ข้อ มูล ประเภท เดียวกันที่เป็นสมาชิกของเอนทิตี้นั้น เช่น ถ้ากล่าวเอนทิตี้พนักงานจะหมายถึงกลุ่มคนทั้งหมดที่เป็น พนักงาน แอตทริบิวต์ หรือ ฟิลด์ หมายถึง สิ่งที่ใช้บอกองค์ประกอบหรือเนื้อหา (subject) ของ เอนทิตี้ เช่น เอนทิตี้พนักงานจะประกอบด้วยแอตทริบิวต์ต่าง ๆ คือ รหัสประจําตัว ชื่อ นามสกุล แผนก วุฒิการศึกษา วันเข้าทํางาน ที่อยู่ เป็นต้น ความรู ้เบื้องต้นเกี่ยวกับฐานข้อมูล -1-


เอกสารประกอบการเรี ยนรายวิชา ง30206

รีเลชั่น (Relation) หมายถึง รูปแบบของตารางแบบ 2 มิติ ที่ประกอบด้วยแต่ละแถวที่ เรียกว่า ทูเพิล (Tuple) และแต่ละคอลัมน์ที่เรียกว่า แอตทริบิวต์ (Attribute)

รูปที่ 1.2 แสดงตัวอย่างเอนทิตี้พนักงาน และคําศัพท์ที่ควรทราบ ความสัมพันธ์ (Relationship) การกําหนดความสัมพันธ์ระหว่างเอนทิตี้ หรือ ตาราง ในฐานข้อมูล เชิงสัมพันธ์จะมี 3 ลักษณะ ความสัมพันธ์แบบ 1:1 (One-to-One) เป็นความสัมพันธ์ที่เรคคอร์ดหนึ่งเรคคอร์ดใน ตาราง ใด ๆ สามารถจับคู่กับเรคคอร์ดในอีกตารางหนึ่งได้เพียงเรคคอร์ดเดียวเท่านั้น หรือเป็นการ จับคู่กันตัวต่อตัว

รูปที่ 1.3 แสดงความสัมพันธ์แบบ หนึ่งต่อหนึ่ง ความสัมพันธ์แบบ 1:N (One-to-Many) เป็นความสัมพันธ์ที่เรคคอร์ดในตารางใด ๆ สามารถจับคู่กับเรคคอร์ดในอีกตารางหนึ่งได้หลายเรคคอร์ด ตัวอย่างเช่น อาจารย์ที่ปรึกษาที่มี นักศึกษาในความรับผิดชอบได้หลายคน แต่นักศึกษาแต่ละคนจะมีอาจารย์ที่ปรึกษาได้เพียงคนเดียว เท่านั้น

ความรู ้เบื้องต้นเกี่ยวกับฐานข้อมูล -2-


เอกสารประกอบการเรี ยนรายวิชา ง30206

N

N

รูปที่ 1.4 แสดงตัวอย่างความสัมพันธ์แบบหนึ่งต่อกลุ่ม ความสัมพันธ์แบบ M:N (Many-to-Many) เป็นความสัมพันธ์ที่เรคคอร์ดหลาย ๆเรคค อร์ด ใน ตารางหนึ่ ง มี ค วามสัม พั น ธ์ กั บอี ก หลาย ๆเรคคอร์ ดในอี ก ตารางหนึ่ง พร้ อมกัน เช่ น ความสัมพันธ์ระหว่างตารางลูกค้า และตารางสินค้า ลูกค้าหนึ่งคนสามารถซื้อสินค้าได้หลายชนิด ในขณะที่ สิ น ค้ า แต่ ละชนิ ดก็ จ ะถู ก ซื้ อ โดยลู กค้ าหลาย ๆ คนได้ด้ วย ถ้า เรานํ าตารางทั้ง สองนี้ ม า เชื่อมโยงกันโดยาตรงจะเห็นว่าทําไม่ได้ เนื่องจากไม่มีฟิลด์ที่เป็นฟิลด์ร่วมของทั้ง 2 ตาราง การสร้าง ความสัมพันธ์แบบ M:N จึงต้องใช้ตารางอื่นมาช่วยเป็นสะพานในการเชื่อมโยง คือ ตาราง การ สั่งซื้อ

รูปที่ 1.5 แสดงตัวอย่างความสัมพันธ์แบบกลุ่มต่อกลุ่ม คีย์ (Key) เพื่อเพิ่มประสิทธิภาพในการจัดการข้อมูลควรกําหนดคีย์ (Key) ให้กับตารางเพื่อใช้จําแนก เร คอร์ดและกําหนดความสัมพันธ์ระหว่างตาราง เช่นกําหนดรหัสประจําตัวให้กับพนักงานทุกคนใน ตารางพนักงาน คีย์ที่ใช้ในระบบฐานข้อมูลมีหลายอย่างดังนี้ คีย์หลัก (Primary Key) หมายถึง เขตข้อมูลย่อยที่ไม่ซ้ํากันเลยในแต่ละแถวข้อมูล สามารถ ที่จะบ่งชี้ระเบียนแต่ละระเบียนได้ ค่าของคีย์หลักจะเป็นค่าว่าง (NULL) ไม่ได้ เป็ นคีย์ที่ กํา หนดขึ้นโดยจะต้องไม่ มีข้ อมู ล ซ้ํา กันโดยเด็ ดขาดในตารางนั้ น เช่ น ฟิ ล ด์ร หั ส พนักงานในตารางข้อมู ล พนั กงาน หรือฟิล ด์ร หัส สินค้าในตารางข้อมูล สินค้านําไปใช้จัดเรีย งและ แยกแยะข้อมูลในแต่ละเรคคอร์ดออกจากกัน ความรู ้เบื้องต้นเกี่ยวกับฐานข้อมูล -3-


เอกสารประกอบการเรี ยนรายวิชา ง30206

รูปที่ 1.6 แสดงคีย์หลัก ดัชนี (Index) หรือ คีย์รอง (Secondary Key) เป็นคีย์ที่ใช้ค้นหาหรือจัดเรียงกลุ่มเรคอร์ดที่ มีจํานวนมากได้อย่างรวดเร็ว เช่นค้นหาชื่อและนามสกุลของพนักงานใน Table ถ้าไม่กําหนดฟิลด์ชื่อ และนามสกุลเป็นดัชนีไว้ก่อน DBMS จะค้นหาตั้งแต่เรคอร์ดแรกไปจนถึงเรคอร์ดที่ต้องการ ฟิลด์ที่ เป็นดัชนีอาจมีข้อมูลซ้ํากันได้ (ต่างกับฟิลด์ที่เป็นคีย์หลักที่ข้อมูลจะซ้ํากันไม่ได้ คีย์หลักทุกตัวจะมี คุณสมบัติเป็นดัชนี แต่ดัชนีไม่จําเป็นต้องเป็นคีย์หลัก) คีย์คู่แข่ง (Candidate Key) หมายถึง เขตข้อมูลย่อยที่ไม่ซ้ํากันเลยในแต่ละแถวข้อมูล มี มากกว่า 1 ฟิลด์ ซึ่งสามารถทําหน้าที่เป็นคีย์หลักแทนกันได้ ถ้าในตารางหนึ่งมีฟิลด์ที่มีคุณสมบัติที่สามารถใช้คีย์หลักแทนกันได้ จะเรียกคีย์เหล่านั้นว่าคีย์ คู่แข่ง เช่นในตารางพนักงาน ถ้าไม่มีชื่อพนักงานซ้ํากันเลย ก็สามารถใช้ฟิลด์รหัสพนักงาน หรือฟิลด์ ชื่อพนักงานเป็นคีย์หลักได้ ทําให้ทั้งสองฟิลด์นี้กลายเป็นฟิลด์คู่แข่งกัน ถ้าใช้รหัสพนักงานเป็นคีย์หลัก ก็ทําให้ชื่อพนักงาน เป็นคีย์รอง (Alternate Key)

รูปที่ 1.7 แสดงคีย์คู่แข่ง Key) หรือคีย์ผสม หมายถึง การนําฟิลด์ ตั้งแต่ 2 ฟิลด์ ขึ้นไปมา

คีย์ร่วม (Composite รวมกันเพื่อกําหนดให้เป็นคีย์หลัก เนื่องจากในบางครั้งการสร้างคีย์หลักจากฟิลด์เดียวอาจมีโอกาสที่จะเกิดข้อมูลซ้ํากันได้เช่นใน ตารางพนักงานด้านล่าง ตารางพนักงานหากไม่ได้กําหนดฟิลด์รหัสพนักงาน เราอาจใช้ฟิลด์ชื่อและ นามสกุล ประกอบกันเป็นคีย์หลักของตารางก็ได้

ความรู ้เบื้องต้นเกี่ยวกับฐานข้อมูล -4-


เอกสารประกอบการเรี ยนรายวิชา ง30206

รูปที่ 1.8 แสดงคีย์ร่วม คีย์นอก (Foreign Key) หมายถึง คีย์หลักจากตารางภายนอก เป็นคีย์เพื่อสร้างความสัมพันธ์ ระหว่างรีเลชัน ใช้เพื่อกําหนดให้ข้อมูลในรีเลชัน หนึ่งมีค่าตรงกับคีย์หลักของอีกรีเลชันหนึ่ง เป็นคีย์ที่ใช้เชื่อมโยงตารางที่มีข้อมูลเกี่ยวข้องกัน เช่น ในตารางลูกค้าจะมีฟิลด์รหัสลูกค้าเป็น คีย์หลัก เราจะใช้รหัสลูกค้าในตารางลูกค้าเชื่อมโยงกับรหัสลูกค้าในตารางการสั่งซื้อ เพื่อที่จะได้ทราบ ชื่อและที่อยู่ของลูกค้าที่สั่งซื้อสินค้านั้น

รูปที่ 1.9 แสดงคีย์นอก กฎที่ใช้ควบคุมการคงสภาพความถูกต้องของข้อมูล (Integrity Constraint) เนื่องจากฐานข้อมูลเชิงสัมพันธ์ประกอบด้วยข้อมูลหลายๆ ตารางที่กําหนดให้มีความสัมพันธ์ ในลักษณะต่าง ๆไม่ว่าจะเป็นแบบ One-to-One , One-to-Many หรือ Many-to-Many การ ลบเรคคอร์ดหรือการแก้ไขเปลี่ยนแปลงข้อมูลในตารางหนึ่งต้องมีผลก���ะทบกับข้อมูลในตารางอื่นที่ สัมพันธ์กันเพื่อให้ข้อมูลทั้งหมดที่เกี่ยวข้องมีความคงสภาพความถูกต้องของข้อมูลที่สอดคล้องตาม เงื่อนไขที่กําหนดไว้ตลอดเวลา จะต้องมีกฎเกณฑ์ที่ใช้ควบคุมความถูกต้องซึ่งมี 2 ลักษณะ - กฎการคงสภาพของเอนทิตี้ (Entity Integrity Constraint) ควบคุมการคงสภาพความ ถูกต้องของข้อมูลในตารางเดียวกันซึ่งจะต้องไม่มีค่าว่างในฟิลด์ใด ๆที่ประกอบขึ้นเป็นคีย์หลักของ ตารางนั้น ความรู ้เบื้องต้นเกี่ยวกับฐานข้อมูล -5-


เอกสารประกอบการเรี ยนรายวิชา ง30206

- กฎการคงสภาพการอ้างอิง (Referential Integrity Constraint) ควบคุมการคงสภาพ ความถูกต้องของความสัมพันธ์ระหว่างตาราง ซึ่งมีคีย์นอกอยู่ในตารางใด ข้อมูลที่อยู่ในคีย์นอกนั้น จะต้องเป็นข้อมูลที่อยู่ในคีย์หลักของอีกตารางหนึ่งด้วย ถ้าไม่เช่นนั้นแล้วข้อมูลในคีย์นอกจะต้องเป็น ค่าว่าง

ความรู ้เบื้องต้นเกี่ยวกับฐานข้อมูล -6-


Dbchapter1 3