ซ่อมคอมพิวเตอร์นอกสถานที่ บางกะปิ รามคำแหง

วันอาทิตย์ที่ 2 มีนาคม พ.ศ. 2557

การออกแบบระบบงานฐานข้อมูลด้วย Excel

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


สิ่งที่ควรคำนึงถึงในการออกแบบฐานข้อมูลด้วย Excel 

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

เงื่อนไขการออกแบบฐานข้อมูลด้วย Excel
  1. ให้มองว่าข้อมูล 1 แถว (Row) หมายถึง 1 รายการ (Record)
  2. แถวที่เป็นชื่อคอลัมน์ (Field name หรือ Column Header) จะต้องมีเพียงแถวเดียว ซึ่งเป็นแถวแรกของตาราง โดยชื่อคอลัมน์ดังกล่าวนั้นต้องไม่ซ้ำกัน และไม่มีเซลล์ใดของแถวนี้เป็นเซลล์ว่าง
  3. แถวแรกของข้อมูล (แถวแรกที่ถัดลงมาจากแถวที่เป็นชื่อคอลัมน์) ต้องไม่เป็นแถวว่าง
  4. ควรเก็บข้อมูลแยกกันคนละชีท และสร้างความสัมพันธ์ระหว่างชีทด้วยรหัส (Keys)
  5. ข้อมูลแบบ One-2-One ควรกำหนดให้คอลัมน์แรกเป็น รหัส (Primary Keys) ส่วนข้อมูลแบบ One-2-Many ควรกำหนดให้คอลัมน์แรกเป็นลักษณะ Running No.
  6. งานส่วนที่เป็น Output หรือ Report ควรแยกเป็นคนละชีทกับข้อมูลหลัก

รูปที่ 1 แสดงตัวอย่างตารางข้อมูลที่แยกกันและมีความสัมพันธ์กันระหว่างตาราง


เหตุผลที่ควรทำงานแบบฐานข้อมูล
  1. ลดความซ้ำซ้อนในการจัดเก็บข้อมูล
  2. สะดวกในการเพิ่ม-ขยาย หรือปรับเปลี่ยนไปสู่ระบบใหญ่ในอนาคต
  3. ประหยัดเวลาในการปรับปรุงแก้ไขข้อมูล เพราะสามารถแก้ไขจากจุดเดียว แล้วข้อมูลจะปรับปรุงไปยังทุกจุดโดยอัตโนมัติ
  4. ลดความผิดพลาดที่อาจเกิดขึ้นจากการบันทึกข้อมูล
  5. สามารถสร้างรายงานที่มีผลลัพธ์ได้หลากหลาย และมีประสิทธิภาพกว่าการทำงานแบบ Manual
  6. ข้อมูลผลลัพธ์จะมีความถูกต้องและน่าเชื่อถือมากขึ้น (เมื่อข้อมูลที่นำเข้ามีความถูกต้อง)

การวิเคราะห์ระบบเพื่อการออกแบบฐานข้อมูล

กระบวนการในการวิเคราะห์ เพื่อจะนำไปสู่การออกแบบระบบใดๆ ส่วนใหญ่แล้วจะมีอยู่ 3 ขั้นตอน คือ การวิเคราะห์ข้อมูลนำเข้า(Input), การวิเคราะห์กระบวนการประมวลผล (Process) และการวิเคราะห์ผลลัพธ์ (Output)


รูปที่ 2 ขั้นตอนการวิเคราะห์เพื่อการออกแบบระบบงาน


เนื่องจากการออกแบบฐานข้อมูลด้วย Excel มีความยุ่งยากซับซ้อนน้อยกว่า Access หรือโปรแกรมอื่นๆ ผมจึงขอแนะนำให้วิเคราะห์จากผลลัพธ์ก่อน คือต้องหาให้ได้ก่อนว่าเราต้องการอะไร (Output), ความต้องการนั้นจะได้มาจากอะไร (Input) และข้อมูลที่ได้มานั้นจะต้องทำอย่างไรบ้าง (Process) เช่น

การวิเคราะห์ผลลัพธ์ (Output)
• พิจารณาดูว่ามีผลลัพธ์อะไรบ้างที่เราต้องการจริงๆ จากฐานข้อมูล
• ผลลัพธ์ที่คาดว่าอาจจะเป็นที่ต้องการในอนาคต
• รูปแบบของผลลัพธ์ เช่น รายงานในรูปสิ่งพิมพ์, หน้าจอ, ไฟล์ข้อมูล, กราฟ ฯลฯ เป็นต้น

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

การวิเคราะห์กระบวนการประมวลผล (Process)
• ผลลัพธ์แต่ละตัว จะประมวลผลมาจากข้อมูลตัวใดบ้าง
• หลักเกณฑ์ เงื่อนไข ในการประมวลผลหรือการคำนวณ
• สูตรและฟังก์ชันที่เกี่ยวข้องกับการประมวลผล


ลักษณะของฐานข้อมูลที่ดี

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

นอกจากนี้ ข้อมูลในบางคอลัมน์ที่มีโอกาสผิดพลาดได้ง่ายจากการป้อนข้อมูล ก็ควรมีการตรวจสอบความผิดพลาด (Data Validation) และลดความซ้ำซ้อนของการบันทึกข้อมูล เช่น
  • ข้อความที่มีการใช้ได้หลายแบบ เช่น “กรุงเทพมหานคร” “กรุงเทพฯ” หรือ “กทม.” ก็ควรกำหนดไปเลยว่าจะใช้แบบไหน มิฉะนั้นเวลากรองข้อมูลจะพบว่าเป็นคนละจังหวัดกัน
  • ชื่อตำแหน่งงาน ชื่อหน่วยงาน วุฒิการศึกษา ฯลฯ อาจใช้การแยกเป็นตารางย่อย และกำหนดเป็นรหัสขึ้นมาแทน และใช้รหัสนั้นมากรอกในฐานข้อมูลหลัก เพื่อเชื่อมโยงไปยังตารางย่อยนั้นอีกทีหนึ่ง
  • ข้อมูลที่อยู่ ก็ควรแยกให้ละเอียด เช่น ถนน ตำบล อำเภอ จังหวัด ซึ่งจะช่วยเพิ่มความฉลาดให้กับฐานข้อมูล ในการคัดกรองและค้นหาข้อมูล เพราะสามารถกำหนดเงื่อนไขการค้นหาได้ละเอียดขึ้น เช่น ค้นหาเฉพาะคนที่อยู่อำเภอนี้ ของจังหวัดนั้น ฯลฯ เป็นต้น
  • ข้อมูลที่เกิดจากการคำนวณ (Calculate Field) ไม่ควรใส่ไว้ในฐานข้อมูล เช่น อายุ หรือ อายุงาน เนื่องจากแต่ละวันที่ผ่านไป อายุก็ย่อมเพิ่มขึ้นทุกวัน หากไประบุตัวเลขอายุเอาไว้ตายตัว จะทำให้ข้อมูลไม่เป็นปัจจุบัน จึงควรเก็บเฉพาะวันที่เข้างาน หรือวันเกิด แล้วใช้สูตรคำนวณในรายงาน (Output) ที่ต้องการ ซึ่งจะทำให้ได้ข้อมูลที่เป็นปัจจุบันที่สุด ณ วันนั้นๆ

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

0 ความคิดเห็น:

แสดงความคิดเห็น