20091020

Access Tutorial การออกแบบฐานข้อมูล

การออกแบบฐานข้อมูล

Access เป็นโปรแกรม ฐานข้อมูลในชุด Microsoft Office ที่ใช้กันอย่างแพร่หลาย โดย Access ได้รับการพัฒนา เป็นฐานข้อมูลแบบฐานข้อมูลเชิงสัมพันธ์ (relational database) ในระดับคอมพิวเตอร์ตั้งโต๊ะ (desktop) มีสมรรถนะในระดับที่ดี การบำรุงรักษาทำได้ง่าย และสะดวก การเก็บข้อมูลของแต่ละ table จากการใช้งานจริง สามารถเก็บเรคคอร์ดได้อย่างน้อย 200,000 เรคคอร์ด ขนาดไฟล์ที่เก็บ ไม่น้อยกว่า 80 MB และสามารถทำงานในลักษณะ multi-users ได้จากประสบการณ์พบว่าสามารถทำงานได้ 5-7 ผู้ใช้พร้อมกัน ซึ่งไมโครซอฟต์ระบุว่า ขนาดการเก็บในแต่ละ table สามารถเก็บได้ 2 GB ภายใน Access มีอ๊อบเจคต่างๆ ที่ครอบคลุมการพัฒนา เป็นโปรแกรม โดยมีการติดต่อแบบ GUI (graphical user interface) ทำให้การพัฒนาทำได้สะดวก และใช้เวลาน้อย

ความเหมาะสมในการใช้ฐานข้อมูล

การเลือกใช้ Access หรือฐานข้อมูลระบบต่างๆ มีข้อควรพิจารณาที่สำคัญ คือ

  1. รูปแบบและขั้นตอนการทำงานมีความแน่นอน
  2. ปริมาณข้อมูลที่ต้องการจัดเก็บมีมาก
  3. ใช้ข้อมูลแบบร่วมกัน (shared data)

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

ฐานข้อมูล

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


แนวคิดในการออกแบบฐานข้อมูล

จุด มุ่งหมาย และหน้าที่ของโปรแกรมคอมพิวเตอร์ คือ จัดขั้นตอน และกระบวนการประมวลผลจากข้อมูลเบื้องต้น (input) ให้ออกมาเป็นผลลัพธ์ (output)

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

อ๊อบเจคของ Access

อ๊อบเจคของ Access ประกอบด้วย

  • Table ทำหน้าที่ในการเก็บข้อมูล และเป็นแหล่งข้อมูล (Data source) ของอ๊อบเจคอื่น ได้แก่ คิวรี่ ฟอร์ม และรายงาน
  • คิวรี่ (Query) เป็นอ๊อบเจคที่สำคัญมาก นอกจากจะเป็นแหล่งข้อมูลให้กับฟอร์ม และรายงาน คิวรี่ มีชุดคำสั่งในการประมวลผล เช่น การเรียงลำดับ การหาผลรวม การคำนวณด้วยฟังก์ชัน การกำหนดเงื่อนไขคัดเลือกข้อมูล รวมถึงการแสดงผล โดยเรียกข้อมูลจากหลายๆ Table ที่สัมพันธ์กัน ออกมาเป็นกลุ่มข้อมูลเดียวกัน (Recordset)
  • ฟอร์ม (Form) เป็นอ๊อบเจคที่ทำหน้าที่เป็นส่วนติดต่อ กับผู้ใช้ผ่านจอภาพ ทำหน้าที่ได้ทั้งการป้อนข้อมูล และแสดงผล โดยเฉพาะการป้อนข้อมูล จะทำหน้าที่ได้ดีกว่า Table และคิวรี่ เพราะมีเครื่องมือต่างๆ อำนวยความสะดวก ในการป้อนข้อมูล และการควบคุมความถูกต้องของค่า
  • รายงาน (Report) เป็นการแสดงผลลัพธ์ที่ได้ทำการประมวลแล้วออกมาทางเครื่องพิมพ์
  • มาโคร (Macro) เป็นชุดคำสั่งแบบสำเร็จรูป เพื่อจัดการและบริหารอ๊อบเจคของ Access เป็นส่วนที่ทำให้มีความสะดวกกับผู้พัฒนาโปรแกรม ในการสร้างชุดคำสั่งอย่างมาก
  • โมดูล (Module) เป็นส่วนที่ให้ผู้พัฒนาโปรแกรม เขียนชุดคำสั่งได้เอง ด้วยภาษา Visual Basic เพื่อใช้ เป็นคำสั่งควบคุม การคำนวณ และฟังก์ชันในการคำนวณ
  • เพจ (Access data page) เป็นอ๊อบเจคที่ทำหน้าที่เป็น ส่วนติดต่อกับผู้ใช้ในแบบ Home page เพื่อใช้งานกับเว็บ ซึ่งมีลักษณะคล้ายกับฟอร์ม

ใน การพัฒนาโปรแกรมจะต้องทำเครื่องมือต่างๆ ของ Access มาใช้ตั้งแต่การรับข้อมูล จนถึงการแสดงผล จากเครื่องมือที่มีทำให้ผังการทำงานสามารถกำหนดเป็นรูปธรรมมากขึ้นเป็น

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


วิธีการออกแบบฐานข้อมูล

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

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

การกำหนด Table ตามคุณลักษณะของข้อมูล

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

  1. Table เก็บข้อมูล หรือ Transaction file ข้อมูลในที่นี้หมายถึง ข้อมูลต่างๆ ที่มีการบันทึกเป็นประจำ และเป็นข้อมุลที่แสดงการเคลื่อนไหวของระบบงาน เช่น รายการขายสินค้า รายการรับเข้าสินค้า การมาทำงานของพนักงาน เป็นข้อมูลที่จะนำมาวิเคราะห์และประมวลผล
  2. Table เก็บค่าคงที่ หรือ Master file ค่าคงที่ในที่นี้หมายถึง ข้อมูลที่ใช้การประกอบในการวิเคราะห์ มีการเปลี่ยนแปลงน้อยและทำหน้าที่เป็นข้อมูลหลักสำหรับการอ้างอิง เช่น รายชื่อลูกค้า รายชื่อพนักงาน รหัสเครื่องจักร

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


การกำหนด Table และฟิลด์

การกำหนด Table

  1. วิธีการจัดกลุ่ม ควรจัดกลุ่มข้อมูลในแต่ละ Table ควรให้มีเพียงวัตถุประสงค์เดียว เพื่อความสะดวกใน การจัดทำขั้นตอนการทำงาน และการประมวลผลข้อมูล
  2. การจัดกลุ่มข้อมูล ถ้าการจัดกลุ่มข้อมูลในแต่ละ Table ทำได้ถูกต้อง ฟิลด์ทุกฟิลด์จะต้องมีข้อมูลที่นำไปเก็บ และข้อมูลแต่ละข้อมูล จะต้องมีการบันทึกเพียงครั้งเดียว
    ถ้าแต่ละเรคคอร์ดที่เพิ่มเข้าไปแล้ว ปรากฏมีฟิลด์ว่าง ไม่ได้ใช้เก็บข้อมูล แสดงว่าฟิลด์ที่กำหนดนั้น อาจจะมีความสัมพันธ์ กับข้อมูลกลุ่มอื่น มากกว่าจัดเก็บใน Table ที่กำหนดไว้
    ถ้าการบันทึกข้อมูล พบว่ามีฟิลด์ใดฟิลด์หนึ่ง มีการบันทึกมากกว่า 1 ครั้ง ควรพิจารณาว่า ฟิลด์นั้นมีความเหมาะสม ที่จะอยู่ใน Table ใดมากกว่า และสามารถส่งข้อมูลไปยัง Table ที่เรียกใช้ด้วยคิวรี่ เพื่อการแสดงผลของ 2 Table เป็นกลุ่มข้อมูล (Recordset)
  3. ข้อมูลกลุ่มเดียวกันควรเก็บด้วยกัน ในบางกรณีอาจจะมีบาง Table ที่มีฟิลด์ต่างๆ เหมือนกันทั้งหมด แต่มีการแยกข้อมูล เช่น การสร้าง Table ใบสั่งซ่อมเดือนมกราคม ใบสั่งซ่อมเดือนกุมภาพันธ์ ในลักษณะนี้ Table ควรรวมกัน แล้วการแยกเป็นรายเดือนด้วยคิวรี่ เพราะต้องคำนึงว่าการวิเคราะห์เงื่อนไขอื่นจะทำได้ยาก เช่น การวิเคราะห์เป็นรายไตรมาส รายปี หรือ ประวัติรวมของเครื่องจักร
  4. กลุ่มข้อมูลค่าคงที่ จะ ช่วยในการเก็บรายละเอียดของค่าคงที่ต่างๆ เพื่อสามารถทำให้ข้อมูลในแต่ละ ฟิลด์มีความเหมือนกัน โดยการใช้เครื่องมือ เช่น Combo Box และลดความซ้ำซ้อนในการเก็บข้อมูล ซึ่งคิวรี่สามารถ ทำหน้าที่โดยไม่จำเป็นต้องมีการเก็บค่า

การกำหนดฟิลด์

  1. ข้อมูลแต่ละฟิลด์ใน Table เดียว ควรสอดคล้องกับจุดมุ่งหมายของ Table ในการเก็บสารสนเทศ
  2. ค่าที่มาจากคำนวณ ไม่จำเป็นต้องเก็บไว้ใน Table เช่น ผลรวมสามารถใช้ [ราคาต่อหน่วย] * [จำนวน] หรือจำนวนวันซ่อม สามารถใช้ [วันที่ซ่อมเสร็จ] - [วันที่แจ้งซ่อม] ซึ่งคิวรี่สามารถทำหน้าที่ได้ โดยไม่จำเป็นต้องเก็บค่าลักษณะนี้
  3. เก็บค่าเท่าที่จำเป็น เช่น ชื่อพนักงานใน Table ต่างๆ สามารถเก็บเฉพาะรหัสพนักงาน แต่เมื่อต้องการ แสดงรายละเอียดของพนักงานให้ใช้คิวรี่เชื่อมระหว่าง Table ที่เก็บรายละเอียดพนักงานกับ Table ที่เก็บเฉพาะรหัสพนักงาน แล้วให้แสดงผลลัพธ์และข้อมูลที่ต้องการออกมา ทำให้ไม่จำเป็นต้องเก็บค่าเดียวในหลายๆ แห่ง


0 comments:

Post a Comment

 

Copyright © Access เบื้องต้น Design by Gu