บทที่ 5 : 5.3ความสัมพันธ์ในฐานข้อมูล
5.3ความสัมพันธ์ในฐานข้อมูล บทที่ ๕
ฐานข้อมูลในระบบสารสนเทศภูมิศาสตร์
๕.๓ ความสัมพันธ์ในฐานข้อมูล
ในการจัดเก็บข้อมูลในฐานข้อมูล จะจัดเก็บในรูปแบบตาราง ที่มีความสัมพันธ์กัน ในฐานข้อมูลสามารถสร้างความสัมพันธ์ของตารางได้โดยกำหนดให้ตารางที่มีคุณลักษณะเหมือนกันมาสร้างความสัมพันธ์กัน ปกติในแฟ้มข้อมูลที่จัดเก็บข้อมูลอยู่นั้นจะต้องประกอบด้วยชื่อแฟ้มข้อมูล (Entity) และหัวข้อเรื่อง หรือรายละเอียด (Attribute) เช่น
รูปที่ 5.5 โครงสร้างตารางในแฟ้มข้อมูล
ความสัมพันธ์ระหว่างข้อมูลประชาชนในระดับหมู่บ้าน เป็นความสัมพันธ์ที่ว่าบุคคลนั้นอยู่ในตำบลใด อำเภอใด จังหวัดใด การสร้างความสัมพันธ์นี้จะทำได้โดยการใส่รหัสหมู่บ้าน ซึ่งร่วมกันเป็น คีย์หลัก (Primary Key) ทำให้สืบค้นข้อมูลได้ง่าย และรวดเร็วยิ่งขึ้น
รูปที่ 5.6 โครงสร้างการเชื่อมต่อตารางในแฟ้มข้อมูล
ดังนั้นค่าของรหัสหมู่บ้าน ในระเบียนทะเบียนราษฎร์ระดับหมู่บ้าน จะเป็นตัวกำหนดว่า บุคคลนั้นอยู่ในตำบลใด
ในฐานข้อมูลอาจจะมีความสัมพันธ์อยู่ 3 ประเภทดังนี้
๕.๔.๑ ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-One Relationship)
เป็นลักษณะความสัมพันธ์ที่มีระเบียนเพียง 1 ระเบียนในแฟ้ม A มีความสัมพันธ์กับระเบียนเพียง 1 ระเบียนในแฟ้ม B และในทางกลับกัน ระเบียนเพียง 1 ระเบียนในแฟ้ม B ก็จะมีความสัมพันธ์กับระเบียนเพียง 1 ระเบียนในแฟ้ม A
ในการประยุกต์ใช้ความสัมพันธ์นี้ เช่น ข้อมูลแผนที่ขอบเขตการปกครองระดับอำเภอ ของจ. ปทุมธานี มีตารางประกอบแผนที่ แสดง 7 อำเภอ แต่ละอำเภอมีรหัสประจำอำเภอ 1 ตัว จะเชื่อมโยงไปยังตารางอธิบายรหัสอำเภอได้เพียง 1 รหัสเท่านั้น ดังรูปประกอบ
รูปที่ 5.7 การประยุกต์ใช้ความสัมพันธ์แบบหนึ่งต่อหนึ่งในระบบ GIS
๕.๔.๒ ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-Many Relationship)
เป็นลักษณะความสัมพันธ์ที่มีระเบียนเพียง 1 ระเบียนในแฟ้ม A มีความสัมพันธ์กับระเบียนหลายระเบียนในแฟ้ม B และทางกลับกันหลายระเบียนในแฟ้ม B จะมีความสัมพันธ์กับระเบียนเพียง 1 ระเบียนในแฟ้ม A
ในการประยุกต์ใช้ความสัมพันธ์หนึ่งต่อกลุ่มนี้ เช่น ข้อมูลแผนที่ขอบเขตชุดดิน ของจ. ปทุมธานี มีตารางประกอบแผนที่ขอบเขตชุดดินที่มีในจังหวัด ซึ่งบางชุดดินจะมีอยู่หลายๆ แห่งในจังหวัด เช่น 141 มีอยู่ 2 polygon เป็นต้น จะเชื่อมโยงไปยังตารางอธิบายรหัสชุดดินได้เพียง 1 รหัสเท่านั้น ดังรูปประกอบ ในทางกลับกัน ตารางอธิบายชุดดินมีเพียงชุดละ 1 record เท่านั้น จะเชื่อมโยงไปยังตารางของแผนที่ได้หลายรหัส ดังในรูปประกอบ
รูปที่ 5.8 การประยุกต์ใช้ความสัมพันธ์แบบหนึ่งต่อกลุ่มในระบบ GIS
จะพบว่าความสัมพันธ์แบบหนึ่งต่อกลุ่มจะใช้งานกันมากในระบบสารสนเทศทางภูมิศาสตร์ เนื่องจากแผนที่ใดๆ แผนที่หนึ่งที่ประกอบด้วยตารางข้อมูลของแผนที่มักจะมี ข้อมูลบางอย่างซ้ำๆ กันได้ เช่น ประเภทการใช้ที่ดินเป็นที่นา หลายๆ แห่งในตารางข้อมูล เนื่องจากในแผนที่จะแสดงที่นาอยู่หลายแห่งในแผนที่ ซึ่งอาจจะแสดงด้วยรหัสของการใช้ที่ดินเหมือนกัน ซึ่งทุกตัวจะไปเชื่อมโยงกับตารางอธิบายรหัสการใช้ที่ดินตัวเดียวกันนั่นเอง
๕.๔.๓ ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-Many Relationship)
เป็นลักษณะความสัมพันธ์ที่แต่ละระเบียนในแฟ้ม A มีความสัมพันธ์กับหลายระเบียนในแฟ้ม B และในทางกลับกันแต่ละระเบียนในแฟ้ม B จะมีความสัมพันธ์กับระเบียนหลายระเบียนในแฟ้ม A
ในการประยุกต์ใช้ความสัมพันธ์กลุ่มต่อกลุ่ม เช่น ข้อมูลแผนที่ขอบเขตการปกครองระดับอำเภอ ของจ. ปทุมธานี มีตารางประกอบแผนที่ซึ่งแสดงถึงรหัสจังหวัด และรหัสอำเภอ ซึ่งทุกอำเภอจะมีรหัสจังหวัดหมายเลขเดียวกันคือ 28 ในฐานข้อมูลตารางอธิบายรหัสตำบลก็มีรหัสอำเภอที่ซ้ำกัน และรหัสจังหวัดที่ซ้ำกันด้วยเช่นกัน ดังนั้นในการเชื่อมโยงข้อมูลนี้ค่อนข้างซับซ้อน ซึ่งยากต่อการทำความเข้าใจ บางครั้งผู้ใช้มักจะเชื่อมความสัมพันธ์ตารางในรูปแบบนี้เพื่อการสอบถามข้อมูลว่ามีตำบลใดบ้างที่อยู่ในอำเภอคลองหลวง (2802) ดังรูปประกอบ ก็จะสามารถได้คำตอบหลายๆ ตำบลที่เชื่อมโยงกันนั้น เช่นเดียวกันแต่ละตำบลก็มีรหัสจังหวัดที่สามารถเชื่อมโยงด้วยรหัสจังหวัดซึ่งมีอยู่ในตารางแผนที่หลาย record
รูปที่ 5.9 การประยุกต์ใช้ความสัมพันธ์แบบกลุ่มต่อกลุ่มในระบบ GIS