บทที่ 1
Database Management System
ระบบจัดการฐานข้อมูล ( Database Management System) หรือที่เรียกว่า ดีบีเอ็มเอส (DBMS)
คือซอฟต์แวร์สำหรับบริหารและจัดการฐานข้อมูล เปรียบเสมือนสื่อกลางระหว่างผู้ใช้และโปรแกรมต่างๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูล ซึ่งมีหน้าที่ช่วยให้ผู้ใช้เข้าถึงข้อมูลได้ง่ายสะดวกและมีประสิทธิภาพ การเข้าถึงข้อมูลของผู้ใช้ อาจเป็นการสร้างฐานข้อมูล การแก้ไขฐานข้อมูล หรือการตั้งคำถามเพื่อให้ได้ข้อมูลมาโดยผู้ใช้ไม่จำเป็นต้องรับรู้เกี่ยวกับรายละเอียดภายในโครงสร้างของฐานข้อมูล เปรียบเสมือนเป็นสื่อกลางระหว่างผู้ใช้และโปรแกรมต่าง ๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูลซึ่งต่างจากระบบแฟ้มข้อมูลที่หน้าที่เหล่านี้จะเป็นหน้าที่ของโปรแกรมเมอร์
รูปที่ 1 จากเว็บ http://mpnn2551.net46.net/ |
ความหมายของระบบฐานขอมูล
ฐานข้อมูล (Database) หมายถึง กลุ่มของข้อมูลที่มีความสัมพันธ์กัน นำมาเก็บรวบรวมเข้าไว้ด้วยกันอย่างมีระบบและข้อมูลที่ประกอบกันเป็นฐานข้อมูลนั้น ต้องตรงตามวัตถุประสงค์การใช้งานขององค์กรด้วยเช่นกัน เช่น ในสำนักงานก็รวบรวมข้อมูล ตั้งแต่หมายเลขโทรศัพท์ของผู้ที่มาติดต่อจนถึงการเก็บเอกสารทุกอย่างของสำนักงาน ซึ่งข้อมูลส่วนนี้จะมีส่วนที่สัมพันธ์กันและเป็นที่ต้องการนำออกมาใช้ประโยชน์ต่อไปภายหลัง ข้อมูลนั้นอาจจะเกี่ยวกับบุคคล สิ่งของสถานที่ หรือเหตุการณ์ใด ๆ ก็ได้ที่เราสนใจศึกษา หรืออาจได้มาจากการสังเกต การนับหรือการวัดก็เป็นได้ รวมทั้งข้อมูลที่เป็นตัวเลข ข้อความ และรูปภาพต่าง ๆ ก็สามารถนำมาจัดเก็บเป็นฐานข้อมูลได้ และที่สำคัญข้อมูลทุกอย่างต้องมีความสัมพันธ์กัน เพราะเราต้องการนำมาใช้ประโยชน์ต่อไปในอนาคต
ระบบฐานข้อมูล (Database System) หมายถึง การรวมตัวกันของฐานข้อมูลตั้งแต่ 2ฐานข้อมูลเป็นต้นไปที่มีความสัมพันธ์กัน โดยมีวัตถุประสงค์เพื่อเป็นการลดความซ้ำซ้อนของข้อมูล และทำให้การบำรุงรักษาตัวโปรแกรมง่ายมากขึ้น โดยผ่านระบบการจัดการฐานข้อมูล หรือ เรียกย่อ ๆ ว่า DBMS
องค์ประกอบของระบบฐานข้อมูล
ระบบฐานข้อมูลเป็นเพียงวิธีคิดในการประมวลผลรูปแบบหนึ่งเท่านั้น แต่การใช้ฐานข้อมูลจะต้องประกอบไปด้วยองค์ประกอบหลักดังต่อไปนี้
1. แอพลิเคชันฐานข้อมูล (Database Application)
2. ระบบจัดการฐานข้อมูล (Database Management System หรือ DBMS)
3. ดาต้าเบสเซิร์ฟเวอร์ (Database Server)
4. ข้อมูล (Data)
5. ผู้บริหารฐานข้อมูล ((Database Administrator หรือ DBA)
รูปที่ 2 จากเว็บ http://slideplayer.in.th/ |
แอพพลิเคชันฐานข้อมูล
เป็นแอพพลิเคชันที่สร้างไว้ให้ผู้ใช้งานสามารถติดต่อกับฐานข้อมูลได้อย่างสะดวก ซึ่งมี
ระบบจัดการฐานข้อมูล
ระบบจัดการฐานข้อมูล หมายถึง กลุ่มโปรแกรมหรือซอฟต์แวร์ชนิดหนึ่ง ที่สร้างขึ้นมาเพื่อทำหน้าที่บริหารฐานข้อมูลโดยตรง ให้มีประสิทธิภาพมากที่สุด เป็นเครื่องมือที่ช่วยอำนวยความสะดวกให้ผู้ใช้สามารถเข้าถึงข้อมูลได้ โดยที่ผู้ใช้ไม่จำเป็นต้องรับรู้เกี่ยวกับรายละเอียดภายในโครงสร้างฐานข้อมูล พูดง่าย ๆ ก็คือ DBMS นี้เป็นตัวกลางในการเชื่อมโยงระหว่างผู้ใช้ และโปรแกรมต่างๆ ที่เกี่ยวข้องกับระบบฐานข้อมูล ตัวอย่างของ DBMS ที่นิยมใช้ในปัจจุบัน ได้แก่
Microsoft Access, FoxPro, SQL Server, Oracle, Informix, DB2 เป็นต้น
หน้าที่ของระบบจัดการฐานข้อมูล มีดังนี้
1. กำหนดมาตรฐานข้อมูล
2. ควบคุมการเข้าถึงข้อมูลแบบต่าง ๆ
3. ดูแล-จัดเก็บข้อมูลให้มีความถูกต้องแม่นยำ
4. จัดเรื่องการสำรอง และฟื้นสภาพแฟ้มข้อมูล
5. จัดระเบียบแฟ้มทางกายภาพ (Physical Organization)
6. รักษาความปลอดภัยของข้อมูลภายในฐานข้อมูล และป้องกันไม่ใช้ข้อมูลสูญหาย
7. บำรุงรักษาฐานข้อมูลให้เป็นอิสระจากโปรแกรมแอพพลิเคชันอื่น ๆ
8. เชื่อมโยงข้อมูลที่มีความสัมพันธ์เข้าด้วยกัน เพื่อรองรับความต้องการใช้ข้อมูลในระดับ
ต่าง ๆ
รูปที่ 3 จากเว็บ http://m.exteen.com |
ขอดีในการใชโปรแกรมระบบจัดการฐานขอมูล
1. ลดความซํ้ าซอนของฐานขอมูล
2. ลดความผิดพลาดของขอมูล ในกรณีที่เรามีการจัดเก็บขอมูลไวหลายๆแหง การเปลี ย ่ นแปลงแกไข
ขอมูลจะเกิดปญหาวาขอมูลไมเหมือนกัน ทํ าใหการทํ างานผิดพลาดและเกิดความเสียหายได ซึ ง ่
ระบบฐานขอมูลสามารถลดปญหาเหลานี ไ ้ ดอยางด
3. สามารถใชขอมูลรวมกันได ทํ าใหประหยัดคาใชจายและลดความผิดพลาด
4. ควบคุมความเปนมาตรฐานของขอมูลได การจัดเก็บขอมูลที่มีศูนยกลางที่เดียวทํ าใหสามารถควบ
คุมรูปแบบของขอมูลได ทํ าใหข อ มูลเปนอันหนึ ง ่ อันเดียวกัน งายตอการดูแลรักษา
5. ความปลอดภัยในการเก็บรักษาขอมูล เนื่องจากการเก็บขอมูลไวที่ศูนยกลางขอมูลที่เดียวจึงทํ าให
สามารถควบคุมและจัดสรรระดับของผู้ใชที่เขามาขอใชข้อมูลได เชนการกํ าหนดรหัสผานใหการเขา
มาใชข้อมูล แบงระดับความปลอดภัยของผูเขามาใชขอมูล
6. สามารถควบคุมความถูกตองของขอมูลไดโดยงาย
ระบบฐานขอมูลแบบ Client/Server
เป็นรูปแบบหนึ่งของเครือข่ายแบบ server-based โดยจะมีคอมพิวเตอร์หลักเครื่องหนึ่งเป็น เซิร์ฟเวอร์ ซึ่งจะไม่ได้ทำหน้าที่ประมวลผลทั้งหมดให้เครื่องลูกข่าย หรือไคลเอนต์ (client) เซิร์ฟเวอร์ทำหน้าที่เสมือนเป็นที่เก็บข้อมูลระยะไกล (remote disk) และประมวลผลบางอย่างให้กับไคลเอนต์เท่านั้น เช่น ประมวลผลคำสั่งในการดึงข้อมูลจากเซิร์ฟเวอร์ฐานข้อมูล (database server) เป็นต้น
ประสิทธิภาพ
เครือข่ายแบบ Client/Server นั้น เซิร์ฟเวอร์จะต้องทำงานบริการให้กับเครื่องไคลเอนต์ที่ร้องขอเข้ามา ซึ่งนับว่าเป็นงานประมวลผลที่หนักพอสมควร ดังนั้นเครื่องเซิร์ฟเวอร์ก็ควรจะเป็นเครื่องคอมพิวเตอร์ที่ทรงพลัง เพียงพอในการรองรับงานหนัก ๆ แบบนี้ในเครือข่าย
บริการ
อาจจะมีเซิร์ฟเวอร์อยู่หลายตัวในการทำงานเฉพาะด้าน เช่น ไฟล์เซอร์เวอร์ทำหน้าที่ในการจัดเก็บ และบริหารไฟล์ทั้งหมดที่อยู่ในเครือข่าย พรินต์เซิร์ฟเวอร์ ทำหน้าที่เกี่ยวกับการควบคุมการพิมพ์ทั้งหมดในเครือข่าย ดาต้าเบสเซอร์เวอร์จัดเก็บและบริหารฐานข้อมูลขององค์กร เป็นต้น
โปรแกรม
องค์กรที่ใช้เครือข่ายแบบนี้ มักมีการเก็บโปรแกรมไว้บนเซิร์ฟเวอร์ เพื่อให้ผู้ใช้สามารถเข้าไปเรียกใช้ได้ทันที เช่น เซิร์ฟเวอร์เก็บโปรแกรมเวิร์ดโปรเซสเซอร์ไว้ เมื่อผู้ใช้ต้องการใช้โปรแกรมนี้ก็สามารถรันโปรแกรมนี้จากเซิร์ฟเวอร์ได้
ขนาด
เครือข่ายแบบ Client/Server สามารถรองรับเครือข่ายตั้งแต่ขนาดเล็กไปจนถึงขนาดใหญ่ แต่ที่เหมาะสมจะเป็นเครือข่ายขนาดใหญ่
การบริหารระบบ
จะต้องมีเจ้าหน้าที่ในการบริหารระบบโดยเฉพาะ ซึ่งทำหน้าที่จัดการเกี่ยวกับงานพื้นฐานประจำวัน เช่น การสำรองข้อมูล การตรวจสอบระบบรักษาความปลอดภัย และการดูแลระบบให้ทำงานได้อย่างสม่ำเสมอ
ระบบรักษาความปลอดภัย
เครื่องเซิร์ฟเวอร์ส่วนใหญ่จะเปิดให้ทำงานตลอดเวลา และต้องมีการป้องกันไม่ให้ใครเข้ามาปรับเปลี่ยนระบบภายในเครื่องเซิร์ฟเวอร์ เพื่อเป็นการป้องกันรักษาข้อมูล บริษัทส่วนใหญ่จึงมักจะเก็บเซิร์ฟเวอร์ไว้ในห้องที่แยกต่างหากและมีการปิดล็อคไว้เป็นอย่างดี
การขยายระบบ
เครือข่ายแบบ Client/Server ยืดหยุ่นต่อการเพิ่มเติมขยายระบบ การเพิ่มเครื่องไคลเอนต์ในเครือข่ายไม่จำเป็นต้องใช้เครื่องสเป็กสูง ราคาแพง โดยเครื่องที่มีสมรรถนะสูงนั้นเอาไว้ใช้เป็นเครื่องเซิร์ฟเวอร์
การดูแลซ่อมแซม
ปัญหาที่เกิดขึ้นในเครือข่ายแบบนี้หาพบได้ไม่ยาก เช่น ถ้าเครื่องไคลเอนต์หลาย ๆ เครื่องทำงานไม่ได้ ปัญหาก็มักจะมาจากที่เครื่องเซิร์ฟเวอร์ และถ้าเครื่องไคลเอนต์เครื่องใดมีปัญหาผู้บริหารระบบก็เพียงแก้ไขที่เครื่องนี้ ซึ่งจะไม่กระทบต่อเครื่องไคลเอนต์เครื่องอื่น
![]() |
รูปที่ 4 จากเว็บ http://php-website-php.blogspot.com/ |
ขอดี ของระบบฐานขอมูลแบบ Client/Server
1. การแบงแยกการจัดการระหวางระบบของ Client และ Database Server ออกจากกันโดยการ
จัดการฐานขอมูลจะถูกทํ าที่ส่วนของ Back-end สวน DBMS จะถูกจัดการอยู่ที่ Server ทําใหสามารถทํ าการขยายการใชงานของเครื่องคอมพิวเตอรที่มีขนาดเล็กหรือชาเกินกวาที่จะ
สามารถทําการ Run DBMS ที่ซับซอนบนเครื่องนั้น
2. ชวยลดโหลด(Load)ใหกับระบบ Nerwork ที่เชื่อมตอไดดวยแทนที่จะตองทํ าการสงขอมูลทั้ง
หมดไปและกลับผานทางสายแลน(LAN) ไปยังเครื่องที่ทําการติดตอเขามาทํ าใหการจราจรบน
สายสงลดนอยลงเหลือเพียงแคการสง Query มาจาก Client มายังตัวที่เปนฐานขอมูลเพื่อ
ทํางานอยางใดอยางหนึ่ง เมื่อ Server ไดรับQuery ที่สงมาก็จะทําการคํานวณและสงผลลัพธ์
กลับไปยัง Client เพียงเทานั้น
3. การทํ างานของโปรแกรมไมขึ้นกับเครื่องที่ทํ างาน ผูใชจะไมถูกจํ ากัดบนเครื่องระบบใดระบบ
หนึ่งเทานั้นสามารถนํ าเอาโปรแกรมไปทํ างานบนเครื่องคอมพิวเตอรเครื่องไหนก็ไดและ
สามารถทํ างานไดกับระบบปฎิบัติการไดหลายตัวไมวาจะเปน MS-Windows,IBM
OS/2,MS/PC-Dos เปนตนนอกจากนี้ Client และ Server ก็ไมจํ าเปนตองใชฐานขอมูลเดียวกัน
4. การรักษาความถูกตองของขอมูล ในปจจุบันระบบ Database Server สวนมากทํ างานบน
DBMS ที ใ ่ ชการจัดการแบบ Relation DBMS เมื่อผู้ใชตองการที่จะทํ าการแกไขคาของขอมูล
จะตองทํ าการ Log In เขามาใชงานที่ Server กอนทํ าใหขอมูลไมกระจัดกระจาย และมีความถูก
ตองอยู่เสมอ
5. การปกปองขอมูล ที่เครื่องที่ทาหน
าที่ในการเก็บขอมูล (Server) บางครั้งอาจมีการเขารหัสที
เก็บไฟลโดยขอมูลถูกเขารหัสเพื่อปองกันการดูจากภายนอก DBMS ได้
MySQL
MySQL คือ โปรแกรมระบบจัดการฐานข้อมูล ที่พัฒนาโดยบริษัท MySQL AB มีหน้าที่เก็บข้อมูลอย่างเป็นระบบ รองรับคำสั่ง SQL เป็นเครื่องมือสำหรับเก็บข้อมูล ที่ต้องใช้ร่วมกับเครื่องมือหรือโปรแกรมอื่นอย่างบูรณาการ เพื่อให้ได้ระบบงานที่รองรับ ความต้องการของผู้ใช้ เช่นทำงานร่วมกับเครื่องบริการเว็บ (Web Server) เพื่อให้บริการแก่ภาษาสคริปต์ที่ทำงานฝั่งเครื่องบริการ (Server-Side Script) เช่น ภาษา php ภาษา aps.net หรือภาษาเจเอสพี เป็นต้น หรือทำงานร่วมกับโปรแกรมประยุกต์ (Application Program) เช่น ภาษาวิชวลเบสิกดอทเน็ต ภาษาจาวา หรือภาษาซีชาร์ป เป็นต้น โปรแกรมถูกออกแบบให้สามารถทำงานได้บนระบบปฏิบัติการที่หลากหลาย และเป็นระบบฐานข้อมูลโอเพนทซอร์ท (Open Source)ที่ถูกนำไปใช้งานมากที่สุด
MySQL : มายเอสคิวแอล เป็นระบบจัดการฐานข้อมูลโดยใช้ภาษา SQL. แม้ว่า MySQL เป็นซอฟต์แวร์โอเพนซอร์ส แต่แตกต่างจากซอฟต์แวร์โอเพนซอร์สทั่วไป โดยมีการพัฒนาภายใต้บริษัท MySQL AB ในประเทศสวีเดน โดยจัดการ MySQL ทั้งในแบบที่ให้ใช้ฟรี และแบบที่ใช้ในเชิงธุรกิจ
MySQL สร้างขึ้นโดยชาวสวีเดน 2 คน และชาวฟินแลนด์ ชื่อ David Axmark, Allan Larsson และ Michael "Monty" Widenius.
ปัจจุบันบริษัทซันไมโครซิสเต็มส์ (Sun Microsystems, Inc.) เข้าซื้อกิจการของ MySQL AB เรียบร้อยแล้ว ฉะนั้นผลิตภัณฑ์ภายใต้ MySQL AB ทั้งหมดจะตกเป็นของซัน
ชื่อ "MySQL" อ่านออกเสียงว่า "มายเอสคิวเอล" หรือ "มายเอสคิวแอล" (ในการอ่านอักษร L ในภาษาไทย) ซึ่งทางซอฟต์แวร์ไม่ได้อ่าน มายซีเควล หรือ มายซีควล เหมือนกับซอฟต์แวร์จัดการฐานข้อมูลตัวอื่น
phpMyAdmin ความสามารถและการทำงานของโปรแกรม MySQL มีดังต่อไปนี้
MySQL ถือเป็นระบบจัดการฐานข้อมูล (DataBase Management System (DBMS)
ฐานข้อมูลมีลักษณะเป็นโครงสร้างของการเก็บรวบรวมข้อมูล การที่จะเพิ่มเติม เข้าถึงหรือประมวลผลข้อมูลที่เก็บในฐานข้อมูลจำเป็นจะต้องอาศัยระบบจัดการ ฐานข้อมูล ซึ่งจะทำหน้าที่เป็นตัวกลางในการจัดการกับข้อมูลในฐานข้อมูลทั้งสำหรับการ ใช้งานเฉพาะ และรองรับการทำงานของแอพลิเคชันอื่นๆ ที่ต้องการใช้งานข้อมูลในฐานข้อมูล เพื่อให้ได้รับความสะดวกในการจัดการกับข้อมูลจำนวนมาก MySQL ทำหน้าที่เป็นทั้งตัวฐานข้อมูลและระบบจัดการฐานข้อมูล
MySQL เป็นระบบจัดการฐานข้อมูลแบบ relational
ฐานข้อมูลแบบ relational จะทำการเก็บข้อมูลทั้งหมดในรูปแบบของตารางแทนการเก็บข้อมูลทั้งหมดลงในไฟล์ เพียงไฟล์เดียว ทำให้ทำงานได้รวดเร็วและมีความยืดหยุ่น นอกจากนั้น แต่ละตารางที่เก็บข้อมูลสามารถเชื่อมโยงเข้าหากันทำให้สามารถรวมหรือจัด กลุ่มข้อมูลได้ตามต้องการ โดยอาศัยภาษา SQL ที่เป็นส่วนหนึ่งของโปรแกรม MySQL ซึ่งเป็นภาษามาตรฐานในการเข้าถึงฐานข้อมูล
MySQL แจกจ่ายให้ใช้งานแบบ Open Source นั่นคือ ผู้ใช้งาน MySQL ทุกคนสามารถใช้งานและปรับแต่งการทำงานได้ตามต้องการ สามารถดาวน์โหลดโปรแกรม MySQL ได้จากอินเทอร์เน็ตและนำมาใช้งานโดยไม่มีค่าใช้จ่ายใดๆ
ในระบบปฏิบัติการ Red Hat Linux นั้น มีโปรแกรมที่สามารถใช้งานเป็นฐานข้อมูลให้ผู้ดูแลระบบสามารถเลือกใช้งานได้ หลายโปรแกรม เช่น MySQL และ PostgreSQL ผู้ดูแลระบบสามารถเลือกติดตั้งได้ทั้งในขณะที่ติดตั้งระบบปฏิบัติการ Red Hat Linux หรือจะติดตั้งภายหลังจากที่ติดตั้งระบบปฏิบัติการก็ได้ อย่างไรก็ตาม สาเหตุที่ผู้ใช้งานจำนวนมากนิยมใช้งานโปรแกรม MySQL คือ MySQL สามารถทำงานได้อย่างรวดเร็ว น่าเชื่อถือและใช้งานได้ง่าย เมื่อเปรียบเทียบประสิทธิภาพในการทำงานระหว่างโปรแกรม MySQL และ PostgreSQL โดยพิจารณาจากการประมวลผลแต่ละคำสั่งได้ผลลัพธ์ดังรูปที่ 1 นอกจากนั้น MySQL ถูกออกแบบและพัฒนาขึ้นมาเพื่อทำหน้าเป็นเครื่องให้บริการรองรับการจัดการกับ ฐานข้อมูลขนาดใหญ่ ซึ่งการพัฒนายังคงดำเนินอยู่อย่างต่อเนื่อง ส่งผลให้มีฟังก์ชันการทำงานใหม่ๆ ที่อำนวยความสะดวกแก่ผู้ใช้งานเพิ่มขึ้นอยู่ตลอดเวลา รวมไปถึงการปรับปรุงด้านความต่อเนื่อง ความเร็วในการทำงาน และความปลอดภัย ทำให้ MySQL เหมาะสมต่อการนำไปใช้งานเพื่อเข้าถึงฐานข้อมูลบนเครือข่ายอินเทอร์เน็ต
![]() |
รูปที่ 5 จากเว็บ https://th.wikipedia.org/ |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น