ตารางเป็นวัตถุที่จําเป็นในฐานข้อมูลเพราะว่าเป็นที่เก็บข้อมูลทั้งหมด ตัวอย่างเช่น ฐานข้อมูลธุรกิจอาจมีตารางที่ติดต่อที่จัดเก็บชื่อผู้จัดจําหน่าย ที่อยู่อีเมล และหมายเลขโทรศัพท์ เนื่องจากวัตถุฐานข้อมูลอื่นๆ จะขึ้นอยู่ตารางเป็นสําคัญ คุณควรเริ่มต้นการออกแบบฐานข้อมูลของคุณด้วยการสร้างตารางทั้งหมดของฐานข้อมูลนั้น จากนั้น สร้างวัตถุอื่นๆ ก่อนที่คุณจะสร้างตารางใน Access ให้คํานึงถึงความต้องการของคุณและระบุตารางทั้งหมดที่คุณอาจต้องการ สําหรับบทนําสู่การวางแผนและการออกแบบฐานข้อมูล ให้ดูที่ พื้นฐานการออกแบบฐานข้อมูล
ในบทความนี้
- ภาพรวม
- คุณสมบัติของตารางและคุณสมบัติของเขตข้อมูล
- ชนิดข้อมูล
- ความสัมพันธ์ของตาราง
- แป้น
- ประโยชน์จากการใช้ความสัมพันธ์
ภาพรวม
ฐานข้อมูลเชิงสัมพันธ์เช่น Access มักจะมีตารางที่เกี่ยวข้องกันอยู่จํานวนหนึ่ง ในฐานข้อมูลที่ออกแบบมาอย่างดี แต่ละตารางจะจัดเก็บข้อมูลเกี่ยวกับหัวข้อใดหัวข้อหนึ่งโดยเฉพาะ เช่น พนักงานหรือผลิตภัณฑ์ ตารางมีระเบียน (แถว) และเขตข้อมูล (คอลัมน์) เขตข้อมูลมีข้อมูลชนิดต่างๆ เช่น ข้อความ ตัวเลข วันที่ และไฮเปอร์ลิงก์
- ระเบียน: มีข้อมูลที่เฉพาะเจาะจง เช่น ข้อมูลเกี่ยวกับพนักงานหรือผลิตภัณฑ์เฉพาะ
- เขตข้อมูล: มีข้อมูลเกี่ยวกับส่วนหนึ่งของชื่อเรื่องตาราง เช่น ชื่อหรือที่อยู่อีเมล
- ค่าเขตข้อมูล: แต่ละระเบียนจะมีค่าเขตข้อมูล เช่น
Contoso, Ltd.หรือsomeone@example.com
คุณสมบัติของตารางและคุณสมบัติของเขตข้อมูล
ตารางและเขตข้อมูลจะมีคุณสมบัติที่คุณสามารถตั้งค่าเพื่อควบคุมฟีเจอร์หรือลักษณะการทำงานของตารางและเขตข้อมูลเหล่านั้นได้ด้วย
- คุณสมบัติตาราง
- คุณสมบัติของเขตข้อมูล
ในฐานข้อมูล Access คุณสมบัติของตารางจะเป็นแอตทริบิวต์ของตารางที่มีผลต่อลักษณะที่ปรากฏหรือลักษณะการทํางานของตารางทั้งหมด คุณสมบัติของตารางจะถูกตั้งค่าในแผ่นคุณสมบัติของตารางในมุมมองออกแบบ ตัวอย่างเช่น คุณสามารถตั้งค่าคุณสมบัติ มุมมองเริ่มต้น ของตารางเพื่อระบุวิธีแสดงตารางตามค่าเริ่มต้น
คุณสมบัติของเขตข้อมูลจะนําไปใช้กับเขตข้อมูลที่เฉพาะเจาะจงในตาราง และกําหนดหนึ่งฟีเจอร์ของเขตข้อมูลหรือรูปแบบของลักษณะการทํางานของเขตข้อมูล คุณสามารถตั้งค่าบางคุณสมบัติของเขตข้อมูลในมุมมองแผ่นข้อมูล คุณยังสามารถตั้งค่าคุณสมบัติของเขตข้อมูลในมุมมองออกแบบได้โดยใช้บานหน้าต่าง คุณสมบัติของเขตข้อมูล
ชนิดข้อมูล
ทุกเขตข้อมูลจะมีชนิดข้อมูล ชนิดข้อมูลของเขตข้อมูลจะระบุชนิดของข้อมูลที่เขตข้อมูลนั้นเก็บอยู่ เช่น ข้อความหรือไฟล์ที่แนบจํานวนมาก
ชนิดข้อมูลคือคุณสมบัติของเขตข้อมูล แต่จะแตกต่างจากคุณสมบัติของเขตข้อมูลอื่นๆ ดังนี้
- คุณจะตั้งค่าชนิดข้อมูลของเขตข้อมูลในตารางออกแบบตาราง ไม่ใช่ในบานหน้าต่าง คุณสมบัติของเขตข้อมูล
- ชนิดข้อมูลของเขตข้อมูลจะเป็นตัวกําหนดคุณสมบัติอื่นๆ ที่เขตข้อมูลมี
- คุณต้องตั้งค่าชนิดข้อมูลของเขตข้อมูลเมื่อสร้างเขตข้อมูล
คุณสามารถสร้างเขตข้อมูลใหม่ใน Access ได้โดยใส่ข้อมูลในคอลัมน์ใหม่ในมุมมองแผ่นข้อมูล เมื่อสร้างเขตข้อมูลโดยใส่ข้อมูลในมุมมองแผ่นข้อมูล Access จะกําหนดชนิดข้อมูลให้โดยอัตโนมัติตามค่าที่คุณใส่ ถ้าไม่มีชนิดข้อมูลอื่นตามที่คุณป้อน Access จะตั้งค่าชนิดข้อมูลนั้นเป็นข้อความ ถ้าจําเป็น คุณสามารถเปลี่ยนชนิดข้อมูลได้โดยใช้ Ribbon
ตัวอย่างของการตรวจหาชนิดข้อมูลอัตโนมัติ
ตารางต่อไปนี้แสดงให้เห็นวิธีการตรวจหาชนิดข้อมูลอัตโนมัติในมุมมองแผ่นข้อมูล
| ถ้าคุณใส่ | Access จะสร้างเขตข้อมูลที่มีชนิดข้อมูล |
|---|---|
John |
ข้อความสั้น |
http://www.contoso.com |
ไฮเปอร์ลิงก์ |
1 |
Number, Long Integer |
50,000 |
Number, Long Integer |
50,000.99 |
Number, Double |
50000.389 |
Number, Double |
12/67 |
วันที่/เวลา |
December 31, 2016 |
วันที่/เวลา |
10:50:23 |
วันที่/เวลา |
10:50 am |
วันที่/เวลา |
17:50 |
วันที่/เวลา |
$12.50 |
สกุลเงิน |
21.75 |
Number, Double |
123.00% |
Number, Double |
3.46E+03 |
Number, Double |
คุณสามารถใช้ส่วนนําหน้าอินเทอร์เน็ตโพรโทคอลที่ถูกต้องใดๆ เช่น http://, , https://หรือ mailto:. Access รู้จักรูปแบบวันที่ เวลา และสกุลเงินโดยยึดตามตําแหน่งภาษาของผู้ใช้ของคุณ
ความสัมพันธ์ของตาราง
แม้ว่าแต่ละตารางจะเก็บข้อมูลเกี่ยวกับเรื่องที่แตกต่างกัน ตารางในฐานข้อมูล Access มักจะเก็บข้อมูลเกี่ยวกับเรื่องที่เกี่ยวข้องกัน ตัวอย่างเช่น ฐานข้อมูลอาจประกอบด้วยสิ่งต่อไปนี้
- ตารางลูกค้าที่แสดงรายชื่อลูกค้าของบริษัทคุณ และที่อยู่ของลูกค้าเหล่านั้น
- ตารางผลิตภัณฑ์ที่แสดงผลิตภัณฑ์ที่คุณขาย รวมถึงราคาและรูปภาพของรายการแต่ละรายการ
- ตารางใบสั่งซื้อที่ติดตามใบสั่งซื้อของลูกค้า
เนื่องจากคุณจัดเก็บข้อมูลเกี่ยวกับหัวเรื่องที่แตกต่างไว้ในตารางที่แยกกัน คุณจะต้องมีวิธีการผูกโยงข้อมูลเข้าด้วยกันเพื่อให้สามารถรวมข้อมูลที่เกี่ยวข้องจากตารางที่แยกกัน เมื่อเชื่อมต่อข้อมูลที่เก็บไว้ในตารางต่างๆ คุณจะสร้างความสัมพันธ์ ความสัมพันธ์เป็นการเชื่อมโยงเชิงลอจิกระหว่างสองตารางที่ระบุเขตข้อมูลที่ตารางเหล่านั้นมีร่วมกัน สำหรับข้อมูลเพิ่มเติม ดูที่ คำแนะนำสู่ความสัมพันธ์ของตาราง
คีย์
เขตข้อมูลที่เป็นส่วนหนึ่งของความสัมพันธ์ของตารางจะถูกเรียกว่าคีย์ คีย์มักจะประกอบด้วยหนึ่งเขตข้อมูล แต่ก็สามารถประกอบด้วยเขตข้อมูลมากกว่าหนึ่งเขตข้อมูล คีย์มีอยู่สองชนิด ได้แก่
- คีย์หลัก: ตารางสามารถมีคีย์หลักได้เพียงคีย์เดียวเท่านั้น คีย์หลักประกอบด้วยอย่างน้อยหนึ่งเขตข้อมูลที่ระบุระเบียนแต่ละระเบียนที่คุณจัดเก็บไว้ในตารางโดยไม่ซ้ำกัน โดยทั่วไป จะมีการระบุหมายเลขที่ไม่ซ้ํากัน เช่น หมายเลข ID หมายเลขลําดับประจําสินค้า หรือรหัสที่ทําหน้าที่เป็นคีย์หลัก ตัวอย่างเช่น คุณอาจมีตารางลูกค้าที่มีหมายเลข ID ของลูกค้าที่ไม่ซ้ำกันสำหรับลูกค้าแต่ละราย เขตข้อมูล ID ลูกค้าเป็นคีย์หลักของตารางลูกค้า เมื่อคีย์หลักประกอบด้วยมากกว่าหนึ่งเขตข้อมูล ซึ่งมักจะประกอบด้วยเขตข้อมูลที่มีอยู่ร่วมกันโดยให้ค่าที่ไม่ซ้ํากัน ตัวอย่างเช่น คุณอาจใช้การรวมกันของนามสกุล ชื่อ และวันเกิดเป็นคีย์หลักสำหรับตารางเกี่ยวกับบุคคล สําหรับข้อมูลเพิ่มเติม ให้ดู เพิ่ม หรือเปลี่ยนคีย์หลักของตาราง
- Foreign key: ตารางยังสามารถมี Foreign Key ได้ตั้งแต่หนึ่งคีย์ขึ้นไป Foreign Key ประกอบด้วยค่าที่สอดคล้องกับค่าในคีย์หลักของตารางอื่น ตัวอย่างเช่น คุณอาจมีตารางใบสั่งซื้อซึ่งใบสั่งซื้อแต่ละใบจะมีหมายเลข ID ลูกค้าที่สอดคล้องกับระเบียนในตารางลูกค้า เขตข้อมูล ID ลูกค้าเป็น Foreign Key ของตารางคําสั่งซื้อ
ความสอดคล้องกันของค่าระหว่างเขตข้อมูลคีย์จะใช้เป็นพื้นฐานของความสัมพันธ์ของตาราง คุณสามารถใช้ความสัมพันธ์ของตารางเพื่อรวมข้อมูลจากตารางที่เกี่ยวข้อง ตัวอย่างเช่น สมมติว่าคุณมีตารางลูกค้าและตารางใบสั่งซื้อ ในตารางลูกค้า ระเบียนแต่ละระเบียนจะถูกระบุโดยเขตข้อมูลคีย์หลักนั่นคือ ID
เมื่อต้องการกําหนดให้ใบสั่งซื้อแต่ละใบสัมพันธ์กับลูกค้า ให้เพิ่มเขตข้อมูล Foreign Key ในตารางใบสั่งซื้อที่สอดคล้องกับเขตข้อมูล ID ของตารางลูกค้า จากนั้นให้สร้างความสัมพันธ์ระหว่างสองคีย์ เมื่อคุณเพิ่มระเบียนไปยังตารางใบสั่งซื้อ ให้ใช้ค่า ID ลูกค้าที่มาจากตารางลูกค้า เมื่อใดก็ตามที่คุณต้องการดูข้อมูลเกี่ยวกับลูกค้าที่สั่งซื้อ ให้ใช้ความสัมพันธ์เพื่อระบุว่าต้องการให้ข้อมูลใดจากตารางลูกค้าสอดคล้องกับระเบียนใดในตารางใบสั่งซื้อ
- คีย์หลักที่ถูกระบุโดยไอคอนรูปกุญแจถัดจากชื่อเขตข้อมูล
- Foreign Key ที่แสดงโดยไม่มีไอคอนรูปกุญแจ
อย่าเพิ่มเขตข้อมูล ถ้าคุณคาดว่าเอนทิตีที่ไม่ซ้ํากันแต่ละตัวที่แสดงในตารางอาจต้องการมากกว่าหนึ่งค่าสําหรับเขตข้อมูล พิจารณาโดยอิงตัวอย่างก่อนหน้าเช่นกัน ถ้าคุณต้องการเริ่มติดตามใบสั่งซื้อที่ออกโดยลูกค้า อย่าเพิ่มเขตข้อมูลไปยังตาราง เนื่องจากลูกค้าแต่ละรายจะมีใบสั่งซื้อมากกว่าหนึ่งใบ แทนที่จะทําเช่นนั้น ให้สร้างตารางใหม่เพื่อจัดเก็บใบสั่งซื้อ จากนั้นสร้างความสัมพันธ์ระหว่างสองตาราง
ประโยชน์จากการใช้ความสัมพันธ์
การแยกข้อมูลในตารางที่เกี่ยวข้องจะมีประโยชน์ดังต่อไปนี้:
- ความสม่ําเสมอ: เนื่องจากรายการแต่ละรายการของข้อมูลถูกบันทึกเพียงครั้งเดียวในตารางเดียว โอกาสที่จะเกิดการกํากวมหรือความไม่สอดคล้องกันจึงมีน้อย ตัวอย่างเช่น คุณจะเก็บชื่อลูกค้าไว้เพียงครั้งเดียวในตารางเกี่ยวกับลูกค้า แทนที่จะเก็บซ้ําๆ และไม่สอดคล้องกันในตารางที่มีข้อมูลใบสั่งซื้อ
- อย่างมีประสิทธิภาพ: การบันทึกข้อมูลในที่เดียวหมายถึงการใช้เนื้อที่ดิสก์น้อยลง นอกจากนี้ ตารางขนาดเล็กมีแนวโน้มที่จะให้ข้อมูลได้รวดเร็วกว่าตารางขนาดใหญ่ สุดท้าย ถ้าคุณไม่ใช้ตารางแยกกันสําหรับเรื่องที่แตกต่างกัน คุณจะสร้างค่า Null (ไม่มีข้อมูล) และความซ้ําซ้อนในตารางของคุณ ทั้งสองอย่างนี้อาจทําให้เปลืองพื้นที่และประสิทธิภาพการทํางานช้าลง
- เข้าใจได้: การออกแบบของฐานข้อมูลจะเข้าใจง่ายขึ้นเมื่อเรื่องต่างๆ ถูกแยกออกเป็นตารางต่างๆ อย่างเหมาะสม
คิดแบบแผนตารางกับความสัมพันธ์ของคุณไว้ คุณสามารถใช้ตัวช่วยสร้างการค้นหาเพื่อสร้างเขตข้อมูล Foreign Key ถ้ามีตารางที่ประกอบด้วยคีย์หลักที่สอดคล้องกันอยู่แล้ว ตัวช่วยสร้างการค้นหาสร้างความสัมพันธ์ให้คุณ สำหรับข้อมูลเพิ่มเติม ให้ดู สร้างหรือลบเขตข้อมูลการค้นหา