วันศุกร์ที่ 21 ตุลาคม พ.ศ. 2559

บทที่ 1

Database Management System

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

ผลการค้นหารูปภาพสำหรับ 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/


แอพพลิเคชันฐานข้อมูล

เป็นแอพพลิเคชันที่สร้างไว้ให้ผู้ใช้งานสามารถติดต่อกับฐานข้อมูลได้อย่างสะดวก ซึ่งมี

รูปแบบการติดต่อกับฐานข้อมูลแบบเมนูหรือกราฟฟิก โยผู้ใช้ไม่จำเป็นต้องมีความรู้เกี่ยวกับฐานข้อมูลเลยก็สามารถเรียกใช้งานฐานข้อมูลได้เช่น บริการเงินสด ATM

ผลการค้นหารูปภาพสำหรับ แอพพลิเคชั่น ฐานข้อมูล
รูปที่ 2 จากเว็บ http://aicomputer.co.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 ยืดหยุ่นต่อการเพิ่มเติมขยายระบบ การเพิ่มเครื่องไคลเอนต์ในเครือข่ายไม่จำเป็นต้องใช้เครื่องสเป็กสูง ราคาแพง โดยเครื่องที่มีสมรรถนะสูงนั้นเอาไว้ใช้เป็นเครื่องเซิร์ฟเวอร์

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




ผลการค้นหารูปภาพสำหรับ ระบบฐานขอมูลแบบ 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 เหมาะสมต่อการนำไปใช้งานเพื่อเข้าถึงฐานข้อมูลบนเครือข่ายอินเทอร์เน็ต
ผลการค้นหารูปภาพสำหรับ mysql คือ
รูปที่ 5 จากเว็บ https://th.wikipedia.org/