Information Technology
Infrastructure Database And Informartion System
ความหมายและความสามารถหลักของ
DBMS
ระบบจัดการฐานข้อมูล (Database Management System) หรือที่เรียกว่า
ดีบีเอ็มเอส (DBMS)
เป็นกลุ่มโปรแกรมที่ทำหน้าที่เป็นตัวกลางในระบบติดต่อระหว่างผู้ใช้กับฐานข้อมูล เพื่อจัดการและควบคุมความถูกต้อง ความซ้ำซ้อน และความสัมพันธ์ระหว่างข้อมูลต่างๆ ภายในฐานข้อมูล ซึ่งต่างจากระบบแฟ้มข้อมูลที่หน้าที่เหล่านี้จะเป็นหน้าที่ของโปรแกรมเมอร์ ในการติดต่อกับข้อมูลในฐานข้อมูลไม่ว่าจะด้วยการใช้คำสั่งในกลุ่มดีเอ็มแอล (DML) หรือ ดีดีแอล (DDL) หรือจะด้วยโปรแกรมต่างๆ ทุกคำสั่งที่ใช้กระทำกับข้อมูลจะถูกดีบีเอ็มเอสนำมาแปล (คอมไพล์) เป็นการปฏิบัติการ (Operation) ต่างๆ ภายใต้คำสั่งนั้นๆ เพื่อนำไปกระทำกับตัวข้อมูลภายในฐานข้อมูลต่อไป สำหรับส่วนการทำงานตางๆ ภายในดีบีเอ็มเอสที่ทำหน้าที่แปลคำสั่งไปเป็นการปฏิบัติการต่างๆ กับข้อมูลนั้น ประกอบด้วยส่วนการปฏิบัติการดังนี้
เป็นกลุ่มโปรแกรมที่ทำหน้าที่เป็นตัวกลางในระบบติดต่อระหว่างผู้ใช้กับฐานข้อมูล เพื่อจัดการและควบคุมความถูกต้อง ความซ้ำซ้อน และความสัมพันธ์ระหว่างข้อมูลต่างๆ ภายในฐานข้อมูล ซึ่งต่างจากระบบแฟ้มข้อมูลที่หน้าที่เหล่านี้จะเป็นหน้าที่ของโปรแกรมเมอร์ ในการติดต่อกับข้อมูลในฐานข้อมูลไม่ว่าจะด้วยการใช้คำสั่งในกลุ่มดีเอ็มแอล (DML) หรือ ดีดีแอล (DDL) หรือจะด้วยโปรแกรมต่างๆ ทุกคำสั่งที่ใช้กระทำกับข้อมูลจะถูกดีบีเอ็มเอสนำมาแปล (คอมไพล์) เป็นการปฏิบัติการ (Operation) ต่างๆ ภายใต้คำสั่งนั้นๆ เพื่อนำไปกระทำกับตัวข้อมูลภายในฐานข้อมูลต่อไป สำหรับส่วนการทำงานตางๆ ภายในดีบีเอ็มเอสที่ทำหน้าที่แปลคำสั่งไปเป็นการปฏิบัติการต่างๆ กับข้อมูลนั้น ประกอบด้วยส่วนการปฏิบัติการดังนี้
- ตัวจัดการฐานข้อมูล (Database Manager) : เป็นส่วนที่ทำหน้าที่กำหนดการกระทำต่างๆ ให้กับส่วน File Manager เพื่อไปกระทำกับข้อมูลที่เก็บอยู่ในฐานข้อมูล (ตัวจัดการไฟล์ เป็นส่วนที่ทำหน้าที่บริหารจัดการกับข้อมูลที่เก็บอยู่ในฐานข้อมูลในระดับกายภาพ)
- ตัวประมวลผลสอบถาม (Query Processor) : เป็นส่วนที่ทำหน้าที่แปลงกำหนดคำสั่งของ ภาษาสอบถาม (Query Language) ให้อยู่ในรูปแบบของคำสั่งที่ตัวจัดการฐานข้อมูลเข้าใจ
- ตัวแปลภาษาจัดดำเนินการข้อมูลล่วงหน้า (Data Manipulation Language Precompiler) : เป็นส่วนที่ทำหน้าที่แปลประโยคคำสั่งของกลุ่มคำสั่งในดีเอ็มแอล ให้อยู่ในรูปแบบที่ส่วนรหัสเชิงวัตถุของโปรแกรมแอปพลิเคชัน ใช้นำเข้าเพื่อส่งต่อไปยังส่วนตัวจัดการฐานข้อมูลในการแปลประโยคคำสั่งของกลุ่มคำสั่งของดีเอ็มแอลของส่วน ตัวแปลภาษาจัดดำเนินการข้อมูลล่วงหน้านี้จะต้องทำงานร่วมกับส่วนตัวประมวลผลข้อคำถาม
- ตัวแปลภาษานิยามข้อมูลล่วงหน้า (Data Definition Language Precompiler) : เป็นส่วนที่ทำหน้าที่แปลประโยคคำสั่งของกลุมคำสั่งในภาษานิยามข้อมูล ให้อยู่ในรูปแบบของเมทาเดตา (MataData) ที่เก็บอยู่ในส่วนพจนานุกรมข้อมูล (Data Dictionary) ของฐานข้อมูล (เมทาเดตาคือ รายละเอียดที่บอกถึงโครงสร้างต่างๆ ของข้อมูล)
- รหัสจุดหมายของโปรแกรมแอปพลิเคชัน (Application Programs Object Code) : เป็นส่วนที่ทำหน้าที่แปลงคำสั่งต่างๆ ของโปรแกรม รวมทั้งคำสั่งในกลุ่มคำสั่งภาษาจัดดำเนินการข้อมูล หรือดีเอ็มแอลที่ส่งต่อมาจากส่วนตัวแปลภาษาจัดดำเนินการข้อมูลล่วงหน้าให้อยู่ในรูปแบบของรหัสจุดหมาย (Object Code) ที่จะส่งต่อไปให้ตัวจัดการฐานข้อมูลเพื่อกระทำกับข้อมูลในฐานข้อมูล
หน้าที่ของ DBMS ?
1.) ทำหน้าที่แปลงคำสั่งที่ใช้จัดการกับข้อมูลภายในฐานข้อมูลให้อยู่ในรูปแบบที่ข้อมูลเข้าใจ
2.) ทำหน้าที่ในการนำคำสั่งต่างๆ ซึ่งได้รับการแปลแล้วไปสั่งให้ฐานข้อมูลทำงาน เช่น การเรียกใช้ข้อมูล (Retrieve) การจัดเก็บข้อมูล (Update) การลบข้อมูล (Delete) หรือ การเพิ่มข้อมูลเป็นต้น (Add) ฯลฯ
3.) ทำหน้าที่ป้องกันความเสียหายที่จะเกิดขึ้นกับข้อมูลภายในฐานข้อมูล โดยจะคอยตรวจสอบว่าคำสั่งใดที่สามารถทำงานได้และคำสั่งใดที่ไม่สามารถทำได้
4.) ทำหน้าที่รักษาความสัมพันธ์ของข้อมูลภายในฐานข้อมูลให้มีความถูกต้องอยู่เสมอ
5.) ทำหน้าที่เก็บรายละเอียดต่าง ๆ ที่เกี่ยวข้องกับข้อมูลภายในฐานข้อมูลไว้ใน data dictionary ซึ่งรายละเอียดเหล่านี้มักจะถูกเรียกว่า "ข้อมูลของข้อมูล" (Meta Data)
6.) ทำหน้าที่ควบคุมให้ฐานข้อมูลทำงานได้อย่างถูกต้องและมีประสิทธิภาพ
1.) ทำหน้าที่แปลงคำสั่งที่ใช้จัดการกับข้อมูลภายในฐานข้อมูลให้อยู่ในรูปแบบที่ข้อมูลเข้าใจ
2.) ทำหน้าที่ในการนำคำสั่งต่างๆ ซึ่งได้รับการแปลแล้วไปสั่งให้ฐานข้อมูลทำงาน เช่น การเรียกใช้ข้อมูล (Retrieve) การจัดเก็บข้อมูล (Update) การลบข้อมูล (Delete) หรือ การเพิ่มข้อมูลเป็นต้น (Add) ฯลฯ
3.) ทำหน้าที่ป้องกันความเสียหายที่จะเกิดขึ้นกับข้อมูลภายในฐานข้อมูล โดยจะคอยตรวจสอบว่าคำสั่งใดที่สามารถทำงานได้และคำสั่งใดที่ไม่สามารถทำได้
4.) ทำหน้าที่รักษาความสัมพันธ์ของข้อมูลภายในฐานข้อมูลให้มีความถูกต้องอยู่เสมอ
5.) ทำหน้าที่เก็บรายละเอียดต่าง ๆ ที่เกี่ยวข้องกับข้อมูลภายในฐานข้อมูลไว้ใน data dictionary ซึ่งรายละเอียดเหล่านี้มักจะถูกเรียกว่า "ข้อมูลของข้อมูล" (Meta Data)
6.) ทำหน้าที่ควบคุมให้ฐานข้อมูลทำงานได้อย่างถูกต้องและมีประสิทธิภาพ
ฐานข้อมูลเชิงสัมพันธ์
หมายความว่า จะมีการจัดเก็บข้อมูลในลักษณะที่เป็นกลุ่มของข้อมูลที่มีความสัมพันธ์กัน ในฐานข้อมูลหนึ่งๆ สามารถที่จะมีตารางตั้งแต่ 1 ตารางเป็นต้นไป และในแต่ละตารางนั้นก็สามารถมีได้หลายคอลัมน์ (Column) หลายแถว (Row) ตัวอย่างเช่น เราต้องการเก็บข้อมูลพนักงาน ในตารางของข้อมูลพนักงานก็จะประกอบด้วยคอลัมน์ ที่อธิบายชื่อ นามสกุล ที่อยู่ เงินเดือน แผนกที่สังกัด เป็นต้น และในตารางนั้น ก็สามารถที่จะมีข้อมูลพนักงานได้มากกว่า 1 คน (Row) และตารางข้อมูลพนักงานนั้นอาจจะมีความสัมพันธ์กับตารางอื่น เช่น ตารางที่เก็บชื่อและจำนวนบุตรของพนักงาน
หมายความว่า จะมีการจัดเก็บข้อมูลในลักษณะที่เป็นกลุ่มของข้อมูลที่มีความสัมพันธ์กัน ในฐานข้อมูลหนึ่งๆ สามารถที่จะมีตารางตั้งแต่ 1 ตารางเป็นต้นไป และในแต่ละตารางนั้นก็สามารถมีได้หลายคอลัมน์ (Column) หลายแถว (Row) ตัวอย่างเช่น เราต้องการเก็บข้อมูลพนักงาน ในตารางของข้อมูลพนักงานก็จะประกอบด้วยคอลัมน์ ที่อธิบายชื่อ นามสกุล ที่อยู่ เงินเดือน แผนกที่สังกัด เป็นต้น และในตารางนั้น ก็สามารถที่จะมีข้อมูลพนักงานได้มากกว่า 1 คน (Row) และตารางข้อมูลพนักงานนั้นอาจจะมีความสัมพันธ์กับตารางอื่น เช่น ตารางที่เก็บชื่อและจำนวนบุตรของพนักงาน
จุดเด่นของข้อมูลเชิงสัมพันธ์
1.
ง่ายต่อการเรียนรู้
และการนำไปใช้งาน ทำให้เห็นภาพข้อมูลชัดเจน
2.
ภาษาที่ใช้จัดการข้อมูลเป็นแบบซีเควล
ซึ่งมีประสิทธิภาพสูงเข้าใจง่าย
3.
การออกแบบระบบมีทฤษฎีรองรับ
สามารถลดความซ้ำซ้อนของข้อมูลได้
ระบบฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
เป็นฐานข้อมูลที่ใช้โมเดลเชิงสัมพันธ์
(Relational Database Model) ซึ่งผู้คิดค้นโมเดลเชิงสัมพันธ์นี้คือ
Dr. E.F. Codd โดยใช้หลักพื้นฐานทางคณิตศาสตร์
เนื่องด้วยแนวคิดของแบบจำลองแบบนี้มีลักษณะที่คนใช้กันทั่วกล่าวคือมีการเก็บเป็นตาราง
ทำให้ง่ายต่อการเข้าใจและการประยุกต์ใช้งาน ด้วยเหตุนี้ ระบบฐานข้อมูลแบบนี้จึงที่ได้รับความนิยมมากที่สุด
ในแง่ของ entity แบบจำลองแบบนี้คือ แฟ้มข้อมูลในรูปตาราง และ
attribute ก็เปรียบเหมือนเขตข้อมูล
ส่วนความสัมพันธ์คือความสัมพันธ์ระหว่าง entity
ฐานข้อมูลเชิงสัมพันธ์
คือ การเก็บข้อมูลในรูปของตาราง (Table) หลายๆตารางที่มีความสัมพันธ์กัน
ในแต่ละตารางแบ่งออกเป็นแถวๆ และในแต่ละแถวจะแบ่งเป็นคอลัมน์ (Column) ในทางทฤษฎีจะมีคำศัพท์เฉพาะแตกต่างออกไป
เนื่องจากแบบจำลองแบบนี้เกิดจากทฤษฎีทางคณิตศาสตร์เรื่องเซ็ท (Set)
กฎที่เกี่ยวข้องกับคีย์ในฐานข้อมูลเชิงสัมพันธ์
1. กฎความบูรณภาพของเอนทิตี้ (The Entity Intergrity Rule)
กฎนี้ระบุไว้ว่าแอททริบิวต์ใดที่เป็นคีย์หลัก
ข้อมูลในแอททริบิวต์นั้นจะเป็นค่าว่าง(Null)
ไม่ได้ ความหมายของการเป็นค่าว่างไม่ได้(Not Null) หมายความถึง ข้อมูลของแอททริบิวต์ที่เป็นคีย์หลักจะไม่ทราบค่าที่แน่นอนหรือไม่มีค่าไม่ได้
2. กฎความบูรณภาพของการอ้างอิง (The Referential IntegrityRule)
การอ้างอิงข้อมูลระหว่างรีเลชั่นในฐานข้อมูลเชิงสัมพันธ์จะใช้คีย์นอกของรีเลชั่นหนึ่งไปตรวจสอบกับค่าของแอททริบิวต์ที่เป็นคีย์หลักของอีกรีเลชั่นหนึ่งเพื่อเรียกดูข้อมูลอื่นๆที่เกี่ยวข้องหรือค่าของคีย์นอกจะต้องอ้างอิงให้ตรงกับค่าของคีย์หลักได้จึงจะสามารถเชื่อมโยงข้อมูลระหว่างสองรีเลชั่นได้สำหรับคีย์นอกจะมีค่าว่างได้หรือไม่ขึ้นอยู่กับกฎเกณฑ์การออกแบบฐานข้อมูล
เช่น ในกรณีที่รีเลชั่นพนักงานมี
Depnoเป็นคีย์นอกอาจจะถูกระบุว่าต้องทราบค่าแต่ในกรณีพนักงานทดลองงานอาจยังไม่มีค่า
Depno เพราะยังไม่ได้ถูกบรรจุในกรณีที่มีการลบหรือแก้ใขข้อมูลของแอททริบิวต์ที่เป็นคีย์หลักซึ่งมีคีย์นอก
จากอีกรีเลชั่นหนึ่งอ้างอิงถึง จะทำการลบหรือแก้ใขข้อมูลได้หรือไม่ ขึ้นอยู่กับการออกแบบฐานข้อมูล
ว่าได้ระบุให้แอททริบิวต์มีคุณสมบัติอย่างไร ซึ่งมีโอกาสเป็นไปได้ 4 ทางเลือก
1.
การลบหรือแก้ไขข้อมูลแบบมีข้อจำกัด
(Restrict) การลบหรือแก้ไขข้อมูลจะกระทำได้ เมื่อข้อมูลของคีย์หลักในรีเลชั่นหนึ่งไม่มีข้อมูลที่ถูกอ้างอิง
โดยคีย์นอกของอีกรีเลชั่นหนึ่งเช่น รหัสแผนก Depno ในรีเลชั่นDepจะถูกแก้ใขหรือลบทิ้งต่อเมื่อไม่มีพนักงานคนใดสังกัดอยู่ในแผนกนั้น
2.
การลบหรือแก้ไขข้อมูลแบบต่อเรียง
(Cascade) การลบหรือการแก้ใขข้อมูล จะทำแบบเป็นลูกโซ่ คือ หากมีการแก้ไขหรือลบข้อมูลของคีย์หลักในรีเลชั่นหนึ่งระบบจะทำการลบหรือแก้ใขข้อมูลของคีย์นอกในอีกรีเลชั่นหนึ่งที่อ้างอิงถึงข้อมูลของคีย์หลักที่ถูกลบให้ด้วย
เช่น ในกรณีที่ยกเลิกแผนก 9 ในEntityแผนก
ข้อมูลของพนักงานที่อยู่แผนก 10 ในEntityพนักงานจะถูกลบออกไปด้วย
3.
การลบหรือแก้ไขข้อมูลโดยเปลี่ยนเป็นค่าว่าง
(Nullify) การลบหรือแก้ใขข้อมูลจะทำได้เมื่อมีการเปลี่ยนค่าของคีย์นอกในข้อมูลที่ถูกอ้างอิงให้เป็นค่าว่างเสียก่อน
เช่น พนักงานที่อยู่ในแผนกที่ 9 จะถูกเปลี่ยนค่าเป็นค่าว่างก่อนหลังจากนั้น
การลบข้อมูลของแผนกที่มีรหัส 9 จะถูกลบทิ้งหรือแก้ไขทันที
ภายใน Entity แผนก
4.
การลบหรือแก้ไขข้อมูลแบบใช้ค่าโดยปริยาย
( Default) การลบหรือแก้ไขข้อมูลของคีย์หลัก สามารถทำได้โดยถ้าหากมีคีย์นอกที่อ้างอิงถึงคีย์หลักที่ถูกลบหรือแก้ไข
ก็จะทำการปรับค่าของคีย์นอกนั้นโดยปริยาย (Default Value) ที่ถูกกำหนดขึ้นเช่น
ในกรณีที่ยกเลิกแผนก 9 ในEntity แผนก ข้อมูลของพนักงานที่อยู่แผนก
9 ใน Entity พนักงานจะถูกเปลี่ยนค่าเป็น
00 ซึ่งเป็นค่าโดยปริยาย ที่หมายความว่า ไม่ได้สังกัดแผนกใด
Database เหมือนหรือต่างกับ Data Warehouse อย่างไร ?
ระบบ Data Warehouse ไม่ใช่ระบบสำเร็จรูปที่ซื้อมาแกะกล่องก็ใช้งานได้ทันที จำเป็นต้องมีการออกแบบ ขึ้นเพื่อทำการหาความต้องการที่แท้จริงขององค์กร โดยมีหลักคิด ดังนี้
• พิจารณาเครื่องมือที่เหมาะสมเพื่อช่วยออกแบบฐานข้อมูลของ Data Warehouse และโปรแกรมที่จะทำหน้าที่เก็บรวบรวมข้อมูลจากระบบปฏิบัติงานหรือแหล่งข้อมูลอื่น ๆ
• ส่วนที่ทำหน้าที่เป็น Directory ของข้อมูล เพื่ออำนวยความสะดวกแก่ผู้ดูแลระบบหรือผู้ใช้ทั่วไป ให้เข้าใจถึงข้อมูลแต่ละตัวและความหมายของมัน
• ตัวฐานข้อมูลของ Data Warehouse เอง
• ส่วนที่ทำหน้าที่ Data Acquisition ซึ่งก็คือตัวที่ทำ หน้าที่ดับจับ เก็บรวบรวมข้อมูล รักษาความถูกต้อง โอนย้าย หรือแปลงข้อมูลจากแหล่งข้อมูลอื่นให้อยู่ ในรูปแบบที่เหมาะสมก่อนจะเก็บเข้าสู่ Data Warehouse ต่อไป
• ส่วนที่ทำหน้าที่ Data Management สำหรับจัดการ และควบคุมการปฏิบัติงานของ Data Warehouse
• ส่วนที่ทำหน้าที่เข้าถึงข้อมูล จะเป็นส่วนที่ให้บริการแก่ผู้ใช้ที่มีพื้นมาทางธุรกิจ ให้สามารถใช้มันเป็นเครื่องมือช่วยการตัดสินใจได้ ซึ่งแน่นอนว่าต้องการเครื่องมือตัวนี้เพื่อช่วยเขาเข้าถึงและวิเคราะห์ข้อมูล
• ส่วนที่ทำหน้าที่โอนย้ายข้อมูลเป็นส่วนที่ทำหน้าที่ export ข้อมูลภายใน Data Warehouse ออกสู่ภายนอกอาจจะเพื่อจะโอนย้ายไปสู่ระบบ Data Warehouse ระบบอื่น Data Mart หรือระบบอื่น ๆ ทั่วไป
ข้อมูลที่ จะจัดเก็บภายในคลั งข้อมูลมีการเคลื ่อนที่ของข้อมูล (information flow) 5 ประเภทดังนี้
• Inflow คือการนำข้อมูลจากฐานข้อมูลอื่นเข้าสู่คลังข้อมูลทั้ฐานข้อมูลภายในและภายนอกองค์กร โดยในขั้นนี้อาจมีการเปลี่ยนแปลงโครงสร้างข้อมูล การทำ de-normalizeการลบหรือเพิ่มฟิลด์ เพื่อให้ข้อมู ลทั้งหมดอยู่ในเนื้อหาที่สนใจเดียวกัน ในขั้นตอนนี้อาจใช้เครื่องมือที่เรียกว่า data warehouse tool
• Upflow เมื่อข้อมูลที่เราต้องการอยู่ในคลังข้อมูลแล้วในบางครั้งอาจต้องมีการเพิ่ม คุณค่าให้กับข้อมูลด้วยเพื่อให้ข้อมูลอยู่ในรูปแบบที่เป็นประโยชน์มากที่สุด ต่อการนำเครื่องมือมาใช้ ซึ่งได้แก่การจัดกลุ่มข้อมูลหาค่ าทางสถิติที่ซับซ้อน จัดข้อมูลให้ อยู่ในรูปแบบหรือเทมเพลตมาตรฐาน
• Downflow เป็นขั้นตอนของการปรับปรุงเปลี่ยนแปลงข้อมูลที่เก่า และไม่อยู่ในเนื้อหาที่องค์กรสนใจออกไปจากคลังข้อมูลขององค์กร
• Outflow เป็นขั้นที่ผู้ใช้เรียกใช้ข้อมูลในคลังข้อมูลผ่านเครื่องมือต่างๆ โดยการเรียกใช้อาจมีเพียงขอเรียกเป็นครั้งคราวเป็นประจำทุกวัน/เดือน หรือแม้กระทั่งต้องการแบบทันที
• Metafolw ข้อมูลที่จัดเก็บในคลังข้อมูลจะถูกทำข้อมูลไว้อีกชุดหนึ่ง เป็นแหล่งที่มาของข้อมูลนั้น หรือแม้กระทั่งที่อยู่ของข้อมูลนั้นในคลังข้อมูลและข้อมูลอื่นที่เกี่ยวข้อง
การจัดการ Data Warehouse ก็จะเริ่มด้วยการพัฒนาระบบขึ้นมาเสียก่อน เครื่องมือสำหรับช่วยพัฒนา Data Warehouse ก็จะเป็นตัวที่ช่วยสร้างและรักษาอินเตอร์เฟสระหว่างระบบที่ใช้งานปกติกับระบบ Data Warehouse ซอฟต์แวร์สำหรับพัฒนาระบบ Data Warehouse ก็จะรับงานอันซับซ้อนในการสร้าง อินเตอร์เฟส โดยการสร้างโปรแกรมเพื่อ สร้าง จัดการ และดูแลรักษาอินเตอร์เฟสโดยอัตโนมัติ อินเตอร์เฟสที่ว่านี้ เมื่องานการรวบรวมและแปลงข้อมูลทำเสร็จแล้ว ก็ควรจะมีหน้าที่อย่างน้อยดังต่อไปนี้ แปลงข้อมูล , Mapping ข้อมูล, ปรับรูปแบบข้อมูล, คำนวณค่าใหม่, ปรับโครงสร้าง Key ของข้อมูล, สรุปข้อมูล
ปัจจุบันเครื่องเก่ง ๆ ก็มีเพิ่มขึ้นเรื่อย ๆ ซึ่งรวมไปถึงโปรแกรมพวก Spreadsheet อย่าง Lutus 1-2-3 และ Microsoft Access, ระบบฐานข้อมูลบนเครื่องเดสก์ทอป และโปรแกรมที่ทำหน้าที่เป็น Front End สำหรับเข้าถึงข้อมูลเช่น Business Objects, Impromptu, 1Q/Objects และ Forest & Tree เป็นต้น เครื่องมือพวกนี้ทำให้เราสามารถเข้าใช้งานข้อมูลใน Ware House ได้โดยไม่ต้องรู้โครงสร้างภายในของมันเลย หรือไม่รู้ วิธีการเรียกใช้ SQL เลยก็ได้ พวกมันยังสามารถเจาะลึกเข้าไปในข้อมูล หรือก็อปปี้ออกมาเก็บไว้ใน Spread Sheet เพื่อ จะเอามาวิเคราะห์ต่อไป เครื่อง Workstation ทั่วไปสามารถเข้าใช้งานหรือวิเคราะห์ได้อย่างอิสระทั้งข้อมูลที่เป็นราย ละเอียดหรือข้อมูลสรุปสามารถเข้าใช้ได้ที่ระดับนี้เลยเครื่องมือ
สิ่งที่ควรพิจารณาก่อนสร้างคลังข้อมูล
เนื่องจากการลงทุนสร้างคลังข้อมูลขึ้นมาใช้เพื่อสนับสนุนการทำงานขององค์กรนั้นจำเป็นต้องมีค่าใช้ จ่ายในการลงทุนมหาศาล ทั้งนี้สามารถวัดออกมาเป็นตัวเงินได้ เช่น ค่าใช้จ่ายด้านฮาร์ดแวร์ ซอฟต์แวร์ และโครงสร้างพื้นฐานอื่น ๆ ที่จำเป็นต้องใช้ ส่วนค่าใช้จ่ายที่ไม่เป็นตัวเงิน แต่มีความสำคัญอย่างมากได้แก่ กำลังแรงงานที่จะเสียไปของทรัพยากรบุคคลขององค์กรและเวลาที่ใช้ไปกับการพัฒนา ดังนั้น เมื่อองค์กรตัดสินใจสร้างคลังข้อมูลขึ้นแล้ว ควรจะประสบความสำเร็จด้วย ทั้งนี้ Poe ได้เสนอ “8 ประการที่ควรให้ความสนใจ” โดยมีรายละเอียดดังนี้
• ควรมีความชัดเจนในเป้าหมายร่วมของการสร้างระบบนี้ของคนในองค์กร เหมือนการตอบคำถามว่าทำไม คุณถึงคิดจะสร้างคลังข้อมูล ซึ่งคำตอบขององค์กรที่จะได้ คือเป้าหมายที่ต้องการ โดยควรจะเขียนเป้าหมายนี้ออกมาเป็นลายลักษณ์อักษรที่ชัดเจน เพื่อให้ทีมพัฒนาได้เข้าใจเป้าหมายร่วมกัน
• ทำความเข้าใจสถาปัตยกรรมของระบบ เพื่อให้ทีมพัฒนาเข้าใจตรงกัน ในที่นี้หมายถึง blueprint ของระบบ
• เทคโนโลยีที่ใช้ควรอยู่ในวิสัยที่เหมาะสม ทั้งด้านของตัวเงินและความยากง่ายในการเรียนรู้ ทั้งนี้หมายรวมทั้ง ฮาร์ดแวร์ ซอฟต์ แวร์ และเครือข่ าย อาจต้องมีการทดสอบและฝึกอบรมก่อนการใช้งานจริง
• ทีมพัฒนาต้องมีวิสัยทัศน์เชิงบวกในการทำงาน เนื่องจากทีมพัฒนามักมาจากส่วนงานด้านเทคโนโลยีสารสนเทศแต่ในเนื้องานจริงๆแล้ว ผู้ใช้เป็นส่วนขับเคลื่อน ดังนั้นจึงจำเป็นอย่างยิ่งที่จะให้ผู้ใช้เข้ามาร่วมทำงานด้วยตั้งแต่ต้นโครงการ
• ต้องมั่นใจได้ว่าทีมพัฒนาเข้าใจเป็นอย่างดีถึงความแตกต่างกันระหว่างฐานข้อมูลปฏิบัติการและฐานข้อมูลสนับสนุนการตัดสินใจ
• จัดให้มีการฝึกอบรมโดยควรเป็นการฝึกอบรมก่อนเริ่มโครงการ โดยเฉพาะอย่างยิ่งการฝึกอบรมเกี่ยวกับเครื่องมือที่องค์กรจะใช้ในการพัฒนา ทั้งนี้อาจเป็นการฝึกอบรมจากบริษัทผู้ขาย
• ควรหาบุคลากรที่มีประสบการณ์ในการพัฒนาคลังข้อมูลเพื่อทำหน้าที่ป็นผู้จัดการโครงการหรือถ้าในองค์กรไม่เคยมีประสบการณ์เลย อาจจ้างที่ปรึกษาที่มีความเชี่ยวชาญและมีประสบการณ์ด้าน นี้โดยเฉพาะมาช่วยทีมพั ฒนา
• โปรแกรมที่จะใช้นำเสนอข้อมูลในคลังข้อมูลต้องสามารถเรียนรู้ได้ง่ายและผู้ใช้สามารถใช้งานได้อย่างมีประสิทธิภาพ
สรุป
คลังข้อมูลเป็นการรวบรวมข้อมูลจากฐานข้อมูลของระบบงานปฏิบัติงานประจำวันขององค์กร แล้วนำมาแปลงข้อมูลให้อยู่ในรูปแบบที่เหมาะสมในการเก็บและสะดวกในการใช้งาน แล้วจึงนำข้อมูลนั้นเข้าไปเก็บในคลังข้อมูล (Data Warehouse) การพัฒนาหรือสร้างคลังข้อมูลมาใช้ในองค์กรจะต้องมีการพิจารณาถึงองค์ประกอบที่จำเป็นในการสร้างให้เหมาะสมด้วย ทั้งนี้เพื่อให้เกิดความคุ้มค่าในการลงทุนและเกิดประโยชน์สูงสุดต่อองค์กร ถึงแม้ว่าเทคโนโลยีคลังข้อมูล จะให้ประสิทธิภาพในการใช้ข้อมูลอย่างมากก็ตาม แต่สิ่งที่ต้องคำนึงถึงด้วยคือทรัพยากรที่องค์กรจะต้องทุ่มเทลงไปในการพัฒนาระบบ มีทั้งที่สามารถวัดเป็นตัวเงินได้และที่ไม่สามารถตีค่าออกมาเป็นตัวเงินได้
Data Warehouse คืออะไร ?
Data
Warehouse คือ คลังของข้อมูลที่ผ่านกระบวนการสารสนเทศแล้ว และได้รับการออกแบบมาเพื่อจัดเก็บข้อมูลที่ปริมาณมาก
เป็นฐานข้อมูลขนาดใหญ่ที่เก็บรวบรวมข้อมูลจากหลายแหล่งขององค์กรทั้งหมด ตั้งแต่อดีตจนถึงปัจจุบันโดยข้อมูลที่เก็บจะต้องเป็นข้อมูลสารสนเทศ
(Data Information)
Database เหมือนหรือต่างกับ Data Warehouse อย่างไร ?
- Database คือฐานข้อมูลที่ใช้จัดเก็บข้อมูลขององค์กรทั่วไป เช่น ข้อมูลสินค้าก็จะเก็บเฉพาะรายละเอียดของสินค้านั้น ๆ โดยเก็บเป็นหมวดหมู่แยกประเภทเอาไว้ ถ้าข้อมูลพนักงานก็จะเก็บเฉพาะพนักงาน ซึ่งอาจจะมีข้อมูลบางอย่าง ที่เป็นประโยชน์ต่อผู้บริหารในการวิเคราะห์ประสิทธิภาพได้
- Data Warehouse ถูกออกแบบมา เพื่อเก็บรวบรวมข้อมูลในทุกส่วนขององค์กรธุรกิจ ไม่ว่าจะเป็นข้อมูลเก่าและใหม่โดยไม่มีการลบข้อมูลเก่าทิ้งทั้งที่ไม่จริงในปัจจุบันก็ตาม
ส่วนประกอบของ Data Warehouse ?
ระบบ Data Warehouse ไม่ใช่ระบบสำเร็จรูปที่ซื้อมาแกะกล่องก็ใช้งานได้ทันที จำเป็นต้องมีการออกแบบ ขึ้นเพื่อทำการหาความต้องการที่แท้จริงขององค์กร โดยมีหลักคิด ดังนี้
• พิจารณาเครื่องมือที่เหมาะสมเพื่อช่วยออกแบบฐานข้อมูลของ Data Warehouse และโปรแกรมที่จะทำหน้าที่เก็บรวบรวมข้อมูลจากระบบปฏิบัติงานหรือแหล่งข้อมูลอื่น ๆ
• ส่วนที่ทำหน้าที่เป็น Directory ของข้อมูล เพื่ออำนวยความสะดวกแก่ผู้ดูแลระบบหรือผู้ใช้ทั่วไป ให้เข้าใจถึงข้อมูลแต่ละตัวและความหมายของมัน
• ตัวฐานข้อมูลของ Data Warehouse เอง
• ส่วนที่ทำหน้าที่ Data Acquisition ซึ่งก็คือตัวที่ทำ หน้าที่ดับจับ เก็บรวบรวมข้อมูล รักษาความถูกต้อง โอนย้าย หรือแปลงข้อมูลจากแหล่งข้อมูลอื่นให้อยู่ ในรูปแบบที่เหมาะสมก่อนจะเก็บเข้าสู่ Data Warehouse ต่อไป
• ส่วนที่ทำหน้าที่ Data Management สำหรับจัดการ และควบคุมการปฏิบัติงานของ Data Warehouse
• ส่วนที่ทำหน้าที่เข้าถึงข้อมูล จะเป็นส่วนที่ให้บริการแก่ผู้ใช้ที่มีพื้นมาทางธุรกิจ ให้สามารถใช้มันเป็นเครื่องมือช่วยการตัดสินใจได้ ซึ่งแน่นอนว่าต้องการเครื่องมือตัวนี้เพื่อช่วยเขาเข้าถึงและวิเคราะห์ข้อมูล
• ส่วนที่ทำหน้าที่โอนย้ายข้อมูลเป็นส่วนที่ทำหน้าที่ export ข้อมูลภายใน Data Warehouse ออกสู่ภายนอกอาจจะเพื่อจะโอนย้ายไปสู่ระบบ Data Warehouse ระบบอื่น Data Mart หรือระบบอื่น ๆ ทั่วไป
การเคลื่อนที่ของข้อมูลในคลังข้อมูล ?
ข้อมูลที่ จะจัดเก็บภายในคลั งข้อมูลมีการเคลื ่อนที่ของข้อมูล (information flow) 5 ประเภทดังนี้
• Inflow คือการนำข้อมูลจากฐานข้อมูลอื่นเข้าสู่คลังข้อมูลทั้ฐานข้อมูลภายในและภายนอกองค์กร โดยในขั้นนี้อาจมีการเปลี่ยนแปลงโครงสร้างข้อมูล การทำ de-normalizeการลบหรือเพิ่มฟิลด์ เพื่อให้ข้อมู ลทั้งหมดอยู่ในเนื้อหาที่สนใจเดียวกัน ในขั้นตอนนี้อาจใช้เครื่องมือที่เรียกว่า data warehouse tool
• Upflow เมื่อข้อมูลที่เราต้องการอยู่ในคลังข้อมูลแล้วในบางครั้งอาจต้องมีการเพิ่ม คุณค่าให้กับข้อมูลด้วยเพื่อให้ข้อมูลอยู่ในรูปแบบที่เป็นประโยชน์มากที่สุด ต่อการนำเครื่องมือมาใช้ ซึ่งได้แก่การจัดกลุ่มข้อมูลหาค่ าทางสถิติที่ซับซ้อน จัดข้อมูลให้ อยู่ในรูปแบบหรือเทมเพลตมาตรฐาน
• Downflow เป็นขั้นตอนของการปรับปรุงเปลี่ยนแปลงข้อมูลที่เก่า และไม่อยู่ในเนื้อหาที่องค์กรสนใจออกไปจากคลังข้อมูลขององค์กร
• Outflow เป็นขั้นที่ผู้ใช้เรียกใช้ข้อมูลในคลังข้อมูลผ่านเครื่องมือต่างๆ โดยการเรียกใช้อาจมีเพียงขอเรียกเป็นครั้งคราวเป็นประจำทุกวัน/เดือน หรือแม้กระทั่งต้องการแบบทันที
• Metafolw ข้อมูลที่จัดเก็บในคลังข้อมูลจะถูกทำข้อมูลไว้อีกชุดหนึ่ง เป็นแหล่งที่มาของข้อมูลนั้น หรือแม้กระทั่งที่อยู่ของข้อมูลนั้นในคลังข้อมูลและข้อมูลอื่นที่เกี่ยวข้อง
การจัดและการบริหาร Data Warehouse ?
การจัดการ Data Warehouse ก็จะเริ่มด้วยการพัฒนาระบบขึ้นมาเสียก่อน เครื่องมือสำหรับช่วยพัฒนา Data Warehouse ก็จะเป็นตัวที่ช่วยสร้างและรักษาอินเตอร์เฟสระหว่างระบบที่ใช้งานปกติกับระบบ Data Warehouse ซอฟต์แวร์สำหรับพัฒนาระบบ Data Warehouse ก็จะรับงานอันซับซ้อนในการสร้าง อินเตอร์เฟส โดยการสร้างโปรแกรมเพื่อ สร้าง จัดการ และดูแลรักษาอินเตอร์เฟสโดยอัตโนมัติ อินเตอร์เฟสที่ว่านี้ เมื่องานการรวบรวมและแปลงข้อมูลทำเสร็จแล้ว ก็ควรจะมีหน้าที่อย่างน้อยดังต่อไปนี้ แปลงข้อมูล , Mapping ข้อมูล, ปรับรูปแบบข้อมูล, คำนวณค่าใหม่, ปรับโครงสร้าง Key ของข้อมูล, สรุปข้อมูล
การใช้งาน วิเคราะห์และขอรายงาน ?
ปัจจุบันเครื่องเก่ง ๆ ก็มีเพิ่มขึ้นเรื่อย ๆ ซึ่งรวมไปถึงโปรแกรมพวก Spreadsheet อย่าง Lutus 1-2-3 และ Microsoft Access, ระบบฐานข้อมูลบนเครื่องเดสก์ทอป และโปรแกรมที่ทำหน้าที่เป็น Front End สำหรับเข้าถึงข้อมูลเช่น Business Objects, Impromptu, 1Q/Objects และ Forest & Tree เป็นต้น เครื่องมือพวกนี้ทำให้เราสามารถเข้าใช้งานข้อมูลใน Ware House ได้โดยไม่ต้องรู้โครงสร้างภายในของมันเลย หรือไม่รู้ วิธีการเรียกใช้ SQL เลยก็ได้ พวกมันยังสามารถเจาะลึกเข้าไปในข้อมูล หรือก็อปปี้ออกมาเก็บไว้ใน Spread Sheet เพื่อ จะเอามาวิเคราะห์ต่อไป เครื่อง Workstation ทั่วไปสามารถเข้าใช้งานหรือวิเคราะห์ได้อย่างอิสระทั้งข้อมูลที่เป็นราย ละเอียดหรือข้อมูลสรุปสามารถเข้าใช้ได้ที่ระดับนี้เลยเครื่องมือ
สิ่งที่ควรพิจารณาก่อนสร้างคลังข้อมูล
เนื่องจากการลงทุนสร้างคลังข้อมูลขึ้นมาใช้เพื่อสนับสนุนการทำงานขององค์กรนั้นจำเป็นต้องมีค่าใช้ จ่ายในการลงทุนมหาศาล ทั้งนี้สามารถวัดออกมาเป็นตัวเงินได้ เช่น ค่าใช้จ่ายด้านฮาร์ดแวร์ ซอฟต์แวร์ และโครงสร้างพื้นฐานอื่น ๆ ที่จำเป็นต้องใช้ ส่วนค่าใช้จ่ายที่ไม่เป็นตัวเงิน แต่มีความสำคัญอย่างมากได้แก่ กำลังแรงงานที่จะเสียไปของทรัพยากรบุคคลขององค์กรและเวลาที่ใช้ไปกับการพัฒนา ดังนั้น เมื่อองค์กรตัดสินใจสร้างคลังข้อมูลขึ้นแล้ว ควรจะประสบความสำเร็จด้วย ทั้งนี้ Poe ได้เสนอ “8 ประการที่ควรให้ความสนใจ” โดยมีรายละเอียดดังนี้
• ควรมีความชัดเจนในเป้าหมายร่วมของการสร้างระบบนี้ของคนในองค์กร เหมือนการตอบคำถามว่าทำไม คุณถึงคิดจะสร้างคลังข้อมูล ซึ่งคำตอบขององค์กรที่จะได้ คือเป้าหมายที่ต้องการ โดยควรจะเขียนเป้าหมายนี้ออกมาเป็นลายลักษณ์อักษรที่ชัดเจน เพื่อให้ทีมพัฒนาได้เข้าใจเป้าหมายร่วมกัน
• ทำความเข้าใจสถาปัตยกรรมของระบบ เพื่อให้ทีมพัฒนาเข้าใจตรงกัน ในที่นี้หมายถึง blueprint ของระบบ
• เทคโนโลยีที่ใช้ควรอยู่ในวิสัยที่เหมาะสม ทั้งด้านของตัวเงินและความยากง่ายในการเรียนรู้ ทั้งนี้หมายรวมทั้ง ฮาร์ดแวร์ ซอฟต์ แวร์ และเครือข่ าย อาจต้องมีการทดสอบและฝึกอบรมก่อนการใช้งานจริง
• ทีมพัฒนาต้องมีวิสัยทัศน์เชิงบวกในการทำงาน เนื่องจากทีมพัฒนามักมาจากส่วนงานด้านเทคโนโลยีสารสนเทศแต่ในเนื้องานจริงๆแล้ว ผู้ใช้เป็นส่วนขับเคลื่อน ดังนั้นจึงจำเป็นอย่างยิ่งที่จะให้ผู้ใช้เข้ามาร่วมทำงานด้วยตั้งแต่ต้นโครงการ
• ต้องมั่นใจได้ว่าทีมพัฒนาเข้าใจเป็นอย่างดีถึงความแตกต่างกันระหว่างฐานข้อมูลปฏิบัติการและฐานข้อมูลสนับสนุนการตัดสินใจ
• จัดให้มีการฝึกอบรมโดยควรเป็นการฝึกอบรมก่อนเริ่มโครงการ โดยเฉพาะอย่างยิ่งการฝึกอบรมเกี่ยวกับเครื่องมือที่องค์กรจะใช้ในการพัฒนา ทั้งนี้อาจเป็นการฝึกอบรมจากบริษัทผู้ขาย
• ควรหาบุคลากรที่มีประสบการณ์ในการพัฒนาคลังข้อมูลเพื่อทำหน้าที่ป็นผู้จัดการโครงการหรือถ้าในองค์กรไม่เคยมีประสบการณ์เลย อาจจ้างที่ปรึกษาที่มีความเชี่ยวชาญและมีประสบการณ์ด้าน นี้โดยเฉพาะมาช่วยทีมพั ฒนา
• โปรแกรมที่จะใช้นำเสนอข้อมูลในคลังข้อมูลต้องสามารถเรียนรู้ได้ง่ายและผู้ใช้สามารถใช้งานได้อย่างมีประสิทธิภาพ
สรุป
คลังข้อมูลเป็นการรวบรวมข้อมูลจากฐานข้อมูลของระบบงานปฏิบัติงานประจำวันขององค์กร แล้วนำมาแปลงข้อมูลให้อยู่ในรูปแบบที่เหมาะสมในการเก็บและสะดวกในการใช้งาน แล้วจึงนำข้อมูลนั้นเข้าไปเก็บในคลังข้อมูล (Data Warehouse) การพัฒนาหรือสร้างคลังข้อมูลมาใช้ในองค์กรจะต้องมีการพิจารณาถึงองค์ประกอบที่จำเป็นในการสร้างให้เหมาะสมด้วย ทั้งนี้เพื่อให้เกิดความคุ้มค่าในการลงทุนและเกิดประโยชน์สูงสุดต่อองค์กร ถึงแม้ว่าเทคโนโลยีคลังข้อมูล จะให้ประสิทธิภาพในการใช้ข้อมูลอย่างมากก็ตาม แต่สิ่งที่ต้องคำนึงถึงด้วยคือทรัพยากรที่องค์กรจะต้องทุ่มเทลงไปในการพัฒนาระบบ มีทั้งที่สามารถวัดเป็นตัวเงินได้และที่ไม่สามารถตีค่าออกมาเป็นตัวเงินได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น