Font s :
Background :

ตารางฐานข้อมูลแบบ Relational Database

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

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

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

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

จุดประสงค์ของการใช้ Excel จัดการฐานข้อมูลแบบ Relational Database
  • เพื่อลดความซ้ำซ้อนของข้อมูล มุ่งให้บันทึกข้อมูลหนึ่งๆลงไปในเซลล์หนึ่งเพียงครั้งเดียว ไม่ต้องบันทึกซ้ำหลายๆครั้ง และไม่ต้องใช้เซลล์หลายเซลล์ ทำให้ file มีขนาดเล็กลง และคำนวณเร็วขึ้น
  • เพื่อลดความซับซ้อนของข้อมูล ช่วยให้ค้นหาข้อมูลที่ต้องการได้ง่ายและรวดเร็ว โดยจัดแบ่งตารางเก็บข้อมูลเรื่องหนึ่งๆแยกออกจากตารางเรื่องอื่นๆ แล้วกำหนด Field ให้มีความสัมพันธ์กัน
  • เพื่อเพิ่มความยืดหยุ่นให้กับงานฐานข้อมูล ผู้ใช้สามารถปรับเปลี่ยนรูปแบบหน้าตารางและสูตรคำนวณใน Excel ได้ง่ายและรวดเร็วกว่าฐานข้อมูลใน Access
  • เพื่อใช้ข้อมูลใน Excel ร่วมกับโปรแกรม Access หรือโปรแกรมฐานข้อมูลอื่น ซึ่งมีลักษณะจัดโครงสร้างฐานข้อมูลแบบ Relational Database เช่นเดียวกันอยู่แล้ว
แนวทางการใช้ Excel จัดการฐานข้อมูลแบบ Relational Database
  • ยึดหลักการออกแบบตารางฐานข้อมูลที่ดี ได้แก่ หัวตาราง Row เดียวใช้กำหนดชื่อหัวตารางแต่ละ Field บันทึกข้อมูลติดต่อกันไป ห้ามเว้น และห้ามนำตารางฐานข้อมูลไปติดกับข้อมูลอื่น
  • เลือกเก็บเฉพาะข้อมูลที่จำเป็น และแยกข้อมูลแต่ละเรื่องออกเป็น Field แยกจากกันให้ละเอียดที่สุด เช่น ข้อมูลที่อยู่ ซึ่งมีเลขที่บ้าน ถนน แขวง เขต จังหวัด รหัสไปรษณีย์ ควรแยกแต่ละเรื่องให้มี Field ของตัวเอง อย่านำรายละเอียดที่อยู่ทั้งหมดมาบันทึกรวมกันไว้ใน Field เดียว ทั้งนี้ขึ้นกับความต้องการข้อมูลว่าต้องการรายละเอียดมากน้อยเพียงไร
  • แต่ละ Field ควรแยกข้อมูลที่เป็นตัวเลข ออกจากข้อมูลที่เป็นตัวอักษร และอย่านำตัวเลขมาปนกับตัวอักษร เช่น Field ของยอดขาย ควรบันทึกแค่ตัวเลขยอดขายเท่านั้น ห้ามนำตัวเลขมาบันทึกรวมกับคำว่าบาท โดยให้สังเกตว่าในเซลล์ของ Excel นั้น ตัวเลขจะชิดซ้าย ตัวอักษรจะชิดขวา
  • เมื่อมีรายละเอียดข้อมูลซึ่งต้องการจัดเก็บหลายประเภทขึ้น ไม่ควรเพิ่มจำนวน Field เพราะจะกระทบกับรายการเก่าที่เก็บไว้แล้ว แต่ให้เพิ่มตารางใหม่หรือเพิ่มรายการแทน
  • หาทางให้ในการบันทึกรายการหนึ่งๆ ใช้จำนวนเซลล์ที่บันทึกให้น้อยที่สุด โดยจัดแยกตารางตามกลุ่มของเรื่องที่เกี่ยวข้อง ให้ตัด Field ที่ไม่จำเป็นทิ้ง หรือย้าย Field ไปแยกเก็บในตารางอีกเรื่องหนึ่ง
  • แยกตารางตามลักษณะการปรับเปลี่ยนเพิ่มเติมของรายการ เช่น ตารางแสดงรหัสและชื่อสินค้า ช่วยทำหน้าที่เป็นตารางตัวเลือก ซึ่งใช้กำหนดรหัสคู่กับชื่อหรือรายละเอียดของรหัสนั้น มักไม่มีการเปลี่ยนแปลงในภายหลัง ต่างจากตารางบันทึกการเคลื่อนไหวประจำวันซึ่งจะมีการบันทึกรายการเพิ่มเติมตลอดเวลา
  • แต่ละตารางควรมี Field ใด Field หนึ่ง ใช้แสดงความสัมพันธ์กับตารางอื่น ( เรียกว่า Key Field) เช่น ตารางบันทึกการขายสินค้าประจำวัน ให้บันทึกรหัสสินค้าเป็น Key Field ก็เพียงพอแล้ว ไม่จำเป็นต้องบันทึกชื่อสินค้ากำกับลงไปอีก
  • หากข้อมูล Field ใดมีความสัมพันธ์กับ Field อื่นนอกเหนือจาก Key Field ควรแยกข้อมูล Field นั้นออกไปเป็นอีกตารางหนึ่ง
  • ไม่ควรแยกตารางย่อยมากเกินไป เพราะจะทำให้ผู้ใช้ข้อมูลเห็นความสัมพันธ์ระหว่างตารางยากขึ้น

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


ตัวอย่างการออกแบบ Relational Database

สมมติว่าจัดเก็บข้อมูลสินค้าที่ซื้อ มีรายละเอียดของรหัส (Id)   ชื่อสินค้า (Name) จำนวนสินค้า (Amount) รหัสผู้ขาย (Supplier Id : SId) และชื่อผู้ขาย (Supplier Name : SName) ไว้ตามตารางข้างล่างแบบ Flat Database ซึ่งมีข้อควรสังเกตต่อไปนี้

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

เมื่อออกแบบตารางใหม่แบบ Relational Database โดยแบ่งแยกข้อมูลเดิมออกเป็นตารางย่อยแยกออกจากกัน บันทึกข้อมูลเกี่ยวข้องกับตัวสินค้า แยกออกจากข้อมูลเกี่ยวข้องกับตัวผู้ขาย จากนั้นจึงใช้รหัสสินค้าและรหัสผู้ขายเป็น Key ในการบันมึกข้อมูลซื้อสินค้า

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

นอกจากนี้เมื่อต้องการนำข้อมูลซึ่งกระจายอยู่ในตารางต่าง Sheet กัน จึงค่อยใช้สูตรประเภท Lookup เช่น สูตร Choose Vlookup Match Index Indirect และ Offset มาช่วย Link นำข้อมูลมาประกอบเป็นรายงานตามแบบที่ต้องการ โดยจัดทำรูปแบบรายงานเพียงหน้าเดียวตามแบบหน้ากระดาษที่ต้องการ แล้วจึงใช้สูตรควบคุมลำดับข้อมูลมาแสดงให้เห็นบนหน้าจอและสั่งพิมพ์ทีละหน้า ซึ่งวิธีนี้นอกจากจะทำให้ file มีขนาดเล็กลง และคำนวณได้เร็วขึ้นแล้ว เรายังสามารถสร้างยอดรวมรายการแต่ละหน้า แสดงไว้เป็นบรรทัดสุดท้ายของแต่ละหน้าได้อีกด้วย นับเป็นประโยชน์ซึ่งช่วยให้ใช้ Excel จัด Footer ของรายงานได้เช่นเดียวกันกับที่ทำได้โดยใช้ Access

Categories

About this Entry

Font s :
Background :