Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019

ส่วนต่อไปนี้แสดงวิธีการออกแบบความสัมพันธ์ของตารางฐานข้อมูล ชื่อวัตถุมีให้เพื่อให้คุณสามารถตรวจสอบได้อย่างง่ายดายในฐานข้อมูล Northwind 2.0 Starter Edition

เมื่อต้องการเปิดไดอะแกรมความสัมพันธ์ที่แสดงตารางหกตารางและความสัมพันธ์ระหว่างตารางเหล่านั้น ให้เลือก เครื่องมือฐานข้อมูล > ความสัมพันธ์

ไดอะแกรมความสัมพันธ์ของฐานข้อมูล

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

หลักการต่อไปนี้ใช้กับตารางใน Northwind 2.0 Starter Edition รวมถึงตารางโดยทั่วไป

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

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

คีย์นอก       ตารางยังสามารถมีคีย์นอกได้ตั้งแต่หนึ่งคีย์ขึ้นไป โดยขึ้นอยู่กับว่าตารางนั้นเกี่ยวข้องกับตารางอื่นในฐานข้อมูลหรือไม่ Foreign Key มีค่าที่สอดคล้องกับค่าในคีย์หลักของตารางที่เกี่ยวข้อง 

ดัชนีที่ไม่ซ้ํากัน      ฟิลด์อื่นๆ ในตารางอาจมีดัชนีที่ไม่ซ้ํากันของตนเอง โดยหลักๆ แล้วการมีสถานะคําสั่งซื้อสองสถานะในตาราง OrderStatus ที่มีรหัสเดียวกัน แม้ว่า StatusCode จะไม่ใช่คีย์หลักก็ตาม ดัชนีที่ไม่ซ้ํากันจะบอกให้ Access ป้องกันค่าที่ซ้ํากันในเขตข้อมูลนั้น

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

ชื่อตารางและเขตข้อมูล    คุณสามารถตั้งชื่อสิ่งต่างๆ ได้ตามที่คุณต้องการ แต่ความสอดคล้องกันเป็นสิ่งสําคัญ เราขอแนะนําให้ชื่อตารางและชื่อเขตข้อมูลควรเป็นคําอย่างน้อยหนึ่งคําที่ไม่มีช่องว่างระหว่างคํา และไม่มีอักขระพิเศษ เช่น เครื่องหมายทับ (/) เครื่องหมายปอนด์ (#) หรือเปอร์เซ็นต์ (%) ตัวอย่างเช่น ใช้ OrderDate แต่ไม่ใช่ วันที่สั่งซื้อ ใช้ OrderNumber หรือ OrderNo แต่ไม่ใช่ Order# 

CamelCase    ทําให้คําเป็นตัวพิมพ์ใหญ่เพื่อเน้นแต่ละส่วนของชื่อ ตัวอย่างเช่น OrderDate แต่ไม่ใช่ วันที่สั่งซื้อ หรือ วันที่สั่งซื้อ

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

เขตข้อมูลจากการคํานวณ      Access สนับสนุนเขตข้อมูลจากการคํานวณในตาราง ตัวอย่างเช่น เขตข้อมูล Employees.FullName คุณอาจต้องการสร้างเขตข้อมูลจากการคํานวณในคิวรีแทนที่จะสร้างในตาราง

เขตข้อมูลสิ่งที่แนบมา      Access สนับสนุนเขตข้อมูลสิ่งที่แนบมา ตัวอย่างเช่น Employees.Picture ซึ่งมีรูปภาพของพนักงาน สิ่งที่แนบมาสามารถจัดเก็บรูปภาพ เอกสาร อีเมล และข้อมูลไบนารีอื่นๆ ได้ สิ่งที่แนบมาใช้พื้นที่จํานวนมากในฐานข้อมูล จะมีประสิทธิภาพมากขึ้นในการจัดเก็บสิ่งที่แนบมาไว้บนเซิร์ฟเวอร์ไฟล์แทน

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

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับชนิดข้อมูล ให้ดูที่ บทนําสู่ชนิดข้อมูลและคุณสมบัติของเขตข้อมูล

ส่วนนี้จะกล่าวถึงฟีเจอร์ที่สําคัญที่สุดของแต่ละตาราง เมื่อต้องการรีวิวการออกแบบของตาราง ให้เลือกตารางในบานหน้าต่างนําทาง คลิกขวาที่ตาราง เลือก มุมมองออกแบบ หรือเลือก เครื่องมือฐานข้อมูล > ความสัมพันธ์ แล้วคลิกขวาที่วัตถุตาราง สําหรับข้อมูลเพิ่มเติม ให้ดู บทนําสู่ตาราง

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

ตารางพนักงาน

ตารางนี้จัดเก็บข้อมูลเกี่ยวกับพนักงานของ Northwind 

ฟิลด์

คำอธิบาย

FirstName, LastName

ทั้งสองชื่อจะต้องระบุ และใน Northwind ทั้งสองชื่อจะต้องเป็นการรวมกันที่ไม่ซ้ํากัน ในการออกแบบตาราง เมื่อคุณเปิดกล่องโต้ตอบ ดัชนี คุณจะเห็นว่า ชื่อ + นามสกุล มีดัชนีที่ไม่ซ้ํากัน เนื่องจาก FirstName และ LastName มีการทําดัชนีแบบไม่ซ้ํากัน ตาราง Northwind จึงไม่สามารถเก็บพนักงานสองคนที่มีชื่อเดียวกันได้ ในสถานการณ์อื่นๆ คุณอาจใช้กฎทางธุรกิจอื่น

FullNameFNLN, FullNameLNFN

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

เขตข้อมูลโทรศัพท์

กฎทางธุรกิจสําหรับโทรศัพท์คือการกําหนดลักษณะของพนักงานมีความเกี่ยวข้องมากกว่าชนิดของบริการ ดังนั้นจึงใช้หมายเลขโทรศัพท์หลักและหมายเลขโทรศัพท์รองแทนเซลล์ สํานักงาน บ้าน และอื่นๆ

คําทักทาย

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

JobTitle

JobTitle เป็นอีกฟิลด์หนึ่งที่จําเป็น

ตารางลูกค้า

ตารางนี้จัดเก็บข้อมูลเกี่ยวกับลูกค้าของ Northwind 

ฟิลด์

คำอธิบาย

CustomerName

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

PrimaryContactFirstName, PrimaryContactLastName, PrimaryContactJobTitle

ไม่จําเป็นต้องใช้ชื่อและนามสกุลและตําแหน่งงานของผู้ติดต่อหลัก เนื่องจากลูกค้าอาจไม่มีบุคคลหนึ่งเป็นผู้ติดต่อหลัก ผู้ติดต่ออาจไม่ให้ตําแหน่งงานของพวกเขาสําหรับการสั่งซื้อ

BusinessPhone

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

ที่อยู่ เมือง รัฐ, ZIP

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

หมายเหตุ

เขตข้อมูลบันทึกย่อเป็นชนิดข้อมูลข้อความยาว ซึ่งจัดเก็บข้อความได้สูงสุด 1 GB การอนุญาตให้คุณป้อนข้อคิดเห็นโดยละเอียดเกี่ยวกับลูกค้าสําหรับใช้ในสถานการณ์การสั่งที่ตามมาได้

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

ตารางนี้เก็บข้อมูลเกี่ยวกับคําสั่งซื้อของ Northwind 

ฟิลด์

คำอธิบาย

วันที่สั่งซื้อ, วันที่จัดส่ง, วันที่ชําระเงิน

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

OrderStatusID

สถานะคําสั่งซื้อจะระบุว่าคําสั่งซื้ออยู่ที่ใดในเวิร์กโฟลว์ Northwind คําสั่งซื้อเลื่อนผ่านสี่ขั้นตอน: ใหม่ —> ออกใบแจ้งหนี้แล้ว —> จัดส่งแล้ว — > ปิดForeign Key สําหรับสถานะใบสั่งปัจจุบันจะใช้ OrderStatusID จากตารางการค้นหาของ OrderStatus การใช้ตารางการค้นหาสถานะจะทําให้แน่ใจได้ว่าสามารถกําหนดสถานะให้กับคําสั่งซื้อได้เพียงสี่สถานะเท่านั้น

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

ตารางนี้จะเก็บข้อมูลเกี่ยวกับรายละเอียดการสั่งซื้อของ Northwind 

ฟิลด์

คำอธิบาย

Orderid

แต่ละรายการในตารางรายละเอียดใบสั่งซื้อต้องเป็นของใบสั่งซื้อหนึ่งรายการในตารางใบสั่งซื้อ OrderID เป็นคีย์นอกที่ระบุคําสั่งซื้อนั้น ตามที่ระบุไว้ก่อนหน้านี้ ลําดับหนึ่งที่มีรายการบรรทัดอย่างน้อยหนึ่งรายการแสดงความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม

รหัสผลิตภัณฑ์

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

รหัสคําสั่งซื้อ+ รหัสผลิตภัณฑ์

ตามที่คุณเห็นในตารางพนักงาน หลายเขตข้อมูลสามารถมีดัชนีที่ไม่ซ้ํากันได้ ดัชนีที่ไม่ซ้ํากันบน OrderID+ProductID ในตาราง OrderDetails ทําให้แน่ใจว่าคําสั่งซื้อแต่ละรายการจะมีผลิตภัณฑ์เพียงครั้งเดียวเท่านั้น เมื่อคุณเปิดแผ่นคุณสมบัติ ดัชนี จาก Ribbon คุณจะเห็นดัชนีที่ไม่ซ้ํากันนี้

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

ตารางนี้จัดเก็บข้อมูลเกี่ยวกับผลิตภัณฑ์ของ Northwind 

ฟิลด์

คำอธิบาย

รหัสผลิตภัณฑ์

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

ชื่อผลิตภัณฑ์ คําอธิบายผลิตภัณฑ์

นอกเหนือจากชื่อผลิตภัณฑ์ข้อความสั้นๆ แล้ว คําอธิบายข้อความยาวจะถูกนําไปใช้กับผลิตภัณฑ์ ค่านี้อาจใช้ในคําอธิบายแค็ตตาล็อก หรือเพื่อตอบคําถามลูกค้า

ราคาต่อหน่วย

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

ดูเพิ่มเติม

Northwind 2.0 Starter Edition

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย