ในยุคที่คอมพิวเตอร์เริ่มเข้ามามีบทบาทในเกือบทุกวงการ ได้เริ่มมีการนำข้อมูลต่างๆ ที่จากเดิมเคย เก็บอยู่ในรูปเอกสารนำมาจัดเก็บด้วยคอมพิวเตอร์ เนื่องจากความสามารถที่หลากหลายของคอมพิวเตอร์ที่สามารถจัดเก็บข้อมูลได้เป็นจำนวนมาก ประมวลผลได้รวดเร็ว มีความแม่นยำ ในการประมวลผล ซึ่งในช่วงแรกก่อนที่จะเป็นการใช้งานระบบฐานข้อมูลนั้น การจัดเก็บข้อมูลต่างๆ จะอยู่ในลักษณะของแฟ้มข้อมูล ซึ่งการสร้างแฟ้มข้อมูลขึ้นมาเพื่อใช้จัดเก็บข้อมูล จะมีโครงสร้างขึ้นอยู่กับโปรแกรมภาษาคอมพิวเตอร์ที่ใช้ทำให้เกิดข้อจำกัดต่างๆ มากมาย เช่นแฟ้มข้อมูลที่สร้างด้วยภาษาซี จะไม่สามารถนำไปใช้ร่วมกับภาษาปาสคาลได้ เนื่องจากมีโครงสร้างที่แตกต่างกัน หรือขาดความปลอดภัยในการใช้งานต่างๆ ดังนั้นจึงได้มีการสร้างระบบฐานข้อมูลขึ้นมาเพื่อให้การจัดเก็บและจัดการกับข้อมูลทำได้อย่างมีประสิทธิภาพ
รูปที่ 1 แสดงโครงสร้างของแฟ้มข้อมูล
เมื่อกล่าวถึงฐานข้อมูล มีบุคคลจำนวนมากมีส่วนเกี่ยวข้อง และมีส่วนร่วมในการใช้ประโยชน์จากฐานข้อมูลซึ่งในปัจจุบันองค์กรเกือบทุกองค์กรนำเอาฐานข้อมูลมาใช้เพื่ออำนวยความสะดวกให้การทำงานเป็นไปด้วยความรวดเร็ว คล่องตัว หรือเพื่อลดค่าใช้จ่าย เช่น การถอนเงินจากเครื่องฝากถอนเงินอัตโนมัติ การทำบัตรประจำตัวประชาชน ณ ที่ว่าการอำเภอใด ๆ ก็ได้ หรือการซื้อสินค้าจากร้านค้าสะดวกซื้อทั่วไป
1. ข้อมูลสารสนเทศ
สิ่งแรกที่เราต้องรู้ว่าสารสนเทศ คืออะไรและประกอบด้วยอะไร ความหมายตามตัวศัพท์ของสารสนเทศ ก็คือ Information หรือเรียกว่า “ข้อมูลสารสนเทศ” และมีอีกคำที่มักจะสับสน คือคำว่า Data หรือข้อมูล ที่เราใช้กันอย่างติดปาก คำว่าข้อมูล มักจะหมายถึง สิ่งที่มนุษย์เก็บรวบรวมเพื่อนำไปประมวลผล (Computing Process) ต่อเพื่อที่จะได้สื่อใหม่เพื่อนำไปใช้ประโยชน์ (ในแง่ของผู้บริหารก็เพื่อจะนำไปประกอบการตัดสินใจได้อย่างถูกต้อง) พูดง่าย ๆ ว่าข้อมูล (Data) เปรียบเหมือนกับน้ำมันดิบที่ยังไม่ผ่านการกลั่นนั้นเอง ผลจากการกลั่นกรอง หรือการประมวลผล ดังกล่าว ก็คือ ข้อมูลสารสนเทศ ซึ่งแสดงเป็นกระบวนการดังรูปที่ 2
รูปที่ 2 แสดงกระบวนการได้มาซึ่งสารสนเทศ
Information System คือ ระบบที่ประมวลผลข้อมูลดิบ (Data) เพื่อให้ได้มาซึ่งข้อมูลที่ก่อให้เกิดประโยชน์หรือข้อมูลสารสนเทศ (Information) ซึ่งการประมวลผลอาจจะใช้คน แต่ปัจจุบันนิยมใช้คอมพิวเตอร์ จึงเรียกว่า Computer Information System (CIS) ตัวอย่างเช่น
พนักงานขายของบริษัทเทปแห่งหนึ่งได้ทำรายงานยอดขายซีดีเพลงให้แก่ผู้บริหาร เพื่อให้ผู้บริหารใช้ในการตัดสินใจในการวางแผนการขาย โดยเป็นข้อมูลดิบดังตารางที่ 1
ตารางที่ 1 รายงานข้อมูลยอดขายซีดีเพลง
รหัสลูกค้าชื่อลูกค้ารหัสอัลบัมชื่ออัลบัมจำนวนวันที่ซื้อ11002200
4600
6700
4300
8700
4500
6800สมศักดิ์
วิไล
อรัญญา
วิลลี่
ธงชัย
ใหม่
มนต์สิทธิ์
เจ622
633
855
855
996
750
553
996เพลงร็อค
เพลงร็อค Vol 2
เพลงไทยสากล
เพลงไทยสากล
เพลงฮาร์ดร็อค
เพลงคันทรี่
เพลงบรรเลง
เพลงฮาร์ดร็อค2
3
1
2
1
4
2
301/02/96
10/02/96
07/03/96
10/03/96
11/03/96
01/04/96
12/04/96
14/05/96
จากข้อมูลดิบในตารางที่ 1 จะเห็นได้ว่าไม่มีประโยชน์ต่อการขาย ไม่สามารถนำข้อมูลมาช่วยในการตัดสินใจในการวางแผนการขายได้ จึงต้องมีการนำข้อมูลไปประมวลผลก่อน จากตารางด้านล่าง จะเห็นได้ว่าเป็นข้อมูลสารสนเทศมากขึ้น โดยจะบอกรายละเอียดเกี่ยวกับอัลบั้มเพลงร็อคทั้งหมด และเรียงลำดับการสั่งซื้อจากน้อยไปมาก
ตารางที่ 2 รายงานยอดขายซีดีเพลงที่เป็นข้อมูลสารสนเทศ
รหัสลูกค้าชื่อลูกค้ารหัสอัลบัมชื่ออัลบัมจำนวนวันที่ซื้อ43001100
2200
6800ธงชัย
สมศักดิ์
วิไล
เจ996
622
855
996เพลงฮาร์ดร็อค
เพลงร็อค
เพลงร็อค Vol 2
เพลงฮาร์ดร็อค1
2
3
311/03/96
01/02/96
10/02/96
14/05/96
จะเห็นว่า พนักงานขายท่านนี้ สามารถกลั่นกรองข้อมูลดิบ ให้เป็นสารสนเทศ เพื่อใช้ในการตัดสินใจของผู้บริหาร และช่วยให้ผู้บริหารของเขาสามารถประหยัดเวลาในการตัดส่วนที่ไม่ใช้ออกด้วยตัวเขาเอง นอกจากนี้ อาจจะสามารถนำเสนอด้วยวิธีอื่นๆ อาจทำการประมวลผลข้อมูลลักษณะอื่น ๆ เพื่อช่วยส่งเสริมการตัดสินใจ เช่น แสดงในรูปแบบกราฟ ดังรูปที่ 3 และ 4
รูปที่ 3 กราฟแสดงจำนวนการซื้ออัลบั้มเพลงร็อคจำแนกตามอายุ
รูปที่ 4 กราฟแสดงจำนวนการซื้ออัลบั้มเพลงร็อคจำแนกภูมิภาค
ระบบสารสนเทศ จึงเป็นเป็นระบบจัดการข้อมูลสารสนเทศต่างๆ เพื่อให้เกิดประโยชน์ ต่อระบบอื่นๆที่ต้องใช้ข้อมูลเหล่านั้น โดยเฉพาะระบบธุรกิจ ที่ต้องใช้ตัวเลข ข่าวสาร ข้อมูลในการประกอบธุรกิจ เช่น ระบบแจ้งหนี้ลูกค้า ระบบบัญชีต่าง ๆ ดังนั้นหน้าที่หลักของระบบสารสนเทศก็น่าจะเป็นการแปลง ข้อมูลจำนวนมากให้เป็นสารสนเทศที่มีประโยชน์
ระบบสารสนเทศอาจจะใช้คอมพิวเตอร์ หรือไม่ใช้ก็ได้ แล้วแต่ละองค์กร แต่เนื่องจากเหตุผลของความ รวดเร็วและแม่นยำ ระบบสารสนเทศส่วนใหญ่จะอยู่บนเครื่องคอมพิวเตอร์
สำหรับสื่อที่ใช้ในการจัดเก็บข้อมูลและเครื่องมือการประมวลผล อาจจะใช้กระดาษเป็นสื่อ โดยประมวลผลด้วยคน หรือเก็บในลักษณะที่เป็น Electronic ที่ประมวลผลด้วยคอมพิวเตอร์ เป็นต้น
2. วิวัฒนาการของระบบสารสนเทศ
มนุษย์เริ่มคิดค้นวิธีการเก็บรวบรวมข้อมูลดิบต่างๆเข้าด้วยกันโดยขบวนการต่างๆ เช่น การบันทึกไว้ที่ผนังถ้ำ ใบลาน กระดาษ Electronic file หรือ ระบบฐานข้อมูล เป็นต้น โดยในระยะเริ่มแรกมีการเก็บรวบรวมในแฟ้มข้อมูล ระบบสารสนเทศรุ่นแรกๆ มักจะเป็นการเก็บในรูปแฟ้มเอกสาร ที่แยกเป็นหมวดหมู่โดยมีพนักงานรับผิดชอบกับข้อมูลนั้นๆ ต่อมาได้มีการคิดค้นเครื่องคอมพิวเตอร์ขึ้นเพื่อช่วยในการประมวลผลที่รวดเร็วแม่นยำ ทำให้ระบบ สารสนเทศสมัยใหม่เริ่มเกิดขึ้นนับแต่นั้นเป็นต้นมา เนื่องด้วยความสามารถที่สูงมากในการประมวลผลของคอมพิวเตอร์ทำให้การเก็บรวบรวมและการประมวลผลโดยใช้คอมพิวเตอร์ สามารถสร้างระบบสารสนเทศสมัยใหม่ที่มีประสิทธิภาพ
ในชีวิตประจำวัน มนุษย์ มีการติดต่อสื่อสารกันในรูปแบบของสื่อมัลติมิเดีย (Multimedia) ตลอดเวลา “ข้อมูลสารสนเทศ” จึงมีความแตกต่างไป จากที่เราคุ้นเคย กล่าวคือ ข้อมูลไม่ใช่เป็นแต่เฉพาะตัวหนังสือ (Text) แต่ยังรวมไปถึงข้อมูลในรูปแบบของ มัลติมิเดีย (Multimedia) ทุกรูปแบบอีกด้วย และข้อมูลสารสนเทศก็ไม่ใช่เฉพาะในคอมพิวเตอร์เท่านั้น ปัจจุบันข้อมูลสารสนเทศอยู่ทุกหนทุกแห่ง ตัวอย่างที่เห็นชัดของชีวิตประจำวันคือ เริ่มกันตั้งแต่เราตอกบัตรลงเวลาในเครื่องลงเวลาตอนเช้าเดินเลยไปที่โต๊ะทำงานเปิดเครื่องคอมพิวเตอร์ตรวจจดหมายอิเล็กทรอนิกส์ (E-mail) ภายในองค์กร (Intranet Mail) หรือ Voice Mail ในระบบโทรศัพท์รุ่นใหม่ ตลอดจนการซื้อสินค้าที่มีการใช้แถบบาร์โค้ด (Barcode) ที่เราคุ้นเคยกันเมื่อต้องจ่ายสตางค์ พนักงานขายเพียงนำสินค้าลากผ่านเครื่องอ่าน หรือระบบ EDI (Electronic Data Interchange) ซึ่งเป็นมาตรฐานสากลสำหรับการแลกเปลี่ยนข้อมูล การซื้อของทั่วโลกผ่านระบบเครือข่ายอินเตอร์เน็ต จะเห็นได้ว่าปัจจุบันมนุษย์ ได้นำเอาเทคโนโลยีสมัยใหม่มาปรับปรุงข้อมูลสารสนเทศให้สามารถเกิดประโยชน์อย่างเอกอนันต์ เพื่อทีจะบรรจุข้อมูลสารสนเทศเหล่านี้ลงในระบบสารสนเทศรุ่นใหม่
ดังนั้นอาจจะสรุป ระบบสารสนเทศรุ่นใหม่จะไม่อยู่ในวงแคบเหมือนสมัยก่อนที่มักจะมีแต่ตัวอักษรบนกระดาษอีกต่อไป ทำให้วิทยาการด้านนี้มีการพัฒนาการที่รวดเร็วตามกระแสความต้องการ หัวใจหลักของระบบสารสนเทศรุ่นใหม่ดังกล่าวคือ ระบบฐานข้อมูลที่เก็บข้อมูลทั้งหมดไว้ และมีระบบจัดการข้อมูลเหล่านั้นอย่างมีประสิทธิภาพ ดังนั้นศาสตร์การเรียนรู้เกี่ยวกับ การจัดการฐานข้อมูลจึงเป็นสิ่ง จำเป็นอย่างยิ่งในยุคโลกาภิวัฒน์นี้
ลักษณะของสารสนเทศที่ดี จำแนกได้เป็น 5 ลักษณะ ได้แก่
- ความเป็นปัจจุบัน (Current) ข้อมูลปรับเปลี่ยนไปเรื่อย ๆ มีความทันสมัย เช่น เกรดนักศึกษา
- ทันเวลา (Timely) มีคุณค่าทางเวลามาเกี่ยวข้อง ถ้าไม่ได้สารสนเทศในเวลาที่ต้องการ อาจจะ เกิดการสูญเสียโอกาสได้
- ความเที่ยงตรง (Relevant) ข้อที่ได้ต้องมีความสมบูรณ์ ถูกต้อง
- ความคงที่ (Consistent) ข้อมูลที่เก็บไว้หลาย ๆ ที่ อาจไม่ตรงกัน ขัดแย้งกัน สารสนเทศที่ดีต้อง ไม่มีความขัดแย้งกัน หรือขัดแย้งกันน้อยที่สุด
นำเสนอรูปแบบที่มีประโยชน์ (Present in usable form) มีรูปแบบในการนำเสนอที่เข้าใจง่าย เหมาะสม
3. ระบบแฟ้มข้อมูล (Electronic file or File system)
ในอดีตได้มีการใช้ระบบแฟ้มข้อมูลอย่างกว้างขวาง โดยที่แฟ้มข้อมูลแต่ละแฟ้มจะประกอบด้วยกลุ่มของระเบียน (Records) ที่มีรูปแบบ (Format) เหมือนกัน และแต่ละระเบียนจะเก็บข้อมูลที่แทนของอย่างหนึ่ง (An instance or occurrence) ในกลุ่มของของที่จัดเก็บนั้น ตัวอย่างเช่น แฟ้มข้อมูลลูกค้า (Customer file) หนึ่งระเบียนของแฟ้ม จะเป็นข้อมูลของลูกค้า 1 คน (One instance) เป็นต้น การจัดการโดยระบบแฟ้มข้อมูลส่วนใหญ่จะถูกใช้งานเฉพาะเพียงอย่างใดอย่างหนึ่งเท่านั้น ถ้าเรามีงานอย่างอื่นที่ต้องการใช้ข้อมูลคล้ายกัน แต่ในรูปแบบที่ต่างกัน ข้อมูลบางส่วนที่ซ้ำกันนี้จะถูกจัดเก็บในอีกแฟ้มข้อมูลอื่นต่างหาก ในการจัดการข้อมูลลักษณะเช่นนี้ทำให้เกิดปัญหาความซ้ำซ้อน (Redundancy) ของข้อมูล อันก่อให้เกิดความยุ่งยากในการจัดการให้มีข้อมูลที่ถูกแทนสิ่งเดียวกัน ถูกต้องตรงกันในทุก ๆ แฟ้มข้อมูล
หน่วยในการจัดเก็บข้อมูล
ข้อมูลที่จัดเก็บในคอมพิวเตอร์ โดยแท้จริงแล้วมีลักษณะการจัดเก็บเป็นสัญญาณดิจิตอล คือมีค่า 0 กับ 1 เท่านั้น แต่เพื่อให้มองภาพข้อมูลได้ง่าย จึงแบ่งหน่วยในการจัดเก็บข้อมูลออกเป็นส่วนย่อย ต่างๆ ดังนี้
- บิต (Bit) คือหน่วยของข้อมูลที่เล็กที่สุด คือการจัดเก็บข้อมูลที่มีอยู่เพียง 2 สถานะ คือ 0 กับ 1 ซึ่งเป็น ลักษณะการทำงานของคอมพิวเตอร์ที่ทำงานด้วยระดับสัญญาณดิจิตอล
- ไบต์ (Byte) คือหน่วยของข้อมูลซึ่งเกิดจากการนำข้อมูล 8 บิตมารวมกัน โดยใช้ แทน ตัวอักขระ 1 ตัว
- เขตข้อมูล (Field) หรือฟิลด์ คือหน่วยของข้อมูลซึ่งเกิดจากการนำข้อมูลหลายๆ ไบต์ หรือหลายๆ อักขระมารวม กัน เพื่อใช้แทนความหมายของสิ่งใดสิ่งหนึ่ง เช่น รหัสนักศึกษา, ชื่อ, ที่อยู่ เป็นต้น
- ระเบียน (Record) หรือ เรคคอร์ด คือหน่วยของข้อมูลซึ่งเกิดจากการนำข้อมูล หลายๆ เขตข้อมูลมารวมกัน ซึ่งเขตข้อมูล ที่นำมารวมกันนี้ จะมีความสัมพันธ์เกี่ยวเนื่องกัน เช่น รหัสนักศึกษา, ชื่อ, ที่อยู่ รวมกันเป็นระเบียนข้อมูล ของนักศึกษา เป็นต
- แฟ้มข้อมูล (File) หรือไฟล์ คือ หน่วยของข้อมูลซึ่งเกิดจากการนำข้อมูลหลายๆ ระเบียน ที่มีลักษณะ ของเขต ข้อมูลเหมือนกันมาจัดเก็บรวมกัน เช่นการจัดเก็บข้อมูลระเบียนของนักศึกษา หลายๆ คน รวมกันเป็น แฟ้มข้อมูลนักศึกษาเป็นต้น ซึ่งข้อมูลแต่ละระเบียนที่นำมารวมกันจะต้องมี เขตข้อมูล อย่างน้อย 1 เขต ข้อมูลที่แยกความแตกต่างของข้อมูลในแต่ละระเบียนได้หลายๆ คน รวมกันเป็น แฟ้มข้อมูลนักศึกษา เป็นต้น ซึ่งข้อมูลแต่ละระเบียนที่นำมารวมกันจะต้องมี เขตข้อมูล อย่างน้อย 1 เขต ข้อมูลที่แยกความแตกต่างของข้อมูลในแต่ละระเบียนได้ ตัวอย่างของหน่วยข้อมูลต่างๆ แสดงดังรูปที่ 5
รูปที่ 5 หน่วยข้อมูลต่างๆ
ในยุคเริ่มแรกของการนำคอมพิวเตอร์มาใช้เพื่อจัดเก็บข้อมูล จะใช้ระบบแฟ้มข้อมูล ซึ่งแฟ้ม ข้อมูลแต่ละแฟ้มมักจะถูกสร้างตามภาษาคอมพิวเตอร์ที่โปรแกรมเมอร์ใช้ในการเขียนโปรแกรม เช่น หาก โปรแกรมเมอร์ใช้ภาษาซี ในการเขียนโปรแกรม แฟ้มข้อมูลที่ถูกสร้างก็จะมีโครงสร้าง ของแฟ้ม ข้อมูล ตามโครงสร้าง ที่ภาษาซีกำหนดไว้ ตัวอย่างการใช้งานแฟ้มข้อมูลแสดงดังรูปที่ 6
รูปที่ 6 การใช้งานระบบแฟ้มข้อมูล
จากรูปที่ 6 จะเห็นได้ว่าแผนกบุคคล และแผนกบัญชี ได้มีการพัฒนาโปรแกรมขึ้นใช้งานในแผนกของตนเอง โดยแผนกบุคคลใช้ภาษาซีเขียนโปรแกรมบริหารงานบุคลากร ซึ่งจะใช้งานแฟ้ม ข้อมูลบุคลากร และแผนกบัญชีใช้ ภาษาปาสคาลเขียนโปรแกรมจัดการเงินเดือน ซึ่งต้องใช้แฟ้มข้อมูล 2 แฟ้มคือ แฟ้มข้อมูลบุคลากร และแฟ้มข้อมูลการทำงาน จากรูปจะเห็นว่ามีการจัดเก็บข้อมูลบุคลากร ซ้ำซ้อนกัน เนื่องจากทั้งสองแผนก ไม่สามารถนำข้อมูลบุคลากรมาใช้ร่วมกันได้ เพราะโครงสร้างของ แฟ้มข้อมูลต่างกัน
ปัญหาของระบบแฟ้มข้อมูล มีดังต่อไปนี้
1) Data redundancy ได้แก่ข้อมูลซ้ำซ้อนกัน ข้อมูลชุดเดียวกันถูกจัดเก็บใน 2 แฟ้มหรือมากกว่า ซึ่งการจะดูว่าข้อมูลซ้ำซ้อนกันหรือไม่ ให้พิจารณาจากตัวอย่างต่อไปนี้ fact หมายถึง ความสัมพันธ์ระหว่างข้อมูลที่เป็นไปได้หรือเป็นจริง เช่น
ลำใย สำเร็จการศึกษาสาขาเทคโนโลยีสารสนเทศ
ลำใย เป็นโปรแกรมเมอร์
ลำไย มีงานอดิเรกในการร้องเพลง
ข้อความทั้งหมดที่ยกมานี้ไม่ถือว่าซ้ำซ้อนกัน เพราะเป็นคนละ fact กัน
Redundancy หมายถึง fact ที่ปรากฏมากกว่า 1 ครั้ง หรือถูกเก็บไว้มากกว่า 1 ครั้ง
ยกตัวอย่างเช่น เก็บชื่อ ตำแหน่ง และแผนกไว้ในตารางพนักงานและตารางโครงการถือว่าซ้ำซ้อนกัน ฐานข้อมูลแบบตารางจะมีความซ้ำซ้อนของข้อมูลเกิดขึ้นได้ 3 แบบ ดังนี้
1.1 ความซ้ำซ้อนระหว่างตาราง (Inter relation redundancy)
1.2 ความซ้ำซ้อนภายในตารางเดียวกัน (Intra relation redundancy)
1.3 ความซ้ำซ้อนบน row เดียวกัน (Intra row redundancy)
ข้อเสีย ของความซ้ำซ้อน คือ
– เปลืองเนื้อที่ในการจัดเก็บ
– เพิ่มค่าใช้จ่ายในการนำเข้าข้อมูล
– จะต้องตามแก้ไขข้อมูลทุกที่ เมื่อข้อมูลมีการเปลี่ยนแปลง
– การเชื่อมตารางจะใช้ทรัพยากรมาก และช้า
ข้อดี
– การทำ query report จะเร็วขึ้น
2) Data inconsistency เป็นผลมากจาก Data redundancy คือ ข้อมูลชุดเดียวกันมีค่าต่างกัน ทำให้ไม่ทราบว่าข้อมูลชุดใดคือข้อมูลที่ถูกต้อง
3) Data anomaly เป็นผลมาจาก Data redundancy เช่นกัน ทำให้การเพิ่ม ลบ หรือ เปลี่ยนแปลงข้อมูลชุดเดียวกันในแฟ้มข้อมูลต่าง ๆ ไม่ครบถ้วน ซึ่งเกิดใน 3 ลักษณะ ดังนี้
3.1) Modification anomaly เป็นการเปลี่ยนแปลงค่าของข้อมูลในแฟ้มข้อมูลต่าง ๆ ที่ สัมพันธ์กันไม่ครบถ้วน เช่น เปลี่ยนชื่อ “ดวงใจ” ไปเป็น “ดวงพร” ในแฟ้มข้อมูล Employee โดยไม่เปลี่ยนชื่อของพนักงานคนเดียวกันในแฟ้ม Salesman จะส่งผลให้ “ดวงพร” และ “ดวงใจ” ไม่ใช่คนเดียวกันเมื่อทำการเรียกข้อมูลมาดู เป็นต้น
3.2) Insertion anomaly เป็นการกำหนดข้อมูลเพิ่มเติมให้กับแฟ้มข้อมูลต่าง ๆ ที่สัมพันธ์กันไม่ ครบถ้วน เช่น มีการเพิ่มข้อมูลพนักงานขายคนใหม่ชื่อ “สมบูรณ์” เฉพาะแฟ้มข้อมูล Salesman โดยไม่ได้เพิ่มข้อมูลลงในแฟ้มข้อมูล Employee เป็นต้น 3.3) Deletion anomaly เป็นการลบข้อมูลจากแฟ้มข้อมูลต่าง ๆ ที่สัมพันธ์กันไม่ครบถ้วน เช่น กรณีที่พนักงานชื่อ “ขจรศรี” ลาออกแล้ว มีการลบข้อมูลของพนักงานคนนั้นเฉพาะแฟ้มข้อมูลพนักงาน โดยไม่ได้ลบข้อมูลของพนักงานคนเดียวกันในแฟ้มข้อมูลพนักงานขาย เป็นต้น
4. ระบบฐานข้อมูล (Database System)
ฐานข้อมูลมาจากคำศัพท์ 2 คำ คือ ฐาน และข้อมูล พจนานุกรมฉบับราชบัณฑิตยสถานพุทธศักราช 2542 (2542:392) ได้อธิบายว่า
ฐาน หมายถึง ที่ตั้ง ที่รองรับ
ข้อมูล หมายถึง ข้อเท็จจริง หรือสิ่งที่ถือหรือยอมรับว่าเป็นข้อเท็จจริง สำหรับใช้เป็นหลักอนุมานหาความจริงหรือการคำนวณ
จากความหมายดังกล่าวสรุปได้ว่า ฐานข้อมูล (Database) คือ การรวบรวมและจัดเก็บชุดของข้อมูลที่มีความสัมพันธ์กันมาไว้ด้วยกันอย่างเป็นระบบ เพื่อให้ผู้ใช้สามารถเรียกใช้ข้อมูลเหล่านั้นร่วมกันได้อย่างรวดเร็วและมีประสิทธิภาพ
ระบบฐานข้อมูล (Database Systems) หมายถึง กลุ่มของข้อมูลที่ถูกเก็บรวบรวมไว้ โดยมีความสัมพันธ์ซึ่งกันและกัน โดยไม่ได้บังคับว่าข้อมูลทั้งหมดนี้จะต้องเก็บไว้ในแฟ้มข้อมูลเดียวกันหรือแยกเก็บหลาย ๆ แฟ้มข้อมูล นั่นก็คือการเก็บข้อมูลในฐานข้อมูลนั้นเราอาจจะเก็บทั้งฐานข้อมูล โดยใช้แฟ้มข้อมูลเพียงแฟ้มข้อมูลเดียวกันได้ หรือจะเก็บไว้ในหลาย ๆ แฟ้มข้อมูล ที่สำคัญคือจะต้องสร้างความสัมพันธ์ระหว่างระเบียนและเรียกใช้ความสัมพันธ์นั้นได้ มีการกำจัดความซ้ำซ้อนของข้อมูลออกและเก็บแฟ้มข้อมูลเหล่านี้ไว้ที่ศูนย์กลาง เพื่อที่จะนำข้อมูลเหล่านี้มาใช้ร่วมกัน ควบคุมดูแลรักษาเมื่อผู้ต้องการใช้งานและผู้มีสิทธิ์จะใช้ข้อมูลนั้นสามารถดึงข้อมูลที่ต้องการออกไปใช้ได้ ข้อมูลบางส่วนอาจใช้ร่วมกับผู้อื่นได้ แต่บางส่วนผู้มีสิทธิ์เท่านั้นจึงจะสามารถใช้ได้ โดยทั่วไปองค์กรต่าง ๆ จะสร้างฐานข้อมูลไว้ เพื่อเก็บข้อมูลต่าง ๆ ขององค์กร โดยเฉพาะอย่างยิ่งข้อมูลในเชิงธุรกิจ เช่น ข้อมูลของลูกค้า ข้อมูลของสินค้า ข้อมูลของลูกจ้าง และการจ้างงาน เป็นต้น
ระบบฐานข้อมูลมีความซับซ้อน การควบคุมดูแลการใช้ฐานข้อมูล เป็นเรื่องที่ยุ่งยากกว่าการใช้แฟ้มข้อมูลมาก เพราะเราจะต้องตัดสินใจว่าโครงสร้างในการจัดเก็บข้อมูลควรจะเป็นเช่นไร การเขียนโปรแกรมเพื่อสร้างและเรียกใช้ข้อมูลจากโครงสร้างเหล่านี้ ถ้าโปรแกรมเหล่านี้เกิดทำงานผิดพลาดขึ้นมา ก็จะเกิดความเสียหายต่อโครงสร้างของข้อมูลทั้งหมดได้ เพื่อเป็นการลดภาระการทำงานของผู้ใช้ จึงได้มีส่วนของฮาร์ดแวร์และโปรแกรมต่าง ๆ ที่สามารถเข้าถึงและจัดการข้อมูลในฐานข้อมูลนั้น เรียกว่า ระบบจัดการฐานข้อมูล หรือDBMS (Database Management Systems) ระบบจัดการฐานข้อมูล คือ ซอฟต์แวร์ที่เปรียบเสมือนสื่อกลางระหว่างผู้ใช้และโปรแกรมต่าง ๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูล ซึ่งมีหน้าที่ช่วยให้ผู้ใช้เข้าถึงข้อมูลได้ง่ายสะดวกและมีประสิทธิภาพ การเข้าถึงข้อมูลของผู้ใช้อาจเป็นการสร้างฐานข้อมูล การแก้ไขฐานข้อมูล หรือการตั้งคำถามเพื่อให้ข้อมูลมา โดยผู้ใช้ไม่จำเป็นต้องรับรู้เกี่ยวกับรายละเอียดภายในโครงสร้างของฐานข้อมูล เปรียบเสมือนเป็นสื่อกลางระหว่างผู้ใช้และโปรแกรมต่าง ๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูล
ระบบฐานข้อมูล จึงนับว่าเป็นการจัดเก็บข้อมูลอย่างเป็นระบบ ซึ่งผู้ใช้สามารถจัดการกับข้อมูลได้ในลักษณะต่าง ๆ ทั้งการเพิ่ม การแก้ไข การลบ ตลอดจนการเรียกดูข้อมูล ซึ่งส่วนใหญ่จะเป็นการประยุกต์นำเอาระบบคอมพิวเตอร์เข้ามาช่วยในการจัดการฐานข้อมูล
5. ประวัติความเป็นมาของฐานข้อมูล
ฐานข้อมูลในลักษณะที่คล้ายกับฐานข้อมูลสมัยใหม่ ถูกพัฒนาเป็นครั้งแรกในทศวรรษ 1960 ซึ่งผู้บุกเบิกในสาขานี้คือ ชาลส์ บากแมน แบบจำลองข้อมูลสำคัญสองแบบเกิดขึ้นในช่วงเวลานี้ ซึ่งเริ่มต้นด้วย แบบจำลองข่ายงาน (พัฒนาโดย CODASYL) และตามด้วยแบบจำลองเชิงลำดับชั้น (นำไปปฏิบัติใน IMS) แบบจำลองทั้งสองแบบนี้ ในภายหลังถูกแทนที่ด้วย แบบจำลองเชิงสัมพันธ์ ซึ่งอยู่ร่วมสมัยกับแบบจำลองอีกสองแบบ แบบจำลองแบบแรกเรียกกันว่า แบบจำลองแบนราบ ซึ่งออกแบบสำหรับงานที่มีขนาดเล็กมาก ๆ แบบจำลองร่วมสมัยกับแบบจำลองเชิงสัมพันธ์อีกแบบ คือ ฐานข้อมูลเชิงวัตถุ หรือ โอโอดีบี3 (OODB)
ในขณะที่แบบจำลองเชิงสัมพันธ์ มีพื้นฐานมาจากทฤษฎีเซต ได้มีการเสนอแบบจำลองดัดแปลงซึ่งใช้ทฤษฎีเซตคลุมเครือ (ซึ่งมีพื้นฐานมาจากตรรกะคลุมเครือ) ขึ้นเป็นอีกทางเลือกหนึ่ง
ปัจจุบันมีการกล่าวถึงมาตรฐานโครงสร้างฐานข้อมูล เพื่อให้สามารถเชื่อมโยงฐานข้อมูลต่างระบบ ให้สืบค้นรวมกันเสมือนเป็นฐานข้อมูลเดียวกัน และการสืบค้นต้องแสดงผลตรงตามคำถาม มาตรฐานดังกล่าวได้แก่ XML RDF Dublin Core Metadata เป็นต้น และสิ่งสำคัญอีกประการหนึ่งที่จะช่วยให้การแลกเปลี่ยนข้อมูลระหว่างต่างหน่วยงานได้ดี คือการใช้ Taxonomy และ อรรถาภิธาน ซึ่งเป็นเครื่องมือสำหรับจัดการความรู้ในลักษณะศัพท์ควบคุม เพื่อจำกัดความหมายของคำที่ใช้ได้หลายคำในความหมายเดียวกัน
6. ปัญหาของการจัดการข้อมูลในอดีต
ข้อมูลที่จัดเก็บเป็นเอกสารหรือการจัดเก็บด้วยระบบฐานข้อมูลที่ใช้ ภาษาคอมพิวเตอร์ในการเขียนชุดคำสั่ง เริ่มมีการเขียนด้วยภาษาในยุคที่ 3 เช่น ภาษาฟอร์เทรน ภาษาโคบอล ภาษาซี เป็นต้น กระบวนการเขียนโปรแกรมชุดคำสั่งจะต้องเขียนโดยการใช้โครงสร้างข้อมูล การสร้างแฟ้ม แทรกข้อมูล แก้ไขหรือปรับปรุงข้อมูล อาจเกิดปัญหาหลาย ๆ อย่าง ปัญหาเหล่านั้นได้แก่ ความยุ่งยากจากการประมวลผลกับระบบแฟ้มข้อมูล แฟ้มข้อมูลไม่มีความอิสระ แฟ้มข้อมูลมีความซ้ำซ้อนกันมาก แฟ้มข้อมูลมีความถูกต้องของข้อมูลน้อย แฟ้มข้อมูลมีความปลอดภัยน้อย และไม่มีการควบคุมจากศูนย์กลาง เป็นต้น รายละเอียด มีดังนี้
- ความยุ่งยากจากการประมวลผลกับระบบแฟ้มข้อมูลการดำเนินงานกับแฟ้มข้อมูลในระบบคอมพิวเตอร์นั้นจำเป็นจะต้องเขียนคำสั่งต่างๆ ในโปรแกรมเพื่อสร้างแฟ้มข้อมูล ใช้แฟ้มข้อมูล และปรับปรุงแฟ้มข้อมูลให้เป็นปัจจุบัน รูปแบบของคำสั่งเหล่านี้ถูกกำหนดไว้ในภาษาคอมพิวเตอร์ต่างๆ แล้ว ชุดคำสั่งของโปรแกรมต้องเขียนให้สอดคล้องกับข้อกำหนดของภาษา เช่น ถ้าภาษาคอมพิวเตอร์ที่ใช้กำหนดว่าจะต้องระบุชื่อแฟ้มข้อมูลในโปรแกรม ผู้เขียนโปรแกรมต้องปฏิบัติตามอย่างเคร่งครัด การใช้แฟ้มข้อมูลในแบบนี้ มีลักษณะจำกัด คือ ต้องระบุรายละเอียดของแฟ้ม วิธีการจัดแฟ้มข้อมูล และรายละเอียดของระเบียนที่อยู่ในแฟ้มเอาไว้ในโปรแกรมอย่างครบถ้วน หากกำหนดรายละเอียดผิดไปหรือกำหนดไม่ครบ ทำให้โปรแกรมทำงานผิดพลาดได้
- แฟ้มข้อมูลไม่มีความเป็นอิสระ ในระบบแฟ้มข้อมูลถ้ามีการแก้ไขโครงสร้างข้อมูลใหม่ ย่อมส่งผลกระทบถึงคำสั่งที่ได้เขียนเอาไว้ก่อนหน้านี้ด้วย เนื่องจากการเรียกใช้ข้อมูลที่เก็บอยู่ในระบบแฟ้มข้อมูล ต้องใช้โปรแกรมที่เขียนขึ้นมาเพื่อเรียกข้อมูลในแฟ้มข้อมูลโดยตรงเช่น เมื่อถ้าต้องการรายชื่อผู้บริจาคโลหิตหมู่โลหิตA- ที่อยู่ในเขตจังหวัดสงขลา โปรแกรมเมอร์ต้องเขียนคำสั่งเพื่ออ่านข้อมูลจากแฟ้มข้อมูลผู้บริจาคโลหิตและพิมพ์รายงานที่แสดงเฉพาะข้อมูลที่ตรงตามเงื่อนไขที่กำหนด กรณีที่มีการเปลี่ยนแปลงโครงสร้างของแฟ้มข้อมูล เช่น เขตข้อมูลที่อยู่ จากเดิมมีเป็นกลุ่มข้อมูล ถ้าแยกเขตข้อมูลใหม่เป็น บ้านเลขที่ หมู่ที่ ตำบล อำเภอ จังหวัด ดังตารางที่ 3
ตารางที่ 3 แฟ้มข้อมูลไม่มีความเป็นอิสระ
ทำให้ชุดคำสั่งนั้นทำงานผิดพลาด หรือไม่สามารถทำงานได้ตามความประสงค์ วิธีแก้ไขคือต้องมีการเปลี่ยนชุดคำสั่งในโปรแกรมให้เป็นไปตามโครงสร้างที่เปลี่ยนใหม่ ลักษณะการเกิดเหตุการณ์แบบนี้เรียกว่าข้อมูลและโปรแกรมไม่เป็นอิสระต่อกัน
- แฟ้มข้อมูลมีความซ้ำซ้อนมากเนื่องจากการใช้งานระบบฐานข้อมูลนั้นต้องมีการออกแบบฐานข้อมูลเพื่อให้มีความซ้ำซ้อนของข้อมูลน้อยที่สุด จุดประสงค์หลักของการออกแบบฐานข้อมูลเพื่อการลดความซ้ำซ้อนนั่นเองสาเหตุที่ต้องลดความซ้ำซ้อน เนื่องจากความยากในการปรับปรุงข้อมูล กล่าวคือถ้าเก็บข้อมูลซ้ำซ้อนกันหลายแห่ง เมื่อมีการปรับปรุงข้อมูลแล้วปรับปรุงข้อมูลไม่ครบทำให้ข้อมูลเกิดความขัดแย้งกันของข้อมูลตามมา และยังเปลืองเนื้อที่การจัดเก็บข้อมูลด้วย เนื่องจากข้อมูลชุดเดียวกันจัดเก็บซ้ำกันหลายแห่งนั่นเอง ถึงแม้ว่าความซ้ำซ้อนช่วยให้ออกรายงานและตอบคำถามได้เร็วขึ้น แต่ความซ้ำซ้อนทำให้ข้อมูลมีความขัดแย้งกัน ถ้าข้อมูลไม่ถูกต้องและมีความขัดแย้งกันแล้ว การออกรายงานจะทำได้เร็วเพียงไรก็ตามแต่จะไม่มีประโยชน์เพราะว่า ทำให้ไม่ทราบว่าข้อมูลใดถูก ดังนั้นจึงต้องมีวิธีการออกแบบฐานข้อมูลเพื่อลดความซ้ำซ้อนของข้อมูลให้มากที่สุด
- แฟ้มข้อมูลมีความถูกต้องของข้อมูลน้อย เนื่องจากแฟ้มข้อมูลไม่สามารถตรวจสอบกฎบังคับความถูกต้องของข้อมูลให้ได้ ถ้าต้องการควบคุมข้อมูลโปรแกรมเมอร์ต้องเขียนโปรแกรมเพื่อควบคุมกฎระเบียบต่างๆ เองทั้งหมด ถ้าเขียนโปรแกรมครอบคลุมกฎระเบียบใดไม่ครบหรือขาดหายไปบางกฎอาจทำให้ข้อมูลผิดพลาดได้ ซึ่งต่างจากระบบฐานข้อมูลที่ระบบจัดการฐานข้อมูลจะมีกฏบังคับความถูกต้อง โดยนำกฎเหล่านั้นมาไว้ที่ฐานข้อมูล ซึ่งถือเป็นหน้าที่ของระบบจัดการฐานข้อมูลที่จะจัดการเรื่องความถูกต้องของข้อมูลให้แทน และยังช่วยลดค่าใช้จ่ายในการบำรุงรักษาและการแก้ไขโปรแกรมด้วยเนื่องจากระบบจัดการฐานข้อมูลจัดการให้เอง
- แฟ้มข้อมูลมีความปลอดภัยน้อย ในระบบฐานข้อมูล ถ้าหากทุกคนสามารถเรียกดูและเปลี่ยนแปลงข้อมูลในฐานข้อมูลทั้งหมดได้ อาจก่อให้เกิดความเสียหายต่อข้อมูลได้ และข้อมูลบางส่วนอาจเป็นข้อมูลที่ไม่อาจเปิดเผยได้หรือเป็นข้อมูลเฉพาะของผู้บริหาร หากไม่มีการจัดการด้านความปลอดภัยของข้อมูล ฐานข้อมูลจะไม่สามารถใช้เก็บข้อมูลบางส่วนได้ ระบบฐานข้อมูลส่วนใหญ่มีการรักษาความปลอดภัยของข้อมูล ได้แก่ ต้องมีชื่อผู้ใช้ และรหัสผ่าน ในการเข้าใช้งานฐานข้อมูลสำหรับผู้ใช้แต่ละคน ผู้บริหารฐานข้อมูลสามารถสร้างและจัดการตารางข้อมูลทั้งหมดในฐานข้อมูลได้ ทั้งการเพิ่มและระงับรายชื่อผู้ใช้ รวมทั้งอนุญาตให้ผู้ใช้สามารถเรียกดู ป้อนข้อมูลเพิ่มเติม ลบและแก้ไขข้อมูลได้ ผู้บริหารฐานข้อมูลสามารถใช้คำสั่งวิว เพื่อประโยชน์ในการรักษาความปลอดภัยของข้อมูลได้เป็นอย่างดี โดยการสร้างวิวที่เสมือนเป็นตารางของผู้ใช้จริง ๆ และข้อมูลที่ปรากฏในวิวจะเป็นข้อมูลที่เกี่ยวข้องกับงานของผู้ใช้เท่านั้น ซึ่งไม่กระทบกับข้อมูลจริงในฐานข้อมูล ระบบการจัดการฐานข้อมูลไม่ยินยอมให้โปรแกรมใดๆ เข้าถึงข้อมูลในระดับกายภาพได้ ระบบการจัดการฐานข้อมูลมีการเข้ารหัสและถอดรหัส เพื่อปกปิดข้อมูลแก่ผู้ที่ไม่เกี่ยวข้อง เช่น มีการเข้ารหัสของรหัสผ่าน ซึ่งในส่วนต่าง ๆ เหล่านี้ในระบบแฟ้มข้อมูลจะไม่มีการเข้ารหัส เป็นต้น
- ไม่มีการควบคุมจากศูนย์กลาง ระบบแฟ้มข้อมูลจะไม่มีการควบคุมการใช้ข้อมูลจากศูนย์กลาง เนื่องจากข้อมูลที่หน่วยงานย่อยใช้สามารถใช้ข้อมูลได้อย่างเสรีโดยไม่มีศูนย์กลางในการควบคุม ทำให้ไม่ทราบว่าหน่วยงานใดใช้ข้อมูลในระดับใดบ้างใครเป็นผู้นำข้อมูลเข้าใครมีสิทธิ์แก้ไขข้อมูล และใครมีสิทธิ์เรียกใช้ข้อมูลได้เพียงอย่างเดียว
7. คุณลักษณะที่ดีของฐานข้อมูล (Good Characteristics of Database System)
1) ลดความซ้ำซ้อนของข้อมูลให้เหลือน้อยที่สุด (Minimum redundancy) เป็นการทำให้ปัญหาเรื่องข้อมูลไม่ตรงกันลดน้อยลงหรือหมดไป โดยนำข้อมูลทั้งหมดมารวมกันเพื่อตัดหรือลดส่วนที่ซ้ำกันทิ้งไป ให้เหลืออยู่เพียงแห่งเดียว และเป็นผลทำให้สามารถแบ่งข้อมูลกันใช้ได้ระหว่างผู้ใช้หลาย ๆ คน รวมทั้งการใช้ข้อมูลเดียวกันในเวลาพร้อม ๆ กันได้อีกด้วย
2) ความถูกต้องสูงสุด (Maximum Integrity : Correctness) ในระบบฐานข้อมูลจะมีความถูกต้องของข้อมูลสูงสุด เพราะว่าฐานข้อมูลมี DBMS คอยตรวจสอบกฎเกณฑ์หรือเงื่อนไขต่าง ๆ (Integrity Rules) ให้ทุกครั้งที่มีการแก้ไขข้อมูลหรือเพิ่มเติมข้อมูลเข้าไปในระบบฐานข้อมูลนั้น โดยกฎเกณฑ์เหล่านี้จะเก็บไว้ในฐานข้อมูลตามแนวคิดของ International Organization for Standard (ISO) แต่ในปัจจุบันมี DBMS บาง product ที่ข้อบังคับเหล่านี้ไม่ได้ผูกติดอยู่กับฐานข้อมูลยังคงเก็บอยู่ในโปรแกรม การเปลี่ยนแปลงกฎเกณฑ์เหล่านี้ทำให้ต้องแก้ไขโปรแกรมตามไปด้วยทุกครั้ง ซึ่งไม่สะดวก เช่นเดียวกับระบบแฟ้มข้อมูลเดิมทำให้เกิดความยุ่งยากในการเขียนโปรแกรม แต่ถ้าย้ายการเก็บข้อบังคับหรือกฎเกณฑ์เหล่านี้มาไว้ที่ฐานข้อมูล ระบบจัดการฐานข้อมูลบางชนิดจะมีฟังก์ชั่นพิเศษ (trigger) กับ procedure อยู่บน FORM ปัจจุบันจะมีให้เลือกว่าจะไว้บนจอหรือไว้ในกฎเกณฑ์กลาง ซึ่งจะเก็บไว้ที่ฐานข้อมูลเรียกว่า stored procedure ซึ่งถูกควบคุมดูแลโดย DBMS สำหรับ DBMS ชั้นดีส่วนใหญ่จะเป็น compile stored procedure เพราะเก็บกฎเกณฑ์เหล่านี้ไว้ที่ stored procedure ไม่ได้เก็บไว้ในโปรแกรมเหมือนระบบแฟ้มข้อมูลเดิม ดังนั้นเมื่อเงื่อนไขเหล่านี้เปลี่ยนแปลงไปก็จะทำการแก้ไขเพียงแห่งเดียว ทำให้ระบบฐานข้อมูลมีความถูกต้องของข้อมูลมากที่สุด และลดค่าใช้จ่ายในการพัฒนา และบำรุงรักษา
3) มีความเป็นอิสระของข้อมูล (Data Independence) ถือเป็นคุณลักษณะเด่นของฐานข้อมูลซึ่งไม่มีในระบบไฟล์ธรรมดา เนื่องจากในไฟล์ธรรมดาจะเป็นข้อมูลที่ไม่อิสระ (data dependence) กล่าวคือ ข้อมูลเหล่านี้จะผูกพันอยู่กับวิธีการจัดเก็บและการเรียกใช้ข้อมูลซึ่งในลักษณะการเขียนโปรแกรมเราจำเป็นต้องใส่เทคนิคการจัดเก็บและเรียกใช้ข้อมูลไว้ในโปรแกรม เมื่อมีการเปลี่ยนแปลงวิธีการจัดเก็บทำให้ต้องเปลี่ยนแปลงแก้ไขโปรแกรมตามไปด้วย ดังนั้น ถ้าหากมีการแก้ไขหรือเปลี่ยนแปลงโครงสร้างข้อมูลทั้งในระดับ logical และ physical ย่อมมีผลกระทบต่อโปรแกรม แต่ถ้าข้อมูลเก็บในลักษณะของฐานข้อมูลแล้วปัญหานี้จะหมดไป เพราะฐานข้อมูลมี DBMS คอยดูแลจัดการให้ ทำให้โปรแกรมเหล่านี้เป็นอิสระจากการเปลี่ยนแปลงโครงสร้างข้อมูล
4) มีระบบความปลอดภัยของข้อมูลสูง (High Degree of Data Security) ฐานข้อมูลจะมีระบบรักษาความปลอดภัยของข้อมูลสูง โดย DBMS จะตรวจสอบรหัสผ่าน (login password) เป็นประเด็นแรก หลังจากผ่านเข้าสู่ระบบได้แล้ว DBMS จะตรวจสอบดูว่าผู้ใช้นั้นมีสิทธิใช้ข้อมูลได้มากน้อยเพียงใด เช่น จะอนุญาตให้ใช้ได้เฉพาะ in query หรือ update และสามารถทำได้เฉพาะตารางใดหรือแถวใดหรือคอลัมน์ใด เป็นต้น นอกจากนี้ โครงสร้างข้อมูลระดับล่างยังถูกซ่อนไว้ไม่ให้ผู้ใช้มองเห็นว่าอยู่ตรงไหน DBMS จะไม่ยอมให้โปรแกรมใด ๆ เข้าถึงข้อมูลได้โดยไม่ผ่าน DBMS
5) การควบคุมจะอยู่ที่ส่วนกลาง (Logically Centralized Control) แนวความคิดนี้จะนำไปสู่ระบบการปฏิบัติงานที่ดี อย่างน้อยสามารถควบคุมความซ้ำซ้อนและความปลอดภัยของข้อมูลได้ นอกจากนี้ในการควบคุมทุกอย่างให้มาอยู่ที่ส่วนกลางจะนำมาสู่ระบบสารสนเทศเพื่อการบริหาร (MIS) โดยต้องมีการควบคุมดูแลจากศูนย์กลางทั้งการใช้และการสร้างโดยหลักการแล้ว จะไม่ยอมให้โปรแกรมเมอร์สร้างตารางหรือวิวเอง แต่จะให้ผู้บริหารฐานข้อมูลเป็นผู้สร้างให้ เพื่อจะได้ทราบว่าตารางหรือวิวซ้ำหรือไม่ นอกจากนี้ผู้บริหารฐานข้อมูลจะเป็นผู้ให้สิทธิแก่ผู้ใช้วิว ดังนั้น โปรแกรมเมอร์จะต้องติดต่อประสานงานกับผู้บริหารฐานข้อมูลในการจัดทำรายงาน คุณลักษณะนี้จะทำให้มีความคล่องตัวในการใช้งาน ซึ่งเป็นผลมาจากข้อมูลมาอยู่รวมกัน
8. ความสำคัญของระบบการจัดการฐานข้อมูล
การนำเอาระบบคอมพิวเตอร์มาใช้งานเพื่อประมวลผลข้อมูล นอกจากอำนวยความสะดวกในการทำงานได้รวดเร็วแล้ว ยังมีความถูกต้องแม่นยำในการประมวลผลอีกด้วย ตัวอย่าง เช่น กรณีระบบฐานข้อมูลของโรงพยาบาล เมื่อมีผู้ป่วยต้องการเลือดหมู่โลหิตพิเศษโดยเร่งด่วนจำเป็นต้องการผู้บริจาคโลหิตหมู่โลหิตเดียวกันโดยใช้ฐานข้อมูลค้นหาผู้บริจาคโลหิตที่มีคุณสมบัติได้อย่างรวดเร็วได้แก่ผู้บริจาคต้องน้ำหนักมากกว่า 45 กก. และบริจาคครั้งสุดท้ายมาแล้วเกิน 90 วัน ผู้บริจาคควรมีที่อยู่ใกล้โรงพยาบาล เป็นต้น นอกจากนี้ระบบฐานข้อมูลยังมีความสำคัญในด้านต่าง ๆ อีก ดังนี้
จากการจัดเก็บข้อมูลรวมเป็นฐานข้อมูลจะก่อให้เกิดประโยชน์ดังนี้
- สามารถลดความซ้ำซ้อนของข้อมูลได้
การเก็บข้อมูลชนิดเดียวกันไว้หลาย ๆ ที่ ทำให้เกิดความซ้ำซ้อน (Redundancy) ดังนั้นการนำข้อมูลมารวมเก็บไว้ในฐานข้อมูล จะช่วยลดปัญหาการเกิดความซ้ำซ้อนของข้อมูลได้ โดยระบบจัดการฐานข้อมูล (Database Management System : DBMS) จะช่วยควบคุมความซ้ำซ้อนได้ เนื่องจากระบบจัดการฐานข้อมูลจะทราบได้ตลอดเวลาว่ามีข้อมูลซ้ำซ้อนกันอยู่ที่ใดบ้าง
- หลีกเลี่ยงความขัดแย้งของข้อมูลได้
หากมีการเก็บข้อมูลชนิดเดียวกันไว้หลาย ๆ ที่และมีการปรับปรุงข้อมูลเดียวกันนี้ แต่ปรับปรุงไม่ครบทุกที่ที่มีข้อมูลเก็บอยู่ก็จะทำให้เกิดปัญหาข้อมูลชนิดเดียวกัน อาจมีค่าไม่เหมือนกันในแต่ละที่ที่เก็บข้อมูลอยู่ จึงก่อให้เกิดความขัดแย้งของข้อมูลขึ้น (Inconsistency)
- สามารถใช้ข้อมูลร่วมกันได้
ฐานข้อมูลจะเป็นการจัดเก็บข้อมูลรวมไว้ด้วยกัน ดังนั้นหากผู้ใช้ต้องการใช้ข้อมูลในฐานข้อมูลที่มาจากแฟ้มข้อมูลต่างๆ ก็จะทำได้โดยง่าย
- สามารถรักษาความถูกต้องเชื่อถือได้ของข้อมูล
บางครั้งพบว่าการจัดเก็บข้อมูลในฐานข้อมูลอาจมีข้อผิดพลาดเกิดขึ้น เช่น จากการที่ผู้ป้อนข้อมูลป้อนข้อมูลผิดพลาดคือป้อนจากตัวเลขหนึ่งไปเป็นอีกตัวเลขหนึ่ง โดยเฉพาะกรณีมีผู้ใช้หลายคนต้องใช้ข้อมูลจากฐานข้อมูลร่วมกัน หากผู้ใช้คนใดคนหนึ่งแก้ไขข้อมูลผิดพลาดก็ทำให้ผู้อื่นได้รับผลกระทบตามไปด้วย ในระบบจัดการฐานข้อมูล (DBMS) จะสามารถใส่กฎเกณฑ์เพื่อควบคุมความผิดพลาดที่เกดขึ้น
ความถูกต้องของข้อมูล (Data Integrity) มี 2 ประเภท
– Static Integrity (State of Data) เป็นความถูกต้องของเนื้อข้อมูล เช่น ผู้หญิงลาบวชไม่ได้ ผู้ชายลาคลอดไม่ได้ อายุของ พนักงานอยู่ระหว่าง 18-60 ปี หรือสมาชิกยืมหนังสือได้ไม่เกิน 5 เล่ม เป็นต้น
– Dynamic Integrity (State of Transition) เป็นความถูกต้องของลำดับการแก้ไข เช่น การแก้ไขสถานะภาพสมรสของพนักงาน ดังรูปที่ 7
รูปที่ 7 แสดงลำดับการแก้ไขสถานะภาพสมรส
ความถูกต้องของข้อมูลจะถูกบังคับโดย Integrity rule หรือ integrity constrains และไม่ควรถูกจัดการโดยโปรแกรม แต่จะถูกจัดการโดยระบบจัดการฐานข้อมูล
- สามารถกำหนดความเป็นมาตรฐานเดียวกันของข้อมูลได้
การเก็บข้อมูลร่วมกันไว้ในฐานข้อมูลจะทำให้สามารถกำหนดมาตรฐานของข้อมูลได้รวมทั้งมาตรฐานต่าง ๆ ในการจัดเก็บข้อมูลให้เป็นไปในลักษณะเดียวกันได้ เช่นการกำหนดรูปแบบการเขียนวันที่ ในลักษณะ วัน/เดือน/ปี หรือ ปี/เดือน/วัน ทั้งนี้จะมีผู้ที่คอยบริหารฐานข้อมูลที่เราเรียกว่า ผู้บริหารฐานข้อมูล (Database Administrator : DBA) เป็นผู้กำหนดมาตรฐานต่างๆ
- สามารถกำหนดระบบความปลอดภัยของข้อมูลได้
ระบบความปลอดภัยในที่นี้ เป็นการป้องกันไม่ให้ผู้ใช้ที่ไม่มีสิทธิมาใช้ หรือมาเห็นข้อมูลบางอย่างในระบบ ผู้บริหารฐานข้อมูลจะสามารถกำหนดระดับการเรียกใช้ข้อมูลของผู้ใช้แต่ละคนได้ตามความเหมาะสม
- เกิดความเป็นอิสระของข้อมูล
ในระบบฐานข้อมูลจะมีตัวจัดการฐานข้อมูลที่ทำหน้าที่เป็นตัวเชื่อมโยงกับฐานข้อมูล โปรแกรมต่าง ๆ อาจไม่จำเป็นต้องมีโครงสร้างข้อมูลทุกครั้ง ดังนั้นการแก้ไขข้อมูลบางครั้ง จึงอาจกระทำเฉพาะกับโปรแกรมที่เรียกใช้ข้อมูลที่เปลี่ยนแปลงเท่านั้น ส่วนโปรแกรมที่ไม่ได้เรียกใช้ข้อมูลดังกล่าว ก็จะเป็นอิสระจากการเปลี่ยนแปลง
ความเป็นอิสระของข้อมูล แบ่งออกเป็น 2 ชนิด
1) ความเป็นอิสระทางกายภาพ (Physical Data Independence)
การเปลี่ยนแปลงโครงสร้างข้อมูลระดับล่าง (Physical structure) จะไม่มีผลกระทบต่อโปรแกรม เช่น การเปลี่ยนแปลงโครงสร้างข้อมูลจากการเก็บแบบ sequential file เป็นแบบ Index file โปรแกรมที่เรียกใช้ข้อมูลจาก file เหล่านี้จะไม่มีการแก้ไขหรือไม่ต้องการทำ compile ใหม่ หรือการโยกย้ายข้อมูลจากที่หนึ่งไปยังที่หนึ่งก็ไม่มีผลกระทบต่อโปรแกรม
2) ความเป็นอิสระทางตรรกะภาพ (Logical Data Independence)
การเปลี่ยนแปลงโครงสร้างข้อมูลระดับกลางหรือระดับหลักการ (Conceptual level) ซึ่งเป็น logical structure จะไม่มีผลกระทบต่อโปรแกรม เช่น การเพิ่มเติมข้อมูลเข้าไปในโครงสร้างระดับกลางที่ผู้บริหารฐานข้อมูล (Database Administrator) เป็นผู้กำหนดโปรแกรมที่มีอยู่เดิม ซึ่งไม่เกี่ยวข้องกับข้อมูลที่เพิ่มเข้าไปนั้น ไม่มีการเปลี่ยนแปลงหรือ compile ใหม่
อีกความหมายหนึ่งก็คือ เมื่อมีการเปลี่ยนแปลงโครงสร้างข้อมูลระดับบน (External level) ก็ไม่มีผลกระทบต่อข้อมูลระดับกลางและข้อมูลระดับล่าง เช่น การสลับลำดับของฟิลด์ในโปรแกรม เป็นต้น
ความเป็นอิสระของข้อมูลนี้ทำให้โปรแกรมสามารถเรียกใช้ข้อมูลได้ด้วยภาษาต่างกัน เช่น โปรแกรมหนึ่งเรียกใช้ข้อมูลได้ด้วยภาษาต่างกัน เช่น โปรแกรมหนึ่งเรียกใช้ข้อมูลด้วยภาษา COBOL อีกโปรแกรมหนึ่งเรียกใช้ข้อมูลด้วยภาษา SQL นอกจากนี้ยังรวมถึงการที่โปรแกรมสามารถเห็นข้อมูลได้หลายรูปแบบแตกต่างกัน
9. บุคคลที่เกี่ยวข้องกับฐานข้อมูล
- ผู้บริหารฐานข้อมูล (Database Administrator หรือ DBA) เป็นบุคคลคนเดียว หรือกลุ่มผู้เชี่ยวชาญซึ่งมีหน้าที่ควบคุมและบริหารทรัพยากรฐานข้อมูลขององค์กรให้สามารถดำเนินการประยุกต์ใช้ฐานข้อมูลโดยความร่วมมือช่วยเหลือจากพนักงานในหน่วยงานที่เกี่ยวข้อง อีกทั้งต้องเป็นผู้ที่สามารถติดต่อกับผู้บริหารระดับสูง ผู้ใช้แผนกต่าง ๆ และเจ้าหน้าที่ฝ่ายปฏิบัติการ และควรมีความรู้ทั้งหลักการบริหารและด้านเทคนิคของระบบจัดการฐานข้อมูล (DBMS)
หน้าที่ของผู้บริหารฐานข้อมูล แบ่งเป็น 2 ส่วน
– การออกแบบฐานข้อมูลจะต้องทราบวิธีออกแบบและรายละเอียดของระบบงาน ซึ่งที่จริงแล้วในส่วนนี้ควรจะเป็นหน้าที่ของผู้จัดการข้อมูลหรือ DA (Data Administrator) ซึ่งก็คือ SA (System Analysis) โดยผู้ใช้หรือเจ้าของระบบงานเขียนและออกแบบโครงสร้างด้วย ER Model แต่ SA จะออกแบบอัลกอริทึม
– การปฏิบัติงานกับ DBMS จะต้อบทราบเทคโนโลยีของ DBMS ดังนั้น ในส่วนนี้จะเป็นหน้าที่ของ DBA โดย DBA จะต้องทราบวิธีการปฏิบัติงานกับ DBMS ดังนี้
- การติดตั้งระบบจัดการฐานข้อมูล (Install DBMS)
- การจัดสรรเนื้อที่ในดิสก์ (allocate disk space)
- การสร้างโครงสร้างของข้อมูล (create data structure)
- การทำข้อมูลสำรองเอง (backup) และการฟื้นสภาพข้อมูล (recovery)
- การปรับผลการปฏิบัติงาน (performance tuning)
DBA จะทำหน้าที่เป็นที่ปรึกษาและประสานงานกับเจ้าหน้าที่ฝ่ายปฏิบัติการ เช่น นักวิเคราะห์และออกแบบโปรแกรมเมอร์และผู้ใช้
- นักวิเคราะห์และออกแบบ (System Analyst) ทำหน้าที่ออกแบบอัลกอริทึม (Algorithm) ของระบบงาน
- โปรแกรมเมอร์ (Programmer) เป็นผู้เขียนโปรแกรมประยุกต์ (Application program) สำหรับใช้กับฐานข้อมูล อาจจะเขียนด้วยภาษาระดับสูง เช่น SQL เป็นต้น
- ผู้ใช้ (End User) เจ้าของระบบงานที่ต้องการเรียกใช้ฐานข้อมูล โดยอาจผ่านทางโปรแกรมประยุกต์หรือภาษาเรียกค้น เช่น SQL ผู้ใช้เหล่านี้ไม่จำเป็นต้องมีความรู้เกี่ยวกับการเขียนโปรแกรม
ถึงแม้ว่าฐานข้อมูลจะมีคุณลักษณะที่ดีดังได้กล่าวมาข้างต้นแต่ก็มีข้อเสียดังนี้
- ขนาดของระบบจัดการฐานข้อมูลมักมีขนาดใหญ่และราคาแพง เนื่องจากซอฟต์แวร์ประกอบด้วยฟังก์ชันต่าง ๆ มากมาย จึงต้องการฮาร์ดแวร์เพิ่มขึ้นทั้งหน่วยความจำหลัก และหน่วยความจำสำรอง
- ต้องอาศัยผู้ดูแลที่มีความรู้ความเข้าใจเทคโนโลยี ระบบการจัดการฐานข้อมูล
- ถ้าระบบเสียจะทำให้มีผลต่อผู้ใช้หลายคน
- ความเป็นเจ้าของข้อมูลลดลง ข้อมูลจะไม่เป็นของผู้หนึ่งผู้ใดโดยเฉพาะ
10. ตัวอย่างซอฟต์แวร์จัดการระบบฐานข้อมูลในปัจจุบัน
ซอฟต์แวร์ระบบฐานข้อมูล เป็นโปรแกรมหรือซอฟแวร์ที่ช่วยจัดการข้อมูลหรือรายการต่าง ๆ ที่อยู่ในฐานข้อมูล ไม่ว่าจะเป็นการจัดเก็บ การเรียกใช้ การปรับปรุงข้อมูล
ระบบฐานข้อมูลที่มีอยู่ในปัจจุบัน มีอยู่เป็นจำนวนมาก ซึ่งแบ่งออกเป็น 2 กลุ่มได้ คือระบบฐานข้อมูลขนาดใหญ่ ซึ่งมีความสามารถในการจัดการฐานข้อมูลครบทุกด้าน และอีกกลุ่มคือระบบฐานข้อมูลขนาดไม่ใหญ่มาก ซึ่งมีความสามารถในการจัดการฐานข้อมูลเช่นกัน แต่อาจจะขาดความสามารถบางอย่างไป ตัวอย่างของซอฟต์แวร์ระบบฐานข้อมูลต่างๆ มีดังนี้ เช่น Oracle, Microsoft SQL, MySQL, Sysbase, DB2, Informix, Ingres, Access, FoxPro, Clipper, dBase, FoxBase เป็นต้น ซอฟต์แวร์ระบบฐานข้อมูลจะช่วยให้ผู้ใช้สามารถค้นหาข้อมูลได้อย่างรวดเร็ว ซึ่งโปรแกรมฐานข้อมมูลที่นิยม โดยแต่ละโปรแกรมจะมีความสามารถต่างกัน บางโปรแกรมใช้ง่ายแต่จะจำกัดขอบเขตการใช้งาน บางโปรแกรมใช้งานยากกว่า แต่จะมีความสามารถในการทำงานมากกว่า
รูปที่ 8 ตัวอย่างซอร์ฟแวร์จัดการระบบฐานข้อมูล
โปรแกรม Access นับเป็นโปรแกรมที่นิยมใช้กันมากในขณะนี้ โดยเฉพาะในระบบฐานข้อมูลขนาดใหญ่ สามารถสร้างแบบฟอร์มที่ต้องการจะเรียกดูข้อมูลในฐานข้อมูล หลังจากบันทึกข้อมูลในฐานข้อมูลเรียบร้อยแล้ว จะสามารถค้นหาหรือเรียกดูข้อมูลจากเขตข้อมูลใดก็ได้ นอกจากนี้ Access ยังมีระบบรักษาความปลอดภัยของข้อมูล โดยการกำหนดรหัสผ่านเพื่อป้องกันความปลอดภัยของข้อมูลในระบบได้ด้วย
โปรแกรม FoxPro เป็นโปรแกรมฐานข้อมูลที่มีผู้ใช้งานมากที่สุด เนื่องจากใช้ง่ายทั้งวิธีการเรียกจากเมนูของ FoxPro และประยุกต์โปรแกรมขึ้นใช้งาน โปรแกรมที่เขียนด้วย FoxPro จะสามารถใช้กลับ dBase คำสั่งและฟังก์ชั่นต่าง ๆ ใน dBase จะสามารถใช้งานบน FoxPro ได้ นอกจากนี้ใน FoxPro ยังมีเครื่องมือช่วยในการเขียนโปรแกรม เช่น การสร้างรายงาน
โปรแกรม dBase เป็นโปรแกรมฐานข้อมูลชนิดหนึ่ง การใช้งานจะคล้ายกับโปรแกรม FoxPro ข้อมูลรายงานที่อยู่ในไฟล์บน dBase จะสามารถส่งไปประมวลผลในโปรแกรม Word Processor ได้ และแม้แต่ Excel ก็สามารถอ่านไฟล์ .DBF ที่สร้างขึ้นโดยโปรแกรม dBase ได้ด้วย
โปรแกรม SQL เป็นโปรแกรมฐานข้อมูลที่มีโครงสร้างของภาษาที่เข้าใจง่าย ไม่ซับซ้อน มีประสิทธิภาพการทำงานสูง สามารถทำงานที่ซับซ้อนได้โดยใช้คำสั่งเพียงไม่กี่คำสั่ง โปรแกรม SQL จึงเหมาะที่จะใช้กับระบบฐานข้อมูลเชิงสัมพันธ์ และเป็นภาษาหนึ่งที่มีผู้นิยมใช้กันมาก โดยทั่วไปโปรแกรมฐานข้อมูลของบริษัทต่าง ๆ ที่มีใช้อยู่ในปัจจุบัน เช่น Oracle, DB2 ก็มักจะมีคำสั่ง SQL ที่ต่างจากมาตรฐานไปบ้างเพื่อให้เป็นจุดเด่นของแต่ละโปรแกรมไป
บรรณานุกรม
- ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล. (ออนไลน์). แหล่งที่มา : //www.chandra.ac.th/office/ict/document/it/it04/page01.html. 17 สิงหาคม 2558
- ระบบฐานข้อมูล(DATABASE SYSTEMS). (ออนไลน์). แหล่งที่มา : //www.sirikitdam.egat.com/WEB_MIS/103_116/01.html. 17 สิงหาคม 2558
อ.ทวีรัตน์ นวลช่วย. 2558. ระบบฐานข้อมูล (Database System). (ออนไลน์). แหล่งที่มา : //sites.google.com/site/thaidatabase2/. 17 สิงหาคม 2558
- ฐานข้อมูล. (ออนไลน์). แหล่งที่มา : //th.wikipedia.org/wiki/%E0%B8%90%E0%B8%B2%E0%B8%99%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5. 17 สิงหาคม 2558
นายจำรูญ กาพย์ไกรแก้ว. 2558. การเรียนการสอนผ่านเว็บ วิชา ระบบฐานข้อมูล . (ออนไลน์). แหล่งที่มา : //203.172.182.81/wbidatabase/unit1/unit1.php. 17 สิงหาคม 2558