วันพฤหัสบดีที่ 6 ธันวาคม พ.ศ. 2561

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



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

รูปภาพที่เกี่ยวข้อง
 
        ระบบจัดการฐานข้อมูล

       โดยทั่วไปแล้วความหมายของฐานข้อมูลจะหมายถึง การเก็บรวบรวมไฟล์ที่เกี่ยวข้องสัมพันธ์กัน มาอยู่รวมกันไว้เข้าด้วยกัน (Integrated) อย่างมีระบบ ไฟล์ในที่นี้จะหมายถึง logical file ความนี้จะเป็นความหมายทั่ว ๆ ไป ซึ่งยังไม่สมบูรณ์แบบ ทั้งนี้ เนื่องจาก logical file จะประกอบด้วยกลุ่มของ records แต่ความจริงแล้วอาจจะไม่ใช่ก็ได้ เช่น ฐานข้อมูลใหม่ ๆ ที่เป็น object oriented model จะประกอบด้วยกลุ่มของ objects ดังนั้น ความหมายของฐานข้อมูลที่ครอบคลุมถึง object oriented ด้วยก็คือความหมายต่อไปนี้
         ระบบฐานข้อมูลจะมีลักษณะคล้ายการนำแฟ้มข้อมูล ที่มีความสัมพันธ์กันมาจัดเก็บไว้ด้วยกัน แต่ลักษณะโครงสร้างการจัดเก็บ รวมทั้งวิธีการใช้งานข้อมูลของฐานข้อมูล จะมีความแตกต่างออกไปจากแฟ้มข้อมูล ซึ่งการใช้งานระบบฐานข้อมูลจะต้องมีโปรแกรมที่ทำหน้าที่ในการบริหารจัดการข้อมูลและเป็นตัวกลางระหว่าง ผู้ใช้กับฐานข้อมูล ที่เรียกว่า “Database Management System (DBMS)” หรือระบบจัดการฐานข้อมูล ซึ่งผู้ใช้จะต้องใช้งานฐานข้อมูล ผ่านทางระบบจัดการฐานข้อมูลนี้เท่านั้น

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

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

หน้าที่ของระบบจัดการฐานข้อมูล


  • แปลงคำสั่งที่ใช้จัดการกับข้อมูลภายในฐานข้อมูล ให้อยู่ในรูปแบบที่ฐานข้อมูลเข้าใจ
  • นำคำสั่งต่าง ๆ ซึ่งได้รับการแปลแล้ว ไปสั่งให้ฐานข้อมูลทำงาน เช่น การเรียกใช้ (Retrieve) จัดเก็บ (Update) ลบ (Delete) เพิ่มข้อมูล (Add) เป็นต้น
  • ป้องกันความเสียหายที่จะเกิดขึ้นกับข้อมูลภายในฐานข้อมูล โดยจะคอยตรวจสอบว่าคำสั่งใดที่สามารถทำงานได้ และคำสั่งใดที่ไม่สามารถทำงานได้
  • รักษาความสัมพันธ์ของข้อมูลภายในฐานข้อมูลให้มีความถูกต้องอยู่เสมอ
  • เก็บรายละเอียดต่างๆ ที่เกี่ยวข้องกับข้อมูลภายในฐานข้อมูลไว้ในพจนานุกรมข้อมูล (Data Dictionary) ซึ่งรายละเอียดเหล่านี้มักจะถูกเรียกว่า เมทาเดตา (MetaData) ซึ่งหมายถึง "ข้อมูลของข้อมูล"
  • ควบคุมให้ฐานข้อมูลทำงานได้อย่างถูกต้องและมีประสิทธิภาพ
  • ควบคุมสถานะภาพของคอมพิวเตอร์ในการแปลสถาพฐานข้อมูล ส.ท

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

จะมีส่วนประกอบที่สำคัญ 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) และระบุไว้ในโปรแกรมฐานข้อมูล เช่น ชื่อของฟิลด์ ชื่อของโปรแกรมที่ใช้รายละเอียดของข้อมูล ผู้มีสิทธิ์ใช้และผู้ที่รับผิดชอบ แสดงส่วนประกอบของระบบการจัดการฐานข้อมูล

ประโยชน์ของระบบฐานข้อมูล

     ระบบฐานข้อมูล จะช่วยแก้ปัญหาของระบบแฟ้มข้อมูล และมีประโยชน์ หลายๆ ด้านดังนี้

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


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



3. การบริหารจัดการฐานข้อมูลทำได้ง่าย เนื่องจากมีการจัดเก็บข้อมูลไว้ที่ส่วนกลาง ทำให้การ จัดการข้อมูลทำได้ง่ายขึ้น โดยผู้ที่ทำหน้าที่ในการบริหารจัดการฐานข้อมูลเรียกว่า ผู้บริหารฐานข้อมูล (Database Administrator: DBA)

4. กำหนดมาตรฐานของข้อมูลได้ เนื่องจากการจัดเก็บข้อมูลไว้ที่ส่วนกลางที่เดียวดังนั้น DBA จะเป็นผู้กำหนดโครงสร้างในการจัดเก็บข้อมูล ทำให้โครงสร้างของข้อมูลต่างๆ

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

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

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


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

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

บทที่ 5 โทรคมนาคมและระบบเครื่อข่าย

ความหมายของการสื่อสาร การสื่อสารข้อมูล  และโทรคมนาคม           การสื่อสาร (Communication) หมายถึงการติดต่อระหว่างม...