วิดีโอ: เริ่มต้นใช้งานฐานข้อมูล
Applies To
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016ลองกันเลย!
ฐานข้อมูลและเว็บแอปสามารถให้ประโยชน์ทางธุรกิจได้อย่างมาก การออกแบบฐานข้อมูลเป็นสิ่งสําคัญในการบรรลุเป้าหมายของคุณ ไม่ว่าคุณต้องการจัดการข้อมูลพนักงาน ให้รายงานรายสัปดาห์เกี่ยวกับข้อมูล หรือติดตามคําสั่งซื้อของลูกค้า การใช้เวลาทําความเข้าใจการออกแบบฐานข้อมูลจะช่วยให้คุณสร้างฐานข้อมูลที่ทํางานได้อย่างถูกต้องในครั้งแรกและรองรับความต้องการที่เปลี่ยนแปลงไป
สิ่งสำคัญ: Access Web Apps แตกต่างจากฐานข้อมูลเดสก์ท็อป บทความนี้ไม่พูดถึงการออกแบบเว็บแอป
แนวคิดและข้อกําหนด
มาเริ่มด้วยการเรียนรู้คําศัพท์และแนวคิดพื้นฐานกัน เมื่อต้องการออกแบบฐานข้อมูลที่มีประโยชน์ ให้คุณสร้างตารางที่เน้นเรื่องเดียว ในตารางของคุณ คุณสามารถเก็บข้อมูลทั้งหมดที่จําเป็นสําหรับหัวข้อนั้นในเขตข้อมูล ซึ่งเก็บข้อมูลหน่วยที่เล็กที่สุดเท่าที่จะเป็นไปได้
ฐานข้อมูลเชิงสัมพันธ์ |
ฐานข้อมูลที่ข้อมูลถูกแบ่งเป็น ตาราง ซึ่งมีลักษณะเหมือนกับสเปรดชีต แต่ละตารางจะมีเพียงหัวข้อเดียว เช่น ลูกค้า (หนึ่งตาราง) หรือผลิตภัณฑ์ (อีกตารางหนึ่ง) |
ระเบียนและเขตข้อมูล |
ที่เก็บข้อมูลแบบแยกในตาราง แถว (หรือระเบียน) จะจัดเก็บแต่ละจุดข้อมูลที่ไม่ซ้ํากัน เช่น ชื่อของลูกค้า คอลัมน์ (หรือเขตข้อมูล) จะแยกข้อมูลที่เก็บรวบรวมไว้เกี่ยวกับจุดข้อมูลแต่ละจุดให้เป็นหน่วยที่เล็กที่สุดเท่าที่จะเป็นไปได้ ชื่ออาจเป็นหนึ่งคอลัมน์และนามสกุลอาจเป็นอีกคอลัมน์หนึ่งได้ |
คีย์หลัก |
ค่าที่ทําให้มั่นใจว่าแต่ละระเบียนไม่ซ้ํากัน ตัวอย่างเช่น อาจมีลูกค้าสองรายที่มีชื่อเดียวกัน คือ เอลิซาเบธ แอนเดอเซน แต่หนึ่งในระเบียน Elizabeth Andersen มีหมายเลข 12 เป็นคีย์หลัก และอีกระเบียนมีคีย์หลักของ 58 |
ความสัมพันธ์แบบหลัก-ลูก |
ความสัมพันธ์ทั่วไประหว่างตาราง ตัวอย่างเช่น ลูกค้ารายเดียวอาจมีใบสั่งซื้อหลายใบ ตารางหลักมีคีย์หลัก ตารางย่อยมี คีย์นอก ซึ่งเป็นค่าจากคีย์หลักที่แสดงวิธีที่ระเบียนตารางรองเชื่อมโยงกับตารางหลัก แป้นเหล่านี้ถูกเชื่อมโยงโดยความสัมพันธ์ |
การออกแบบฐานข้อมูลที่ดีคืออะไร
หลักการสองข้อคือพื้นฐานของการออกแบบฐานข้อมูลที่ดี:
-
หลีกเลี่ยงข้อมูลที่ซ้ํากัน (หรือเรียกว่าข้อมูลที่ซ้ํากัน) ทําให้สิ้นเปลืองพื้นที่และเพิ่มความเป็นไปได้ที่จะเกิดข้อผิดพลาด
-
ตรวจสอบให้แน่ใจว่าข้อมูลถูกต้องและสมบูรณ์ ข้อมูลที่ไม่สมบูรณ์หรือมีข้อผิดพลาดไหลผ่านในคิวรีและรายงาน และในที่สุดอาจนําไปสู่การตัดสินใจที่ไม่ถูกต้อง
หากต้องการความช่วยเหลือเกี่ยวกับปัญหาเหล่านี้:
-
แบ่งข้อมูลฐานข้อมูลออกเป็นตารางที่ยึดตามหัวเรื่องโดยโฟกัสแคบ หลีกเลี่ยงการทําซ้ําข้อมูลในหลายตาราง (ตัวอย่างเช่น ชื่อลูกค้าควรอยู่ในตารางเดียวเท่านั้น)
-
รวมตารางเข้าด้วยกันโดยใช้แป้นแทนการทําซ้ําข้อมูล
-
รวมถึงกระบวนการที่สนับสนุนและรับรองความถูกต้องและความสมบูรณ์ของข้อมูลฐานข้อมูล
-
ออกแบบฐานข้อมูลของคุณโดยคํานึงถึงความต้องการด้านการประมวลผลข้อมูลและการรายงาน
เมื่อต้องการปรับปรุงประโยชน์ในระยะยาวของฐานข้อมูลของคุณ ให้ทําตามขั้นตอนการออกแบบห้าขั้นตอนเหล่านี้:
ขั้นตอนที่ 1: กําหนดวัตถุประสงค์ของฐานข้อมูลของคุณ
ก่อนที่คุณจะเริ่ม มีเป้าหมายสําหรับฐานข้อมูลของคุณ
เมื่อต้องการให้การออกแบบของคุณมีสมาธิ ให้สรุปวัตถุประสงค์ของฐานข้อมูลและอ้างอิงถึงข้อมูลสรุปบ่อยๆ ตัวอย่างเช่น ถ้าคุณต้องการฐานข้อมูลขนาดเล็กสําหรับธุรกิจที่บ้าน คุณอาจเขียนบางอย่างที่เรียบง่าย เช่น "ฐานข้อมูลลูกค้าจะเก็บรายชื่อข้อมูลลูกค้าเพื่อวัตถุประสงค์ในการผลิตการส่งจดหมายและรายงาน" สําหรับฐานข้อมูลองค์กร คุณอาจจําเป็นต้องมีหลายย่อหน้าเพื่ออธิบายว่าบุคคลในบทบาทต่างๆ จะใช้ฐานข้อมูลและข้อมูลของฐานข้อมูลเมื่อใดและอย่างไร Create คําสั่งภารกิจที่เฉพาะเจาะจงและละเอียดเพื่ออ้างอิงตลอดกระบวนการออกแบบ
ขั้นตอนที่ 2: ค้นหาและจัดระเบียบข้อมูลที่จําเป็น
รวบรวมข้อมูลทุกชนิดที่คุณต้องการบันทึก เช่น ชื่อผลิตภัณฑ์และหมายเลขคําสั่งซื้อของคุณ
เริ่มต้นด้วยข้อมูลและวิธีการติดตามที่มีอยู่ของคุณ ตัวอย่างเช่น ขณะนี้คุณอาจบันทึกใบสั่งซื้อในบัญชีแยกประเภท หรือคุณเก็บข้อมูลลูกค้าไว้ในแบบฟอร์มกระดาษ ใช้แหล่งข้อมูลเหล่านั้นเพื่อแสดงรายการข้อมูลที่คุณจับภาพในปัจจุบัน (ตัวอย่างเช่น กล่องทั้งหมดในฟอร์มของคุณ) หากคุณไม่ได้เก็บข้อมูลสําคัญอยู่ในขณะนี้ ให้คิดว่าข้อมูลใดที่แยกกันที่คุณต้องการ ชนิดข้อมูลแต่ละชนิดจะกลายเป็นเขตข้อมูลในฐานข้อมูลของคุณ
ไม่ต้องกังวลเกี่ยวกับการทําให้รายการแรกของคุณสมบูรณ์แบบ คุณสามารถปรับแต่งเมื่อเวลาผ่านไป แต่ให้พิจารณาทุกคนที่ใช้ข้อมูลนี้และขอแนวคิดของพวกเขา
จากนั้น ให้นึกถึงสิ่งที่คุณต้องการออกจากฐานข้อมูล และชนิดของรายงานหรือการส่งจดหมายที่คุณต้องการสร้าง จากนั้น ตรวจสอบให้แน่ใจว่าคุณได้รวบรวมข้อมูลที่จําเป็นเพื่อให้บรรลุเป้าหมายเหล่านั้น ตัวอย่างเช่น ถ้าคุณต้องการรายงานที่แสดงยอดขายตามภูมิภาค คุณจําเป็นต้องเก็บข้อมูลยอดขายในระดับภูมิภาค ลองร่างรายงานด้วยข้อมูลจริงตามที่คุณต้องการดู จากนั้นให้แสดงรายการข้อมูลที่คุณต้องการสร้างรายงาน ทําสิ่งเดียวกันสําหรับการส่งจดหมายหรือผลลัพธ์อื่นๆ ที่คุณต้องการจากฐานข้อมูล
ตัวอย่าง
สมมติว่าคุณให้โอกาสลูกค้าในการเลือกรับ (หรือไม่เข้าร่วม) การอัปเดตอีเมลเป็นครั้งคราว และคุณต้องการพิมพ์รายชื่อผู้ที่เลือกรับไว้ คุณจําเป็นต้องมีคอลัมน์ ส่งอีเมล ในตารางลูกค้า ด้วยค่าที่อนุญาตคือ ใช่ และ ไม่ใช่
สําหรับผู้ที่ยินดีรับอีเมลคุณต้องมีที่อยู่อีเมลซึ่งต้องใช้เขตข้อมูล ถ้าคุณต้องการใส่คําทักทายที่เหมาะสม (เช่น Mr., Mrs.หรือ Ms.) ให้ใส่เขตข้อมูลการทักทายด้วย หากคุณต้องการจัดการลูกค้าด้วยชื่อของพวกเขาในอีเมล ให้เพิ่มเขตข้อมูล ชื่อ
เคล็ดลับ: อย่าลืมแบ่งข้อมูลแต่ละส่วนให้เป็นส่วนที่มีประโยชน์น้อยที่สุด เช่น ชื่อและนามสกุลสําหรับตารางลูกค้า โดยทั่วไปแล้ว ถ้าคุณต้องการเรียงลําดับ ค้นหา คํานวณ หรือรายงานโดยยึดตามรายการของข้อมูล (เช่น นามสกุลของลูกค้า) คุณควรใส่รายการนั้นในเขตข้อมูลของตัวเอง
ขั้นตอนที่ 3: แบ่งข้อมูลออกเป็นตาราง
แบ่งรายการข้อมูลของคุณออกเป็นรายการหรือหัวข้อหลัก เช่น ผลิตภัณฑ์ ลูกค้า และคําสั่งซื้อ แต่ละเรื่องจะกลายเป็นตาราง
หลังจากที่คุณมีรายการข้อมูลที่จําเป็นแล้ว ให้กําหนดเอนทิตีหลัก (หรือหัวข้อ) ที่คุณจําเป็นต้องจัดระเบียบข้อมูลของคุณ หลีกเลี่ยงการทําซ้ําข้อมูลทั่วทั้งเอนทิตี ตัวอย่างเช่น รายการเบื้องต้นสําหรับฐานข้อมูลยอดขายผลิตภัณฑ์อาจมีลักษณะดังนี้:
หน่วยงานหลักได้แก่ ลูกค้า ซัพพลายเออร์ ผลิตภัณฑ์ และคําสั่งซื้อ ดังนั้นให้เริ่มต้นด้วยตารางทั้งสี่: ตารางหนึ่งสําหรับข้อเท็จจริงเกี่ยวกับลูกค้าตารางหนึ่งสําหรับข้อเท็จจริงเกี่ยวกับซัพพลายเออร์และอื่น ๆ นี่อาจไม่ใช่การออกแบบขั้นสุดท้ายของคุณ แต่เป็นจุดเริ่มต้นที่ดี
หมายเหตุ: ฐานข้อมูลที่ดีที่สุดมีหลายตาราง หลีกเลี่ยงการล่อลวงเพื่อวางข้อมูลทั้งหมดของคุณลงในตารางเดียว ซึ่งส่งผลให้เกิดข้อมูลที่ซ้ํากัน ขนาดฐานข้อมูลที่ใหญ่ขึ้น และข้อผิดพลาดที่เพิ่มขึ้น ออกแบบเพื่อบันทึกข้อเท็จจริงแต่ละรายการเพียงครั้งเดียว ถ้าคุณพบว่าคุณทําซ้ําข้อมูล เช่น ที่อยู่ผู้ขาย ให้ปรับโครงสร้างฐานข้อมูลของคุณใหม่เพื่อวางข้อมูลนั้นลงในตารางที่แยกต่างหาก
เมื่อต้องการทําความเข้าใจว่าเหตุใดตารางจึงดีกว่าจํานวนที่น้อยกว่า ให้พิจารณาตารางที่แสดงที่นี่:
แต่ละแถวมีข้อมูลเกี่ยวกับทั้งผลิตภัณฑ์และซัพพลายเออร์ เนื่องจากคุณอาจมีผลิตภัณฑ์มากมายจากซัพพลายเออร์รายเดียวกัน จึงต้องทําซ้ําข้อมูลชื่อผู้จัดจําหน่ายและที่อยู่หลายครั้ง การดําเนินการนี้จะทําให้เนื้อที่ดิสก์สิ้นเปลือง แต่ให้บันทึกข้อมูลผู้ขายในตารางผู้จําหน่ายที่แยกจากกันเพียงครั้งเดียว แล้วลิงก์ตารางนั้นไปยังตารางผลิตภัณฑ์
ปัญหาที่สองเกี่ยวกับการออกแบบนี้เห็นได้ชัดเมื่อคุณต้องการปรับเปลี่ยนข้อมูลเกี่ยวกับซัพพลายเออร์ สมมติว่าคุณจําเป็นต้องเปลี่ยนที่อยู่ของซัพพลายเออร์ เนื่องจากที่อยู่ปรากฏในหลายที่ คุณอาจเปลี่ยนที่อยู่โดยไม่ได้ตั้งใจในที่เดียว แต่ลืมเปลี่ยนในที่อื่นๆ การบันทึกที่อยู่ของผู้จําหน่ายในที่เดียวสามารถแก้ไขปัญหานั้นได้
ในที่สุดสมมติว่ามีผลิตภัณฑ์ที่จัดหาโดย Coho Winery เพียงผลิตภัณฑ์เดียวและคุณต้องการลบผลิตภัณฑ์ แต่รักษาข้อมูลชื่อและที่อยู่ของซัพพลายเออร์ไว้ ด้วยการออกแบบนี้คุณจะลบระเบียนผลิตภัณฑ์โดยไม่สูญเสียข้อมูลผู้ขายอย่างไร คุณทําไม่ได้ เนื่องจากแต่ละระเบียนมีข้อเท็จจริงเกี่ยวกับผลิตภัณฑ์นอกเหนือจากข้อเท็จจริงเกี่ยวกับซัพพลายเออร์จึงไม่สามารถลบออกได้โดยไม่ต้องลบอีกระเบียนหนึ่ง เมื่อต้องการแยกข้อเท็จจริงเหล่านี้ออกจากกัน ให้แยกตารางนี้เป็นสองตาราง: ตารางแรกสําหรับข้อมูลผลิตภัณฑ์ และตารางที่สองสําหรับข้อมูลผู้ขาย จากนั้น เมื่อคุณลบระเบียนผลิตภัณฑ์ คุณจะลบเฉพาะข้อเท็จจริงเกี่ยวกับผลิตภัณฑ์เท่านั้น ไม่ใช่ข้อเท็จจริงเกี่ยวกับผู้จัดจําหน่าย
ขั้นตอนที่ 4: เปลี่ยนรายการข้อมูลเป็นคอลัมน์
ตัดสินใจว่าข้อมูลใดที่คุณต้องการจัดเก็บในแต่ละตาราง ข้อมูลส่วนที่ไม่แยกเหล่านี้จะกลายเป็นเขตข้อมูลในตาราง ตัวอย่างเช่น ตารางพนักงานอาจมีเขตข้อมูล เช่น นามสกุล ชื่อ และวันที่จ้าง
หลังจากที่คุณเลือกหัวข้อสําหรับตารางฐานข้อมูล คอลัมน์ในตารางนั้นควรเก็บเฉพาะข้อเท็จจริงเกี่ยวกับเรื่องเดียวเท่านั้น ตัวอย่างเช่น ตารางผลิตภัณฑ์ควรจัดเก็บข้อมูลเกี่ยวกับผลิตภัณฑ์เท่านั้น ไม่ใช่เกี่ยวกับผู้จําหน่าย
เมื่อต้องการตัดสินใจว่าจะติดตามข้อมูลใดในตาราง ให้ใช้รายการที่คุณสร้างไว้ก่อนหน้านี้ ตัวอย่างเช่น ตารางลูกค้าอาจมี: ชื่อ นามสกุล ที่อยู่ ส่งอีเมล คําทักทาย และที่อยู่อีเมล แต่ละระเบียน (ลูกค้า) ในตารางจะมีชุดของคอลัมน์ที่เหมือนกัน ดังนั้น คุณจึงจัดเก็บข้อมูลเดียวกันทุกประการสําหรับลูกค้าแต่ละราย
Create รายการแรกของคุณ แล้วรีวิวและปรับปรุง อย่าลืมแบ่งข้อมูลลงในเขตข้อมูลที่เล็กที่สุดเท่าที่จะเป็นไปได้ ตัวอย่างเช่น ถ้ารายการเริ่มต้นของคุณมี ที่อยู่ เป็นเขตข้อมูล ให้แบ่งรายการนั้นออกเป็นที่อยู่ เมือง รัฐ และรหัสไปรษณีย์ หรือถ้าลูกค้าของคุณเป็นเขตข้อมูลส่วนกลาง ให้กลายเป็นเขตข้อมูลที่มากขึ้น ตัวอย่างเช่น คุณสามารถทําการส่งจดหมายในรูปแบบที่เหมาะสมหรือรายงานเกี่ยวกับการสั่งซื้อตามรัฐ
หลังจากที่คุณได้ปรับปรุงคอลัมน์ข้อมูลในแต่ละตารางแล้ว คุณก็พร้อมที่จะเลือกคีย์หลักของแต่ละตาราง
ขั้นตอนที่ 5: ระบุคีย์หลัก
เลือกคีย์หลักของแต่ละตาราง คีย์หลัก เช่น ID ผลิตภัณฑ์ หรือ ID คําสั่งซื้อ จะระบุแต่ละระเบียนโดยไม่ซ้ํากัน ถ้าคุณไม่มีตัวระบุที่ไม่ซ้ํากันที่ชัดเจน ให้ใช้ Access เพื่อสร้างตัวระบุให้กับคุณ
คุณต้องมีวิธีระบุแถวแต่ละแถวในแต่ละตารางโดยไม่ซ้ํากัน จําตัวอย่างก่อนหน้านี้ที่ลูกค้าสองคนมีชื่อเดียวกันได้หรือไม่ เนื่องจากพวกเขาใช้ชื่อร่วมกัน คุณต้องมีวิธีระบุแต่ละชื่อแยกกัน
ดังนั้น ทุกตารางควรมีคอลัมน์ (หรือชุดของคอลัมน์) ที่ระบุแถวแต่ละแถวโดยไม่ซ้ํากัน คีย์นี้เรียกว่า คีย์หลัก และมักจะเป็นหมายเลขที่ไม่ซ้ํากัน เช่น หมายเลข ID ของพนักงานหรือหมายเลขลําดับประจําสินค้า Access ใช้คีย์หลักเพื่อเชื่อมโยงข้อมูลจากหลายตารางอย่างรวดเร็ว และเพื่อนําข้อมูลมารวมกันสําหรับคุณ
ในบางครั้งคีย์หลักประกอบด้วยเขตข้อมูลอย่างน้อยสองเขตข้อมูล ตัวอย่างเช่น ตารางรายละเอียดคําสั่งซื้อที่จัดเก็บรายการสินค้าสําหรับคําสั่งซื้ออาจใช้สองคอลัมน์ในคีย์หลัก: ID คําสั่งซื้อและรหัสผลิตภัณฑ์ เมื่อคีย์หลักใช้มากกว่าหนึ่งคอลัมน์ จะเรียกว่าคีย์ผสม
ถ้าคุณมีตัวระบุที่ไม่ซ้ํากันสําหรับข้อมูลในตารางอยู่แล้ว เช่น หมายเลขผลิตภัณฑ์ที่ระบุแต่ละผลิตภัณฑ์ในแค็ตตาล็อกของคุณโดยไม่ซ้ํากัน ให้ใช้รหัสนั้น แต่เฉพาะเมื่อค่าตรงกับกฎเหล่านี้สําหรับคีย์หลัก:
-
ตัวระบุจะแตกต่างกันสําหรับแต่ละเรกคอร์ดเสมอ ค่าที่ซ้ํากันไม่ได้รับอนุญาตให้ใส่ในคีย์หลัก
-
มีค่าสําหรับสินค้าเสมอ ทุกระเบียนในตารางของคุณต้องมีคีย์หลัก ถ้าคุณกําลังใช้หลายคอลัมน์เพื่อสร้างคีย์ (เช่น ตระกูลชิ้นส่วนและหมายเลขชิ้นส่วน) ค่าทั้งสองจะต้องแสดงเสมอ
-
คีย์หลักเป็นค่าที่ไม่เปลี่ยนแปลง เนื่องจากคีย์ถูกอ้างอิงโดยตารางอื่น การเปลี่ยนแปลงใดๆ ในคีย์หลักในตารางหนึ่งหมายถึงการเปลี่ยนแปลงในทุกที่ที่อ้างอิงถึง การเปลี่ยนแปลงบ่อยครั้งจะเพิ่มความเสี่ยงของข้อผิดพลาด
ถ้าคุณไม่มีตัวระบุที่ชัดเจน ให้ใช้หมายเลขเฉพาะโดยพลการเป็นคีย์หลัก ตัวอย่างเช่น คุณอาจกําหนดหมายเลขคําสั่งซื้อที่ไม่ซ้ํากันให้กับใบสั่งซื้อแต่ละใบเพื่อการระบุคําสั่งซื้อแต่เพียงผู้เดียว
เคล็ดลับ: เมื่อต้องการสร้างตัวเลขที่ไม่ซ้ํากันเป็นคีย์หลัก ให้เพิ่มคอลัมน์โดยใช้ชนิดข้อมูล AutoNumber ชนิดข้อมูล AutoNumber จะกําหนดค่าตัวเลขที่ไม่ซ้ํากันให้กับระเบียนแต่ละระเบียนโดยอัตโนมัติ ตัวระบุชนิดนี้ไม่มีข้อมูลจริงที่อธิบายแถวที่ตัวระบุนั้นแสดง ซึ่งเหมาะสําหรับการใช้เป็นคีย์หลักเนื่องจากหมายเลขไม่เปลี่ยนแปลง ซึ่งไม่เหมือนกับคีย์หลักที่มีข้อเท็จจริงเกี่ยวกับแถว เช่น หมายเลขโทรศัพท์หรือชื่อลูกค้า