วันอังคารที่ 31 มีนาคม พ.ศ. 2552

ระบบฐานข้อมูล Database

ฐานข้อมูลและระบบจัดการฐานข้อมูล

ในปัจจุบันการจัดโครงสร้างข้อมูลให้เป็นแบบฐานข้อมูลกำลังเป็นที่นิยม เกือบทุกหน่วยงานที่มีการใช้ระบบสารสนเทศจะจัดทำข้อมูลให้เป็นแบบฐานข้อมูล เนื่องจากปริมาณข้อมูลมีมากถ้าจัดข้อมูลเป็นแบบแฟ้มข้อมูลจะทำให้มีแฟ้มข้อมูลเป็นจำนวนมาก ซึ่งจะทำให้เกิดข้อมูลที่ซ้ำซ้อนกันได้ ข้อมูลที่ซ้ำซ้อนนี้จะก่อให้เกิดปัญหามากมาย
1.ความหมายของระบบฐานข้อมูล
ฐานข้อมูล (database) หมายถึง กลุ่มของข้อมูลที่ถูกเก็บรวบรวมไว้ โดยมีความสัมพันธ์ซึ่งกันและกัน โดยไม่ได้บังคับว่าข้อมูลทั้งหมดนี้จะต้องเก็บไว้ในแฟ้มข้อมูลเดียวกันหรือแยกเก็บหลาย ๆ แฟ้มข้อมูล นั่นก็คือการเก็บข้อมูลในฐานข้อมูลนั้นเราอาจจะเก็บทั้งฐานข้อมูล โดยใช้แฟ้มข้อมูลเพียงแฟ้มข้อมูลเดียวกันได้ หรือจะเก็บไว้ในหลาย ๆ แฟ้มข้อมูล ที่สำคัญคือจะต้องสร้างความสัมพันธ์ระหว่างระเบียนและเรียกใช้ความสัมพันธ์นั้นได้ มีการกำจัดความซ้ำซ้อนของข้อมูลออกและเก็บแฟ้มข้อมูลเหล่านี้ไว้ที่ศูนย์กลาง เพื่อที่จะนำข้อมูลเหล่านี้มาใช้ร่วมกัน ควบคุมดูแลรักษาเมื่อผู้ต้องการใช้งานและผู้มีสิทธิ์จะใช้ข้อมูลนั้นสามารถดึงข้อมูลที่ต้องการออกไปใช้ได้ ข้อมูลบางส่วนอาจใช้ร่วมกับผู้อื่นได้ แต่บางส่วนผู้มีสิทธิ์เท่านั้นจึงจะสามารถใช้ได้ โดยทั่วไปองค์กรต่าง ๆ จะสร้างฐานข้อมูลไว้ เพื่อเก็บข้อมูลต่าง ๆ ของตัวองค์กร โดยเฉพาะอย่างยิ่งข้อมูลในเชิงธุรกิจ เช่น ข้อมูลของลูกค้า ข้อมูลของสินค้า ข้อมูลของลูกจ้าง และการจ้างงาน เป็นต้น การควบคุมดูแลการใช้ฐานข้อมูลนั้น เป็นเรื่องที่ยุ่งยากกว่าการใช้แฟ้มข้อมูลมาก เพราะเราจะต้องตัดสินใจว่าโครงสร้างในการจัดเก็บข้อมูลควรจะเป็นเช่นไร การเขียนโปรแกรมเพื่อสร้างและเรียกใช้ข้อมูลจากโครงสร้างเหล่านี้ ถ้าโปรแกรมเหล่านี้เกิดทำงานผิดพลาดขึ้นมา ก็จะเกิดความเสียหายต่อโครงสร้างของข้อมูลทั้งหมดได้ เพื่อเป็นการลดภาวะการทำงานของผู้ใช้ จึงได้มีส่วนของฮาร์ดแวร์และโปรแกรมต่าง ๆ ที่สามารถเข้าถึงและจัดการข้อมูลในฐานข้อมูลนั้น เรียกว่า ระบบจัดการฐานข้อมูล หรือDBMS (data base management system) ระบบจัดการฐานข้อมูล คือ ซอฟต์แวร์ที่เปรียบเสมือนสื่อกลางระหว่างผู้ใช้และโปรแกรมต่าง ๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูล ซึ่งมีหน้าที่ช่วยให้ผู้ใช้เข้าถึงข้อมูลได้ง่ายสะดวกและมีประสิทธิภาพ การเข้าถึงข้อมูลของผู้ใช้อาจเป็นการสร้างฐานข้อมูล การแก้ไขฐานข้อมูล หรือการตั้งคำถามเพื่อให้ข้อมูลมา โดยผู้ใช้ไม่จำเป็นต้องรับรู้เกี่ยวกับรายละเอียดภายในโครงสร้างของฐานข้อมูล เปรียบเสมือนเป็นสื่อกลางระหว่างผู้ใช้และโปรแกรมต่าง ๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูล
2.ความสำคัญของระบบฐานข้อมูล
การจัดข้อมูลให้เป็นระบบฐานข้อมูลทำให้ข้อมูลมีส่วนดีกว่าการเก็บข้อมูลในรูปของแฟ้มข้อมูล เพราะการจัดเก็บข้อมูลในระบบฐานข้อมูล จะมีส่วนที่สำคัญกว่าการจัดเก็บข้อมูลในรูปของแฟ้มข้อมูลดังนี้
2.1 ลดการเก็บข้อมูลที่ซ้ำซ้อน ข้อมูลบางชุดที่อยู่ในรูปของแฟ้มข้อมูลอาจมีปรากฏอยู่หลาย ๆ แห่ง เพราะมีผู้ใช้ข้อมูลชุดนี้หลายคน เมื่อใช้ระบบฐานข้อมูลแล้วจะช่วยให้ความซ้ำซ้อนของข้อมูลลดน้อยลง เช่น ข้อมูลอยู่ในแฟ้มข้อมูลของผู้ใช้หลายคน ผู้ใช้แต่ละคนจะมีแฟ้มข้อมูลเป็นของตนเอง ระบบฐานข้อมูลจะลดการซ้ำซ้อนของข้อมูลเหล่านี้ให้มากที่สุด โดยจัดเก็บในฐานข้อมูลไว้ที่เดียวกัน ผู้ใช้ทุกคนที่ต้องการใช้ข้อมูลชุดนี้จะใช้โดยผ่านระบบฐานข้อมูล ทำให้ไม่เปลืองเนื้อที่ในการเก็บข้อมูลและลดความซ้ำซ้อนลงได้
2.2 รักษาความถูกต้องของข้อมูล เนื่องจากฐานข้อมูลมีเพียงฐานข้อมูลเดียว ในกรณีที่มีข้อมูลชุดเดียวกันปรากฏอยู่หลายแห่งในฐานข้อมูล ข้อมูลเหล่านี้จะต้องตรงกัน ถ้ามีการแก้ไขข้อมูลนี้ทุก ๆ แห่งที่ข้อมูลปรากฏอยู่จะแก้ไขให้ถูกต้องตามกันหมดโดยอัตโนมัติด้วยระบบจัดการฐานข้อมูล
2.3 การป้องกันและรักษาความปลอดภัยให้กับข้อมูลทำได้อย่างสะดวก การป้องกันและรักษาความปลอดภัยกับข้อมูลระบบฐานข้อมูลจะให้เฉพาะผู้ที่เกี่ยวข้องเท่านั้นจึงจะมีสิทธิ์เข้าไปใช้ฐานข้อมูลได้เรียกว่ามีสิทธิส่วนบุคคล (privacy) ซึ่งก่อให้เกิดความปลอดภัย (security) ของข้อมูลด้วย ฉะนั้นผู้ใดจะมีสิทธิ์ที่จะเข้าถึงข้อมูลได้จะต้องมีการกำหนดสิทธิ์กันไว้ก่อนและเมื่อเข้าไปใช้ข้อมูลนั้น ๆ ผู้ใช้จะเห็นข้อมูลที่ถูกเก็บไว้ในฐานข้อมูลในรูปแบบที่ผู้ใช้ออกแบบไว้
ตัวอย่างเช่น ผู้ใช้สร้างตารางข้อมูลขึ้นมาและเก็บลงในระบบฐานข้อมูล ระบบจัดการฐานข้อมูลจะเก็บข้อมูลเหล่านี้ลงในอุปกรณ์เก็บข้อมูลในรูปแบบของระบบจัดการฐานข้อมูลซึ่งอาจเก็บข้อมูลเหล่านี้ลงในแผ่นจานบันทึกแม่เหล็กเป็นระเบียน บล็อกหรืออื่น ๆ ผู้ใช้ไม่จำเป็นต้องรับรู้ว่าโครงสร้างของแฟ้มข้อมูลนั้นเป็นอย่างไร ปล่อยให้เป็นหน้าที่ของระบบจัดการฐานข้อมูล
ดังนั้นถ้าผู้ใช้เปลี่ยนแปลงลักษณะการเก็บข้อมูล เช่น เปลี่ยนแปลงรูปแบบของตารางเสียใหม่ ผู้ใช้ก็ไม่ต้องกังวลว่าข้อมูลของเขาจะถูกเก็บลงในแผ่นจานบันทึกแม่เหล็กในลักษณะใด ระบบการจัดการฐานข้อมูลจะจัดการให้ทั้งหมด ในทำนองเดียวกันถ้าผู้ออกแบบระบบฐานข้อมูลเปลี่ยนวิธีการเก็บข้อมูลลงบนอุปกรณ์จัดเก็บข้อมูล ผู้ใช้ก็ไม่ต้องแก้ไขฐานข้อมูลที่เขาออกแบบไว้แล้ว ระบบการจัดการฐานข้อมูลจะจัดการให้ ลักษณะเช่นนี้เรียกว่า ความไม่เกี่ยวข้องกันของข้อมูล (data independent)
2.4 สามารถใช้ข้อมูลร่วมกันได้ เนื่องจากในระบบฐานข้อมูลจะเป็นที่เก็บรวบรวมข้อมูลทุกอย่างไว้ ผู้ใช้แต่ละคนจึงสามารถที่จะใช้ข้อมูลในระบบได้ทุกข้อมูล ซึ่งถ้าข้อมูลไม่ได้ถูกจัดให้เป็นระบบฐานข้อมูลแล้ว ผู้ใช้ก็จะใช้ได้เพียงข้อมูลของตนเองเท่านั้น เช่น ดังภาพที่ 4.9 ข้อมูลของระบบเงินเดือน ข้อมูลของระบบงานบุคคลถูกจัดไว้ในระบบแฟ้มข้อมูลผู้ใช้ที่ใช้ข้อมูลระบบเงินเดือน จะใช้ข้อมูลได้ระบบเดียว แต่ถ้าข้อมูลทั้ง 2 ถูกเก็บไว้เป็นฐานข้อมูลซึ่งถูกเก็บไว้ในที่ที่เดียวกัน ผู้ใช้ทั้ง 2 ระบบก็จะสามารถเรียกใช้ฐานข้อมูลเดียวกันได้ ไม่เพียงแต่ข้อมูลเท่านั้นสำหรับโปรแกรมต่าง ๆ ถ้าเก็บไว้ในฐานข้อมูลก็จะสามารถใช้ร่วมกันได้
2.5 มีความเป็นอิสระของข้อมูล เมื่อผู้ใช้ต้องการเปลี่ยนแปลงข้อมูลหรือนำข้อมูลมาประยุกต์ใช้ให้เหมาะสมกับโปรแกรมที่เขียนขึ้นมา จะสามารถสร้างข้อมูลนั้นขึ้นมาใช้ใหม่ได้ โดยไม่มีผลกระทบต่อระบบฐานข้อมูล เพราะข้อมูลที่ผู้ใช้นำมาประยุกต์ใช้ใหม่นั้นจะไม่กระทบต่อโครงสร้างที่แท้จริงของการจัดเก็บข้อมูล นั่นคือ การใช้ระบบฐานข้อมูลจะทำให้เกิดความเป็นอิสระระหว่างการจัดเก็บข้อมูลและการประยุกต์ใช้
2.6 สามารถขยายงานได้ง่าย เมื่อต้องการจัดเพิ่มเติมข้อมูลที่เกี่ยวข้องจะสามารถเพิ่มได้อย่างง่ายไม่ซับซ้อน เนื่องจากมีความเป็นอิสระของข้อมูล จึงไม่มีผลกระทบต่อข้อมูลเดิมที่มีอยู่
2.7 ทำให้ข้อมูลบูรณะกลับสู่สภาพปกติได้เร็วและมีมาตรฐาน เนื่องจากการจัดพิมพ์ข้อมูลในระบบที่ไม่ได้ใช้ฐานข้อมูล ผู้เขียนโปรแกรมแต่ละคนมีแฟ้มข้อมูลของตนเองเฉพาะ ฉะนั้นแต่ละคนจึงต่างก็สร้างระบบการบูรณะข้อมูลให้กลับสู่สภาพปกติในกรณีที่ข้อมูลเสียหายด้วยตนเองและด้วยวิธีการของตนเอง จึงขาดประสิทธิภาพและมาตรฐาน แต่เมื่อมาเป็นระบบฐานข้อมูลแล้ว การบูรณะข้อมูลให้กลับคืนสู่สภาพปกติจะมีโปรแกรมชุดเดียวและมีผู้ดูแลเพียงคนเดียวที่ดูแลทั้งระบบ ซึ่งย่อมต้องมีประสิทธิภาพและเป็นมาตรฐานเดียวกันแน่นอน
3.การบริหารฐานข้อมูล
ในระบบฐานข้อมูลนอกจากจะมีระบบการจัดการฐานข้อมูล ซึ่งเป็นซอฟต์แวร์ที่สร้างขึ้นเพื่อจัดการกับข้อมูลให้เป็นระบบ จะได้นำไปเก็บรักษา เรียกใช้ หรือนำมาปรับปรุงให้ทันสมัยได้ง่ายแล้ว ในระบบฐานข้อมูลยังต้องประกอบด้วยบุคคลที่มีหน้าที่ควบคุมดูแลระบบฐานข้อมูล คือ ผู้บริหารฐานข้อมูล
เหตุผลสำหรับประการหนึ่งของการจัดทำระบบจัดการฐานข้อมูล คือ การมีศูนย์กลางควบคุมทั้งข้อมูลและโปรแกรมที่เข้าถึงข้อมูลเหล่านั้น บุคคลที่มีอำนาจหน้าที่ดูแลการควบคุมนี้ เรียกว่า ผู้บริหารฐานข้อมูล หรือ DBA (data base administor) คือ ผู้มีหน้าที่ควบคุมการบริหารงานของฐานข้อมูลทั้งหมด
4. หน้าที่ของผู้บริหารฐานข้อมูล
4.1 กำหนดโครงสร้างหรือรูปแบบของฐานข้อมูล โดยทำการวิเคราะห์และตัดสินใจว่าจะรวมข้อมูลใดเข้าไว้ในระบบใดบ้าง ควรจะจัดเก็บข้อมูลด้วยวิธีใด และใช้เทคนิคใดในการเรียกใช้ข้อมูลอย่างไร
4.2 กำหนดโครงสร้างของอุปกรณ์เก็บข้อมูลและวิธีการเข้าถึงข้อมูล โดยกำหนดโครงสร้างของอุปกรณ์เก็บข้อมูลและวิธีการเข้าถึงข้อมูล พร้อมทั้งกำหนดแผนการในการสร้างระบบข้อมูลสำรองและการฟื้นสภาพ โดยการจัดเก็บข้อมูลสำรองไว้ทุกระยะ และจะต้องเตรียมการไว้ว่าถ้าเกิดความผิดพลาดขึ้นแล้วจะทำการฟื้นสภาพได้อย่างไร
4.3 มอบหมายขอบเขตอำนาจหน้าที่ของการเข้าถึงข้อมูลของผู้ใช้ โดยการประสานงานกับผู้ใช้ ให้คำปรึกษา ให้ความช่วยเหลือแก่ผู้ใช้ และตรวจตราความต้องการของผู้ใช้
5.ระบบการจัดการฐานข้อมูล (data base management system, DBMS)
หน้าที่ของระบบการจัดการฐานข้อมูล
5.1ระบบจัดการฐานข้อมูลเป็นซอฟต์แวร์ที่ทำหน้าที่ดังต่อไปนี้ ดูแลการใช้งานให้กับผู้ใช้
ในการติดต่อกับตัวจัดการระบบแฟ้มข้อมูลได้ ในระบบฐานข้อมูลนี้ข้อมูลจะมีขนาดใหญ่ ซึ่งจะถูกจัดเก็บไว้ในหน่วยความจำสำรองเมื่อผู้ใช้ต้องการจะใช้ฐานข้อมูล ระบบการจัดการฐานข้อมูลจะทำหน้าที่ติดต่อกับระบบแฟ้มข้อมูลซึ่งเสมือนเป็นผู้จัดการแฟ้มข้อมูล (file manager) นำข้อมูลจากหน่วยความจำสำรองเข้าสู่หน่วยความจำหลักเฉพาะส่วนที่ต้องการใช้งาน และทำหน้าที่ประสานกับตัวจัดการระบบแฟ้มข้อมูลในการจัดเก็บ เรียกใช้ และแก้ไขข้อมูล
5.2 ควบคุมระบบความปลอดภัยของข้อมูลโดยป้องกันไม่ให้ผู้ที่ไม่ได้รับอนุญาตเข้ามาเรียกใช้หรือแก้ไขข้อมูลในส่วนป้องกันเอาไว้ พร้อมทั้งสร้างฟังก์ชันในการจัดทำข้อมูลสำรอง โดยเมื่อเกิดมีความขัดข้องของระบบแฟ้มข้อมูลหรือของเครื่องคอมพิวเตอร์เกิดการเสียหายนั้น ฟังก์ชันนี้จะสามารถทำการฟื้นสภาพของระบบข้อมูลกลับเข้าสู่สภาพที่ถูกต้องสมบูรณ์ได้
5.3 ควบคุมการใช้ข้อมูลในสภาพที่มีผู้ใช้พร้อม ๆ กันหลายคน โดยจัดการเมื่อมีข้อผิดพลาดของข้อมูลเกิดขึ้น

ความจำเป็นที่ทำให้เกิดการใช้งานโดยระบบฐานข้อมูล
หลังจากที่มนุษย์เริ่มรู้จักใช้คอมพิวเตอร์เพื่อการประมวลผลแล้วก็เริ่มมีการพัฒนาภาษาโปรแกรมสำหรับใช้ในการประมวลผลข้อมูล เช่น ภาษาฟอร์แทรน (FORTRAN) โคบอล (COBOL) พีแอลวัน (PL/I) เบสิก (BASIC) ปาสคาล (Pascal) และเริ่มพัฒนาแนวความคิดในการจัดเก็บข้อมูลเป็นแฟ้มข้อมูลประเภทต่างๆ แฟ้มข้อมูลมีข้อจำกัดในการใช้งานหลายประการ ในระบบฐนข้อมูลก็เนื่องมาจากเหตุผลดังนี้
1.การประมวลผลกับระบบแฟ้มข้อมูลยุ่งยาก
การดำเนินงานกับแฟ้มข้อมูลในระบบคอมพิวเตอร์นั้นจำเป็นจะต้องเขียนคำสั่งต่างๆ ในโปรแกรมเพื่อสร้างแฟ้มข้อมูล ใช้เรคอร์ดในแฟ้มข้อมูล และปรับปรุงแฟ้มข้อมูลให้เป็นปัจจุบัน รูปแบบของคำสั่งเหล่านี้ถูกกำหนดไว้ในภาษาคอมพิวเตอร์ต่างๆ แล้ว ส่วนโปรแกรมก็จะต้องพัฒนาขึ้นให้สอดคล้องกับข้อกำหนดของภาษา เช่นหากภาษาคอมพิวเตอร์ที่ใช้นั้นกำหนดว่าจะต้องระบุชื่อแฟ้มข้อมูลในโปรแกรม ผู้เขียนโปรแกรมก็ต้องปฏิบัติตามอย่างเคร่งครัด
การใช้แฟ้มข้อมูลในแบบที่กล่าวมานี้มีลักษณะจำกัดอย่างหนึ่งคือจะต้องระบุรายละเอียดของแฟ้ม วิธีการจัดแฟ้มข้อมูล และรายละเอียดของเรคอร์ดที่อยู่ในแฟ้มเอาไว้ในโปรแกรมอย่างครบถ้วน หากกำหนดรายละเอียดผิดไปหรือกำหนดไม่ครบก็จะทำให้โปรแกรมทำงานผิดพลาดได้
2. แฟ้มข้อมูลไม่มีความเป็นอิสระของข้อมูล
ระบบแฟ้มข้อมูลถ้ามีการแก้ไขโครงสร้างข้อมูลจะกระทบถึงโปรแกรมด้วย เนื่องจากในการเรียกใช้ข้อมูลที่เก็บอยู่ในระบบแฟ้มข้อมูลนั้น ต้องใช้โปรแกรมที่เขียนขึ้นเพื่อเรียกใช้ข้อมูลในแฟ้มข้อมูลนั้นโดยเฉพาะ เช่น เมื่อต้องการรายชื่อพนักงานที่มีเงินเดือนมากกว่า 100,000 บาทต่อเดือน โปรแกรมเมอร์ต้องเขียนโปรแกรมเพื่ออ่านข้อมูลจากแฟ้มข้อมูลพนักงานและพิมพ์รายงานที่แสดงเฉพาะข้อมูลที่ตรงตามเงื่อนไขที่กำหนด กรณีที่มีการเปลี่ยนแปลงโครงสร้างของแฟ้มข้อมูลข้อมูลเช่น ให้มีดัชนี (index) ตามชื่อพนักงานแทนรหัสพนักงาน ส่งผลให้รายงานที่แสดงรายชื่อพนักงานที่มีเงินเดือนมากกว่า 100,000 บาทต่อเดือนซึ่งแต่เดิมกำหนดให้เรียงตามรหัสพนักงานนั้นไม่สามารถพิมพ์ได้ ทำให้ต้องมีการแก้ไขโปรแกรมตามโครงสร้างดัชนี (index) ที่เปลี่ยนแปลงไป ลักษณะแบบนี้เรียกว่าข้อมูลและโปรแกรมไม่เป็นอิสระต่อกัน
สำหรับระบบฐานข้อมูลนั้นข้อมูลภายในฐานข้อมูลจะเป็นอิสระจากโปรแกรมที่เรียกใช้ สามารถแก้ไขโครงสร้างทางกายภาพของข้อมูลได้ โดยไม่กระทบต่อโปรแกรมที่เรียกใช้ข้อมูลจากฐานข้อมูล เนื่องจากระบบฐานข้อมูลมีระบบจัดการฐานข้อมูลทำหน้าที่แปลงรูป (mapping) ให้เป็นไปตามรูปแบบที่ผู้ใช้ต้องการ
3. แฟ้มข้อมูลมีความซ้ำซ้อนมาก
เนื่องจากการใช้งานระบบฐานข้อมูลนั้นต้องมีการออกแบบฐานข้อมูลเพื่อให้มีความซ้ำซ้อนของข้อมูลน้อยที่สุด จุดประสงค์หลักของการออกแบบฐานข้อมูลเพื่อการลดความซ้ำซ้อนนั่นเองสาเหตุที่ต้องลดความซ้ำซ้อน เนื่องจากความยากในการปรับปรุงข้อมูล กล่าวคือถ้าเก็บข้อมูลซ้ำซ้อนกันหลายแห่ง เมื่อมีการปรับปรุงข้อมูลแล้วปรับปรุงข้อมูลไม่ครบทำให้ข้อมูลเกิดความขัดแย้งกันของข้อมูลตามมา และยังเปลืองเนื้อที่การจัดเก็บข้อมูลด้วย เนื่องจากข้อมูลชุดเดียวกันจัดเก็บซ้ำกันหลายแห่งนั่นเอง
ถึงแม้ว่าความซ้ำซ้อนช่วยให้ออกรายงานและตอบคำถามได้เร็วขึ้น แต่ความซ้ำซ้อนทำให้ข้อมูลมีความขัดแย้งกัน ถ้าข้อมูลไม่ถูกต้องและมีความขัดแย้งกันแล้ว การออกรายงานจะทำได้เร็วเท่าใดนั้นจึงไม่มีความหมายแต่อย่างใด ดังนั้นจึงต้องมีวิธีการออกแบบฐานข้อมูลเพื่อลดความซ้ำซ้อนของข้อมูลให้มากที่สุด ขณะที่การออกรายงานช้านั้นใช้ความสามารถของฮาร์ดแวร์ช่วยได้
4. แฟ้มข้อมูลมีความถูกต้องของข้อมูลน้อย
เนื่องจากแฟ้มข้อมูลไม่สามารถตรวจสอบกฎบังคับความถูกต้องของข้อมูลให้ได้ ถ้าต้องการควบคุมข้อมูลผู้พัฒนาโปรแกรมต้องเขียนโปรแกรมเพื่อควบคุมกฎระเบียบต่างๆ เองทั้งหมด ถ้าเขียนโปรแกรมครอบคลุมกฎระเบียบใดไม่ครบหรือขาดหายไปบางกฎอาจทำให้ข้อมูลผิดพลาดได้ ซึ่งต่างจากระบบฐานข้อมูลที่ระบบจัดการฐานข้อมูลจะมีกฏบังคับความถูกต้อง โดยนำกฎเหล่านั้นมาไว้ที่ฐานข้อมูล ซึ่งถือเป็นหน้าที่ของระบบจัดการฐานข้อมูลที่จะจัดการเรื่องความถูกต้องของข้อมูลให้แทน และยังช่วยลดค่าใช้จ่ายในการบำรุงรักษาและพัฒนาโปรแกรมด้วยเนื่องจากระบบจัดการฐานข้อมูลจัดการให้นั่นเอง
5. แฟ้มข้อมูลมีความปลอดภัยน้อย
ในระบบฐานข้อมูล ถ้าหากทุกคนสามารถเรียกดูและเปลี่ยนแปลงข้อมูลในฐานข้อมูลทั้งหมดได้ อาจก่อให้เกิดความเสียหายต่อข้อมูลได้ และข้อมูลบางส่วนอาจเป็นข้อมูลที่ไม่อาจเปิดเผยได้หรือเป็นข้อมูลเฉพาะของผู้บริหาร หากไม่มีการจัดการด้านความปลอดภัยของข้อมูล ฐานข้อมูลก็จะไม่สามารถใช้เก็บข้อมูลบางส่วนได้
ระบบฐานข้อมูลส่วนใหญ่จะมีการรักษาความปลอดภัยของข้อมูล ดังนี้
· มีรหัสผู้ใช้ (user) และรหัสผ่าน (password) ในการเข้าใช้งานฐานข้อมูลสำหรับผุ้ใช้แต่ละคน
· ผู้บริหารฐานข้อมูล (Database Administrator; DBA) สามารถสร้างและจัดการตารางข้อมูลทั้งหมดในฐานข้อมูล ทั้งการเพิ่มผู้ใช้ ระงับการใช้งานของผู้ใช้ อนุญาตให้ผู้ใช้สามารถเรียกดู เพิ่มเติม ลบและแก้ไขข้อมูล หรือบางส่วนของข้อมูลได้ในตารางที่ได้รับอนุญาต
· ผู้บริหารฐานข้อมูล (DBA) สามารถใช้วิว (view) เพื่อประโยชน์ในการรักษาความปลอดภัยของข้อมูลได้เป็นอย่างดี โดยการสร้างวิวที่เสมือนเป็นตารางของผู้ใช้จริงๆ และข้อมูลที่ปรากฏในวิวจะเป็นข้อมูลที่เกี่ยวข้องกับงานของผู้ใช้เท่านั้น ซึ่งจะไม่กระทบกับข้อมูลจริงในฐานข้อมูล
· ระบบฐานข้อมูลจะไม่ยอมให้โปรแกรมใดๆ เข้าถึงข้อมูลในระดับกายภาพ (physical) โดยไม่ผ่าน DBMS
· มีการเข้ารหัสและถอดรหัส (encryption/decryption) เพื่อปกปิดข้อมูลแก่ผู้ที่ไม่เกี่ยวข้อง เช่น มีการเข้ารหัสข้อมูลรหัสผ่าน ซึ่งในส่วนต่างๆเหล่านี้ในระบบแฟ้มข้อมูลจะไม่มี
6. ไม่มีการควบคุมจากศูนย์กลาง
ระบบแฟ้มข้อมูลจะไม่มีการควบคุมการใช้ข้อมูลจากศูนย์กลาง เนื่องจากข้อมูลที่หน่วยงานย่อยใช้สามารถใช้ข้อมูลได้อย่างเสรีโดยไม่มีศูนย์กลางในการควบคุม ทำให้ไม่ทราบว่าหน่วยงานใดใช้ข้อมูลในระดับใดบ้าง ใครเป็นผู้นำข้อมูลเข้า ใครมีสิทธิแก้ไขข้อมูล และใครมีสิทธิเพียงเรียกใช้ข้อมูล

ประโยชน์ของระบบจัดการฐานข้อมูล
ในปัจจุบันองค์กรส่วนใหญ่หันมาให้ความสนใจกับระบบฐานข้อมูลกันมาก เนื่องจากระบบฐานข้อมูลมีประโยชน์ดังต่อไปนี้
1.ลดความซ้ำซ้อนของข้อมูล
เนื่องจากการใช้งานระบบฐานข้อมูลนั้นต้องมีการออกแบบฐานข้อมูลเพื่อให้มีความซ้ำซ้อนของข้อมูลน้อยที่สุด จุดประสงค์หลักของการออกแบบฐานข้อมูลเพื่อการลดความซ้ำซ้อน สาเหตุที่ต้องลดความซ้ำซ้อน เนื่องจากความยากในการปรับปรุงข้อมูล กล่าวคือถ้าเก็บข้อมูลซ้ำซ้อนกันหลายแห่ง เมื่อมีการปรับปรุงข้อมูลแล้วปรับปรุงข้อมูลไม่ครบทำให้ข้อมูลเกิดความขัดแย้งกันของข้อมูลตามมา และยังเปลืองเนื้อที่การจัดเก็บข้อมูลด้วย เนื่องจากข้อมูลชุดเดียวกันจัดเก็บซ้ำกันหลายแห่งนั่นเอง
ถึงแม้ว่าความซ้ำซ้อนช่วยให้ออกรายงานและตอบคำถามได้เร็วขึ้น แต่ข้อมูลจะเกิดความขัดแย้งกัน ในกรณีที่ต้องมีการปรับปรุงข้อมูลหลายแห่ง การออกรายงานจะทำได้เร็วเท่าใดนั้นจึงไม่มีความหมายแต่อย่างใด และเหตุผลที่สำคัญอีกประการหนึ่งคือปัญหาเรื่องความขัดแย้งกันของข้อมูลแก้ไขไม่ได้ด้วยฮาร์ดแวร์ ขณะที่การออกรายงานช้านั้นใช้ความสามารถของฮาร์ดแวร์ช่วยได้
2.รักษาความถูกต้องของข้อมูล
เนื่องจากระบบจัดการฐานข้อมูลสามารถตรวจสอบกฎบังคับความถูกต้องของข้อมูลให้ได้ โดยนำกฎเหล่านั้นมาไว้ที่ฐานข้อมูล ซึ่งถือเป็นหน้าที่ของระบบจัดการฐานข้อมูลที่จะจัดการเรื่องความถูกต้องของข้อมูลให้แทน แต่ถ้าเป็นระบบแฟ้มข้อมูลผู้พัฒนาโปรแกรมต้องเขียนโปรแกรมเพื่อควบคุมกฎระเบียบต่างๆ(data integrity) เองทั้งหมด ถ้าเขียนโปรแกรมครอบคลุมกฎระเบียบใดไม่ครบหรือขาดหายไปบางกฎอาจทำให้ข้อมูลผิดพลาดได้ และยังช่วยลดค่าใช้จ่ายในการบำรุงรักษาและพัฒนาโปรแกรมด้วย เนื่องจากระบบจัดการฐานข้อมูลจัดการให้นั่นเอง เนื่องจากระบบจัดการฐานข้อมูลสามารถรองรับการใช้งานของผู้ใช้หลายคนพร้อมกันได้ ดังนั้นความคงสภาพและความถูกต้องของข้อมูลจึงมีความสำคัญมากและต้องควบคุมให้ดีเนื่องจากผู้ใช้อาจเปลี่ยนแปลงแก้ไขข้อมูลได้ ซึ่งจะทำให้เกิดความผิดพลาดกระทบต่อการใช้ข้อมูลของผู้ใช้อื่นทั้งหมดได้ ดังนั้นประโยชน์ของระบบฐานข้อมูลในเรื่องนี้จึงมีความสำคัญมาก
3. มีความเป็นอิสระของข้อมูล
เนื่องจากมีแนวคิดที่ว่าทำอย่างไรให้โปรแกรมเป็นอิสระจากการเปลี่ยนแปลงโครงสร้างข้อมูล ในปัจจุบันนี้ถ้าไม่ใช้ระบบฐานข้อมูลการแก้ไขโครงสร้างข้อมูลจะกระทบถึงโปรแกรมด้วย เนื่องจากในการเรียกใช้ข้อมูลที่เก็บอยู่ในระบบแฟ้มข้อมูลนั้น ต้องใช้โปรแกรมที่เขียนขึ้นเพื่อเรียกใช้ข้อมูลในแฟ้มข้อมูลนั้นโดยเฉพาะ เช่น เมื่อต้องการรายชื่อพนักงานที่มีเงินเดือนมากกว่า 100,000 บาทต่อเดือน โปรแกรมเมอร์ต้องเขียนโปรแกรมเพื่ออ่านข้อมูลจากแฟ้มข้อมูลพนักงานและพิมพ์รายงานที่แสดงเฉพาะข้อมูลที่ตรงตามเงื่อนไขที่กำหนด กรณีที่มีการเปลี่ยนแปลงโครงสร้างของแฟ้มข้อมูลข้อมูลเช่น ให้มีดัชนี (index) ตามชื่อพนักงานแทนรหัสพนักงาน ส่งผลให้รายงานที่แสดงรายชื่อพนักงานที่มีเงินเดือนมากกว่า 100,000 บาทต่อเดือนซึ่งแต่เดิมกำหนดให้เรียงตามรหัสพนักงานนั้นไม่สามารถพิมพ์ได้ ทำให้ต้องมีการแก้ไขโปรแกรมตามโครงสร้างดัชนี (index) ที่เปลี่ยนแปลงไป ลักษณะแบบนี้เรียกว่าข้อมูลและโปรแกรมไม่เป็นอิสระต่อกัน
สำหรับระบบฐานข้อมูลนั้นข้อมูลภายในฐานข้อมูลจะเป็นอิสระจากโปรแกรมที่เรียกใช้(data independence) สามารถแก้ไขโครงสร้างทางกายภาพของข้อมูลได้ โดยไม่กระทบต่อโปรแกรมที่เรียกใช้ข้อมูลจากฐานข้อมูล เนื่องจากระบบฐานข้อมูลมีระบบจัดการฐานข้อมูลทำหน้าที่แปลงรูป (mapping) ให้เป็นไปตามรูปแบบที่ผู้ใช้ต้องการ เนื่องจากในระบบแฟ้มข้อมูลนั้นไม่มีความเป็นอิสระของข้อมูล ดังนั้นระบบฐานข้อมูลได้ถูกพัฒนาขึ้นมาเพื่อแก้ปัญหาด้านความเป็นอิสระของข้อมูล นั่นคือระบบฐานข้อมูลมีการทำงานไม่ขึ้นกับรูปแบบของฮาร์ดแวร์ที่นำมาใช้กับระบบฐานข้อมูลและไม่ขึ้นกับโครงสร้างทางกายภาพของข้อมูล และมีการใช้ภาษาสอบถามในการติดต่อกับข้อมูลภายในฐานข้อมูลแทนคำสั่งของภาษาคอมพิวเตอร์ในยุคที่ 3 ทำให้ผู้ใช้เรียกใช้ข้อมูลจากฐานข้อมูลโดยไม่จำเป็นต้องทราบรูปแบบการจัดเก็บข้อมูล ประเภทหรือขนาดของข้อมูลนั้นๆ
4. มีความปลอดภัยของข้อมูลสูง
ถ้าหากทุกคนสามารถเรียกดูและเปลี่ยนแปลงข้อมูลในฐานข้อมูลทั้งหมดได้ อาจก่อให้เกิดความเสียหายต่อข้อมูลได้ และข้อมูลบางส่วนอาจเป็นข้อมูลที่ไม่อาจเปิดเผยได้หรือเป็นข้อมูลเฉพาะของผู้บริหาร หากไม่มีการจัดการด้านความปลอดภัยของข้อมูล ฐานข้อมูลก็จะไม่สามารถใช้เก็บข้อมูลบางส่วนได้
ระบบฐานข้อมูลส่วนใหญ่จะมีการรักษาความปลอดภัยของข้อมูล ดังนี้
· มีรหัสผู้ใช้ (user) และรหัสผ่าน (password) ในการเข้าใช้งานฐานข้อมูลสำหรับผู้ใช้แต่ละคนระบบฐานข้อมูลมีระบบการสอบถามชื่อพร้อมรหัสผ่านของผู้เข้ามาใช้ระบบงานเพื่อให้ทำงานในส่วนที่เกี่ยวข้องเท่านั้น โดยป้องกันไม่ให้ผู้ที่ไม่ได้รับอนุญาตเข้ามาเห็นหรือแก้ไขข้อมูลในส่วนที่ต้องการปกป้องไว้
· ในระบบฐานข้อมูลสามารถสร้างและจัดการตารางข้อมูลทั้งหมดในฐานข้อมูล ทั้งการเพิ่มผู้ใช้ ระงับการใช้งานของผู้ใช้ อนุญาตให้ผู้ใช้สามารถเรียกดู เพิ่มเติม ลบและแก้ไขข้อมูล หรือบางส่วนของข้อมูลได้ในตารางที่ได้รับอนุญาต) ระบบฐานข้อมูลสามารถกำหนดสิทธิการมองเห็นและการใช้งานของผู้ใช้ต่างๆ ตามระดับสิทธิและอำนาจการใช้งานข้อมูลนั้นๆ
· ในระบบฐานข้อมูล (DBA) สามารถใช้วิว (view) เพื่อประโยชน์ในการรักษาความปลอดภัยของข้อมูลได้เป็นอย่างดี โดยการสร้างวิวที่เสมือนเป็นตารางของผู้ใช้จริงๆ และข้อมูลที่ปรากฏในวิวจะเป็นข้อมูลที่เกี่ยวข้องกับงานของผู้ใช้เท่านั้น ซึ่งจะไม่กระทบกับข้อมูลจริงในฐานข้อมูล
· ระบบฐานข้อมูลจะไม่ยอมให้โปรแกรมใดๆ เข้าถึงข้อมูลในระดับกายภาพ (physical) โดยไม่ผ่าน ระบบการจัดการฐานข้อมูล และถ้าระบบเกิดความเสียหายขึ้นระบบจัดการฐานข้อมูลรับรองได้ว่าข้อมูลที่ยืนยันการทำงานสำเร็จ (commit) แล้วจะไม่สูญหาย และถ้ากลุ่มงานที่ยังไม่สำเร็จ (rollback) นั้นระบบจัดการฐานข้อมูลรับรองได้ว่าข้อมูลเดิมก่อนการทำงานของกลุ่มงานยังไม่สูญหาย
· มีการเข้ารหัสและถอดรหัส (encryption/decryption) เพื่อปกปิดข้อมูลแก่ผู้ที่ไม่เกี่ยวข้อง เช่น มีการเข้ารหัสข้อมูลรหัสผ่าน
5. ใช้ข้อมูลร่วมกันโดยมีการควบคุมจากศูนย์กลาง
มีการควบคุมการใช้ข้อมูลในฐานข้อมูลจากศูนย์กลาง ระบบฐานข้อมูลสามารถรองรับการทำงานของผู้ใช้หลายคนได้ กล่าวคือระบบฐานข้อมูลจะต้องควบคุมลำดับการทำงานให้เป็นไปอย่างถูกต้อง เช่นขณะที่ผู้ใช้คนหนึ่งกำลังแก้ไขข้อมูลส่วนหนึ่งยังไม่เสร็จ ก็จะไม่อนุญาตให้ผู้ใช้คนอื่นเข้ามาเปลี่ยนแปลงแก้ไขข้อมูลนั้นได้ เนื่องจากข้อมูลที่เข้ามายังระบบฐานข้อมูลจะถูกนำเข้าโดยระบบงานระดับปฏิบัติการตามหน่วยงานย่อยขององค์กร ซึ่งในแต่ละหน่วยงานจะมีสิทธิในการจัดการข้อมูลไม่เท่ากัน ระบบฐานข้อมูลจะทำการจัดการว่าหน่วยงานใดใช้ระบบจัดการฐานข้อมูลในระดับใดบ้าง ใครเป็นผู้นำข้อมูลเข้า ใครมีสิทธิแก้ไขข้อมูล และใครมีสิทธิเพียงเรียกใช้ข้อมูล เพื่อที่จะให้สิทธิที่ถูกต้องบนตารางที่สมควรให้ใช้
ระบบฐานข้อมูลจะบอกรายละเอียดว่าข้อมูลใดถูกจัดเก็บไว้ในตารางชื่ออะไร เมื่อมีคำถามจากผู้บริหารจะสามารถหาข้อมูลเพื่อตอบคำถามได้ทันทีโดยใช้ภาษาฐานข้อมูลที่มีประสิทธิภาพมาก คือ SQL ซึ่งสามารถตอบคำถามที่เกิดขึ้นในขณะใดขณะหนึ่งที่เกี่ยวข้องกับฐานข้อมูลได้ทันที โดยไม่จำเป็นต้องเขียนภาษาโปรแกรมอย่างเช่น โคบอล ซี หรือ ปาสคาล ซึ่งเสียเวลานานมากจนอาจไม่ทันต่อความต้องการใช้ข้อมูลเพื่อการตัดสินใจของผู้บริหาร
เนื่องจากระบบจัดการฐานข้อมูลนั้นสามารถจัดการให้ผู้ใช้ทำงานพร้อมๆ กันได้หลายคน ดังนั้นโปรแกรมที่พัฒนาภายใต้การดูแลของระบบจัดการฐานข้อมูลจะสามารถใช้ข้อมูลร่วมกันในฐานข้อมูลเดียวกันระบบฐานข้อมูลจะแบ่งเบาภาระในการพัฒนาระบบงานถ้าการพัฒนาระบบงานไม่ใช้ระบบฐานข้อมูล (ใช้ระบบแฟ้มข้อมูล) ผู้พัฒนาโปรแกรมจะต้องจัดการสิ่งเหล่านี้เองทั้งหมด นั่นคือระบบฐานข้อมูลทำให้การใช้ข้อมูลเกิดความเป็นอิสระระหว่างการจัดเก็บข้อมูลและการประยุกต์ใช้ เพราะส่วนของการจัดเก็บข้อมูลจริงถูกซ่อนจากการใช้งานจริงนั่นเอง

ที่มา : http://www.uni.net.th/~09_2543

ไม่มีความคิดเห็น:

แสดงความคิดเห็น