การกำหนดความสัมพันธ์ระหว่างตาราง (Table) เพื่อนำตารางที่เกี่ยวข้องมาทำงานร่วมกับตารางที่ทำงานอยู่ โดยเฉพาะข้อมูลที่มีการเรียกใช้อยู่เสมอ ถ้าเรียกใช้บ่อย ๆ จะทำให้ต้องมีการบันทึกข้อมูลที่ซ้ำซ้อนเป็นจำนวนมาก เช่น การบันทึกการจำหน่ายสินค้าที่จะต้องการทราบรหัสสินค้า ประเภท ชื่อสินค้า ราคา/หน่วย สำหรับการจำหน่ายแต่ละรายการ ดังนั้นการแก้ปัญหาโดยการสร้างข้อมูลดังกล่าวไว้ในตารางสินค้าและกำหนดให้เขตข้อมูล รหัสสินค้า เป็นตัวแทนในการจำหน่ายสินค้า หลังจากนั้นให้สร้างความสัมพันธ์ระหว่างตาราง โดยกำหนดรหัสสินค้าใน Table จำหน่ายสินค้าเป็น Foreign Key (คีย์รอง) เชื่อมโยงไปยังรหัสสินค้าในตารางสินค้า โดยกำหนดให้เป็นคีย์หลัก (Primary key) เพื่ออ้างอิงไปยังประเภท ชื่อสินค้า ราคา/หน่วย มาทำงานร่วมโดยไม่ต้องบันทึกซ้ำซ้อนอีกต่อไป
ข้อกำหนดที่ควรทราบ
1. คีย์รอง (Foreign Key) จะต้องเป็นคีย์หลัก (Primary key) ของตารางที่อยู่ทางด้านความสัมพันธ์ที่เป็น 1 ของความสัมพันธ์ชนิดหนึ่งต่อกลุ่ม (One-to-Many) เสมอ
2. จะต้องกำหนดให้ชนิดของเขตข้อมูลเหมือนกันทั้งคีย์หลักและคีย์รอง
3. ตารางที่นำมาสร้างความสัมพันธ์จะต้องเป็นตารางที่อยู่บนแฟ้มข้อมูล Access
กฎการคงสภาพของข้อมูล (Integrity constraint)
ในตารางที่มีความสัมพันธ์กัน เมื่อมีการแก้ไขหรือการลบข้อมูลในตารางจะมีผลกระทบกับตารางที่เชื่อมความสัมพันธ์อยู่ เพื่อให้ข้อมูลที่เกี่ยวข้องมีความคงสภาพของข้อมูล จึงต้องมีกฎที่ใช้ควบคุมความถูกต้องซึ่งจะกระทำใน 2 ลักษณะ ได้แก่
1. ควบคุมการคงสภาพความถูกต้องของข้อมูลภายใน Table (ตาราง) เดียวกัน กฎที่ใช้คือ Entity Integrity หรือกฎการคงสภาพของเอนทิตี้
2. ควบคุมการคงสภาพความถูกต้องของความสัมพันธ์ระหว่าง Table (ตาราง) กฎที่ใช้คือ Referential Integrity Constraint หรือกฎการคงสภาพอ้างอิง
ขั้นตอนการออกแบบ
เลือก Table ชื่อ Person แล้วเลือก Design (ออกแบบ)
ชี้ที่เขตข้อมูล Code คลิกขวาเลือก Primary Key (กำหนดให้เป็นคีย์หลัก)
คลิกปุ่ม Save (เพื่อบันทึกโครงสร้าง) แล้วคลิกปุ่ม close
รูปที่ 4.20 แสดงการกำหนดเขตข้อมูล code ให้เป็นคีย์หลัก (Primary Key)
เลือกเมนู เครื่องมือฐานข้อมูล (Tools) เลือก ความสัมพันธ์ (Relationships)
เลือกตาราง ชื่อ Income และ person เลือก เพิ่ม (Add) เลือก ปิด (Close)
จะเข้าสู่หน้าต่างการออกแบบ ความสัมพันธ์ (Relationships)
คลิกที่เขตข้อมูล Code จากตารางชื่อ person ลากไปวางบนเขตข้อมูล code บนตารางชื่อ Income
เลือกบังคับให้มี Referential Integrity
เลือก สร้าง (Create) ก็จะได้เส้นเชื่อมความสัมพันธ์ชนิด one to many หรือหนึ่งต่อกลุ่ม
รูปที่ 4.21 แสดงการสร้างความสัมพันธ์ระหว่างตารางชนิดหนึ่งต่อกลุ่ม