หนังสือ ebook “วิเคราะห์ข้อมูลด้วย LibreOffice Base : Flat Database using HSQLDB”

คลิ๊กที่นี่เพื่อเข้าสู่หน้าดาวน์โหลด

คลิ๊กที่นี่เพื่อเข้าสู่หน้าดาวน์โหลด

วสันต์ คุณดิลกเศวต
wasankds@gmail.com
Line ID : wasankds


ก่อนที่ท่านจะใช้เวลาอันมีค่า ไปกับหนังสือเล่มนี้ ผู้เขียนอยากให้อ่านข้อนี้ก่อน เพื่อจะได้เห็นภาพรวมทั้งหมดก่อนว่า “Base จะมีประโยชน์กับท่าน หรือกับองค์กรของท่าน หรือไม่ ?”

  • ถึงเวลาใช้ LibreOffice Base แล้วหรือยัง ?

คำถาม

ผู้เขียนขอเริ่มด้วยคำถามว่า

“ถึงเวลาใช้ LibreOffice Base แล้วหรือยัง ?”

ที่ต้องตั้งคำถามแบบนี้ เพราะท่านอาจจะยังไม่รู้ว่า
“Base ทำอะไรได้บ้าง?

“Base จะใช้กับงานของเราได้หรือไม่?”
“คุ้มค่ากับการเรียนรู้หรือไม่ ?”
“คุ้มค่าหรือไม่ที่จะจัดอบรมให้กับพนักงาน ?”

ผู้เขียนอบรมการใช้งาน LibreOffice ให้กับหลายองค์กรทั้งภาครัฐและเอกชน มาเป็นเวลาเกือบ 10 ปี  80% เป็น การอบรมLibreOffice Calc ตั้งแต่ระดับต้นไปจังถึงระดับสูง ฉะนั้นจึงพอจะสรุปได้ว่า ยูสเซอร์ใช้โปรแกรมตารางคำนวณกันมาก
นอกจากงานอบรมแล้ว ผู้เขียนยังเป็นที่ปรึกษาการนำซอฟต์แวร์โอเพ่นซอร์สของฟรีมาใช้ในองค์กรด้วย ซึ่งไม่ได้จำกัดแค่ LibreOffice เท่านั้น ผู้เขียนไปตอบคำถามและเห็นการทำงานของยูสเซอร์มามากพอสมควร

จากประสบการณ์ข้างต้น ก็เลยจะนำมาโยงกับคำตอบของคำถาม
“ถึงเวลาใช้ LibreOffice Base แล้วหรือยัง ?”

คำตอบ

ยูสเซอร์ใช้ Calc หรือ Excel กันเยอะมาก ผู้เขียนเห็นการใช้งานมาหลากหลายแบบ ทั้งผิดและถูก เหมาะสมและไม่เหมาะสม

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

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

ฉะนั้น กับข้อมูลปริมาณมาก ผู้เขียนจึงแนะนำให้ยูสเซอร์หันไปใช้ Access หรือ Base แทน แต่… มันติดปัญหาใหญ่ๆ2 ประการ ก็คือ

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

ประการที่สอง ถ้าจะใช้ Access ต้องซื้อ MS Office รุ่นใหญ่ เช่น MS Office 2019 Pro ซึ่งราคาแพงกว่ารุ่น Standard อีกประมาณ 50%

ถ้าใช้ Base เราก็ตัดค่าใช้จ่ายซื้อซอฟต์แวร์ทิ้งไป เหลือแต่ว่า
“คุ้มค่ากับการเรียนรู้หรือไม่ ?”
“คุ้มค่าหรือไม่ที่จะจัดอบรมให้กับพนักงาน ?”

ซึ่งก็ต้องมาดูกันต่อว่า
“Base ทำอะไรได้บ้าง ?”
“Base ใช้ยากแค่ไหน ?”
“ฺBase จะใช้กับงานของเราได้หรือไม่ ?”

  • Base คืออะไร ?


ภาพที่ 1

Base เป็นโปรแกรมประเภทเดียวกับ Access เป็นโปรแกรมจัดการฐานข้อมูล

Base และ Access เป็นโปรแกรมที่ถูกออกมาเพื่อจัดการกับตารางที่มีข้อมูลปริมาณมาก หรือข้อมูลแบบหลายตารางเป็นเหมือนโปรแกรมภาคต่อของ Calc หรือ Excel

โปรแกรมทั้ง 2 กลุ่ม(กลุ่มตารางคำนวณ และ กลุ่มฐานข้อมูล) ใช้ทำงานกับตารางเหมือนกัน จึงมีเครื่องมือบางตัวที่ซ้ำซ้อนกัน เช่น Filter, Sort เป็นต้น แต่เครื่องมือบางตัว ก็เป็นเอกลักษณ์ของแต่ละโปรแกรม ฉะนั้นจึงเหมาะกับงานคนละประเภท

Calc หรือ Excel โดดเด่นเรื่องการคำนวณ ใช้วิเคราะห์ข้อมูลก็ได้ แต่ไม่เหมาะกับข้อมูลปริมาณมาก

Base หรือ Access เน้นทำงานกับข้อมูลปริมาณมาก วิเคราะห์ข้อมูลด้วยคำสั่ง SQL ซึ่งเป็นเอกลักษณ์ของโปรแกรมจัดการฐานข้อมูล ความสามารถครอบคลุมเครื่องมือวิเคราะห์ข้อมูลของ Calc หรือ Excel อย่างเช่น Sort, Filter, Subtotal, Pivot Table เป็นต้น นอกจากความสามารถดังกล่าว Base หรือ Access ใช้คำนวณก็ได้ แต่จะไม่คล่องและไม่ง่ายเหมือนกับ Calc หรือ Excel

  • เนื้อหาของ Base ที่ยูสเซอร์สามารถเรียนรู้ได้ไม่ยาก

Base เป็นโปรแกรมที่มีรายละเอียดมาก แต่พอจะสรุปความสามารถของBase ได้ 4 ด้าน ก็คือ

1. จัดการฐานข้อมูล (สร้างตาราง, แก้ไขตาราง, ผูกความสัมพันธ์ตาราง ทั้งแบบ Graphic และคำสั่ง SQL)
2. วิเคราะห์ฐานข้อมูลด้วยการ Query (ทั้งแบบ Graphic และคำสั่ง SQL)
3. สร้าง Form (สร้างฟอร์มสำหรับดึงข้อมูลออกมาแสดง หรือ สร้างฟอร์มสำหรับคีย์หรือแก้ไขข้อมูล)
4. สร้าง Report (สร้างรายงานสรุปผลจากการวิเคราะห์ข้อมูล ให้ออกมาในรูปแบบสำหรับพิมพ์ลงกระดาษ)

“ ในหนังสือเล่มนี้ ผู้เขียนได้ย่อยเนื้อหาของ Base ให้เหลือเฉพาะสิ่งที่คิดว่า ยูสเซอร์ที่ใช้งาน Excel หรือ Calc อยู่แล้ว จะนำ Base ไปใช้วิเคราะห์ข้อมูลปริมาณมากได้ โดยใช้งานไม่ยากเกินไป ”

ฉะนั้น จึงได้ตัดเรื่อง Form และ Report ทิ้งไป เพราะคิดว่าไม่จำเป็น คงเหลือเฉพาะเรื่อง การจัดการฐานข้อมูล และ การวิเคราะห์ข้อมูลด้วยการ Query

  • เนื้อหาอธิบายเฉพาะ Flat database (ในหนังสือเล่มนี้)

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

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

ไฟล์ฐานข้อมูลใน Base จะมีกี่ตารางก็ได้ (เสมือนกับ Calc จะมีกี่ชี้ทก็ได้) ถ้าเราไม่ผูกความสัมพันธ์ระหว่างตาราง ฐานข้อมูลแบบนี้ เราเรียกว่า Flat database

การวิเคราะห์ข้อมูลแบบใช้ 2-3 ตาราง ใน Calc สามารถทำได้โดยใช้ฟังก์ชั่น VLOOKUP ไปดึงข้อมูลจากตารางที่ 2 หรือ 3 กลับมาตารางที่ 1 แต่ VLOOKUP คำนวณตลอดเวลา ฉะนั้นยิ่งข้อมูลมาก โปรแกรมยิ่งใช้เวลาประมวลผลนาน

การวิเคราะห์ข้อมูลลักษณะข้างต้น หากมาทำใน Base ไม่มี VLOOKUP ให้ใช้ แต่จะใช้การผูกความสัมพันธ์ระหว่างตารางแทน ซึ่งฐานข้อมูลแบบนี้เราจะเรียกว่า Relational database

Relational Database ผู้เขียนขอยกไปไว้เล่มหน้า ซึ่งคงไม่ลงลึกเกินไปนัก เน้นอธิบายให้ที่ยูสเซอร์ที่ใช้งาน Calc หรือ Excel ได้ สามารถใช้งานได้ไม่ยากจนเกินไป

  • สรุปขั้นตอนการใช้ Base วิเคราะห์ข้อมูล

ผู้เขียนขอสรุปขั้นตอนการใช้ Base วิเคราะห์ข้อมูล สั้นๆไว้ ณ ตรงนี้ก่อน เพื่อทุกท่านจะได้เห็นภาพรวมการใช้งาน

ขั้นตอนที่ 1. สร้างตารางใน Base ให้สอดคล้องกับข้อมูลที่เราจะก๊อปปี้ไปใส่ หากเรามีข้อมูลในไฟล์ Calc ที่ต้องการจะก๊อปปี้ไปไว้ ต้องออกแบบคอลัมน์ในตาราง Base ให้สอดคล้องกัน


ภาพที่ 2

ขั้นตอนที่ 2. ก๊อปปี้ข้อมูลไปใส่ในตาราง โดยจะก๊อปปี้ จาก Calc ไปใส่ หรือ จะใช้คำสั่ง SQL วางข้อมูลลงไปก็ได้


ภาพที่ 3

ขั้นตอนที่ 3. วิเคราะห์ข้อมูลด้วยการ Query การ Query ก็คือ การส่งคำถามไปที่ฐานข้อมูล ซึ่งเราสามารถทำได้ทั้งแบบ Graphic(สำหรับคนที่ไม่ชำนาญคำสั่ง SQL) และแบบ เขียนคำสั่ง SQL โดยคำสั่ง SQL สามารถเขียนได้ตั้งแต่ง่ายไปจนถึงซับซ้อนมาก แล้วแต่ว่าเราจะถามอะไรกับฐานข้อมูล ฝึกเขียนไปเรื่อยๆ เราจะติด เพราะมันอ่านง่ายกว่าแบบ Graphic และโยกย้าย ทำสำเนาเก็บไว้ใช้ได้ง่ายกว่า


ภาพที่ 4

ขั้นตอนที่ 4. นำผลการการวิเคราะห์ใน Baseไปสรุปผลต่อใน Calc หากลงทะเบียนฐานข้อมูลไว้กับ LibreOffice โปรแกรมอื่นๆในชุดของ LibreOffice จะสามารถใช้งานไฟล์ Baseได้อย่างรวดเร็ว Calc จึงสามารถดึงผลการ Query ออกมาใช้ได้ ซึ่งจากนั้นเราจะนำไปสร้าง Chart สรุปผลต่ออย่างไรก็แล้วแต่


ภาพที่ 5

  • เนื้อหาอธิบายเฉพาะฐานข้อมูล HSQLDB (ไม่รวม Firebird)

Front-end และ Database engines
โครงสร้างของโปรแกรม LibreOffice Base แบ่งเป็น 2 ส่วนหลักๆ ด้วยกัน ก็คือ

1. ส่วน Front-end หรือส่วนของตัวโปรแกรม Base เอง มีหน้าที่แปลการสั่งงานจากยูสเซอร์ ไปเป็นคำสั่ง SQL จากนั้นส่งไปให้ส่วนที่ 2 ประมวลผลต่อและรับผลลัพธ์ออกมาแสดงผล

2. ส่วน Database engines หรือ โปรแกรมฐานข้อมูล ตัวที่ทำหน้าที่จัดการฐานข้อมูลจริงๆแล้วคือส่วนนี้ ซึ่งต้องสั่งงานโดยใช้คำสั่ง SQL เท่านั้น ไม่ว่าจะสร้างตาราง แก้ไขตาราง ใส่ข้อมูลงในตาราง หรือ Query เป็นต้น Base จะทำงานได้เก่ง ได้เร็ว หรือมีปัญหามากน้อยแค่ไหน อยู่ที่ส่วนนี้เป็นหลัก

ภาพที่ 6

HSQLDB และ Firebird

ประเด็นสำคัญก็คือ Base มีฐานข้อมูลให้เลือกใช้ 2ตัว ก็คือ HSQLDB และ Firebird โดย Baseใช้ HSQLDB เป็นส่วนที่ 2มานานแล้ว จนกระทั่ง LibreOffice เวอร์ชั่น 6.1 ออกมาBase ได้เปลี่ยนฐานข้อมูลหลักมาเป็น Firebird (แต่ยังคงมี HSQLDB ให้เลือกอยู่)

ภาพที่ 7 เริ่มต้นสร้างไฟล์ Base สิ่งแรกที่โปรแกรมถามเราก็คือ จะแนบฐานข้อมูลตัวไหน Firebird? หรือ HSQLDB?


ภาพที่ 7

เมื่อเราสร้างไฟล์ Base (ไฟล์ .odb) ไฟล์ฐานข้อมูลจะถูกสร้างขึ้นมาด้วย เป็นส่วนหนึ่งหรือแนบไปกับไฟล์ .odb เสมอ ฐานข้อมูลของเราเป็นตัวไหน ดูได้จากแถบแสดงสถานะของ Base ตัวอย่างตามภาพที่ 8


ภาพที่ 8

หนังสือเล่มนี้ผู้เขียน อธิบายเฉพาะฐานข้อมูล HSQLDB เท่านั้น เพราะ LibreOffice ทำงานได้ดีกับฐานข้อมูลตัวนี้ เอกสารแหล่งเรียนรู้ก็มีเยอะกว่า แต่กับ Firebird เป็นเรื่องที่ยังใหม่เกินไป อย่างไรก็ดี Firebird มีอนาคตกับ Baseที่ดีกว่า เพราะมีประสิทธิภาพสูงกว่า HSQLDB และไม่ทำงานผ่าน Java เหมือนกับ HSQLDB

ตรวจสอบว่ามี Java runtime หรือไม่ ?

ให้เปิดโปรแกรม LibreOffice ตัวใดก็ได้ จากนั้นไปที่เมนู Tool → Options จะปรากหน้าต่าง Options ตามภาพที่ 9 (ที่หน้าต่าง Options) ให้ดูที่เมนู LibreOffice → Advanced หากเราใช้ฐานข้อมูล HSQLDB จะต้องเปิดใช้งาน Java runtime ด้วย ถ้าไม่มีตัวนี้ให้เลือก เราจะใช้ Base แบบ HSQLDB ไม่ได้ แต่สำหรับ Firebird ไม่มีปัญหา


ภาพที่ 9

ในส่วนของฐานข้อมูล Firebird ผู้เขียนมีแผนจะเขียนอีกเหมือนกัน แต่ขอยกไว้เป็นเล่มถัดไป

Share this :

Be the first to comment

Leave a Reply

Your email address will not be published.




*

This site uses Akismet to reduce spam. Learn how your comment data is processed.