MySQL (มายเอสคิวแอล) เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management System) โดยใช้ภาษา SQL แม้ว่า MySQL เป็นซอฟต์แวร์โอเพนซอร์ส แต่แตกต่างจากซอฟต์แวร์โอเพนซอร์สทั่วไป โดยมีการพัฒนาภายใต้บริษัท MySQL AB ในประเทศสวีเดน โดยจัดการ MySQL ทั้งในแบบที่ให้ใช้ฟรี และแบบที่ใช้ในเชิงธุรกิจ
MySQL สร้างขึ้นโดยชาวสวีเดน 2 คน และชาวฟินแลนด์ ชื่อ David Axmark, Allan Larsson และ Michael "Monty" Widenius.
ปัจจุบันบริษัทซันไมโครซิสเต็มส์ (Sun Microsystems, Inc.) เข้าซื้อกิจการของ MySQL AB เรียบร้อยแล้ว ฉะนั้นผลิตภัณฑ์ภายใต้ MySQL AB ทั้งหมดจะตกเป็นของซัน
ชื่อ "MySQL" อ่านออกเสียงว่า "มายเอสคิวเอล" (maɪˌɛskjuːˈɛl) [2] หรือ "มายเอสคิวแอล" (ในการอ่านอักษร L ในภาษาไทย) ซึ่งทางซอฟต์แวร์ไม่ได้อ่าน มายซีเควล หรือ มายซีควล เหมือนกับซอฟต์แวร์จัดการฐานข้อมูลตัวอื่น
รุ่นของผลิตภัณฑ์
รุ่นของผลิตภัณฑ์นั้นแบ่งออกมาได้สามสายการผลิต
ได้แก่ เวอร์ชันใช้ฟรี เวอร์ชันการค้า และเวอร์ชันที่สนับสนุนกับผลิตภัณฑ์ SAP (MAX
DB) ความแตกต่างคือเวอร์ชันคอมมิวนิตี้นั้นสามารถนำไปใช้งานได้ฟรีแต่ขาดการสนับสนุนหรือการช่วยเหลือเมื่อมีปัญหาเกิดขึ้น,
เวอร์ชันที่เป็นคอมเมอร์เชียลนั้นให้บริการด้านความสนับสนุนเมื่อมีปัญหา
(ซื้อบริการ) สรุปคร่าวๆ ประเภทดาต้าเบสให้เลือกใช้ดังนี้
·
MySQL เอนเทอร์ไพรส์ Enterprise
·
MySQL Embedded
·
MySQL Community (opensource เวอร์ชัน)
ความสามารถที่เพิ่มขึ้น
ในเวอร์ชัน 5.0 มีความสามารถหลายอย่างที่สำคัญสำหรับระบบฐานข้อมูลขนาดใหญ่หรือระดับองค์กร
(EnterPrise Feature)
เช่น Store Procedure, database
trigger, database
view,database
schema ซึ่งได้มีการปรับเพิ่มประสิทธิภาพในส่วนของตารางและการทำดัชนี (index)
ขึ้นมาอีก ปัจจุบันเวอร์ชัน community หรือเวอร์ชันที่เสถียร
(stable) 5.0 และเวอร์ชันทดสอบคือ 5.1 beta release และ 5.2 Alpha
ตั้งแต่เวอร์ชัน 5.1 เริ่มสนับสนุนการทำ Parttion
Database , ตารางเวลาสำหรับเหตุการณ์ต่างๆ (Event
schedule)111
ประเภทการจัดเก็บข้อมูล (Database Storage Engine) ที่สนับสนุน
·
MyISAM ค่าปกติ (default)
·
Memory การจัดเก็บในหน่วยความจำ
ใช้เป็นตารางชั่วคราวเพื่อความรวดเร็ว เนื่องจากเก็บไว้ในหน่วยความจำ ทำให้มีความเร็วในการทำงานสูงมาก
·
Merge เป็นการรวม Table หลาย ๆ
ตัวให้แสดงผล หรือแก้ไข เสมือนเป็นข้อมูลจาก Table เดียว
·
Archive เหมาะสำหรับการจัดเก็บข้อมูลพวก log file,ข้อมูลที่ไม่ต้องมีการ คิวรี่ (query)
หรือใช้บ่อยๆ เช่น log file เพื่อประโยชน์ในการตรวจสอบย้อนหลัง
(Security Audit Information)
·
Federated สำหรับการจัดเก็บแบบปลายทาง (remote server) แทนที่จะเป็นการจัดเก็บแบบ local เหมือนการจัดเก็บ (Storage)
แบบอื่นๆ
·
NDB สำหรับการจัดเก็บแบบ คลัสเตอร์(cluster)
·
CSV เก็บข้อมูลจาก Text ไฟล์โดยอาศัยเครื่องหมาย คอมมา (comma)
เป็นตัวแบ่งฟิลด์
·
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 ที่สนับสนุนในขณะนี้คือ
·
Ruby สำหรับการเชื่อมต่อกับ ภาษา ruby
·
Python สำหรับการเชื่อมต่อกับภาษา python
·
.NET สำหรับการเชื่อมกับภาษา .NET framework
·
MySQL++ สำหรับเชื่อมต่อกับภาษา C++
·
Ch สำหรับการเชื่อมต่อกับ Ch (C/C++ interpreter)
·
PHP สำหรับการเชื่อมต่อกับภาษาPHP
ยังมีโปรแกรมอีกตัว
เป็นโปรแกรมบริหารพัฒนาโดยผู้อื่น ซึ่งใช้กันอย่างแพร่หลายและนิยมกันเขียนในภาษาพีเอชพี เป็นโปรแกรมเว็บแอปพลิเคชัน ชื่อ phpMyAdmin
ทั้ง MySQL server และ client libraries ถูกเผยแพร่ในลิขสิทธิ์ 2
แบบ ผู้ใช้สามารถเลือกได้ระหว่างลิขสิทธิ์ GNU General
Public License [1] หรือลิขสิทธิ์ proprietary license
ผู้ใช้บางคนพัฒนาซอฟต์แวร์ต่อจากเวอร์ชันแรกๆของ
client libraries ที่ใช้ลิขสิทธิ์ Lesser
General Public License
ที่มา http://th.wikipedia.org/wiki/%E0%B8%A1%E0%B8%B2%E0%B8%A2%E0%B9%80%E0%B8%AD%E0%B8%AA%E0%B8%84%E0%B8%B4%E0%B8%A7%E0%B9%80%E0%B8%AD%E0%B8%A5
ไม่มีความคิดเห็น:
แสดงความคิดเห็น