วิดีโอ: เริ่มต้นใช้งานความสัมพันธ์ของตาราง
Applies To
Access for Microsoft 365 Access 2021 Access 2019 Access 2016ลองกันเลย!
พลังของฐานข้อมูลเชิงสัมพันธ์อยู่ในการรวมข้อมูลข้ามตาราง เมื่อต้องการทําเช่นนั้น ก่อนอื่นคุณต้องสร้างความสัมพันธ์ระหว่างตารางของคุณ จากนั้นให้ให้ Access ทํางานเพื่อรวมข้อมูลในคิวรี ฟอร์ม และรายงาน
เมื่อต้องการดูความสัมพันธ์ที่มีอยู่ทั้งหมดที่กําหนดไว้สําหรับฐานข้อมูล ให้เปิดเทมเพลต Access ไปที่แท็บ เครื่องมือฐานข้อมูล แล้วเลือก ความสัมพันธ์
: ถ้าคุณเปิดฐานข้อมูลเปล่าหรือไม่ได้กําหนดความสัมพันธ์ของตารางใดๆ Access จะพร้อมท์ให้คุณเพิ่มตารางหรือคิวรี ก่อนที่คุณจะสามารถเพิ่มความสัมพันธ์ คุณต้องมีอย่างน้อยสองตาราง ตามหลักแล้ว คุณจะสร้างตารางทั้งหมดของคุณก่อน เมื่อต้องการเรียนรู้เพิ่มเติม ให้ดู สร้างความสัมพันธ์ด้วยตัวช่วยสร้างการค้นหา และ สร้างความสัมพันธ์ด้วยบานหน้าต่างความสัมพันธ์
การทําความเข้าใจมุมมองความสัมพันธ์
เส้นในมุมมองความสัมพันธ์จะระบุการเชื่อมต่อระหว่างตาราง ในรูปภาพต่อไปนี้ ตารางทางด้านซ้ายจะเป็นตารางหลัก ตารางทางด้านขวาคือตารางรอง บรรทัดระหว่างเขตข้อมูลจะเชื่อมต่อเขตข้อมูล (ในกรณีนี้ คือ ID คําสั่งซื้อ และ ID ผลิตภัณฑ์) ที่ใช้เพื่อจับคู่ข้อมูล
เส้นและสัญลักษณ์จะแสดงให้คุณเห็นว่าตารางของคุณสัมพันธ์กันอย่างไร:
-
เส้นเชื่อมต่อหนาหมายความว่าคุณกําลังบังคับใช้ความสมบูรณ์ของข้อมูลอ้างอิง ดีจัง โดยจะซิงค์ข้อมูลของคุณอยู่เสมอ
-
ในภาพประกอบหมายเลข 1 ระบุว่าตารางนั้นสามารถมีระเบียนที่ตรงกันได้เพียงระเบียนเดียวเท่านั้น ในตารางใบสั่งซื้อที่แสดงที่นี่ จะมีเพียงระเบียนเดียวที่ตรงกับแต่ละคําสั่งซื้อ
-
สัญลักษณ์ ∞ ระบุว่าหลายระเบียนสามารถมี ID เดียวกันได้ ในตารางรายละเอียดคําสั่งซื้อที่แสดงที่นี่ คําสั่งซื้อ (ระบุโดย ID คําสั่งซื้อ) อาจปรากฏขึ้นมากกว่าหนึ่งครั้ง เนื่องจากคําสั่งซื้อเดียวกันอาจมีผลิตภัณฑ์หลายรายการ
ชนิดของความสัมพันธ์ระหว่างตาราง
ความสัมพันธ์ระหว่างตารางมีอยู่สามชนิด ดังนี้
-
แบบหนึ่ง-ต่อ-หนึ่ง เมื่อแต่ละรายการในแต่ละตารางปรากฏขึ้นเพียงครั้งเดียวเท่านั้น ตัวอย่างเช่น พนักงานแต่ละคนสามารถมีรถของบริษัทที่จะใช้ได้เพียงคันเดียวเท่านั้น สําหรับข้อมูลเพิ่มเติม ให้ดู สร้างความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่ง
-
หนึ่ง-ต่อ-กลุ่ม เมื่อรายการหนึ่งในตารางหนึ่งสามารถมีความสัมพันธ์กับหลายรายการในตารางอื่นได้ ตัวอย่างเช่น ใบสั่งซื้อแต่ละใบอาจมีผลิตภัณฑ์หลายรายการ
-
กลุ่ม-ต่อ-กลุ่ม เมื่ออย่างน้อยหนึ่งรายการในตารางหนึ่งสามารถมีความสัมพันธ์กับรายการอย่างน้อยหนึ่งรายการในตารางอื่นได้ ตัวอย่างเช่น คําสั่งซื้อแต่ละรายการสามารถมีผลิตภัณฑ์ได้หลายรายการ และแต่ละผลิตภัณฑ์สามารถปรากฏบนคําสั่งซื้อหลายรายการ เมื่อต้องการค้นหาเพิ่มเติม ให้ดูที่ สร้างความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่ม
ความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม
หนึ่งในความสัมพันธ์ที่พบบ่อยที่สุดระหว่างตารางในฐานข้อมูลที่ออกแบบมาอย่างดีคือความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม
ความสัมพันธ์ระหว่างตารางมักจะใช้คีย์หลักในตารางใดตารางหนึ่ง จําได้ว่าคีย์หลักเป็นตัวระบุที่ไม่ซ้ํากัน (มักจะเป็นตัวเลข) สําหรับแต่ละระเบียน เมื่อต้องการแสดงว่าข้อมูลในตารางสองตารางมีความเกี่ยวข้องกัน คุณมักจะสร้างความสัมพันธ์โดยใช้คีย์หลักจากตารางใดตารางหนึ่ง
ในความสัมพันธ์ที่แสดงที่นี่ ตัวอย่างเช่น บุคคลแต่ละคนในตารางที่ติดต่อจะมี ID ซึ่งเป็นคีย์หลัก (ระบุโดยสัญลักษณ์คีย์ถัดจากคีย์) ID นั้นจะปรากฏในฟิลด์ เจ้าของ ในตาราง สินทรัพย์ ด้วย เมื่อต้องการส่งอีเมลถึงบุคคลที่เชื่อมโยงกับสินทรัพย์ ให้รับค่าจากเขตข้อมูล ที่อยู่อีเมล เมื่อต้องการทําเช่นนั้น ให้ค้นหาค่าในเขตข้อมูล เจ้าของ ของตาราง สินทรัพย์ แล้วค้นหา ID นั้นในตาราง ที่ติดต่อ หมายเลข 1 ที่ปลายด้านหนึ่งของเส้นเชื่อมต่อและสัญลักษณ์∞ที่ปลายอีกด้านหนึ่งระบุว่านี่คือความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม ดังนั้นที่ติดต่อหนึ่งรายอาจเชื่อมโยงกับสินทรัพย์จํานวนมาก
การแก้ไขความสัมพันธ์
ถ้าคุณกําลังปรับเปลี่ยนฐานข้อมูลที่มีอยู่ หรือถ้าคุณสร้างฐานข้อมูลของคุณจากเทมเพลต คุณสามารถแก้ไขความสัมพันธ์ที่มีอยู่ให้ตรงกับความต้องการของคุณได้
: ถ้าตารางที่คุณต้องการทํางานด้วยถูกใช้งานอยู่ คุณต้องปิดตารางเหล่านั้นก่อน พร้อมกับวัตถุใดๆ ที่เปิดอยู่ที่ใช้ตารางเหล่านั้น
-
เลือก เครื่องมือฐานข้อมูล > ความสัมพันธ์
-
เลือกเส้นที่เชื่อมต่อสองตารางที่สัมพันธ์กัน
: ถ้าคุณไม่เห็นความสัมพันธ์ที่คุณต้องการ บนแท็บ ออกแบบ ในกลุ่ม ความสัมพันธ์ ให้เลือก ความสัมพันธ์ทั้งหมด
-
บนแท็บ ออกแบบ ให้เลือก แก้ไขความสัมพันธ์
ตาราง/คิวรี เป็นตารางหลักทางด้านซ้าย (ในตัวอย่างนี้คือ ลูกค้า)
ตาราง/คิวรีที่เกี่ยวข้อง คือตารางย่อย (ในตัวอย่างนี้ คือ ใบสั่งซื้อ)
แม้ว่าตารางจะไม่ปรากฏในลําดับนี้ในมุมมองความสัมพันธ์ การวางตารางในกล่องโต้ตอบจะระบุทิศทางของเส้นที่เชื่อมต่อกันและความสัมพันธ์ ซึ่งเป็นสิ่งสําคัญ ตัวอย่างเช่น ถ้าเป็นความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม เนื่องจากตารางทางด้านซ้ายจะเป็นตารางหนึ่ง (ตารางหลัก) และตารางทางด้านขวาคือกลุ่ม (ตารางรอง)
-
เมื่อต้องการเปลี่ยนเขตข้อมูลที่เชื่อมต่อตาราง ให้เลือกเขตข้อมูลที่แตกต่างกันทางด้านล่างของแต่ละตารางที่แสดง ในตัวอย่างนี้ เขตข้อมูล ID ในตารางลูกค้าจะเชื่อมต่อกับเขตข้อมูล ID ลูกค้าในตารางใบสั่งซื้อ
-
เปลี่ยนวิธีที่ Access ซิงโครไนซ์ข้อมูลของคุณระหว่างตาราง
บังคับให้มี Referential Integrity
เมื่อต้องการป้องกันข้อมูลที่ไม่ถูกต้องและซิงค์การอ้างอิงระหว่างความสัมพันธ์ของตารางอยู่เสมอ ให้เลือกสิ่งนี้
ตัวอย่างเช่น สมมติว่าคุณมีความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่งระหว่างตาราง พนักงาน และ สิทธิประโยชน์ของพนักงาน ถ้าพนักงานลาออกจากบริษัทและคุณเอาพนักงานออกจากตาราง พนักงาน ของคุณ ระเบียนพนักงานที่เกี่ยวข้องในตาราง สิทธิประโยชน์ของพนักงาน จะถูกเอาออกด้วย
บางครั้งการบังคับใช้ Referential Integrity ก็ไม่สมเหตุสมผล ตัวอย่างเช่น สมมติว่าคุณมีความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่มระหว่างผู้ขนส่งสินค้าและใบสั่งซื้อ คุณลบผู้จัดส่ง และผู้จัดส่งรายนั้นแมปกับคําสั่งซื้อในตารางคําสั่งซื้อ คําสั่งเหล่านั้นจะกลายเป็นคําสั่งซื้อที่ไม่มีเครื่องหมายออร์เฟน ซึ่งหมายความว่าคําสั่งเหล่านั้นยังคงมี ID ผู้ขนส่งสินค้า แต่ ID ไม่ถูกต้องอีกต่อไปเนื่องจากระเบียนที่ใบสั่งซื้ออ้างอิงไม่มีอยู่อีกต่อไป
อัปเดตเขตข้อมูลที่เกี่ยวข้องทั้งหมด
เมื่อต้องการตรวจสอบให้แน่ใจว่าข้อมูลในเขตข้อมูลที่เกี่ยวข้องได้รับการอัปเดตในตารางที่เกี่ยวข้องทั้งหมด ให้เลือกสิ่งนี้
ตัวอย่างเช่น สมมติว่าคุณเพียงต้องการเปลี่ยน ID ของผู้จัดส่ง การตั้งค่าตัวเลือกนี้จะทําให้แน่ใจว่า ID ผู้ขนส่งสินค้าได้รับการอัปเดต ไม่ใช่ในตารางผู้ขนส่งสินค้าเท่านั้น แต่ยังรวมถึงในตารางอื่นๆ ที่เชื่อมต่อกับรหัสผู้ขนส่งสินค้าด้วย เช่น ตารางใบสั่งซื้อ
ลบระเบียนที่เกี่ยวข้องทั้งหมด
การตัดสินใจในการเลือกตัวเลือกนี้ขึ้นอยู่กับว่าคุณจําเป็นต้องเก็บระเบียนไว้ในบางตารางหรือไม่ แม้ว่าระเบียนเหล่านั้นอาจถูกลบออกจากตารางอื่นก็ตาม
ตัวอย่างเช่น สมมติว่าคุณลบผู้จัดส่ง ถ้าตัวเลือกนี้ถูกเลือก Access จะลบระเบียนทั้งหมดในตารางทั้งหมดที่อ้างอิงรหัสผู้ขนส่งสินค้า รวมถึงใบสั่งซื้อทั้งหมด (ในตารางใบสั่งซื้อ) ที่จัดส่งโดยผู้จัดส่งรายนั้น คุณจะเลือกตัวเลือกนี้เฉพาะเมื่อคุณแน่ใจว่าคุณต้องการลบประวัติการสั่งซื้อของคุณ
-
เมื่อต้องการเปลี่ยนความสัมพันธ์ระหว่างตารางจากการรวมภายในเป็นการรวมภายนอก ให้เลือกปุ่ม ชนิดการรวม สําหรับข้อมูลเพิ่มเติม ให้ดูที่ สร้างคิวรีด้วยการรวมภายนอก
การลบความสัมพันธ์ของตาราง
: ถ้าตารางที่คุณต้องการทํางานด้วยถูกใช้งานอยู่ คุณต้องปิดตารางเหล่านั้นก่อน พร้อมกับวัตถุใดๆ ที่เปิดอยู่ที่ใช้ตารางเหล่านั้น
เมื่อต้องการเอาความสัมพันธ์ของตารางออก ให้ทําดังนี้
-
เลือก เครื่องมือฐานข้อมูล > ความสัมพันธ์
-
เลือกเส้นที่เชื่อมต่อสองตารางที่สัมพันธ์กัน
: ถ้าคุณไม่เห็นความสัมพันธ์ที่คุณต้องการ บนแท็บ ออกแบบ ในกลุ่ม ความสัมพันธ์ ให้เลือก ความสัมพันธ์ทั้งหมด
-
เลือกแป้น Delete ถ้าคุณได้รับพร้อมท์ให้ตรวจสอบว่าคุณต้องการลบความสัมพันธ์ ให้เลือก ใช่
: เมื่อคุณเอาความสัมพันธ์ออก คุณจะเอาการสนับสนุน Referential Integrity สําหรับความสัมพันธ์นั้นออกด้วย ถ้ามี ด้วยเหตุนี้ Access จะไม่ป้องกันการเปลี่ยนแปลงที่ส่งผลให้เกิดระเบียนที่ไม่มีเจ้าของบนหลายด้านของความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่มอีกต่อไป