วันศุกร์ที่ 31 สิงหาคม พ.ศ. 2561

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



ระบบฐานข้อมูล (Database System) คือ ระบบที่รวบรวมข้อมูลต่าง ๆ ที่เกี่ยวข้องกันเข้าไว้ด้วยกันอย่างมีระบบ
  • บิต (bit) ย่อมาจาก Binary Digit ข้อมูลในคอมพิวเตอร์ 1 บิต จะแสดงได้ 2 สถานะคือ 0 หรือ 1 การเก็บข้อมูลต่างๆได้จะต้องนำ บิต หลายๆ บิต มาเรียงต่อกัน เช่นนำ 8 บิต มาเรียงเป็น 1 ชุด เรียกว่า 1ไบต์ เช่น10100001 หมายถึง ก
  • 10100010 หมายถึง ข
  • เมื่อเรานำ ไบต์ (byte) หลายๆ ไบต์ มาเรียงต่อกัน เรียกว่า เขตข้อมูล (field) เช่น Name ใช้เก็บชื่อ LastName ใช้เก็บนามสกุล เป็นต้น
  • เมื่อนำเขตข้อมูล หลายๆ เขตข้อมูล มาเรียงต่อกัน เรียกว่า ระเบียน (record) เช่น ระเบียน ที่ 1 เก็บ ชื่อ นามสกุล วันเดือนปีเกิด ของ นักเรียนคนที่ 1 เป็นต้น
  • การเก็บระเบียนหลายๆระเบียน รวมกัน เรียกว่า แฟ้มข้อมูล (File) เช่น แฟ้มข้อมูล นักเรียน จะเก็บ ชื่อ นามสกุล วันเดือนปีเกิด ของนักเรียน จำนวน 500 คน เป็นต้น
  • การจัดเก็บ แฟ้มข้อมูล หลายๆ แฟ้มข้อมูล ไว้ภายใต้ระบบเดียวกัน เรียกว่า ฐานข้อมูล หรือ Database เช่น เก็บ แฟ้มข้อมูล นักเรียน อาจารย์ วิชาที่เปิดสอน เป็นต้น
วิวัฒนาการของ databaseRelational databaseDistributed databaseCloud databaseNoSQL databaseการ access database
  1. หลีกเลี่ยงความขัดแย้งของข้อมูล  การจัดเก็บข้อมูลแบบแฟ้มข้อมูล  โดยข้อมูลเรื่องเดียวกันอาจมีอยู่หลายแฟ้มข้อมูล ซึ่งก่อให้เกิดความขัดแย้งของข้อมูลได้  (  Inconsistency  )
  1. สามารถใช้ข้อมูลร่วมกันได้  ฐานข้อมูลเป็นการจัดเก็บข้อมูลรวมไว้ด้วยกัน  เมื่อผู้ใช้ต้องการข้อมูลจากฐานข้อมูล ซึ่งเป็นข้อมูลที่มาจากแฟ้มข้อมูลที่แตกต่างกันจะทำได้ง่าย
  1. สามารถลดความซ้ำซ้อนของข้อมูล  การจัดเก็บข้อมูลในลักษณะแฟ้มข้อมูล  อาจทำให้ข้อมูลประเภทเดียวกันถูกเก็บไว้หลาย ๆ แห่ง  ทำให้เกิดความซ้ำซ้อน  (Reclundancy  )  การนำข้อมูลมารวมเก็บไว้ในฐานข้อมูล จะช่วยลดปัญหาความซ้ำซ้อนได้
  1. รักษาความถูกต้อง  ฐานข้อมูลบางครั้งอาจมีข้อผิดพลาดขึ้น  เช่น  การป้อนข้อมูลผิด ซึ่งระบบการจัดการฐานข้อมูลสามารถระบุกฎเกณฑ์เพื่อควบคุมความผิดพลาดที่อาจเกิดขึ้นได้
  1. สามารถกำหนดความเป็นมาตรฐานเดียวกันได้  เพราะในระบบฐานข้อมูลจะมีกลุ่มบุคคลที่คอยบริหารฐานข้อมูล  กำหนดมาตรฐานต่าง ๆ ในการจัดเก็บข้อมูลในลักษณะเดียวกัน
  1. สามารถกำหนดระบบความปลอดภัยของข้อมูลได้  ผู้บริหารระบบฐานข้อมูลสามารถกำหนดการเรียกใช้ข้อมูลของผู้ใช้แต่ละคนให้แตกต่างกันตามหน้าที่ ความรับผิดชอบได้ง่าย
  1. ความเป็นอิสระของข้อมูลและโปรแกรม  โปรแกรมที่ใช้ในแต่ละแฟ้มข้อมูลจะมีความสัมพันธ์กับแฟ้มข้อมูลโดยตรงถ้าหากมีการแก้ไขเปลี่ยนแปลงโครงสร้างข้อมูลก็ทำการแก้ไขโปรแกรมนั้น ๆ
  1. มีต้นทุนสูง  ระบบฐานข้อมูลก่อให้เกิดต้นทุนสูง  เช่น  ซอฟท์แวร์ที่ใช้ในการจัดการระบบฐานข้อมูล  บุคลากร  ต้นทุนในการปฏิบัติงาน  และ  ฮาร์ดแวร์  เป็นต้น
  1. มีความซับซ้อน  การเริ่มใช้ระบบฐานข้อมูล  อาจก่อให้เกิดความซับซ้อนได้  เช่น  การจัดเก็บข้อมูล  การออกแบบฐานข้อมูล  การเขียนโปรแกรม  เป็นต้น
  1. การเสี่ยงต่อการหยุดชะงักของระบบ  เนื่องจากข้อมูลถูกจัดเก็บไว้ในลักษณะเป็นศูนย์รวม(CentralizedDatabase    System  )  ความล้มเหลวของการทำงานบางส่วนในระบบอาจทำให้ระบบฐานข้อมูลทั้งระบบหยุดชะงักได้
Database คืออะไรDatabase หรือ ฐานข้อมูล คือ กลุ่มของข้อมูลที่ถูกเก็บรวบรวมไว้ โดยมีความสัมพันธ์ซึ่งกันและกัน โดยไม่ได้บังคับว่าข้อมูลทั้งหมดนี้จะต้องเก็บไว้ในแฟ้มข้อมูลเดียวกันหรือแยกเก็บหลาย ๆ แฟ้มข้อมูลระบบฐานข้อมูล (Database System) คือ ระบบที่รวบรวมข้อมูลต่าง ๆ ที่เกี่ยวข้องกันเข้าไว้ด้วยกันอย่างมีระบบมีความสัมพันธ์ระหว่างข้อมูลต่าง ๆ ที่ชัดเจน ในระบบฐานข้อมูลจะประกอบด้วยแฟ้มข้อมูลหลายแฟ้มที่มีข้อมูล เกี่ยวข้องสัมพันธ์กันเข้าไว้ด้วยกันอย่างเป็นระบบและเปิดโอกาสให้ผู้ใช้สามารถใช้งานและดูแลรักษาป้องกันข้อมูลเหล่านี้ ได้อย่างมีประสิทธิภาพ โดยมีซอฟต์แวร์ที่เปรียบเสมือนสื่อกลางระหว่างผู้ใช้และโปรแกรมต่าง ๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูล เรียกว่า ระบบจัดการฐานข้อมูล หรือ DBMS (data base management system)มีหน้าที่ช่วยให้ผู้ใช้เข้าถึงข้อมูลได้ง่ายสะดวกและมีประสิทธิภาพ การเข้าถึงข้อมูลของผู้ใช้อาจเป็นการสร้างฐานข้อมูล การแก้ไขฐานข้อมูล หรือการตั้งคำถามเพื่อให้ได้ข้อมูลมา โดยผู้ใช้ไม่จำเป็นต้องรับรู้เกี่ยวกับรายละเอียดภายในโครงสร้างของฐานข้อมูลส่วนประกอบแฟ้มข้อมูล (File) ระเบียน (Record) และ เขตข้อมูล (Field) และถูกจัดการด้วยระบบเดียวกัน โปรแกรมคอมพิวเตอร์จะเข้าไปดึงข้อมูลที่ต้องการได้ อย่างรวดเร็ว ซึ่งอาจเปรียบฐานข้อมูลเสมือนเป็น electronic filing systemการเข้าถึงข้อมูลในฐานข้อมูลจึงจำเป็นต้องมีระบบการจัดการฐานข้อมูลมาช่วยเรียกว่า database management system (DBMS) ซึ่งจะช่วยให้ผู้ใช้สามารถจัดการกับข้อมูล ตามความต้องการได้ในหน่วยงานใหญ่ๆอาจมีฐานข้อมูลมากกว่า 1 ฐานข้อมูลเช่น ฐานข้อมูลบุคลากร ฐานข้อมูลลูกค้า ฐานข้อมูลสินค้า เป็นต้น
Database ถูกพัฒนาขึ้นมาตั้งแต่ปี 1960 เริ่มต้นจาก hierarchical และ network databases จนมาถึงปี 1980 มีการนำเอา object-oriented-databases (OODBMS) มาใช้งาน ซึ่งเป็นพื่นฐานของระบบ relation database ที่ใช้กันอยู่ในปัจจุบันนี้ในอีกมุมหนึง เราสามารถจัดแบ่งประเภทของ database ตามรูปแบบของชนิดข้อมูลได้ เช่น ตัวเลข,ตัวอักษร หรือ รูปภาพ บางครั้งก็อาจจะแบ่งตามความนิยมของ relational database เช่น distributed database, cloud database หรือ NoSQL database.Relational database ถูกคิดค้นขึ้นโดย E.F. Codd (IBM)ในปี 1970 เริ่มต้นสร้างขึ้นมาจากกลุ่มของ table ที่มีข้อมูลภายในโดยแบ่งออกเป็นตามประเภทที่ตั้งไว้ แต่ละ table จะมีอย่างน้อย 1 ชนิดของแต่ละ column และแต่ละ row จะมีข้อมูลตามที่ชนิดที่ colmuns ได้กำหนดไว้Standard Query Language (SQL) เป็นมาตราฐานที่ผู้ใช้งาน และ ระบบอื่นๆ ไว้เชื่อมต่อกับ relational database ซึ่งง่ายต่อการเพิ่มข้อมูลเข้าไป โดยไม่กระทบต่อโปรแกรมอื่นที่ใช้งานร่วมกันอยู่Distributed database เป็น ฐานข้อมูลที่ถูกเก็บกระจายออกไปหลายๆที่ โดยอาศัยกระบวนการแจกจ่าย และ สำรองข้อมูล ผ่านทางระบบ network ซึ่งมีอยู่ด้วยกัน 2 แบบคือ-homogeneous – ระบบทั้งหมดทุกที่ต้องเป็น OS และ database ชนิดเดียวกัน-heterogeneous – ระบบที่งหมดจะเหมือนหรือต่างกันก็ได้ในแต่ละที่Cloud database เป็นฐานข้อมูลแบบใหม่ ที่ถูกปรับปรุงและสร้างขึ้นบนระบบ virtualized แบบเดียวกับ hybrid cloud, public cloud หรือ private cloud โดยเราสามารถขยายขนาดเพิ่มขึ้น หรือ ปรับแต่ง resource ได้ตลอดเวลา ขึ้นอยู่กับความต้องการของผู้ใช้งานcloud databaseNoSQL database ถูกใช้ในรูปแบบ ที่เป็นการกระจายของข้อมูล จึงมีประสิทธิ์ภาพสูงสำหรับข้อมูลขนาดใหญ่ (big data) เพราะ relational database ไม่ถูกออกมาให้รอบรับข้อมูลขนาดใหญ่ จึงนิยมใช้กับการวิเคราะห์ข้อมูลขนาดใหญ่ที่ไม่ค่อยมีรูปแบบตายตัวnosqlมีด้วยกัน 2 แบบคือ– Database management system (DBMS) เป็น software ที่ควบคุมและบริหารข้อมูลภายในฐานข้อมูล– Relational database management system (RDBMS) ถูกพัฒนาขึ้นในปี 1970เพื่อเข้าถึง ฐานข้อมูลแบบ relational และยังคงได้รับความนิยมจนถึงปัจจุบันประโยชน์ของฐานข้อมูล1. ลดการเก็บข้อมูลที่ซ้ำซ้อน ข้อมูลบางชุดที่อยู่ในรูปของแฟ้มข้อมูลอาจมีปรากฏอยู่หลาย ๆ แห่ง เพราะมีผู้ใช้ข้อมูลชุดนี้หลายคน เมื่อใช้ระบบฐานข้อมูลแล้วจะช่วยให้ความซ้ำซ้อนของข้อมูลลดน้อยลง2. รักษาความถูกต้องของข้อมูล เนื่องจากฐานข้อมูลมีเพียงฐานข้อมูลเดียว ในกรณีที่มีข้อมูลชุดเดียวกันปรากฏอยู่หลายแห่งในฐานข้อมูล ข้อมูลเหล่านี้จะต้องตรงกัน ถ้ามีการแก้ไขข้อมูลนี้ทุก ๆ แห่งที่ข้อมูลปรากฏอยู่จะแก้ไขให้ถูกต้องตามกันหมดโดยอัตโนมัติด้วยระบบจัดการฐานข้อมูล3. การป้องกันและรักษาความปลอดภัยให้กับข้อมูลทำได้อย่างสะดวก การป้องกันและรักษาความปลอดภัยกับข้อมูลระบบฐานข้อมูลจะให้เฉพาะผู้ที่เกี่ยวข้องเท่านั้นซึ่งก่อให้เกิดความปลอดภัย(security) ของข้อมูลด้วยข้อดีของฐานข้อมูลการจัดเก็บข้อมูลเป็นฐานข้อมูลได้เปรียบกว่าการจัดเก็บข้อมูลแบบแฟ้มข้อมูล  ดังนี้ข้อเสียของฐานข้อมูลการเก็บข้อมูลรวมเป็นฐานข้อมูลมีข้อเสีย  ดังนี้คือระบบจัดการฐานข้อมูล ( Database Management System) หรือที่เรียกว่า   ดีบีเอ็มเอส (DBMS)คือซอฟต์แวร์สำหรับบริหารและจัดการฐานข้อมูล เปรียบเสมือนสื่อกลางระหว่างผู้ใช้และโปรแกรมต่างๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูล ซึ่งมีหน้าที่ช่วยให้ผู้ใช้เข้าถึงข้อมูลได้ง่ายสะดวกและมีประสิทธิภาพ การเข้าถึงข้อมูลของผู้ใช้ อาจเป็นการสร้างฐานข้อมูล การแก้ไขฐานข้อมูล หรือการตั้งคำถามเพื่อให้ได้ข้อมูลมาโดยผู้ใช้ไม่จำเป็นต้องรับรู้เกี่ยวกับรายละเอียดภายในโครงสร้างของฐานข้อมูล เปรียบเสมือนเป็นสื่อกลางระหว่างผู้ใช้และโปรแกรมต่าง ๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูลซึ่งต่างจากระบบแฟ้มข้อมูลที่หน้าที่เหล่านี้จะเป็นหน้าที่ของโปรแกรมเมอร์หน้าที่ของระบบการจัดการฐานข้อมูล
  1. แปลงคำสั่งที่ใช้จัดการกับข้อมูลภายในฐานข้อมูล ให้อยู่ในรูปแบบที่ฐานข้อมูลเข้าใจ
  1. นำคำสั่งต่าง ๆ ซึ่งได้รับการแปลแล้ว ไปสั่งให้ฐานข้อมูลทำงาน เช่น การเรียกใช้ (Retrieve) จัดเก็บ (Update) ลบ (Delete) เพิ่มข้อมูล (Add) เป็นต้น
  1. ป้องกันความเสียหายที่จะเกิดขึ้นกับข้อมูลภายในฐานข้อมูล โดยจะคอยตรวจสอบว่าคำสั่งใดที่สามารถทำงานได้ และคำสั่งใดที่ไม่สามารถทำงานได้
  1. รักษาความสัมพันธ์ของข้อมูลภายในฐานข้อมูลให้มีความถูกต้องอยู่เสมอ
  1. เก็บรายละเอียดต่างๆ ที่เกี่ยวข้องกับข้อมูลภายในฐานข้อมูลไว้ในพจนานุกรมข้อมูล (Data Dictionary) ซึ่งรายละเอียดเหล่านี้มักจะถูกเรียกว่า เมทาดาต้า (MetaData) ซึ่งหมายถึง "ข้อมูลของข้อมูล"
  1. ดูแลการใช้งานให้กับผู้ใช้ ในการติดต่อกับตัวจัดการระบบแฟ้มข้อมูลได้ โดยจะทำหน้าที่ติดต่อกับระบบแฟ้มข้อมูลซึ่งเสมือนเป็นผู้จัดการแฟ้มข้อมูล (file manager) นำข้อมูลจากหน่วยความจำสำรองเข้าสู่หน่วยความจำหลักเฉพาะส่วนที่ต้องการใช้งาน และทำหน้าที่ประสานกับตัวจัดการระบบแฟ้มข้อมูลในการจัดเก็บ เรียกใช้ และแก้ไขข้อมูล
  1. ควบคุมการใช้ข้อมูลพร้อมกัน (Concurrency Control) ในระบบคอมพิวเตอร์ที่ใช้อยู่ปัจจุบัน โปรแกรมการทำงานมักจะเป็นแบบผู้ใช้หลายคน (Multi User) จึงทำให้ผู้ใช้แต่ละคนสามารถเรียกใช้ข้อมูลได้พร้อมกัน ระบบจัดการฐานข้อมูลที่มีคุณสมบัติควบคุมการใช้ข้อมูลพร้อมกันนี้ จะทำการควบคุมการใช้ข้อมูลพร้อมกันของผู้ใช้หลายคนในเวลาเดียวกันได้ โดยมีระบบการควบคุมที่ถูกต้องเหมาะสม เช่น ถ้าการแก้ไขข้อมูลนั้นยังไม่เรียบร้อย ผู้ใช้อื่นๆ ที่ต้องการเรียกใช้ข้อมูลนี้จะไม่สามารถเรียกข้อมูลนั้นๆ ขึ้นมาทำงานใดๆ ได้ ต้องรอจนกว่าการแก้ไขข้อมูลของผู้ที่เรียกใช้ข้อมูลนั้นก่อนจะเสร็จเรียบร้อย จึงจะสามารถเรียกข้อมูลนั้นไปใช้งานต่อได้ ทั้งนี้เพื่อป้องกันไม่ให้เกิดปัญหาการเรียกใช้ข้อมูลที่ไม่ถูกต้อง
  1. ควบคุมระบบความปลอดภัยของข้อมูลโดยป้องกันไม่ให้ผู้ที่ไม่ได้รับอนุญาตเข้ามาเรียกใช้หรือแก้ไขข้อมูลในส่วนป้องกันเอาไว้ พร้อมทั้งสร้างฟังก์ชันในการจัดทำข้อมูลสำรอง
  1. ควบคุมการใช้ข้อมูลในสภาพที่มีผู้ใช้พร้อม ๆ กันหลายคน โดยจัดการเมื่อมีข้อผิดพลาดของข้อมูลเกิดขึ้น
ระบบจัดการฐานข้อมูลที่นิยมใช้กันในปัจจุบัน
  1. ออราเคิล (Oracle)
  1. ไมโครซอฟท์ เอสคิวแอล เซิร์ฟเวอร์ (Microsoft SQL Server)
  1. มายเอสคิวแอล (MySQL)
  1. ไมโครซอฟต์ แอคเซส (Microsoft Access)
  1. ไอบีเอ็ม ดีบีทู (IBM DB/2)
  1. ไซเบส (Sybase)
  1. PostgreSQL
  1. Progress
  1. Interbase
  1. Firebird
  1. Pervasive SQL
  1. แซพ ดีบี (SAP DB)

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

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