วันศุกร์ที่ 17 มิถุนายน พ.ศ. 2554

Database Management System (DBMS)

Database Management System (DBMS)

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

 DBMS หรือ Database Management System คือ โปรแกรมที่ทำหน้าเป็นตัวกลางระหว่างผู้ใช้ (user) กับฐานข้อมูลเพื่อจัดการและควบคุมความถูกต้อง ความซ้ำซ้อน และความสัมพันธ์ระหว่างข้อมูลต่างๆ ภายในฐานข้อมูล ซึ่งต่าง ไปจากระบบแฟ้มข้อมูลคือ หน้าที่เหล่านี้จะเป็นของโปรแกรมเมอร์ ในการต่อฐานข้อมูลไม่ว่าจะด้วยการใช้คำสั่งในกลุ่ม DML หรือ DDLหรือจะด้วยโปรแกรมต่าง ๆ ทุกคำสั่งที่ ใช้กระทำกับฐานข้อมูลจะถูกโปรแกรม DBMS นำไปแปล (Compile) เป็นการกระทำ (Operation) ต่างๆภายใต้คำสั่งนั้นๆ เพื่อนำไปกระทำกับตัวข้อมูลในฐานข้อมูลต่อไปส่วนการทำงานต่าง ๆ ภายในโปรแกรม DBMS ที่ทำหน้าที่ในการแปลคำสั่งไปเป็นการ กระทำต่าง ๆ ดังนี้
     1) Database Manager เป็นส่วนที่ทำหน้าที่กำหนดการกระทำต่าง ๆ ให้กับส่วน File Manager เพื่อไปกระทำกับข้อมูลที่เก็บอยู่ในฐานข้อมูล File Manager เป็นส่วนที่ทำหน้าที่บริหาร และจัดการกับข้อมูลที่เก็บอยู่ในฐานข้อมูลในระดับกายภาพ
     2) Query Process เป็นส่วนที่ทำหน้าที่แปลงประโยคคำสั่งของ Query Language ให้อยู่ในรูปแบบของคำสั่งที่ Database Manager เข้าใจ
     3) Data Manipulation Language Precompiler เป็นส่วนที่ทำหน้าที่แปลประโยคคำสั่งของกลุ่มคำสั่ง DML ให้อยู่ในรูปแบบที่ส่วน Application Programs Object Code จะนำไปเข้ารหัสเพื่อส่งต่อไปยังส่วน Database Manager ในการแปลประโยคคำสั่งของกลุ่มคำสั่ง DML ของ Data Manipulation Language Precompiler นี้ จะต้องทำงานร่วมกับส่วน Query Processor
     4) Data Definition Language Precompiler เป็นส่วนที่ทำหน้าที่แปลประโยคคำสั่งของกลุ่มคำสั่ง DDL ให้อยู่ในรูปแบบของ Meta Data (รายละเอียดที่บอกถึงโครงสร้างต่าง ๆ ของข้อมูล) ที่เก็บอยู่ในส่วน Data Dictionary ของฐานข้อมูล
     5) Application Programs Object Code เป็นส่วนที่ทำหน้าที่แปลงคำสั่งต่าง ๆ ของโปรแกรมรวมทั้งคำสั่งในกลุ่มคำสั่ง DML ที่ส่งต่อมาจากส่วน Data Manipulation Language Precompiler ให้อยู่ในรูปของ Object Code ที่จะส่งต่อไปให้ Database manager เพื่อกระทำกับข้อมูลในฐานข้อมูล
    
     โปรแกรม DBMS ถูกพัฒนาขึ้นเพื่อแก้ไขปัญหาด้าน Data Independence ที่ไม่มีในระบบแฟ้มข้อมูล ทำให้มีความเป็นอิสระจากทั้งส่วนของฮาร์ดแวร์ และข้อมูลภายในฐานข้อมูลกล่าวคือโปรแกรม DBMS นี้จะมีการทำงานที่ไม่ขึ้นอยู่กับรูปแบบ (Platform) ของตัวฮาร์ดแวร์ ที่นำมาใช้กับระบบฐานข้อมูลรวมทั้งมีรูปแบบในการอ้างถึงข้อมูลที่ไม่ขึ้นอยู่กับโครงสร้างทางกายภาพของข้อมูลด้วยการใช้ Query Language ในการติดต่อกับข้อมูลในฐานข้อมูลแทนคำสั่งภาษาคอมพิวเตอร์ในยุคที่ 3 ส่งผลให้ผู้ใช้สามารถเรียกใช้ข้อมูลจากฐานข้อมูลได้โดยไม่จำเป็นต้องทราบถึงประเภทหรือขนาดของข้อมูลนั้นหรือสามารถกำหนดลำดับที่ของฟิลด์ ในการกำหนดการแสดงผลได้โดยไม่ต้องคำนึงถึงลำดับที่จริงของฟิลด์ นั้น

                 
       หน้าที่ของ DBMS
     โปรแกรม DBMS ได้ถูกพัฒนาขึ้นมาเพื่อแก้ปัญหาทางด้าน Data Independence ที่ไม่มีในระบบแฟ้มข้อมูล ดังนั้นจึงมีความเป็นอิสระจากทั้งตังฮาร์ดแวร์ และตัวข้อมูลภายในฐานข้อมูล กล่าวคือ โปรแกรม DBMS จะมีการทำงานที่ไม่ขึ้นอยู่กับรูปแบบ (Platform) ของตัวฮาร์ดแวร์ ที่นำมาใช้กับระบบฐานข้อมูล รวมทั้งมีรูปแบบในการอ้างถึงข้อมูลที่ไม่ขึ้นอยู่กับ โครงสร้างทางกายภาพของข้อมูล ด้วยการใช้ Query Language ในการติดต่อกับข้อมูลในฐานข้อมูล หน้าที่ของโปรแกรม DBMS โดยสรุปมีดังนี้
          1.) ทำหน้าที่แปลงคำสั่งที่ใช้จัดการกับข้อมูลภายในฐานข้อมูลให้อยู่ในรูปแบบที่ข้อมูลเข้าใจ
          2.) ทำหน้าที่ในการนำคำสั่งต่างๆ ซึ่งได้รับการแปลแล้วไปสั่งให้ฐานข้อมูลทำงาน เช่น การเรียกใช้ข้อมูล (Retrieve) การจัดเก็บข้อมูล (Update) การลบข้อมูล (Delete) หรือ การเพิ่มข้อมูลเป็นต้น (Add) ฯลฯ
          3.) ทำหน้าที่ป้องกันความเสียหายที่จะเกิดขึ้นกับข้อมูลภายในฐานข้อมูล โดยจะคอยตรวจสอบว่าคำสั่งใดที่สามารถทำงานได้และคำสั่งใดที่ไม่สามารถทำได้
          4.) ทำหน้าที่รักษาความสัมพันธ์ของข้อมูลภายในฐานข้อมูลให้มีความถูกต้องอยู่เสมอ
          5.) ทำหน้าที่เก็บรายละเอียดต่าง ๆ ที่เกี่ยวข้องกับข้อมูลภายในฐานข้อมูลไว้ใน Data Dictionary ซึ่งรายละเอียดเหล่านี้มักจะถูกเรียกว่า "ข้อมูลของข้อมูล" (Meta Data)
          6.) ทำหน้าที่ควบคุมให้ฐานข้อมูลทำงานได้อย่างถูกต้องและมีประสิทธิภาพ










ระบบการจัดการฐานข้อมูล จะมีส่วนประกอบที่สำคัญ 3 ส่วนได้แก่
1. ภาษาคำนิยามของข้อมูล [Data Definition Language (DDL)] ในส่วนนี้จะกล่าวถึงส่วนประกอบของระบบการจัดการฐาน   ข้อมูลว่าข้อมูลแต่ละส่วนประกอบด้วยอะไรบ้าง (Data element) ในฐานข้อมูลซึ่งเป็นภาษาทางการที่นักเขียนโปรแกรมใช้ในการ สร้างเนื้อหาข้อมูลและ
  
โครงสร้างข้อมูลก่อนที่ข้อมูลดังกล่าวจะถูกแปลงเป็นแบบฟอร์มที่สต้องการของโปรแกรมประยุกต์หรือในส่วนของ DDL จะประกอบด้วยคำสั่งที่ใช้ในการกำหนดโครงสร้างข้อมูลว่ามีคอลัมน์อะไร แต่ละคอลัมน์เก็บข้อมูลประเภทใด รวมถึงการเพิ่มคอลัมน์ การกำหนดดัชนี เป็นต้น

2. ภาษาการจัดการฐานข้อมูล (Data Manipulation Language (DML) เป็นภาษาเฉพาะที่ใช้ในการจัดการระบบฐานข้อมูล ซึ่งอาจจะเป็นการเชื่อมโปรแกรมภาษาในยุคที่สามและยุคที่สี่เข้าด้วยกันเพื่อจัดการข้อมูลในฐานข้อมูล ภาษานี้มักจะประกอบด้วยคำ สิ่งที่อนุญาตให้ผู้ใช้สามารถสร้างโปรแกรมพิเศษขึ้นมา รวมถึงข้อมูลต่างๆ ในปัจจุบันที่นิยมใช้ ได้แก่ ภาษา SQL(Structure Query Language) แต่ถ้าหากเป็นเครื่องคอมพิวเตอร์ขนาดใหญ่ DBMS มักจะสร้างด้วยภาษาโคบอล (COBOL language) ภาษาฟอร์แทน (FORTRAN) และภาษาอื่นในยุคที่สาม 3. พจนานุกรมข้อมูล (Data Dictionary) เป็นเครื่องมือสำหรับการเก็บและการจัดข้อมูลสำหรับการบำรุงรักษาในฐานข้อมูล โดยพจนานุกรมจะมีการกำหนดชื่อของสิ่งต่างๆ (Entity) และระบุไว้ในโปรแกรมฐานข้อมูล เช่น ชื่อของฟิลด์ ชื่อของโปรแกรมที่ใช้รายละเอียดของข้อมูล ผู้มีสิทธิ์ใช้และผู้ที่รับผิดชอบ แสดงส่วนประกอบของระบบการจัดการฐานข้อมูล








แสดงส่วนประกอบของระบบจัดการฐานข้อมูล (Elements of a database management systems) ข้อดีและข้อเสียของระบบการจัดการฐานข้อมูล
ระบบการจัดการฐานข้อมูลจะมีทั้งข้อดีและข้อเสียในการที่องค์การจะนำระบบนี้มาใช้กับหน่วยงาของตนโดยเฉพาะหน่วยงานที่เคยใช้คอมพิวเตอร์แล้วแต่ได้จัดแฟ้มแบบดั้งเดิม (Convention File) การที่จะแปลงระบบเดิมให้เป็นระบบใหม่จะทำได้ยากและไม่สมบูรณ์ ไม่คุ้มกับการลงทุน ทั้งนี้เนื่องจากค่าใช้จ่าในการพัฒนาฐานข้อมูลจะต้องประกอบด้วย
1. ค่าใช้จ่ายเกี่ยวกับบุคลากรโดยเฉพาะผู้ดูแลระบบฐานข้อมูล (Database Administrator(DBA) และคณะ
2. ค่าใช้จ่ายเกี่ยวกับการสร้างฐานข้อมูลโดยแปลงข้อมูลเก่ให้เป็นฐานข้อมูลและจะต้องมีการแก้ไขโปรแกรมเก่า
3. การเพิ่มอุปกรณ์ของเครื่องคอมพิวเตอร์เพื่อทำให้มีหน่วยจัดเก็บข้อมูลที่ใหญ่ขึ้น มีการเข้าถึง(Access) ข้อมูลที่รวดเร็ว    อาจต้องมีการเพิ่มโพรเซสเซอร์
4. ค่าใช้จ่ายทางด้านโปรแกรมประยุกต์
นอกจากนั้นยังอาจจะเกิดอุปสรรคในการพัฒนาระบบข้อมูล

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

1 ลดความยุ่งยากของข้อมูลภายในองค์การโดยรวมข้อมูลไว้ที่จุดหนึ่งและผู้ควบคุมดูแลการใช้ข้อมูล การเข้าถึงข้อมูล การนำข้อมูลไปใช้ประโยชน์และดูแลความปลอดภัย
2. ลดการซ้ำซ้อนของข้อมูล (Redundancy) ในกรณีที่ข้อมูลอยู่เป็นเอกเทศ
3. ลดความสับสน (Confusion) ของข้อมูลภายในองค์การ
4. ค่าใช้จ่ายในการพัฒนาโปรแกรมและการบำรุงรักษาภายหลังจากระบบสมบูรณ์แล้วจะลดลงเมื่อเทียบกับแบบเก่า
5. มีความยืดหยุ่นในการขยายฐานข้อมูล การปรับปรุงแก้ไขทำได้ง่ายกว่า
6. การเข้าถึงข้อมูลและความสะดวกในการใช้สารสนเทศมีเพิ่มขึ้น

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

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