ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล

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

1

รูปที่ 1  แสดงโครงสร้างของแฟ้มข้อมูล

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

1. ข้อมูลสารสนเทศ

สิ่งแรกที่เราต้องรู้ว่าสารสนเทศ คืออะไรและประกอบด้วยอะไร ความหมายตามตัวศัพท์ของสารสนเทศ ก็คือ Information หรือเรียกว่า “ข้อมูลสารสนเทศ” และมีอีกคำที่มักจะสับสน คือคำว่า Data หรือข้อมูล ที่เราใช้กันอย่างติดปาก คำว่าข้อมูล มักจะหมายถึง สิ่งที่มนุษย์เก็บรวบรวมเพื่อนำไปประมวลผล (Computing Process) ต่อเพื่อที่จะได้สื่อใหม่เพื่อนำไปใช้ประโยชน์ (ในแง่ของผู้บริหารก็เพื่อจะนำไปประกอบการตัดสินใจได้อย่างถูกต้อง) พูดง่าย ๆ ว่าข้อมูล (Data) เปรียบเหมือนกับน้ำมันดิบที่ยังไม่ผ่านการกลั่นนั้นเอง ผลจากการกลั่นกรอง หรือการประมวลผล ดังกล่าว ก็คือ ข้อมูลสารสนเทศ ซึ่งแสดงเป็นกระบวนการดังรูปที่ 2

2

รูปที่ 2 แสดงกระบวนการได้มาซึ่งสารสนเทศ

Information System คือ ระบบที่ประมวลผลข้อมูลดิบ (Data) เพื่อให้ได้มาซึ่งข้อมูลที่ก่อให้เกิดประโยชน์หรือข้อมูลสารสนเทศ (Information) ซึ่งการประมวลผลอาจจะใช้คน แต่ปัจจุบันนิยมใช้คอมพิวเตอร์ จึงเรียกว่า Computer Information System (CIS) ตัวอย่างเช่น

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

ตารางที่ 1 รายงานข้อมูลยอดขายซีดีเพลง

รหัสลูกค้า ชื่อลูกค้า รหัสอัลบัม ชื่ออัลบัม จำนวน วันที่ซื้อ
1100
2200
4600
6700
4300
8700
4500
6800
สมศักดิ์
วิไล
อรัญญา
วิลลี่
ธงชัย
ใหม่
มนต์สิทธิ์
เจ
622
633
855
855
996
750
553
996
เพลงร็อค
เพลงร็อค Vol 2
เพลงไทยสากล
เพลงไทยสากล
เพลงฮาร์ดร็อค
เพลงคันทรี่
เพลงบรรเลง
เพลงฮาร์ดร็อค
2
3
1
2
1
4
2
3
01/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 รายงานยอดขายซีดีเพลงที่เป็นข้อมูลสารสนเทศ

รหัสลูกค้า ชื่อลูกค้า รหัสอัลบัม ชื่ออัลบัม จำนวน วันที่ซื้อ
4300
1100
2200
6800
ธงชัย
สมศักดิ์
วิไล
เจ
996
622
855
996
เพลงฮาร์ดร็อค
เพลงร็อค
เพลงร็อค Vol 2
เพลงฮาร์ดร็อค
1
2
3
3
11/03/96
01/02/96
10/02/96
14/05/96

          จะเห็นว่า พนักงานขายท่านนี้ สามารถกลั่นกรองข้อมูลดิบ ให้เป็นสารสนเทศ เพื่อใช้ในการตัดสินใจของผู้บริหาร และช่วยให้ผู้บริหารของเขาสามารถประหยัดเวลาในการตัดส่วนที่ไม่ใช้ออกด้วยตัวเขาเอง นอกจากนี้ อาจจะสามารถนำเสนอด้วยวิธีอื่นๆ อาจทำการประมวลผลข้อมูลลักษณะอื่น ๆ เพื่อช่วยส่งเสริมการตัดสินใจ เช่น แสดงในรูปแบบกราฟ ดังรูปที่ 3 และ 4

3

รูปที่ 3 กราฟแสดงจำนวนการซื้ออัลบั้มเพลงร็อคจำแนกตามอายุ

4

รูปที่ 4 กราฟแสดงจำนวนการซื้ออัลบั้มเพลงร็อคจำแนกภูมิภาค

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

ระบบสารสนเทศอาจจะใช้คอมพิวเตอร์ หรือไม่ใช้ก็ได้ แล้วแต่ละองค์กร แต่เนื่องจากเหตุผลของความ รวดเร็วและแม่นยำ ระบบสารสนเทศส่วนใหญ่จะอยู่บนเครื่องคอมพิวเตอร์

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

2. วิวัฒนาการของระบบสารสนเทศ

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

ในชีวิตประจำวัน มนุษย์ มีการติดต่อสื่อสารกันในรูปแบบของสื่อมัลติมิเดีย (Multimedia) ตลอดเวลา “ข้อมูลสารสนเทศ” จึงมีความแตกต่างไป จากที่เราคุ้นเคย กล่าวคือ ข้อมูลไม่ใช่เป็นแต่เฉพาะตัวหนังสือ (Text) แต่ยังรวมไปถึงข้อมูลในรูปแบบของ มัลติมิเดีย (Multimedia) ทุกรูปแบบอีกด้วย และข้อมูลสารสนเทศก็ไม่ใช่เฉพาะในคอมพิวเตอร์เท่านั้น ปัจจุบันข้อมูลสารสนเทศอยู่ทุกหนทุกแห่ง ตัวอย่างที่เห็นชัดของชีวิตประจำวันคือ เริ่มกันตั้งแต่เราตอกบัตรลงเวลาในเครื่องลงเวลาตอนเช้าเดินเลยไปที่โต๊ะทำงานเปิดเครื่องคอมพิวเตอร์ตรวจจดหมายอิเล็กทรอนิกส์ (E-mail) ภายในองค์กร (Intranet Mail) หรือ Voice Mail ในระบบโทรศัพท์รุ่นใหม่ ตลอดจนการซื้อสินค้าที่มีการใช้แถบบาร์โค้ด (Barcode) ที่เราคุ้นเคยกันเมื่อต้องจ่ายสตางค์ พนักงานขายเพียงนำสินค้าลากผ่านเครื่องอ่าน หรือระบบ EDI (Electronic Data Interchange) ซึ่งเป็นมาตรฐานสากลสำหรับการแลกเปลี่ยนข้อมูล การซื้อของทั่วโลกผ่านระบบเครือข่ายอินเตอร์เน็ต จะเห็นได้ว่าปัจจุบันมนุษย์ ได้นำเอาเทคโนโลยีสมัยใหม่มาปรับปรุงข้อมูลสารสนเทศให้สามารถเกิดประโยชน์อย่างเอกอนันต์ เพื่อทีจะบรรจุข้อมูลสารสนเทศเหล่านี้ลงในระบบสารสนเทศรุ่นใหม่

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

ลักษณะของสารสนเทศที่ดี จำแนกได้เป็น 5 ลักษณะ ได้แก่

  1. ความเป็นปัจจุบัน (Current) ข้อมูลปรับเปลี่ยนไปเรื่อย ๆ มีความทันสมัย เช่น เกรดนักศึกษา
  2. ทันเวลา (Timely) มีคุณค่าทางเวลามาเกี่ยวข้อง ถ้าไม่ได้สารสนเทศในเวลาที่ต้องการ อาจจะ เกิดการสูญเสียโอกาสได้
  3. ความเที่ยงตรง (Relevant) ข้อที่ได้ต้องมีความสมบูรณ์ ถูกต้อง
  4. ความคงที่ (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 เท่านั้น แต่เพื่อให้มองภาพข้อมูลได้ง่าย จึงแบ่งหน่วยในการจัดเก็บข้อมูลออกเป็นส่วนย่อย ต่างๆ ดังนี้

  1. บิต (Bit) คือหน่วยของข้อมูลที่เล็กที่สุด คือการจัดเก็บข้อมูลที่มีอยู่เพียง 2 สถานะ คือ 0 กับ 1 ซึ่งเป็น ลักษณะการทำงานของคอมพิวเตอร์ที่ทำงานด้วยระดับสัญญาณดิจิตอล
  2. ไบต์ (Byte) คือหน่วยของข้อมูลซึ่งเกิดจากการนำข้อมูล 8 บิตมารวมกัน โดยใช้ แทน ตัวอักขระ 1 ตัว
  3. เขตข้อมูล (Field) หรือฟิลด์ คือหน่วยของข้อมูลซึ่งเกิดจากการนำข้อมูลหลายๆ ไบต์ หรือหลายๆ อักขระมารวม กัน เพื่อใช้แทนความหมายของสิ่งใดสิ่งหนึ่ง เช่น รหัสนักศึกษา, ชื่อ, ที่อยู่ เป็นต้น
  4. ระเบียน (Record) หรือ เรคคอร์ด คือหน่วยของข้อมูลซึ่งเกิดจากการนำข้อมูล หลายๆ เขตข้อมูลมารวมกัน ซึ่งเขตข้อมูล ที่นำมารวมกันนี้ จะมีความสัมพันธ์เกี่ยวเนื่องกัน เช่น รหัสนักศึกษา, ชื่อ, ที่อยู่ รวมกันเป็นระเบียนข้อมูล ของนักศึกษา เป็นต
  5. แฟ้มข้อมูล (File) หรือไฟล์ คือ หน่วยของข้อมูลซึ่งเกิดจากการนำข้อมูลหลายๆ ระเบียน ที่มีลักษณะ ของเขต ข้อมูลเหมือนกันมาจัดเก็บรวมกัน เช่นการจัดเก็บข้อมูลระเบียนของนักศึกษา หลายๆ คน รวมกันเป็น แฟ้มข้อมูลนักศึกษาเป็นต้น ซึ่งข้อมูลแต่ละระเบียนที่นำมารวมกันจะต้องมี เขตข้อมูล อย่างน้อย 1 เขต ข้อมูลที่แยกความแตกต่างของข้อมูลในแต่ละระเบียนได้หลายๆ คน รวมกันเป็น แฟ้มข้อมูลนักศึกษา เป็นต้น ซึ่งข้อมูลแต่ละระเบียนที่นำมารวมกันจะต้องมี เขตข้อมูล อย่างน้อย 1 เขต ข้อมูลที่แยกความแตกต่างของข้อมูลในแต่ละระเบียนได้ ตัวอย่างของหน่วยข้อมูลต่างๆ แสดงดังรูปที่ 5

5

รูปที่ 5 หน่วยข้อมูลต่างๆ

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

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 เช่น ภาษาฟอร์เทรน ภาษาโคบอล ภาษาซี เป็นต้น กระบวนการเขียนโปรแกรมชุดคำสั่งจะต้องเขียนโดยการใช้โครงสร้างข้อมูล การสร้างแฟ้ม แทรกข้อมูล แก้ไขหรือปรับปรุงข้อมูล อาจเกิดปัญหาหลาย ๆ อย่าง  ปัญหาเหล่านั้นได้แก่ ความยุ่งยากจากการประมวลผลกับระบบแฟ้มข้อมูล แฟ้มข้อมูลไม่มีความอิสระ แฟ้มข้อมูลมีความซ้ำซ้อนกันมาก แฟ้มข้อมูลมีความถูกต้องของข้อมูลน้อย แฟ้มข้อมูลมีความปลอดภัยน้อย และไม่มีการควบคุมจากศูนย์กลาง เป็นต้น รายละเอียด มีดังนี้

  1. ความยุ่งยากจากการประมวลผลกับระบบแฟ้มข้อมูลการดำเนินงานกับแฟ้มข้อมูลในระบบคอมพิวเตอร์นั้นจำเป็นจะต้องเขียนคำสั่งต่างๆ ในโปรแกรมเพื่อสร้างแฟ้มข้อมูล ใช้แฟ้มข้อมูล และปรับปรุงแฟ้มข้อมูลให้เป็นปัจจุบัน รูปแบบของคำสั่งเหล่านี้ถูกกำหนดไว้ในภาษาคอมพิวเตอร์ต่างๆ แล้ว ชุดคำสั่งของโปรแกรมต้องเขียนให้สอดคล้องกับข้อกำหนดของภาษา เช่น ถ้าภาษาคอมพิวเตอร์ที่ใช้กำหนดว่าจะต้องระบุชื่อแฟ้มข้อมูลในโปรแกรม ผู้เขียนโปรแกรมต้องปฏิบัติตามอย่างเคร่งครัด การใช้แฟ้มข้อมูลในแบบนี้  มีลักษณะจำกัด คือ ต้องระบุรายละเอียดของแฟ้ม วิธีการจัดแฟ้มข้อมูล และรายละเอียดของระเบียนที่อยู่ในแฟ้มเอาไว้ในโปรแกรมอย่างครบถ้วน หากกำหนดรายละเอียดผิดไปหรือกำหนดไม่ครบ ทำให้โปรแกรมทำงานผิดพลาดได้
  2. แฟ้มข้อมูลไม่มีความเป็นอิสระ ในระบบแฟ้มข้อมูลถ้ามีการแก้ไขโครงสร้างข้อมูลใหม่ ย่อมส่งผลกระทบถึงคำสั่งที่ได้เขียนเอาไว้ก่อนหน้านี้ด้วย เนื่องจากการเรียกใช้ข้อมูลที่เก็บอยู่ในระบบแฟ้มข้อมูล ต้องใช้โปรแกรมที่เขียนขึ้นมาเพื่อเรียกข้อมูลในแฟ้มข้อมูลโดยตรงเช่น เมื่อถ้าต้องการรายชื่อผู้บริจาคโลหิตหมู่โลหิตA- ที่อยู่ในเขตจังหวัดสงขลา โปรแกรมเมอร์ต้องเขียนคำสั่งเพื่ออ่านข้อมูลจากแฟ้มข้อมูลผู้บริจาคโลหิตและพิมพ์รายงานที่แสดงเฉพาะข้อมูลที่ตรงตามเงื่อนไขที่กำหนด กรณีที่มีการเปลี่ยนแปลงโครงสร้างของแฟ้มข้อมูล เช่น เขตข้อมูลที่อยู่ จากเดิมมีเป็นกลุ่มข้อมูล ถ้าแยกเขตข้อมูลใหม่เป็น บ้านเลขที่ หมู่ที่ ตำบล อำเภอ จังหวัด ดังตารางที่ 3

6.2

ตารางที่ 3  แฟ้มข้อมูลไม่มีความเป็นอิสระ

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

  1. แฟ้มข้อมูลมีความซ้ำซ้อนมากเนื่องจากการใช้งานระบบฐานข้อมูลนั้นต้องมีการออกแบบฐานข้อมูลเพื่อให้มีความซ้ำซ้อนของข้อมูลน้อยที่สุด จุดประสงค์หลักของการออกแบบฐานข้อมูลเพื่อการลดความซ้ำซ้อนนั่นเองสาเหตุที่ต้องลดความซ้ำซ้อน เนื่องจากความยากในการปรับปรุงข้อมูล กล่าวคือถ้าเก็บข้อมูลซ้ำซ้อนกันหลายแห่ง เมื่อมีการปรับปรุงข้อมูลแล้วปรับปรุงข้อมูลไม่ครบทำให้ข้อมูลเกิดความขัดแย้งกันของข้อมูลตามมา และยังเปลืองเนื้อที่การจัดเก็บข้อมูลด้วย เนื่องจากข้อมูลชุดเดียวกันจัดเก็บซ้ำกันหลายแห่งนั่นเอง ถึงแม้ว่าความซ้ำซ้อนช่วยให้ออกรายงานและตอบคำถามได้เร็วขึ้น แต่ความซ้ำซ้อนทำให้ข้อมูลมีความขัดแย้งกัน ถ้าข้อมูลไม่ถูกต้องและมีความขัดแย้งกันแล้ว การออกรายงานจะทำได้เร็วเพียงไรก็ตามแต่จะไม่มีประโยชน์เพราะว่า ทำให้ไม่ทราบว่าข้อมูลใดถูก ดังนั้นจึงต้องมีวิธีการออกแบบฐานข้อมูลเพื่อลดความซ้ำซ้อนของข้อมูลให้มากที่สุด
  2.  แฟ้มข้อมูลมีความถูกต้องของข้อมูลน้อย เนื่องจากแฟ้มข้อมูลไม่สามารถตรวจสอบกฎบังคับความถูกต้องของข้อมูลให้ได้ ถ้าต้องการควบคุมข้อมูลโปรแกรมเมอร์ต้องเขียนโปรแกรมเพื่อควบคุมกฎระเบียบต่างๆ เองทั้งหมด ถ้าเขียนโปรแกรมครอบคลุมกฎระเบียบใดไม่ครบหรือขาดหายไปบางกฎอาจทำให้ข้อมูลผิดพลาดได้ ซึ่งต่างจากระบบฐานข้อมูลที่ระบบจัดการฐานข้อมูลจะมีกฏบังคับความถูกต้อง โดยนำกฎเหล่านั้นมาไว้ที่ฐานข้อมูล ซึ่งถือเป็นหน้าที่ของระบบจัดการฐานข้อมูลที่จะจัดการเรื่องความถูกต้องของข้อมูลให้แทน และยังช่วยลดค่าใช้จ่ายในการบำรุงรักษาและการแก้ไขโปรแกรมด้วยเนื่องจากระบบจัดการฐานข้อมูลจัดการให้เอง
  3. แฟ้มข้อมูลมีความปลอดภัยน้อย ในระบบฐานข้อมูล ถ้าหากทุกคนสามารถเรียกดูและเปลี่ยนแปลงข้อมูลในฐานข้อมูลทั้งหมดได้ อาจก่อให้เกิดความเสียหายต่อข้อมูลได้ และข้อมูลบางส่วนอาจเป็นข้อมูลที่ไม่อาจเปิดเผยได้หรือเป็นข้อมูลเฉพาะของผู้บริหาร หากไม่มีการจัดการด้านความปลอดภัยของข้อมูล ฐานข้อมูลจะไม่สามารถใช้เก็บข้อมูลบางส่วนได้  ระบบฐานข้อมูลส่วนใหญ่มีการรักษาความปลอดภัยของข้อมูล ได้แก่  ต้องมีชื่อผู้ใช้  และรหัสผ่าน ในการเข้าใช้งานฐานข้อมูลสำหรับผู้ใช้แต่ละคน ผู้บริหารฐานข้อมูลสามารถสร้างและจัดการตารางข้อมูลทั้งหมดในฐานข้อมูลได้ ทั้งการเพิ่มและระงับรายชื่อผู้ใช้ รวมทั้งอนุญาตให้ผู้ใช้สามารถเรียกดู ป้อนข้อมูลเพิ่มเติม ลบและแก้ไขข้อมูลได้  ผู้บริหารฐานข้อมูลสามารถใช้คำสั่งวิว  เพื่อประโยชน์ในการรักษาความปลอดภัยของข้อมูลได้เป็นอย่างดี โดยการสร้างวิวที่เสมือนเป็นตารางของผู้ใช้จริง ๆ และข้อมูลที่ปรากฏในวิวจะเป็นข้อมูลที่เกี่ยวข้องกับงานของผู้ใช้เท่านั้น ซึ่งไม่กระทบกับข้อมูลจริงในฐานข้อมูล ระบบการจัดการฐานข้อมูลไม่ยินยอมให้โปรแกรมใดๆ เข้าถึงข้อมูลในระดับกายภาพได้ ระบบการจัดการฐานข้อมูลมีการเข้ารหัสและถอดรหัส  เพื่อปกปิดข้อมูลแก่ผู้ที่ไม่เกี่ยวข้อง เช่น มีการเข้ารหัสของรหัสผ่าน ซึ่งในส่วนต่าง ๆ เหล่านี้ในระบบแฟ้มข้อมูลจะไม่มีการเข้ารหัส เป็นต้น
  1. ไม่มีการควบคุมจากศูนย์กลาง ระบบแฟ้มข้อมูลจะไม่มีการควบคุมการใช้ข้อมูลจากศูนย์กลาง เนื่องจากข้อมูลที่หน่วยงานย่อยใช้สามารถใช้ข้อมูลได้อย่างเสรีโดยไม่มีศูนย์กลางในการควบคุม ทำให้ไม่ทราบว่าหน่วยงานใดใช้ข้อมูลในระดับใดบ้างใครเป็นผู้นำข้อมูลเข้าใครมีสิทธิ์แก้ไขข้อมูล และใครมีสิทธิ์เรียกใช้ข้อมูลได้เพียงอย่างเดียว

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 วัน ผู้บริจาคควรมีที่อยู่ใกล้โรงพยาบาล เป็นต้น นอกจากนี้ระบบฐานข้อมูลยังมีความสำคัญในด้านต่าง ๆ อีก ดังนี้

จากการจัดเก็บข้อมูลรวมเป็นฐานข้อมูลจะก่อให้เกิดประโยชน์ดังนี้

  1. สามารถลดความซ้ำซ้อนของข้อมูลได้

การเก็บข้อมูลชนิดเดียวกันไว้หลาย ๆ ที่ ทำให้เกิดความซ้ำซ้อน (Redundancy) ดังนั้นการนำข้อมูลมารวมเก็บไว้ในฐานข้อมูล จะช่วยลดปัญหาการเกิดความซ้ำซ้อนของข้อมูลได้ โดยระบบจัดการฐานข้อมูล (Database Management System : DBMS) จะช่วยควบคุมความซ้ำซ้อนได้ เนื่องจากระบบจัดการฐานข้อมูลจะทราบได้ตลอดเวลาว่ามีข้อมูลซ้ำซ้อนกันอยู่ที่ใดบ้าง

  1. หลีกเลี่ยงความขัดแย้งของข้อมูลได้

หากมีการเก็บข้อมูลชนิดเดียวกันไว้หลาย ๆ ที่และมีการปรับปรุงข้อมูลเดียวกันนี้ แต่ปรับปรุงไม่ครบทุกที่ที่มีข้อมูลเก็บอยู่ก็จะทำให้เกิดปัญหาข้อมูลชนิดเดียวกัน อาจมีค่าไม่เหมือนกันในแต่ละที่ที่เก็บข้อมูลอยู่ จึงก่อให้เกิดความขัดแย้งของข้อมูลขึ้น (Inconsistency)

  1. สามารถใช้ข้อมูลร่วมกันได้

ฐานข้อมูลจะเป็นการจัดเก็บข้อมูลรวมไว้ด้วยกัน ดังนั้นหากผู้ใช้ต้องการใช้ข้อมูลในฐานข้อมูลที่มาจากแฟ้มข้อมูลต่างๆ ก็จะทำได้โดยง่าย

  1. สามารถรักษาความถูกต้องเชื่อถือได้ของข้อมูล

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

ความถูกต้องของข้อมูล (Data Integrity) มี 2 ประเภท

– Static Integrity (State of Data) เป็นความถูกต้องของเนื้อข้อมูล เช่น ผู้หญิงลาบวชไม่ได้ ผู้ชายลาคลอดไม่ได้ อายุของ พนักงานอยู่ระหว่าง 18-60 ปี หรือสมาชิกยืมหนังสือได้ไม่เกิน 5 เล่ม เป็นต้น
– Dynamic Integrity (State of Transition) เป็นความถูกต้องของลำดับการแก้ไข เช่น การแก้ไขสถานะภาพสมรสของพนักงาน ดังรูปที่ 7

7

รูปที่ 7 แสดงลำดับการแก้ไขสถานะภาพสมรส

ความถูกต้องของข้อมูลจะถูกบังคับโดย Integrity rule หรือ integrity constrains และไม่ควรถูกจัดการโดยโปรแกรม แต่จะถูกจัดการโดยระบบจัดการฐานข้อมูล

  1. สามารถกำหนดความเป็นมาตรฐานเดียวกันของข้อมูลได้

การเก็บข้อมูลร่วมกันไว้ในฐานข้อมูลจะทำให้สามารถกำหนดมาตรฐานของข้อมูลได้รวมทั้งมาตรฐานต่าง ๆ ในการจัดเก็บข้อมูลให้เป็นไปในลักษณะเดียวกันได้ เช่นการกำหนดรูปแบบการเขียนวันที่ ในลักษณะ วัน/เดือน/ปี หรือ ปี/เดือน/วัน ทั้งนี้จะมีผู้ที่คอยบริหารฐานข้อมูลที่เราเรียกว่า ผู้บริหารฐานข้อมูล (Database Administrator : DBA) เป็นผู้กำหนดมาตรฐานต่างๆ

  1. สามารถกำหนดระบบความปลอดภัยของข้อมูลได้

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

  1. เกิดความเป็นอิสระของข้อมูล

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

ความเป็นอิสระของข้อมูล แบ่งออกเป็น 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. บุคคลที่เกี่ยวข้องกับฐานข้อมูล

  1. ผู้บริหารฐานข้อมูล (Database Administrator หรือ DBA) เป็นบุคคลคนเดียว หรือกลุ่มผู้เชี่ยวชาญซึ่งมีหน้าที่ควบคุมและบริหารทรัพยากรฐานข้อมูลขององค์กรให้สามารถดำเนินการประยุกต์ใช้ฐานข้อมูลโดยความร่วมมือช่วยเหลือจากพนักงานในหน่วยงานที่เกี่ยวข้อง อีกทั้งต้องเป็นผู้ที่สามารถติดต่อกับผู้บริหารระดับสูง ผู้ใช้แผนกต่าง ๆ และเจ้าหน้าที่ฝ่ายปฏิบัติการ และควรมีความรู้ทั้งหลักการบริหารและด้านเทคนิคของระบบจัดการฐานข้อมูล (DBMS)

หน้าที่ของผู้บริหารฐานข้อมูล แบ่งเป็น 2 ส่วน

– การออกแบบฐานข้อมูลจะต้องทราบวิธีออกแบบและรายละเอียดของระบบงาน ซึ่งที่จริงแล้วในส่วนนี้ควรจะเป็นหน้าที่ของผู้จัดการข้อมูลหรือ DA (Data Administrator) ซึ่งก็คือ SA (System Analysis) โดยผู้ใช้หรือเจ้าของระบบงานเขียนและออกแบบโครงสร้างด้วย ER Model แต่ SA จะออกแบบอัลกอริทึม
– การปฏิบัติงานกับ DBMS จะต้อบทราบเทคโนโลยีของ DBMS ดังนั้น ในส่วนนี้จะเป็นหน้าที่ของ DBA โดย DBA จะต้องทราบวิธีการปฏิบัติงานกับ DBMS ดังนี้

  1. การติดตั้งระบบจัดการฐานข้อมูล (Install DBMS)
  2. การจัดสรรเนื้อที่ในดิสก์ (allocate disk space)
  3. การสร้างโครงสร้างของข้อมูล (create data structure)
  4. การทำข้อมูลสำรองเอง (backup) และการฟื้นสภาพข้อมูล (recovery)
  5. การปรับผลการปฏิบัติงาน (performance tuning)

DBA จะทำหน้าที่เป็นที่ปรึกษาและประสานงานกับเจ้าหน้าที่ฝ่ายปฏิบัติการ เช่น นักวิเคราะห์และออกแบบโปรแกรมเมอร์และผู้ใช้

  1. นักวิเคราะห์และออกแบบ (System Analyst) ทำหน้าที่ออกแบบอัลกอริทึม (Algorithm) ของระบบงาน
  2. โปรแกรมเมอร์ (Programmer) เป็นผู้เขียนโปรแกรมประยุกต์ (Application program) สำหรับใช้กับฐานข้อมูล อาจจะเขียนด้วยภาษาระดับสูง เช่น SQL เป็นต้น
  3. ผู้ใช้ (End User) เจ้าของระบบงานที่ต้องการเรียกใช้ฐานข้อมูล โดยอาจผ่านทางโปรแกรมประยุกต์หรือภาษาเรียกค้น เช่น SQL ผู้ใช้เหล่านี้ไม่จำเป็นต้องมีความรู้เกี่ยวกับการเขียนโปรแกรม

ถึงแม้ว่าฐานข้อมูลจะมีคุณลักษณะที่ดีดังได้กล่าวมาข้างต้นแต่ก็มีข้อเสียดังนี้

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

10. ตัวอย่างซอฟต์แวร์จัดการระบบฐานข้อมูลในปัจจุบัน

ซอฟต์แวร์ระบบฐานข้อมูล เป็นโปรแกรมหรือซอฟแวร์ที่ช่วยจัดการข้อมูลหรือรายการต่าง ๆ ที่อยู่ในฐานข้อมูล ไม่ว่าจะเป็นการจัดเก็บ การเรียกใช้ การปรับปรุงข้อมูล

ระบบฐานข้อมูลที่มีอยู่ในปัจจุบัน มีอยู่เป็นจำนวนมาก ซึ่งแบ่งออกเป็น 2 กลุ่มได้ คือระบบฐานข้อมูลขนาดใหญ่ ซึ่งมีความสามารถในการจัดการฐานข้อมูลครบทุกด้าน และอีกกลุ่มคือระบบฐานข้อมูลขนาดไม่ใหญ่มาก ซึ่งมีความสามารถในการจัดการฐานข้อมูลเช่นกัน แต่อาจจะขาดความสามารถบางอย่างไป ตัวอย่างของซอฟต์แวร์ระบบฐานข้อมูลต่างๆ มีดังนี้ เช่น Oracle, Microsoft SQL, MySQL, Sysbase, DB2, Informix, Ingres, Access, FoxPro, Clipper, dBase, FoxBase เป็นต้น ซอฟต์แวร์ระบบฐานข้อมูลจะช่วยให้ผู้ใช้สามารถค้นหาข้อมูลได้อย่างรวดเร็ว ซึ่งโปรแกรมฐานข้อมมูลที่นิยม โดยแต่ละโปรแกรมจะมีความสามารถต่างกัน บางโปรแกรมใช้ง่ายแต่จะจำกัดขอบเขตการใช้งาน บางโปรแกรมใช้งานยากกว่า แต่จะมีความสามารถในการทำงานมากกว่า

8

รูปที่ 8 ตัวอย่างซอร์ฟแวร์จัดการระบบฐานข้อมูล

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

โปรแกรม FoxPro เป็นโปรแกรมฐานข้อมูลที่มีผู้ใช้งานมากที่สุด เนื่องจากใช้ง่ายทั้งวิธีการเรียกจากเมนูของ FoxPro และประยุกต์โปรแกรมขึ้นใช้งาน โปรแกรมที่เขียนด้วย FoxPro จะสามารถใช้กลับ dBase คำสั่งและฟังก์ชั่นต่าง ๆ ใน dBase จะสามารถใช้งานบน FoxPro ได้ นอกจากนี้ใน FoxPro ยังมีเครื่องมือช่วยในการเขียนโปรแกรม เช่น การสร้างรายงาน

โปรแกรม dBase เป็นโปรแกรมฐานข้อมูลชนิดหนึ่ง การใช้งานจะคล้ายกับโปรแกรม FoxPro ข้อมูลรายงานที่อยู่ในไฟล์บน dBase จะสามารถส่งไปประมวลผลในโปรแกรม Word Processor ได้ และแม้แต่ Excel ก็สามารถอ่านไฟล์ .DBF ที่สร้างขึ้นโดยโปรแกรม dBase ได้ด้วย

โปรแกรม SQL เป็นโปรแกรมฐานข้อมูลที่มีโครงสร้างของภาษาที่เข้าใจง่าย ไม่ซับซ้อน มีประสิทธิภาพการทำงานสูง สามารถทำงานที่ซับซ้อนได้โดยใช้คำสั่งเพียงไม่กี่คำสั่ง โปรแกรม SQL จึงเหมาะที่จะใช้กับระบบฐานข้อมูลเชิงสัมพันธ์ และเป็นภาษาหนึ่งที่มีผู้นิยมใช้กันมาก โดยทั่วไปโปรแกรมฐานข้อมูลของบริษัทต่าง ๆ ที่มีใช้อยู่ในปัจจุบัน เช่น Oracle, DB2 ก็มักจะมีคำสั่ง SQL ที่ต่างจากมาตรฐานไปบ้างเพื่อให้เป็นจุดเด่นของแต่ละโปรแกรมไป

บรรณานุกรม

  1. ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล. (ออนไลน์). แหล่งที่มา : http://www.chandra.ac.th/office/ict/document/it/it04/page01.html. 17 สิงหาคม 2558
  2. ระบบฐานข้อมูล(DATABASE SYSTEMS). (ออนไลน์). แหล่งที่มา : http://www.sirikitdam.egat.com/WEB_MIS/103_116/01.html. 17 สิงหาคม 2558

อ.ทวีรัตน์ นวลช่วย. 2558. ระบบฐานข้อมูล (Database System). (ออนไลน์). แหล่งที่มา :  https://sites.google.com/site/thaidatabase2/. 17 สิงหาคม 2558

  1. ฐานข้อมูล. (ออนไลน์). แหล่งที่มา : http://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. การเรียนการสอนผ่านเว็บ วิชา ระบบฐานข้อมูล . (ออนไลน์). แหล่งที่มา : http://203.172.182.81/wbidatabase/unit1/unit1.php. 17 สิงหาคม 2558

Advertisements
%d bloggers like this: