8 มิ.ย. 2554

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

การจัดการฐานข้อมูล 
       การจัดการฐานข้อมูล(Database Management) คือ การบริหารแหล่งข้อมูลที่ถูกเก็บรวบรวมไว้ที่ศูนย์กลาง เพื่อตอบสนองต่อการใช้ของโปรแกรมประยุกต์อย่างมีประสิทธิภาพและลดการซ้ำซ้อนของข้อมูล รวมทั้งความขัดแย้งของข้อมูลที่เกิดขึ้นภายในองค์การ ในอดีตการเก็บข้อมูลมักจะเป็นอิสระต่อกันไม่มีการเชื่อมโยงของข้อมูลเกิดการ สิ้นเปลืองพื้นที่ในการเก็บข้อมูล เช่น องค์การหนึ่งจะมีแฟ้มบุคคล (Personnel) แฟ้มเงินเดือน (Payroll) และแฟ้ม สวัสดิการ (Benefits) อยู่แยกจากกัน เวลาผู้บริหารต้องการข้อมูลของพนักงานท่านใดจำเป็นจะต้องเรียกดูแฟ้มข้อมูลทั้ง 3 แฟ้ม ซึ่งเป็นการไม่สะดวก จงทำให้เกิดแนวความคิดในการรวมแฟ้มข้อมูลทั้ง 3 เข้าด้วยกันแล้วเก็บไว้ที่ ศูนย์กลางในลักษณะฐานข้อมูล (Database) จึงทำให้เกิดระบบการจัดการฐานข้อมูล (Database Management system (DBMS) ซึ่งจะต้องอาศัยโปรแกรมเฉพาะในการสร้างและบำรุงรักษา (Create and Maintenance) ฐาน ข้อมูลและสามารถที่จะให้ผู้ใช้ประยุกต์ใช้กับธุรกิจส่วนตัวได้โดยการดึงข้อมูล (Retrieve) ขึ้นมาแล้วใช้โปรแกรมสำเร็จรูปอื่นสร้างงานขึ้นมาโดยใช้ข้อมูลทีมีอยู่ในฐานข้อมูล แสดงการรวมแฟ้มข้อมูล 3 แฟ้มเข้าด้วยกัน
การประมวลผลในระบบสารสนเทศ
        จากที่ได้กล่าวมาแล้วว่าข้อมูลที่ถูกเก็บอยู่ในระบบคอมพิวเตอร์เพื่อนำมาใช้สร้างเป็นสารสนเทศนั้นอาจอยู่ในรูปของแฟ้มข้อมูลหรือไฟล์หรืออาจอยู่ในรูปฐานข้อมูล ซึ่งการประมวลผลข้อมูลเพื่อสร้างระบบสารสนเทศนั้น ถ้าข้อมูลที่ถูกเก็บนั้นเป็นระบบแฟ้มข้อมูล เมื่อเปรียบเทียบกับระบบฐานข้อมูล จะพบว่าจะมีข้อดีข้อเสียแตกต่างกัน ดังจะกล่าวในหัวข้อต่อไปนี้

ระบบการประมวลผลแฟ้มข้อมูล

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

1.2) ความยากในการประมวลผลข้อมูลในแฟ้มข้อมูลหลายแฟ้มข้อมูล    ในการสร้างรายงานของแต่ละระบบเช่นการสร้างรายงานการลงทะเบียน ว่าแต่ละวิชามีนักศึกษาคนใดบ้างที่ลงทะเบียนเรียน จะต้องมีการเขียนโปรแกรมประยุกต์เช่นโปรแกรมการลงทะเบียน เพื่อทำการดึงข้อมูลรหัสวิชา รหัสนักศึกษา จากแฟ้มข้อมูลการลงทะเบียน และต้องนำรหัสวิชาที่ได้ไปค้นชื่อวิชาและจำนวนหน่วยกิตที่มีรหัสวิชาตรงกันจากแฟ้มรายวิชา ส่วนรหัสนักศึกษาที่ได้ก็จะต้องนำไปค้นชื่อนักศึกษาที่มีรหัสตรงกันจากแฟ้มนักศึกษา ซึ่งโปรแกรมการลงทะเบียนที่เขียนจะต้องมีความซับซ้อนพอสมควร เนื่องจากต้องมีการจัดการกับแฟ้มข้อมูลมากกว่า 1 แฟ้มข้อมูลขึ้นไป
1.3) ไม่มีผู้ควบคุมหรือรับผิดชอบระบบทั้งหมด    เนื่องจากผู้เขียนโปรแกรมด้านใดด้านหนึ่ง ก็จะดูแลเฉพาะข้อมูลที่จะมีการใช้กับงานของตนเท่านั้น
1.4) ความขึ้นต่อกัน (Dependency)
    
 โครงสร้างของแฟ้มข้อมูลมักจะเป็นส่วนหนึ่งของโปรแกรมประยุกต์ที่สร้างขึ้น ตัวอย่างเช่น ถ้ามีการเขียนโปรแกรมประยุกต์ด้วยภาษา COBOL โครงสร้างของแฟ้มข้อมูลที่จะใช้เช่นชื่อเขตข้อมูลต่าง ๆ ขนาดของเขตข้อมูล จะต้องประกาศไว้ในส่วนของ DATA DIVISION ของโปรแกรมประยุกต์ ปัญหาก็คือว่าถ้ามีการเปลี่ยนแปลงโครงสร้างของแฟ้มข้อมูลเมื่อใด ก็จะต้องไปทำการแก้ไขโปรแกรมประยุกต์ คือต้องไปเปลี่ยนแปลงโครงสร้างแฟ้มข้อมูลในส่วน DATA DIVISION นั้นด้วย
    จากข้อเสียดังกล่าวของการประมวลผลในระบบแฟ้มข้อมูล จึงเป็นที่มาของการพัฒนาระบบการประมวลผลแบบใหม่ เพื่อแก้ไขข้อเสียของการประมวลผลในระบบแฟ้มข้อมูล ซึ่งเรียกการประมวลผลแบบใหม่นี้ว่า "ระบบการประมวลผลฐานข้อมูล"
ระบบการประมวลผลฐานข้อมูล
    จากข้อจำกัดของระบบการประมวลผลแฟ้มข้อมูลดังกล่าวข้างต้น จึงมีความพยายามคิดหาเทคโนโลยีการประมวลผลแบบใหม่ เพื่อเอาชนะข้อจำกัดดังกล่าว เทคโนโลยีหนึ่งที่ถูกพัฒนาขึ้นมาแทนที่ระบบการประมวลผลแฟ้มข้อมูลได้แก่ ระบบการประมวลผลฐานข้อมูล
    คำว่า ฐานข้อมูล โดยทั่วไปจะหมายถึงการเก็บรวบรวมข้อมูลที่มีความสัมพันธ์กันไว้ในที่ที่เดียวกันในระบบการประมวลผลฐานข้อมูลจะมีรูปแบบวิธีการจัดการข้อมูลที่แตกต่างกันจากระบบแฟ้มข้อมูล มีองค์ประกอบเพิ่มขึ้นมาจากระบบการประมวลผลแฟ้มข้อมูลได้แก่องค์ประกอบที่เรียกว่า ระบบการจัดการฐานข้อมูล DBMS(Database Management System)
    DBMS จะช่วยในการสร้าง เรียกใช้ข้อมูล และปรับปรุงฐานข้อมูล โดยจะทำหน้าที่เสมือนตัวกลางระหว่างผู้ใช้และฐานข้อมูลให้สามารถติดต่อกันได้

รูประบบการประมวลผลฐานข้อมูล

    การทำงานที่ต้องผ่าน DBMS ทุกครั้งนี้จะทำให้การเขียนโปรแกรมประยุกต์มีความสะดวกยิ่งขึ้น เนื่องจากผู้เขียนโปรแกรมไม่ต้องยุ่งเกี่ยวหรือสนใจว่าในทางกายภาพข้อมูลถูกเก็บอยู่อย่างไรในดิสก์ หรือแม้แต่วิธีการในการจัดการกับข้อมูลไม่ต้องสนใจว่าใช้วิธีแบบอินเด็กซ์ไฟล์ (Index File) หรือแบบอินเด็กซ์ซีเควนเชียวไฟล์ (Index Sequential File) เป็นต้น ผู้ใช้เพียงแต่ออกคำสั่งง่าย ๆ ในการเรียกใช้ข้อมูล เพิ่มข้อมูล ปรับปรุงข้อมูล หรือ ลบข้อมูลผ่านทาง DBMS แทน
ข้อดีของการประมวลผลข้อมูลในฐานข้อมูล
1.)  ข้อมูลมีการเก็บอยู่รวมกันและสามารถใช้ข้อมูลร่วมกันได้2.)  ลดความซ้ำซ้อนของข้อมูลได้
3.)  สามารถหลีกเลี่ยงความขัดแย้งกันของข้อมูลที่อาจเกิดขึ้นได้
4.)   การควบคุมความคงสภาพของข้อมูล ความคงสภาพ (Integrity) หมายถึง ความถูกต้อง ความคล้องจอง ความสมเหตุสมผลหรือความเชื่อถือได้ของข้อมูล
5.)  การจัดการข้อมูลในฐานข้อมูลจะทำได้ง่าย
6.)  ความเป็นอิสระระหว่างโปรแกรมประยุกต์และข้อมูล

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

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

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