คำแนะนำเกี่ยวกับความสัมพันธ์ของตาราง

คำแนะนำเกี่ยวกับความสัมพันธ์ของตาราง

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

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

ในบทความนี้

บทนำ

ชนิดของความสัมพันธ์ของตาราง

เหตุผลในการสร้างความสัมพันธ์ของตาราง

การทำความเข้าใจกับ Referential Integrity

การดูความสัมพันธ์ของตาราง

การสร้างความสัมพันธ์ของตาราง

การลบความสัมพันธ์ของตาราง

การเปลี่ยนความสัมพันธ์ของตาราง

การบังคับให้มี Referential Integrity

บทนำ

หลังจากที่คุณสร้างตารางสำหรับแต่ละเรื่องในฐานข้อมูลของคุณแล้ว คุณต้องระบุวิธีให้กับ Access ในการนำข้อมูลดังกล่าวกลับมารวมกันอีกครั้งเมื่อจำเป็น โดยให้คุณวางเขตข้อมูลที่ใช้ร่วมกันลงในตารางที่เกี่ยวข้องกัน และกำหนดความสัมพันธ์ระหว่างตารางของคุณ จากนั้นคุณสามารถสร้างคิวรี ฟอร์ม และรายงานเพื่อแสดงข้อมูลจากหลายตารางในคราวเดียว ตัวอย่างเช่น ฟอร์มที่แสดงในที่นี้ได้รวมข้อมูลที่ดึงมาจากหลายตาราง

ฟอร์มใบสั่งซื้อที่แสดงข้อมูลที่เกี่ยวข้องจากตารางห้าตารางในครั้งเดียว

1. ข้อมูลในฟอร์มนี้มาจากตารางลูกค้า...

2. ...ตารางใบสั่งซื้อ...

3. ...ตารางผลิตภัณฑ์...

4. ...และตารางรายละเอียดใบสั่งซื้อ

ชื่อลูกค้าในกล่อง ส่งใบแจ้งหนี้ถึง จะถูกเรียกใช้จากตารางลูกค้า ขณะที่ค่า รหัสใบสั่งซื้อและวันที่สั่งซื้อมาจากตารางใบสั่งซื้อ ชื่อผลิตภัณฑ์มาจากตารางผลิตภัณฑ์ ส่วนราคาต่อหน่วยและค่าปริมาณมาจากตารางรายละเอียดใบสั่งซื้อ ตารางเหล่านี้ถูกลิงก์ในหลายลักษณะเพื่อนำข้อมูลจากแต่ละที่มาไว้ในฟอร์มเดียว

ในตัวอย่างก่อนหน้านี้ เขตข้อมูลในตารางต่างๆ ต้องถูกประสานต่อเพื่อให้สามารถแสดงข้อมูลเกี่ยวกับใบสั่งซื้อเดียวกันได้ การประสานกันนี้เกิดขึ้นได้โดยใช้ความสัมพันธ์ของตาราง ความสัมพันธ์ของตารางทำงานด้วยการจับคู่ข้อมูลที่ตรงกันในเขตข้อมูลหลัก ซึ่งมักจะเป็นเขตข้อมูลที่มีชื่อเดียวกันในทั้งสองตาราง โดยส่วนใหญ่แล้ว เขตข้อมูลที่ตรงกันเหล่านี้จะเป็น คีย์หลัก จากตารางหนึ่ง ซึ่งให้ตัวระบุไม่ซ้ำกันสำหรับแต่ละระเบียน และ Foreign Key ในอีกตารางหนึ่ง ตัวอย่างเช่น คุณสามารถสร้างความเกี่ยวข้องระหว่างพนักงานกับใบสั่งซื้อที่พนักงานมีหน้าที่รับผิดชอบได้ด้วยการสร้างความสัมพันธ์ของตารางระหว่างเขตข้อมูล 'รหัสพนักงาน' ในตารางพนักงานและตารางใบสั่งซื้อ

รหัสพนักงานถูกใช้เป็นคีย์หลักในตารางพนักงานและเป็น Foreign Key ในตารางใบสั่งซื้อ

1. รหัสพนักงานจะปรากฏอยู่ในทั้งสองตาราง ในฐานะคีย์หลัก ...

2. ... และ Foreign Key

ด้านบนของหน้า

ชนิดของความสัมพันธ์ของตาราง

มีสามชนิดของความสัมพันธ์ของตารางใน Access

  • ความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม

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

    เมื่อต้องการแสดงความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่มในการออกแบบฐานข้อมูลของคุณ ให้เอาคีย์หลักมาไว้บนด้าน "หนึ่ง" ของความสัมพันธ์และเพิ่มให้เป็นเขตข้อมูลเพิ่มเติมลงในตารางบนด้าน "กลุ่ม" ของความสัมพันธ์ ตัวอย่างเช่น ในกรณีนี้คุณเพิ่มเขตข้อมูลใหม่ คือการเพิ่มเขตข้อมูลรหัสจากตารางลูกค้า ลงในตารางใบสั่งซื้อและตั้งชื่อเป็นรหัสลูกค้าจากนั้น Access จะสามารถใช้รหัสลูกค้าในตารางใบสั่งซื้อเพื่อระบุตำแหน่งลูกค้าที่ถูกต้องสำหรับใบสั่งซื้อแต่ละใบได้

  • ความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่ม

    ในตอนนี้ให้ดูที่ความสัมพันธ์ระหว่างตารางผลิตภัณฑ์และตารางใบสั่งซื้อ ใบสั่งซื้อเดียวสามารถมีผลิตภัณฑ์ได้มากกว่าหนึ่งอย่าง ในทางกลับกัน ผลิตภัณฑ์เดียวก็สามารถปรากฏบนใบสั่งซื้อหลายใบได้ ดังนั้น สำหรับแต่ละระเบียนในตารางใบสั่งซื้อจึงสามารถมีหลายระเบียนในตารางผลิตภัณฑ์ได้ นอกจากนี้ สำหรับแต่ละระเบียนในตารางผลิตภัณฑ์ก็สามารถมีหลายระเบียนในตารางใบสั่งซื้อได้ ความสัมพันธ์นี้เรียกว่าความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่มได้ โปรดสังเกตว่าในการกำหนดความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่ม ที่มีอยู่ระหว่างตารางของคุณนั้น สิ่งสำคัญคือ คุณต้องพิจารณาทั้งสองด้านของความสัมพันธ์

    เมื่อต้องการแสดงความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่ม คุณต้องสร้างตารางที่สาม ซึ่งมักเรียกว่า ตารางเชื่อมต่อ ที่แบ่งความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่มออกเป็นความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่มสองความสัมพันธ์ คุณต้องแทรกคีย์หลักจากตารางแต่ละตารางของสองตารางลงในตารางที่สาม เพื่อให้ตารางที่สามสามารถบันทึกแต่ละเหตุการณ์หรืออินสแตนซ์ของความสัมพันธ์ได้ ตัวอย่างเช่น ตารางใบสั่งซื้อและตารางผลิตภัณฑ์มีความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่มที่ถูกกำหนดด้วยการสร้างความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่มไปเป็นตารางรายละเอียดใบสั่งซื้อ ใบสั่งซื้อหนึ่งใบสามารถมีผลิตภัณฑ์ได้หลายอย่าง และแต่ละผลิตภัณฑ์สามารถปรากฏในใบสั่งซื้อหลายใบได้

  • ความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่ง

    ในความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่ง แต่ละระเบียนในตารางที่หนึ่งสามารถตรงกับระเบียนในตารางที่สองได้เพียงระเบียนเดียวเท่านั้น และแต่ละระเบียนในตารางที่สองสามารถตรงกับระเบียนในตารางที่หนึ่งได้เพียงระเบียนเดียวเท่านั้น ความสัมพันธ์นี้ไม่ได้พบได้ทั่วไป เพราะข้อมูลที่เกี่ยวข้องในลักษณะนี้มักจะถูกเก็บในตารางเดียวกัน คุณอาจใช้ความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่งเพื่อแบ่งตารางด้วยเขตข้อมูลหลายเขต เพื่อแยกส่วนของตารางออกมาด้วยเหตุผลด้านความปลอดภัย หรือเพื่อเก็บข้อมูลที่ใช้เฉพาะกับเซตย่อยของตารางหลัก เมื่อคุณกำหนดความสัมพันธ์ดังกล่าว ตารางทั้งสองต้องใช้เขตข้อมูลร่วมร่วมกัน

ด้านบนของหน้า

เหตุผลในการสร้างความสัมพันธ์ของตาราง

คุณสามารถสร้างความสัมพันธ์ตารางได้ด้วยการใช้หน้าต่างความสัมพันธ์ หรือด้วยการลากเขตข้อมูลจากบานหน้าต่าง รายการเขตข้อมูล Access จะใช้ความสัมพันธ์ของตารางเพื่อตัดสินวิธีเชื่อมต่อตารางเข้าด้วยกันเมื่อคุณจำเป็นต้องใช้ตารางเหล่านั้นในวัตถุฐานข้อมูล ทั้งนี้มีหลายเหตุผลที่คุณควรสร้างความสัมพันธ์ของตารางก่อนที่คุณจะสร้างวัตถุฐานข้อมูลอื่น เช่น ฟอร์ม คิวรี และรายงาน

  • ความสัมพันธ์ของตารางจะให้ข้อมูลการออกแบบคิวรีของคุณ

    เมื่อต้องการทำงานกับระเบียนจากตารางมากกว่าหนึ่งตาราง คุณมักต้องสร้างคิวรีขึ้นมาเพื่อใช้เชื่อมต่อตารางต่างๆ คิวรีทำงานด้วยการจับคู่ค่าต่างๆ ในเขตข้อมูลคีย์หลักของตารางที่หนึ่งกับเขตข้อมูล Foreign Key ในตารางที่สอง ตัวอย่างเช่น เมื่อต้องการส่งกลับแถวที่แสดงรายการใบสั่งซื้อทั้งหมดของลูกค้าแต่ละราย คุณต้องสร้างคิวรีที่เชื่อมต่อตารางลูกค้ากับตารางใบสั่งซื้อโดยใช้เขตข้อมูล 'รหัสลูกค้า' ในหน้าต่างความสัมพันธ์ คุณสามารถกำหนดเขตข้อมูลที่จะเชื่อมต่อได้ด้วยตนเอง แต่ถ้าคุณมีความสัมพันธ์ที่กำหนดอยู่ระหว่างตารางเรียบร้อยแล้ว Access จะให้การเชื่อมต่อเริ่มต้นโดยยึดจากความสัมพันธ์ของตารางที่มีอยู่ นอกจากนี้ ถ้าคุณใช้ตัวช่วยสร้างคิวรีอย่างใดอย่างหนึ่ง Access จะใช้ข้อมูลที่รวบรวมมาจากความสัมพันธ์ของตารางที่คุณได้กำหนดไว้แล้วเพื่อเสนอตัวเลือกและกำหนดการตั้งค่าคุณสมบัติด้วยค่าเริ่มต้นที่เหมาะสมให้

  • ความสัมพันธ์ของตารางจะให้ข้อมูลการออกแบบฟอร์มและรายงานของคุณ

    เมื่อคุณออกแบบฟอร์มหรือรายงาน Access จะใช้ข้อมูลที่รวบรวมมาจากความสัมพันธ์ของตารางที่คุณได้กำหนดไว้แล้วเพื่อเสนอตัวเลือกและกำหนดการตั้งค่าคุณสมบัติด้วยค่าเริ่มต้นที่เหมาะสมให้

  • ความสัมพันธ์ของตารางเป็นพื้นฐานที่อยู่บนสิ่งที่คุณสามารถบังคับให้มี Referential Integrity เพื่อช่วยป้องกันไม่ให้มีระเบียนที่ไม่มีการเชื่อมโยงในฐานข้อมูลของคุณ ระเบียนที่ไม่มีการเชื่อมโยงเป็นระเบียนที่มีการอ้างอิงกับระเบียนอื่นที่ไม่มีอยู่   ตัวอย่างเช่น ระเบียนใบสั่งซื้อที่อ้างอิงระเบียนลูกค้าที่ไม่มีอยู่

    เมื่อคุณออกแบบฐานข้อมูล ให้คุณแยกข้อมูลของคุณออกเป็นตาราง ซึ่งแต่ละตารางจะมีคีย์หลัก จากนั้นคุณต้องเพิ่ม Foreign Key ในตารางที่เกี่ยวข้องที่อ้างอิงคีย์หลักเหล่านั้น การจับคู่คีย์หลักกับ Foreign Key เหล่านี้เป็นพื้นฐานสำหรับความสัมพันธ์ของตารางและคิวรีแบบหลายตาราง สิ่งสำคัญคือ การอ้างอิงระหว่างคีย์หลักกับ Foreign Key เหล่านี้จะต้องตรงกัน Referential Integrity ซึ่งขึ้นอยู่กับความสัมพันธ์ของตารางจะช่วยทำให้แน่ใจได้ว่าการอ้างอิงตรงกัน

ด้านบนของหน้า

การทำความเข้าใจกับ Referential Integrity

เมื่อคุณออกแบบฐานข้อมูล คุณได้แบ่งฐานข้อมูลของคุณออกเป็นตารางตามเรื่องต่างๆ ในหลายตารางเพื่อลดความซ้ำซ้อนของข้อมูลให้น้อยที่สุด จากนั้นให้คุณระบุวิธีที่ Access จะนำข้อมูลกลับมารวมกันด้วยการวางเขตข้อมูลที่ใช้ร่วมกันลงในตารางที่เกี่ยวข้องกัน ตัวอย่างเช่น เมื่อต้องการแสดงความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม คุณต้องนำคีย์หลักจากตาราง "หนึ่ง" และเพิ่มเป็นเขตข้อมูลเพิ่มเติมลงในตาราง "กลุ่ม" เมื่อต้องการนำข้อมูลกลับมารวมกัน Access จะนำค่าในตาราง "กลุ่ม" และค้นหาค่าที่สอดคล้องกันในตาราง "หนึ่ง" ดังนั้น ค่าในตาราง "กลุ่ม" จะอ้างอิงค่าที่สอดคล้องกันในตาราง "หนึ่ง"

สมมติว่าคุณมีความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่มระหว่างผู้ขนส่งสินค้าและใบสั่งซื้อ และคุณต้องการลบผู้ขนส่งสินค้า ถ้าผู้ขนส่งสินค้าที่คุณต้องการลบนั้นมีใบสั่งซื้ออยู่ในตารางใบสั่งซื้อ ใบสั่งซื้อเหล่านั้นจะกลายเป็น "ไม่มีการเชื่อมโยง" เมื่อคุณลบระเบียนผู้ขนส่งสินค้า ใบสั่งซื้อดังกล่าวจะยังคงมี รหัสผู้ขนส่งสินค้า แต่รหัสจะไม่สามารถใช้การได้อีกต่อไป เพราะระเบียนที่ใบสั่งซื้อนั้นอ้างอิงถึงนั้นไม่มีอยู่อีกต่อไป

จุดประสงค์ของ Referential Integrity คือป้องกันไม่ให้เกิดการไม่มีการเชื่อมโยงขึ้น และรักษาการอ้างอิงให้ตรงกันเพื่อไม่ให้มีสถานการณ์แบบสมมติดังกล่าวเกิดขึ้น

คุณบังคับให้มี Referential Integrity ได้ด้วยการเปิดใช้งาน Referential Integrity สำหรับความสัมพันธ์ของตาราง (ให้ดูคำแนะนำโดยละเอียดได้ที่ การบังคับให้มี Referential Integrity) เมื่อมีการบังคับให้มี Referential Integrity แล้ว Access จะปฏิเสธการดำเนินการที่อาจละเมิด Referential integrity สำหรับความสัมพันธ์ของตารางดังกล่าว นั่นหมายความว่า Access จะปฏิเสธการอัปเดตที่เปลี่ยนเป้าหมายของการอ้างอิง และการลบที่เอาเป้าหมายของการอ้างอิงนั้นออก มีความเป็นไปได้ที่คุณอาจจำเป็นที่จะต้องเปลี่ยนคีย์หลักของผู้ขนส่งสินค้าที่มีใบสั่งซื้อในตารางใบสั่งซื้อ สำหรับกรณีดังกล่าว สิ่งที่คุณต้องการจริงๆ คือ การที่ Access อัปเดตแถวที่ได้รับผลกระทบทั้งหมดโดยอัตโนมัติให้เป็นส่วนหนึ่งของการดำเนินการเดียว ด้วยวิธีนี้ Access จะทำให้แน่ใจได้ว่าการอัปเดตจะสมบูรณ์เต็มที่โดยที่ฐานข้อมูลของคุณจะไม่ถูกปล่อยไว้ในสภาพที่ไม่สอดคล้องกัน หรือในลักษณะที่มีบางแถวได้ปรับการอัปเดตแต่บางแถวไม่ได้รับการอัปเดต ด้วยเหตุผลนี้ Access จะสนับสนุนตัวเลือก อัปเดตเขตข้อมูลที่เกี่ยวข้องทั้งหมด เมื่อคุณบังคับให้มี Referential Integrity และเลือกตัวเลือก อัปเดตเขตข้อมูลที่เกี่ยวข้องทั้งหมด จากนั้นคุณจึงอัปเดตคีย์หลัก Access จะอัปเดตเขตข้อมูลทั้งหมดที่อ้างอิงคีย์หลักโดยอัตโนมัติ

นอกจากนี้ คุณอาจจำเป็นต้องลบแถวและระเบียนที่เกี่ยวข้องทั้งหมดด้วย   ตัวอย่างเช่น ระเบียนผู้ขนส่งสินค้าและใบสั่งซื้อที่เกี่ยวข้องกับผู้ขนส่งสินค้าดังกล่าวทั้งหมด ในกรณีนี้ Access จะสนับสนุนตัวเลือก ลบระเบียนที่เกี่ยวข้องทั้งหมด เมื่อคุณบังคับให้มี Referential Integrity และเลือกตัวเลือก ลบระเบียนที่เกี่ยวข้องทั้งหมด แล้ว คุณสามารถลบระเบียนด้านบนคีย์หลักของความสัมพันธ์ได้ Access จะลบระเบียนทั้งหมดที่อ้างอิงกับคีย์หลักนั้นให้โดยอัตโนมัติ

ด้านบนของหน้า

การดูความสัมพันธ์ของตาราง

เมื่อต้องการดูความสัมพันธ์ของตารางของคุณ ให้คลิก ความสัมพันธ์ บนแท็บ เครื่องมือฐานข้อมูล หน้าต่างความสัมพันธ์จะเปิดและแสดงความสัมพันธ์ที่มีอยู่ ถ้ายังไม่มีการกำหนดความสัมพันธ์ของตารางไว้ และคุณเปิดหน้าต่างความสัมพันธ์นั้นเป็นครั้งแรก Access จะพร้อมท์คุณให้เพิ่มตารางหรือคิวรีลงในหน้าต่าง

เปิดหน้าต่างความสัมพันธ์

  1. คลิก ไฟล์ และคลิก เปิด

  2. เลือกแล้วเปิดฐานข้อมูล

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

  4. บนแท็บ ออกแบบ ในกลุ่ม ความสัมพันธ์ ให้คลิก ความสัมพันธ์ทั้งหมด
    วิธีนี้จะแสดงความสัมพันธ์ที่กำหนดไว้ทั้งหมดในฐานข้อมูลของคุณ โปรดสังเกตว่า ตารางที่ซ่อนไว้ (ตารางที่มีการเลือกกล่องกาเครื่องหมาย ซ่อน ในกล่องโต้ตอบ คุณสมบัติ ของตาราง) และความสัมพันธ์ของตารางเหล่านั้นจะไม่ถูกแสดง เว้นแต่กล่องกาเครื่องหมาย แสดงวัตถุที่ซ่อน จะถูกเลือกในกล่องโต้ตอบ ตัวเลือกการนำทาง

ความสัมพันธ์ของตารางจะแสดงให้เห็นด้วยเส้นของความสัมพันธ์ที่วาดระหว่างตารางต่างๆ ในหน้าต่างความสัมพันธ์ ความสัมพันธ์ที่ไม่ได้บังคับให้มี Referential Integrity จะปรากฏเป็นเส้นบางๆ ระหว่างเขตข้อมูลร่วมที่สนับสนุนความสัมพันธ์นั้น เมื่อคุณเลือกความสัมพันธ์ด้วยการคลิกที่เส้น เส้นดังกล่าวจะหนาขึ้นเพื่อแสดงให้เห็นว่าถูกเลือก ถ้าคุณบังคับให้มี Referential Integrity สำหรับความสัมพันธ์นี้ เส้นดังกล่าวจะปรากฏหนาขึ้นในแต่ละด้าน นอกจากนี้ ตัวเลข 1 จะปรากฏบนส่วนหนาของเส้นบนด้านหนึ่งของความสัมพันธ์ และสัญลักษณ์อนันต์ () จะปรากฏอยู่บนส่วนหนาของเส้นบนอีกด้านหนึ่ง

เมื่อหน้าต่างความสัมพันธ์ทำงานอยู่ คุณสามารถเลือกได้จากคำสั่งต่อไปนี้บน Ribbon

บนแท็บ ออกแบบ ในกลุ่ม เครื่องมือ

  • แก้ไขความสัมพันธ์    เปิดกล่องโต้ตอบ การแก้ไขความสัมพันธ์ เมื่อคุณเลือกเส้นของความสัมพันธ์ คุณสามารถคลิก การแก้ไขความสัมพันธ์ เพื่อเปลี่ยนความสัมพันธ์ของตารางได้ นอกจากนี้ คุณยังสามารถคลิกสองครั้งที่เส้นของความสัมพันธ์ได้เช่นกัน

  • ล้างเค้าโครง    เอาตารางและความสัมพันธ์ทั้งหมดที่แสดงอยู่ในหน้าต่างความสัมพันธ์ออก โปรดสังเกตว่าคำสั่งนี้จะซ่อนตารางและความสัมพันธ์ ไว้เท่านั้นโดยที่ไม่ได้ลบตารางและความสัมพันธ์เหล่านั้นออก

  • รายงานความสัมพันธ์    สร้างรายงานที่แสดงตารางและความสัมพันธ์ในฐานข้อมูลของคุณ รายงานจะแสดงเฉพาะตารางและความสัมพันธ์ที่ไม่ถูกซ่อนไว้ในหน้าต่างความสัมพันธ์

บนแท็บ ออกแบบ ในกลุ่ม ความสัมพันธ์

  • แสดงตาราง    เปิดกล่องโต้ตอบ แสดงตาราง เพื่อที่คุณจะสามารถเลือกตารางและคิวรีสำหรับการดูในหน้าต่างความสัมพันธ์ได้

  • ซ่อนตาราง    ซ่อนตารางที่เลือกไว้ในหน้าต่างความสัมพันธ์

  • ความสัมพันธ์โดยตรง    แสดงความสัมพันธ์และตารางที่เกี่ยวข้องทั้งหมดสำหรับตารางที่เลือกในหน้าต่างความสัมพันธ์ ถ้ายังไม่ได้แสดงไว้

  • ความสัมพันธ์ทั้งหมด    แสดงความสัมพันธ์ทั้งหมดและตารางที่สัมพันธ์กันในฐานข้อมูลของคุณในหน้าต่างความสัมพันธ์ โปรดสังเกตว่าตารางที่ซ่อนอยู่ (ตารางที่มีการเลือกกล่องกาเครื่องหมาย ซ่อน ในกล่องโต้ตอบ คุณสมบัติ ของตาราง) และความสัมพันธ์ของตารางดังกล่าวจะไม่แสดงให้เห็นเว้นแต่ว่าจะมีการเลือก แสดงวัตถุที่ซ่อน ในกล่องโต้ตอบ ตัวเลือกการนำทาง

  • ปิด    ปิดหน้าต่างความสัมพันธ์ ถ้าคุณทำการเปลี่ยนแปลงใดๆ กับเค้าโครงของหน้าต่างความสัมพันธ์ คุณจะถูกถามว่าจะบันทึกการเปลี่ยนแปลงเหล่านั้นหรือไม่

ด้านบนของหน้า

การสร้างความสัมพันธ์ของตาราง

คุณสามารถสร้างความสัมพันธ์ของตารางโดยใช้หน้าต่างความสัมพันธ์ หรือด้วยการลากเขตข้อมูลไปไว้บนแผ่นข้อมูลจากบานหน้าต่าง รายการเขตข้อมูล เมื่อคุณสร้างความสัมพันธ์ระหว่างตาราง เขตข้อมูลร่วมไม่จำเป็นต้องมีชื่อเดียวกัน แม้ว่าบ่อยครั้งเขตข้อมูลที่ใช้ร่วมกันนั้นจะเป็นชื่อเดียวกันก็ตาม แต่เขตข้อมูลเหล่านั้นต้องมีชนิดข้อมูลเดียวกัน อย่างไรก็ตาม ถ้าเขตข้อมูลคีย์หลักเป็นเขตข้อมูล AutoNumber เขตข้อมูล Foreign Key สามารถเป็นเขตข้อมูล Number ได้ถ้าคุณสมบัติ FieldSize ของเขตข้อมูลทั้งสองเหมือนกัน ตัวอย่างเช่น คุณสามารถจับคู่เขตข้อมูล AutoNumber กับเขตข้อมูล Number ได้เมื่อคุณสมบัติ FieldSize ของเขตข้อมูลทั้งสองคือ Long Integer เมื่อเขตข้อมูลร่วมเป็นเขตข้อมูล Number เขตข้อมูลทั้งสองนี้ต้องมีการตั้งค่าคุณสมบัติ FieldSize ให้เหมือนกัน

การสร้างความสัมพันธ์ของตารางโดยใช้บานหน้าต่างความสัมพันธ์

  1. คลิก ไฟล์ และคลิก เปิด

  2. เลือกแล้วเปิดฐานข้อมูล

  3. บนแท็บ เครื่องมือฐานข้อมูล ในกลุ่ม ความสัมพันธ์ ให้คลิก ความสัมพันธ์

  4. ถ้าคุณยังไม่ได้ระบุความสัมพันธ์ใดๆ กล่องโต้ตอบ แสดงตาราง จะปรากฏโดยอัตโนมัติ ถ้าไม่ปรากฏ บนแท็บ ออกแบบ ในกลุ่ม ความสัมพันธ์ ให้คลิก แสดงตาราง

    กล่องโต้ตอบ แสดงตาราง จะแสดงตารางและคิวรีทั้งหมดในฐานข้อมูล เมื่อต้องการดูเฉพาะตาราง ให้คลิก ตาราง เมื่อต้องการดูเฉพาะคิวรี ให้คลิก คิวรี เมื่อต้องการดูทั้งตารางและคิวรี ให้คลิก ทั้งสองอย่าง

  5. เลือกตารางหรือคิวรีอย่างน้อยหนึ่งรายการ จากนั้นคลิก เพิ่ม เมื่อคุณเพิ่มตารางและคิวรีให้กับหน้าต่างความสัมพันธ์เสร็จสิ้นแล้ว ให้คลิก ปิด

  6. ลากเขตข้อมูล (โดยทั่วไปจะเป็นคีย์หลัก) จากตารางหนึ่งไปยังเขตข้อมูลร่วม (Foreign Key) ในตารางอื่นๆ เมื่อต้องการลากเขตข้อมูลหลายเขต ให้กดแป้น CTRL แล้วคลิกแต่ละเขตข้อมูล จากนั้นจึงทำการลาก

    กล่องโต้ตอบ แก้ไขความสัมพันธ์ จะปรากฏขึ้น

  7. ตรวจสอบว่าชื่อเขตข้อมูลที่แสดงให้เห็นนั้นเป็นเขตข้อมูลร่วมสำหรับความสัมพันธ์ ถ้าชื่อเขตข้อมูลไม่ถูกต้อง ให้คลิกชื่อเขตข้อมูล และเลือกเขตข้อมูลใหม่จากรายการ

    เมื่อต้องการบังคับให้มี Referential Integrity สำหรับความสัมพันธ์นี้ ให้เลือกกล่องกาเครื่องหมาย บังคับให้มี Referential Integrity สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Referential Integrity ให้ดูในส่วน การทำความเข้าใจกับ Referential Integrity และ การบังคับให้มี Referential Integrity

  8. คลิก สร้าง

    เส้นของความสัมพันธ์จะปรากฏขึ้นระหว่างสองตาราง ถ้าคุณเลือกกล่องกาเครื่องหมาย บังคับให้มี Referential Integrity แล้ว เส้นนั้นจะปรากฏหนาขึ้นที่ปลายแต่ละด้าน นอกจากนี้ ถ้าคุณเลือกกล่องกาเครื่องหมาย บังคับให้มี Referential Integrity แล้ว ตัวเลข 1 จะปรากฏบนส่วนหนาของเส้นบนด้านหนึ่งของความสัมพันธ์ และสัญลักษณ์อนันต์ () จะปรากฏบนส่วนหนาของเส้นบนอีกด้านหนึ่ง

    หมายเหตุ: 

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

    • การสร้างความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม    เขตข้อมูลบนด้าน "หนึ่ง" (โดยทั่วไปจะเป็นคีย์หลัก) ของความสัมพันธ์ต้องมีดัชนีที่ไม่ซ้ำกัน ซึ่งหมายความว่า คุณสมบัติ ดัชนี สำหรับเขตข้อมูลนี้ควรถูกตั้งค่าเป็น ใช่ (ไม่มีค่าซ้ำกัน) เขตข้อมูลบนด้าน "กลุ่ม" ต้องไม่มีดัชนีที่ไม่ซ้ำกัน เขตข้อมูลบนด้าน "กลุ่ม" สามารถมีดัชนีได้ แต่ต้องอนุญาตให้มีการซ้ำกันได้ นั่นหมายความว่า คุณสมบัติ ดัชนี ของเขตข้อมูลนี้ควรจะตั้งค่าเป็น ไม่ หรือ ใช่ (มีค่าซ้ำกันได้) เมื่อเขตข้อมูลหนึ่งมีดัชนีที่ค่าไม่ซ้ำกัน และเขตข้อมูลอื่นไม่มี Access จะสร้างความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม

สร้างความสัมพันธ์ของตารางโดยใช้บานหน้าต่างรายการเขตข้อมูล

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

เปิดตารางในมุมมองแผ่นข้อมูล

  1. บนแท็บ ไฟล์ ให้คลิก เปิด

  2. ในกล่องโต้ตอบ เปิด ให้เลือกและเปิดฐานข้อมูล

  3. ในบานหน้าต่างนำทาง ให้คลิกขวาที่ตารางที่คุณต้องการเพิ่มเขตข้อมูลและสร้างความสัมพันธ์ แล้วคลิก เปิด

เปิดบานหน้าต่างรายการเขตข้อมูล

  • กด ALT+F8

    บานหน้าต่าง รายการเขตข้อมูล ปรากฏขึ้น

บานหน้าต่าง รายการเขตข้อมูล จะแสดงให้เห็นตารางอื่นๆ ทั้งหมดที่มีอยู่ในฐานข้อมูลของคุณโดยจัดกลุ่มเป็นประเภทไว้ เมื่อคุณทำงานกับตารางในมุมมองแผ่นข้อมูล Access จะแสดงเขตข้อมูลให้เห็น 2 ประเภท ภายในบานหน้าต่าง รายการเขตข้อมูล ได้แก่ เขตข้อมูลที่มีอยู่ในตารางที่สัมพันธ์กัน และ เขตข้อมูลที่มีอยู่ในตารางอื่น โดยประเภทแรกจะแสดงรายการตารางทั้งหมดที่มีความสัมพันธ์กับตารางที่คุณกำลังทำงานด้วย ส่วนประเภทที่สองจะแสดงรายการตารางทั้งหมดที่ตารางของคุณไม่ได้มีความสัมพันธ์อยู่

ในบานหน้าต่าง รายการเขตข้อมูล เมื่อคุณคลิกเครื่องหมายบวก (+) ที่ถัดจากชื่อตาราง คุณจะเห็นรายการของเขตข้อมูลทั้งหมดที่มีอยู่ในตารางนั้น เมื่อต้องการเพิ่มเขตข้อมูลให้กับตารางของคุณ ให้ลากเขตข้อมูลที่คุณต้องการจากบานหน้าต่าง รายการเขตข้อมูล ไปยังตารางในมุมมองแผ่นข้อมูล

เพิ่มเขตข้อมูลและสร้างความสัมพันธ์จากบานหน้าต่างรายการเขตข้อมูล

  1. ในบานหน้าต่าง รายการเขตข้อมูล ภายใต้ เขตข้อมูลที่มีอยู่ในตารางอื่น ให้คลิกเครื่องหมายบวก (+) ถัดจากชื่อตารางเพื่อแสดงรายการของเขตข้อมูลในตารางนั้น

  2. ลากเขตข้อมูลที่คุณต้องการจากบานหน้าต่าง รายการเขตข้อมูล ไปยังตารางที่เปิดอยู่ในมุมมองแผ่นข้อมูล

  3. เมื่อเส้นการแทรกปรากฏ ให้วางเขตข้อมูลในตำแหน่งที่ต้องการ

    ตัวช่วยสร้างการค้นหา เริ่มทำงาน

  4. ปฏิบัติตามคำแนะนำของ ตัวช่วยสร้างการค้นหา จนเสร็จสมบูรณ์

    เขตข้อมูลนั้นจะปรากฏอยู่ในตารางในมุมมองแผ่นข้อมูล

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

ด้านบนของหน้า

การลบความสัมพันธ์ของตาราง

เมื่อต้องการเอาความสัมพันธ์ของตารางออก คุณต้องลบเส้นของความสัมพันธ์ในบานหน้าต่างความสัมพันธ์ ให้ค่อยๆ วางเคอร์เซอร์ชี้ไปที่เส้นของความสัมพันธ์ จากนั้นคลิกที่เส้นดังกล่าว เส้นของความสัมพันธ์จะหนาขึ้นเมื่อถูกเลือก ในขณะที่เส้นของความสัมพันธ์ถูกเลือกอยู่ ให้กด DELETE โปรดสังเกตว่าเมื่อคุณเอาความสัมพันธ์ออก คุณยังได้เอาการสนับสนุน Referential Integrity ของความสัมพันธ์ดังกล่าวออกด้วย ถ้ามีการเปิดใช้งานการสนับสนุนนั้นอยู่ ด้วยเหตุนี้ Access จะไม่สามารถป้องกันไม่ให้เกิดการสร้างระเบียนที่ไม่มีการเชื่อมโยงบนด้าน "กลุ่ม" ของความสัมพันธ์โดยอัตโนมัติได้อีกต่อไป

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

  2. บนแท็บ ออกแบบ ในกลุ่ม ความสัมพันธ์ ให้คลิก ความสัมพันธ์ทั้งหมด
    ตารางทั้งหมดที่มีความสัมพันธ์จะปรากฏขึ้นโดยแสดงให้เห็นเส้นของความสัมพันธ์

  3. คลิกที่เส้นของความสัมพันธ์ของความสัมพันธ์ที่ต้องการลบ เส้นของความสัมพันธ์จะหนาขึ้นเมื่อถูกเลือก

  4. กดแป้น DELETE

    หรือ

คลิกขวาแล้วคลิก ลบ

  • Access อาจแสดงข้อความ คุณแน่ใจหรือไม่ว่าคุณต้องการที่จะลบความสัมพันธ์ที่คุณได้เลือกออกจากฐานข้อมูลของคุณอย่างถาวร ถ้าข้อความการยืนยันนี้ปรากฏขึ้น ให้คลิก ใช่

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

ด้านบนของหน้า

การเปลี่ยนความสัมพันธ์ของตาราง

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

ทำการเปลี่ยนแปลงของคุณในกล่องโต้ตอบ การแก้ไขความสัมพันธ์

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

  2. บนแท็บ ออกแบบ ในกลุ่ม ความสัมพันธ์ ให้คลิก ความสัมพันธ์ทั้งหมด
    ตารางทั้งหมดที่มีความสัมพันธ์จะปรากฏขึ้นโดยแสดงให้เห็นเส้นของความสัมพันธ์

  3. คลิก เส้นของความสัมพันธ์ สำหรับความสัมพันธ์ที่คุณต้องการเปลี่ยนแปลง เส้นของความสัมพันธ์จะหนาขึ้นเมื่อถูกเลือก

  4. ดับเบิลคลิกที่เส้นของความสัมพันธ์

  5. ทำการเปลี่ยนแปลงของคุณ แล้วคลิก ตกลง

    กล่องโต้ตอบ แก้ไขความสัมพันธ์ ทำให้คุณสามารถเปลี่ยนแปลงความสัมพันธ์ของตารางได้ โดยเฉพาะอย่างยิ่ง คุณสามารถเปลี่ยนแปลงตารางหรือคิวรีที่ด้านใดด้านหนึ่งของความสัมพันธ์หรือเปลี่ยนแปลงเขตข้อมูลต่างๆ ที่ด้านใดด้านหนึ่ง นอกจากนี้ คุณยังสามารถตั้งค่าชนิดการรวม หรือบังคับให้มี Referential Integrity และเลือกตัวเลือกที่เกี่ยวข้องกันทั้งหมดได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับชนิดการรวมและวิธีการตั้งค่า ให้ดูในส่วน ตั้งค่าชนิดการรวม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีบังคับให้มี Referential Integrity และเลือกตัวเลือกที่เกี่ยวข้องกันทั้งหมด ให้ดูที่ส่วน การบังคับให้มี Referential Integrity

การตั้งค่าชนิดการรวม

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

คิวรีแบบหลายตารางจะรวมข้อมูลจากตารางมากกว่าหนึ่งตารางด้วยการทำให้ค่าต่างๆ ในเขตข้อมูลร่วมตรงกัน การดำเนินการที่ทำให้ตรงกันและการรวมนี้เรียกว่าการรวม ตัวอย่างเช่น สมมติว่าคุณต้องการแสดงใบสั่งซื้อของลูกค้า คุณสามารถสร้างคิวรีที่รวมตารางลูกค้าและตารางใบสั่งซื้อบนเขตข้อมูลรหัสลูกค้าได้ ผลลัพธ์คิวรีจะมีข้อมูลลูกค้าและข้อมูลใบสั่งซื้อเฉพาะแถวที่พบว่าตรงกับข้อมูลที่สอดคล้องกันเท่านั้น

ค่าใดค่าหนึ่งที่คุณสามารถระบุให้กับแต่ละความสัมพันธ์คือชนิดการรวม ชนิดการรวมจะบอก Access ให้รู้ว่ามีระเบียนใดบ้างที่รวมอยู่ในผลลัพธ์คิวรี ตัวอย่างเช่น ให้ลองพิจารณาคิวรีที่รวมตารางลูกค้าและตารางใบสั่งซื้อด้วยเขตข้อมูลร่วมที่เป็นรหัสลูกค้า การใช้ชนิดการรวมที่เป็นค่าเริ่มต้น (เรียกว่า การรวมภายใน) จะทำให้คิวรีส่งกลับเฉพาะแถวลูกค้าและแถวใบสั่งซื้อที่เขตข้อมูลร่วม (หรือที่เรียกว่าเขตข้อมูลที่นำมาใช้ในการรวม) มีค่าเท่ากัน

อย่างไรก็ตาม สมมติว่าคุณต้องการรวมลูกค้าทั้งหมด ซึ่งรวมถึงลูกค้าที่ยังไม่ได้ทำการสั่งซื้อใดๆ ด้วย เมื่อต้องการทำขั้นตอนนี้ให้สำเร็จ คุณจะต้องเปลี่ยนชนิดการรวมจากการรวมภายในไปเป็นสิ่งที่เรียกว่าการรวมภายนอกด้านซ้าย การรวมภายนอกด้านซ้ายจะส่งกลับแถวทั้งหมดจากตารางทางด้านซ้ายของความสัมพันธ์และเฉพาะแถวที่ตรงกันจากตารางด้านขวาเท่านั้น ส่วนการรวมภายนอกด้านขวาจะส่งกลับแถวทั้งหมดในด้านขวาและเฉพาะแถวที่ตรงกันทางด้านซ้ายเท่านั้น

หมายเหตุ: ในกรณีนี้ "ซ้าย" และ "ขวา" หมายถึงตำแหน่งของตารางในกล่องโต้ตอบ แก้ไขความสัมพันธ์ ไม่ใช่ในหน้าต่างความสัมพันธ์

คุณควรพิจารณาถึงผลลัพธ์ที่คุณจะต้องการบ่อยที่สุดจากคิวรีที่รวมตารางในความสัมพันธ์นี้ จากนั้นตั้งค่าชนิดการรวมให้สอดคล้องกัน

การตั้งค่าชนิดการรวม

  1. ในกล่องโต้ตอบ การแก้ไขความสัมพันธ์ ให้คลิก ชนิดการรวม

    กล่องโต้ตอบ คุณสมบัติการรวม จะปรากฏขึ้น

  2. คลิกตัวเลือกของคุณ แล้วคลิก ตกลง

ตารางต่อไปนี้ (ซึ่งใช้ตารางลูกค้าและตารางใบสั่งซื้อ) จะแสดงให้เห็นสามตัวเลือกในกล่องโต้ตอบ คุณสมบัติการรวม ชนิดของการรวมที่ใช้ และแถวทั้งหมดหรือแถวที่ตรงกันที่ถูกรวมไว้สำหรับแต่ละตาราง

ตัวเลือก

การรวมเชิงสัมพันธ์

ตารางด้านซ้าย

ตารางด้านขวา

1. รวมเฉพาะแถวซึ่งเขตข้อมูลที่นำมาใช้ในการรวมจากทั้งสองตารางต้องมีค่าเท่ากันเท่านั้น

การรวมภายใน

แถวที่ตรงกัน

แถวที่ตรงกัน

2. รวมระเบียนทั้งหมดจาก 'ลูกค้า' และเฉพาะระเบียนจาก 'ใบสั่งซื้อ' ซึ่งมีเขตข้อมูลที่ใช้ในการรวมเท่ากัน

การรวมภายนอกด้านซ้าย

แถวทั้งหมด

แถวที่ตรงกัน

3. รวมระเบียนทั้งหมดจาก 'ใบสั่งซื้อ' และเฉพาะระเบียนจาก 'ลูกค้า' ซึ่งมีเขตข้อมูลที่ใช้ในการรวมเท่ากัน

การรวมภายนอกด้านขวา

แถวที่ตรงกัน

แถวทั้งหมด

เมื่อคุณเลือกตัวเลือก 2 หรือตัวเลือก 3 จะมีลูกศรแสดงให้เห็นบนเส้นของความสัมพันธ์ ลูกศรนี้จะชี้ไปที่ด้านของความสัมพันธ์ที่แสดงเฉพาะแถวที่ตรงกันเท่านั้น

ทำการเปลี่ยนแปลงในกล่องโต้ตอบ คุณสมบัติการรวม

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

  2. บนแท็บ ออกแบบ ในกลุ่ม ความสัมพันธ์ ให้คลิก ความสัมพันธ์ทั้งหมด

    ตารางทั้งหมดที่มีความสัมพันธ์จะปรากฏ พร้อมทั้งแสดงให้เห็นเส้นของความสัมพันธ์ด้วย

  3. คลิก เส้นของความสัมพันธ์ สำหรับความสัมพันธ์ที่คุณต้องการเปลี่ยนแปลง เส้นของความสัมพันธ์จะหนาขึ้นเมื่อถูกเลือก

  4. ดับเบิลคลิกที่เส้นของความสัมพันธ์

    กล่องโต้ตอบ การแก้ไขความสัมพันธ์ จะปรากฏ

  5. คลิก ชนิดการรวม

  6. ในกล่องโต้ตอบ คุณสมบัติการรวม ให้คลิกตัวเลือก จากนั้นคลิก ตกลง

  7. ทำการเปลี่ยนแปลงเพิ่มเติมใดๆ กับความสัมพันธ์นั้น แล้วคลิก ตกลง

ด้านบนของหน้า

การบังคับให้มี Referential Integrity

วัตถุประสงค์ของการใช้ Referential Integrity คือเพื่อป้องกันไม่ให้เกิดระเบียนที่ไม่มีการเชื่อมโยง และเพื่อทำให้การอ้างอิงต่างๆ ตรงกัน เพื่อคุณจะได้ไม่มีระเบียนใดๆ ที่อ้างอิงระเบียนอื่นที่ไม่มีอยู่อีกต่อไป คุณสามารถบังคับให้มี Referential Integrity ได้ด้วยการเปิดใช้งาน Referential Integrity สำหรับความสัมพันธ์ของตาราง เมื่อมีการบังคับให้มี Referential Integrity แล้ว Access จะปฏิเสธการดำเนินการที่อาจละเมิด Referential integrity สำหรับความสัมพันธ์ของตารางดังกล่าว Access จะปฏิเสธอัปเดตที่เปลี่ยนแปลงเป้าหมายของการอ้างอิงและการลบที่เอาเป้าหมายของการอ้างอิงนั้นออกด้วย เมื่อต้องการให้ Access อัปเดตและลบการอ้างอิงออกเพื่อให้แถวที่เกี่ยวข้องทั้งหมดเปลี่ยนแปลงอย่างสอดคล้องกัน ให้ดูในส่วน การตั้งค่าตัวเลือกที่เกี่ยวข้องทั้งหมด

การเปิดหรือปิดใช้งาน Referential Integrity

  1. ในหน้าต่างความสัมพันธ์ ให้คลิกเส้นของความสัมพันธ์สำหรับความสัมพันธ์ที่คุณต้องการเปลี่ยนแปลง เส้นของความสัมพันธ์จะหนาขึ้นเมื่อถูกเลือก

  2. ดับเบิลคลิกที่เส้นของความสัมพันธ์

กล่องโต้ตอบ การแก้ไขความสัมพันธ์ จะปรากฏ

  1. เลือกกล่องกาเครื่องหมาย บังคับให้มี Referential Integrity

  2. ทำการเปลี่ยนแปลงเพิ่มเติมใดๆ กับความสัมพันธ์นั้น แล้วคลิก ตกลง

หลังจากที่คุณได้บังคับให้มี Referential Integrity จะมีการนำกฎต่อไปนี้ไปใช้

  • คุณไม่สามารถป้อนค่าในเขตข้อมูล Foreign Key ของตารางที่เกี่ยวข้องได้ ถ้าค่าดังกล่าวไม่มีอยู่ในเขตข้อมูลคีย์หลักของตารางหลัก  การทำเช่นนี้จะเป็นการสร้างระเบียนที่ไม่มีการเชื่อมโยง

  • คุณไม่สามารถลบระเบียนออกจากตารางหลักได้ถ้ามีระเบียนที่ตรงกันอยู่ในตารางที่เกี่ยวข้อง ตัวอย่างเช่น คุณไม่สามารถลบระเบียนพนักงานจากตารางพนักงานได้ถ้ามีใบสั่งซื้อที่มอบหมายให้กับพนักงานคนดังกล่าวในตารางใบสั่งซื้อ คุณสามารถเลือกที่จะลบระเบียนหลักและระเบียนที่เกี่ยวข้องทั้งหมดในการดำเนินการเพียงครั้งเดียว โดยเลือกกล่องกาเครื่องหมาย ลบระเบียนที่เกี่ยวข้องทั้งหมด

  • คุณไม่สามารถเปลี่ยนแปลงค่าคีย์หลักในตารางหลักได้ถ้าการทำเช่นนี้จะทำให้เกิดระเบียนที่ไม่มีการเชื่อมโยงขึ้น ตัวอย่างเช่น คุณไม่สามารถเปลี่ยนแปลงหมายเลขใบสั่งซื้อในตารางใบสั่งซื้อได้ ถ้ามีรายการที่กำหนดให้กับใบสั่งซื้อนั้นอยู่ในตารางรายละเอียดใบสั่งซื้อ คุณสามารถเลือกที่จะอัปเดตระเบียนหลัก และ ระเบียนที่เกี่ยวข้องทั้งหมดในการดำเนินการเพียงครั้งเดียว โดยเลือกกล่องกาเครื่องหมาย อัปเดตเขตข้อมูลที่เกี่ยวข้องทั้งหมด

    หมายเหตุ: ถ้าคุณประสบความยุ่งยากในการเปิดใช้งาน Referential Integrity ให้สังเกตว่าเงื่อนไขต่อไปนี้ต้องการบังคับให้มี Referential Integrity ดังนี้

    • เขตข้อมูลร่วมจากตารางหลักจะต้องเป็นคีย์หลักหรือมีดัชนีที่ค่าไม่ซ้ำกัน

    • เขตข้อมูลร่วมจะต้องมีชนิดข้อมูลเดียวกัน มีข้อยกเว้นหนึ่งข้อคือเขตข้อมูล AutoNumber สามารถเกี่ยวข้องกับเขตข้อมูล Number ที่มีการตั้งค่าคุณสมบัติ FieldSize เป็น Long Integer ได้

    • ตารางทั้งสองจะต้องอยู่ในฐานข้อมูล Access เดียวกัน โดยคุณจะไม่สามารถบังคับให้มี Referential Integrity กับตารางที่ลิงก์ได้ อย่างไรก็ตาม ถ้าตารางแหล่งข้อมูลอยู่ในรูปแบบ Access คุณสามารถเปิดฐานข้อมูลดังกล่าวและเปิดใช้งาน Referential Integrity ในฐานข้อมูลนั้นได้

การตั้งค่าตัวเลือกที่เกี่ยวข้องทั้งหมด

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

คุณอาจมีความจำเป็นต้องลบแถวและระเบียนที่เกี่ยวข้องทั้งหมด   ตัวอย่างเช่น ระเบียนผู้ขนส่งสินค้าและใบสั่งซื้อที่เกี่ยวข้องกับผู้ขนส่งสินค้าดังกล่าวทั้งหมด ในกรณีนี้ Access จะสนับสนุนตัวเลือก ลบระเบียนที่เกี่ยวข้องทั้งหมด เมื่อคุณบังคับให้มี Referential Integrity แล้วเลือกตัวเลือก ลบระเบียนที่เกี่ยวข้องทั้งหมดAccess จะลบระเบียนทั้งหมดที่อ้างอิงคีย์หลักโดยอัตโนมัติเมื่อคุณลบระเบียนที่มีคีย์หลัก

การเปิดหรือปิดอัปเดตทั้งหมดที่เกี่ยวข้องและ/หรือการลบทั้งหมดที่เกี่ยวข้อง

  1. ในหน้าต่างความสัมพันธ์ ให้คลิกเส้นของความสัมพันธ์สำหรับความสัมพันธ์ที่คุณต้องการเปลี่ยนแปลง เส้นของความสัมพันธ์จะหนาขึ้นเมื่อถูกเลือก

  2. ดับเบิลคลิกที่เส้นของความสัมพันธ์

กล่องโต้ตอบ การแก้ไขความสัมพันธ์ จะปรากฏ

  1. เลือกกล่องกาเครื่องหมาย บังคับให้มี Referential Integrity

  2. เลือกกล่องกาเครื่องหมาย อัปเดตเขตข้อมูลที่เกี่ยวข้องทั้งหมด หรือ ลบระเบียนที่เกี่ยวข้องทั้งหมด หรือเลือกทั้งสองตัวเลือก

  3. ทำการเปลี่ยนแปลงเพิ่มเติมใดๆ กับความสัมพันธ์นั้น แล้วคลิก ตกลง

หมายเหตุ: ถ้าคีย์หลักคือเขตข้อมูล AutoNumber การเลือกกล่องกาเครื่องหมาย อัปเดตเขตข้อมูลที่เกี่ยวข้องทั้งหมด จะไม่มีผลกระทบ เนื่องจากคุณไม่สามารถเปลี่ยนแปลงค่าในเขตข้อมูล AutoNumber ได้

ด้านบนของหน้า

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×