MySQL
MySQL (มายเอสคิวแอล) เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management System) โดยใช้ภาษาSQLแม้ว่า MySQL
เป็นซอฟต์แวร์โอเพนซอร์สแต่แตกต่างจากซอฟต์แวร์โอเพนซอร์สทั่วไป
โดยมีการพัฒนาภายใต้บริษัท MySQL
AB ในประเทศสวีเดนโดยจัดการ MySQL
ทั้งในแบบที่ให้ใช้ฟรี และแบบที่ใช้ในเชิงธุรกิจ
ประเภทการจัดเก็บข้อมูล
(Database
Storage Engine)
- MyISAMค่าปกติ (default)
- InnoDBสนับสนุนการทำ ทรานแซคชั่น (transaction) แบบACID
- Memoryการจัดเก็บในหน่วยความจำ ใช้เป็นตารางชั่วคราวเพื่อความรวดเร็ว เนื่องจากเก็บไว้ในหน่วยความจำทำให้มีความเร็วในการทำงานสูงมาก
- Merge เป็นการรวม Table หลาย ๆ ตัวให้แสดงผล หรือแก้ไข เสมือนเป็นข้อมูลจาก Table เดียว
- Archive เหมาะสำหรับการจัดเก็บข้อมูลพวกlog file,ข้อมูลที่ไม่ต้องมีการ คิวรี่ (query) หรือใช้บ่อยๆ เช่น log file เพื่อประโยชน์ในการตรวจสอบย้อนหลัง (Security Audit Information)
- Federated สำหรับการจัดเก็บแบบปลายทาง (remote server) แทนที่จะเป็นการจัดเก็บแบบ local เหมือนการจัดเก็บ (Storage) แบบอื่นๆ
- NDB สำหรับการจัดเก็บแบบคลัสเตอร์(cluster)
- CSVเก็บข้อมูลจาก Text ไฟล์โดยอาศัยเครื่องหมาย คอมมา (comma) เป็นตัวแบ่งฟิลด์
- Blackhole
- Example
ชนิดของข้อมูลที่สนับสนุน
ชนิดข้อมูลที่ MySQL สนับสนุนแบ่งเป็นสามประเภทหลักใหญ่ๆ
ชนิดข้อมูลที่เป็นตัวเลข
- BIT (มีใช้ได้กับ MyISAM, InnoDB, Memory)
- TINYINT
- SMALLINT
- MEDIUMINT
- INT
- BIGINT
- Float
- DATETIME
- DATE
- TIMESTAMP
- TIME
- YEAR
- CHAR
- VARCHAR
- BINARY
- VARBINARY
- BLOB
- TEXT
- ENUM
- SET การใช้งานMySQL เป็นที่นิยมใช้กันมากสำหรับฐานข้อมูลสำหรับเว็บไซต์ เช่น มีเดียวิกิ และ phpBB และนิยมใช้งานร่วมกับภาษาโปรแกรม PHP ซึ่งมักจะได้ชื่อว่าเป็นคู่ จะเห็นได้จากคู่มือคอมพิวเตอร์ต่างๆ ที่จะสอนการใช้งาน MySQL และ PHP ควบคู่กันไป นอกจากนี้ หลายภาษาโปรแกรมที่สามารถทำงานร่วมกับฐานข้อมูล MySQL ซึ่งรวมถึงภาษาซีซีพลัสพลัสปาสคาลซีชาร์ปภาษาจาวาภาษาเพิร์ลพีเอชพีไพทอนรูบี และภาษาอื่น ใช้งานผ่าน API สำหรับโปรแกรมที่ติดต่อผ่านODBCหรือ ส่วนเชื่อมต่อกับภาษาอื่น (database connector) เช่น เอเอสพี สามารถเรียกใช้ MySQL ผ่านทาง MyODBC , ADO, ADO. NET เป็นต้นโปรแกรมช่วยในการจัดการฐานข้อมูล และ ทำงานกับฐานข้อมูลในการจัดการฐานข้อมูล MySQL คุณสามารถใช้โปรแกรมแบบ command-line เพื่อจัดการฐานข้อมูล (โดยใช้คำสั่ง: mysqlและ mysqladminเป็นต้น).หรือจะดาวน์โหลดโปรแกรมจัดการฐานข้อมูลแบบGUIจากเว็บไซต์ของ MySQL ซึ่งคือโปรแกรม: MySQL Administrator และ MySQL Query Browser. เป็นต้นส่วนเชื่อมต่อกับภาษาการพัฒนาอื่น (database connector)มีส่วนติดต่อ (interface) เพื่อเชื่อมต่อกับภาษาในการพัฒนา อื่นๆเพื่อให้เข้าถึงฟังก์ชันการทำงานกับฐานข้อมูล MySQL ได้เช่น ODBC (Open Database Connector) อันเป็นมาตรฐานกลางที่กำหนดมาเพื่อให้ใช้เป็นสะพานในการเชื่อมต่อกับโปรแกรมหรือระบบอื่นๆ เช่น MyODBCอันเป็นไดรเวอร์เพื่อใช้สำหรับการเชื่อมต่อในระบบปฏิบัติการวินโดว์, JDBC คลาสส่วนเชื่อมต่อสำหรับ Java เพื่อใช้ในการติดต่อกับ MySQL และมี API (Application Programming Interface) ต่างๆมีให้เลือกใช้มากมายในการที่เข้าถึง MySQL โดยไม่ขึ้นอยู่กับภาษาการพัฒนาใดภาษาหนึ่งนอกเหนือจาก ตัวเชื่อมต่อกับภาษาอื่น (Connector) ที่ได้กล่าวมาแล้ว ยังมี API ที่สนับสนุนในขณะนี้คือ
- DBIสำหรับการเชื่อมต่อกับ ภาษาperl
- Ruby สำหรับการเชื่อมต่อกับ ภาษาruby
- Python สำหรับการเชื่อมต่อกับภาษาpython
- .NET สำหรับการเชื่อมกับภาษา.NET framework
- MySQL++ สำหรับเชื่อมต่อกับภาษาC++
- Chสำหรับการเชื่อมต่อกับCh (C/C++ interpreter)
- PHP สำหรับการเชื่อมต่อกับภาษาPHP
- ความสามารถและการทำงานของโปรแกรม MySQLMySQL ถือเป็นระบบจัดการฐานข้อมูล (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
การใช้งานโปรแกรม MySQL ให้มีความปลอดภัยนั้นผู้ดูแลจะต้องพิจารณาถึงวิธีการที่ผู้ใช้หรือผู้อื่นๆ จะเข้าถึงข้อมูลต่างๆในฐานข้อมูลและจำกัดสิทธิ์การใช้งานของผู้ที่จะเข้าใช้งานให้ได้รับสิทธิ์ให้น้อยที่สุดเท่าที่จะเป็นไปได้ เท่าที่จำเป็นต่อการใช้งานเท่านั้นมีข้อควรระวังดังต่อไปนี้
- นอกจากผู้ดูแลฐานข้อมูลแล้ว ไม่ควรให้ผู้ใช้งานคนอื่นๆ เข้าถึงตาราง user ของฐานข้อมูล
- ผู้ดูแลฐานข้อมูลควรศึกษาถึงระบบการให้สิทธิ์การเข้าถึงฐานข้อมูลโดยละเอียด
- รหัสผ่านที่ใช้งานจะต้องเป็นรหัสผ่านที่ดี และการเก็บค่ารหัสผ่านจะต้องได้รับการเข้ารหัส
- ถ้ามีการส่งข้อมูลผ่านอินเทอร์เน็ต ข้อมูลที่ส่งจะต้องได้รับการเข้ารหัสทุกครั้ง
- ตรวจสอบการส่งข้อมูลโดยใช้คำสั่ง tcpdumpและ strings ของระบบปฏิบัติการ
- ต้องกำหนดให้ผู้ใช้งานฐานข้อมูลทุกคนมีรหัสผ่านในการเข้าใช้งานข้อดี ข้อเสีย ของ MySQL เมื่อเปรียบเทียบกับ Access และ Sql Server
ข้อดี-สามารถเอาซอร์โค้ดโปรแกรมมาพัฒนาต่อยอดได้-สามารถนำไปใช้ได้กับทุกระบบทุกแพลตฟอร์ม ใช้กับ ASP,JSPก็ได้ แต่ที่เรานิยมเอามาใช้งานร่วมกับ PHP ก็เพราะว่า MySQL กับ PHP เป็น Open Source เหมือนกัน มีความน่าเชื่อถือสูง สามารถทำงานร่วมกันได้อย่างเสถียรมากที่สุด รองรับการใช้งานหลายแพลตฟอร์ม และค่าใช้จ่ายน้อย-เนื่องจากเป็นที่นิยมจึงสามารถ หาข้อมูลการใช้งานได้ง่าย (หาง่ายกว่า Access , SQL server )-ใช้ทรัพยากรเครื่องน้อย performance สูง- มีผู้ให้บริการServerส่วนใหญ่ รองรับฐานข้อมูลMySqlมากกว่าฐานข้อมูลแบบอื่นข้อเสีย-ใช้งานยากกว่าสองตัวข้างต้น ซึ่งจะเป็นการสร้างฐานข้อมูลด้วย Command line แบบพิมพ์คำสั่ง
แต่ก็ในปัจจุบันมี เครื่องมือช่วยออกแบบฐานข้อมูลแบบมีหน้าจอGUI ที่เรียกว่าphpmyadmin
ที่ช่วยในการสร้างMySqlได้อย่างง่ายขึ้น ซึ่งสามารถโหลดเพิ่มเติมได้-เครื่องมือให้ใช้ได้น้อยกว่า(SqlServer,Access)ซึ่ง Mysqlจะเหมาะสำหรับใช้งานในระบบงานขนาดเล็กถึงขนาดกลาง และจะใช้งานได้ดีมากๆถ้าเขียนโปรแกรมติดต่อMySqlด้วยภาษา PHP และติดตั้งลงบน OS Unix platform ซึ่งนอกจากจะไม่เสียตังแล้วยังมีความปลอดภัยสูงอีกด้วยความสามารถของ MySQlMySQL จะมีความความสามารถครอบคลุมทุกความต้องการของผู้ใช้ในระบบงานขนาดเล็กถึงขนาดกลางนั่นหมายความว่า ถ้าฐานข้อมูลประเภทอื่นเช่น Sql Server ,Access ,oracle ในงานขนาดเล็กหรือขนาดกลางจะทำให้ได้รับความสามารถต่างๆของระบบฐานข้อทูล ที่เกินความจำเป็น ซึ่งถือเป็นการสิ้นเปลืองงบประมาณโดย MySqlมีความสามารถเด่น ๆ ดังนี้- MySQL สามารถใช้คำสั่ง SQL ในการสั่งงาน- ใช้ Kernel Threads ในการทำงานแบบ Multi - threaded- สนับสนุน API ต่าง ๆ มากมาย เพื่อใช้ในการพัฒนาระบบ- MySQL สามารถรันได้ในหลายระบบปฏิบัติการ- สนับสนุน Group by และ Order by clauses และ Group Fune- สนับสนุน Rihgt outer Join และ Left outer Ioin- มีความยืดหยุ่นสูง ในการกำหนดสิทธิและรหัสผ่านให้มีความปลอดภัย- สามารถรับรองข้อมูลขนาดใหญ่ ได้ระดับล้านระเบียนและอื่นๆ*** ที่มาhttp://th.wikipedia.org/wiki
ไม่มีความคิดเห็น:
แสดงความคิดเห็น