วันพุธที่ 31 สิงหาคม พ.ศ. 2554

SQL คืออะไร


SQL
  SQL     เป็นภาษาที่ใช้ในสำหรับการเรียกใช้ฐานข้อมูล ซึ่งย่อมาจาก "structured query language" โดยที่ SQL เป็นภาษาที่มีมาตรฐานและเป็นระบบเปิด (open system) หมายถึงเราสามารถใช้คำสั่ง SQL  กับฐานข้อมูลชนิดใดก็ได้ และ คำสั่งงานเดียวกันเมื่อสั่งงานผ่าน  ระบบฐานข้อมูลที่แตกต่างกันจะได้ ผลลัพธ์เหมือนกัน ทำให้เราสามารถเลือกใช้ฐานข้อมูล ชนิดใดก็ได้โดยไม่ติดยึดกับฐานข้อมูลใดฐานข้อมูลหนึ่ง
   เป็นภาษาทาง ANSI (American National Standards Institute) ได้กำหนดขึ้นเพื่อเป็นภาษามาตราฐานในการเข้าถึงระบบฐานข้อมูลคำสั่ง SQL  (SQL Statement) จะเป็นคำสั่งที่เอาไว้ ดึงข้อมูลจากฐานข้อมูล (Query) ,เพิ่มข้อมูลเข้าสู่ฐานข้อมูล (Insert) ,แก้ไขข้อมูล (Update),ลบข้อมูล (Delete)
 ตัวอย่าง ฐานข้อมูล อันได้แก่ MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase, เป็นต้น 
SQL หรือย่อมาจากคำว่า Structural Query Language เป็นภาษาหรือคำสั่งโปรแกรมเชิงโครงสร้าง ที่ใช้ในการจัดการและควบคุมการทำงานของระบบการจัดการฐานข้อมูล (DBMS) 

ตัวอย่าง
  SELECT * FROM STUDENTDATA WHERE STUDENTGRADE = 'A';
หมายความว่า ให้สืบค้นหรือเลือกข้อมูลทุกคอลัมน์ (Attribute) จากแฟ้มข้อมูล STUDENTDATA โดยมีเงื่อนไขอีกว่า เอาเฉพาะข้อมูลนักศึกษาที่ได้เกรด A เท่านั้นมาแสดง
คำสั่ง SQL (SQL Statement) จะเป็นคำสั่งที่เอาไว้ ดึงข้อมูลจากฐานข้อมูล (Query) ,เพิ่มข้อมูลเข้าสู่ฐานข้อมูล (Insert) ,แก้ไขข้อมูล (Update),ลบข้อมูล (Delete) ตัวอย่างฐานข้อมูล อันได้แก่ MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase,
    การใช้งานของภาษา SQL
ภาษา SQL เป็นส่วนประกอบหนึ่งของ DBMS มักพบใน DBMS เชิงสัมพันธ์หลายตัวและเป็นที่นิยมใช้ในปัจจุบัน 
ภาษา SQL ง่ายต่อการเรียนรู้ การใช้งานในภาษา SQLแบ่งเป็น 2 ลักษณะ คือ 
-   ภาษา SQL ที่โต้ตอบได้ (interactive SQL)
-   ภาษา SQL ที่ฝังในโปรแกรม (embedded SQL)
ภาษา SQL ที่โต้ตอบได้ (interactive SQL)ใช้เพื่อปฏิบัติงานกับฐานข้อมูลโดยตรง ป็นการใช้คำสั่งภาษา SQLสั่งงานบนจอภาพ โดยเรียกดูข้อมูลได้โดยตรงในขณะที่ทำงาน เพื่อให้ได้ผลลัพธ์ที่นำไปใช้ได้ 
ตัวอย่าง   เช่น ต้องการเรียกดูข้อมูลในคอลัมน์ SALENAME และ SALECOM จากตาราง SALESTAB 
จะใช้คำสั่งของภาษา SQL ดังนี้
SELECT SALENAME, SALECOM FROM SALESTAB;

ภาษา SQL ที่ฝังในโปรแกรม (embedded SQL)เป็นภาษา SQL ที่ประกอบด้วยคำสั่งต่าง ๆ ของ ภาษา SQL 
ที่ใส่ไว้ในโปรแกรม ที่ส่วนมากแล้วเขียนด้วยภาษาอื่น เช่น โคบอล (pro cobol), ซี (pro c) ลักษณะของคำสั่ง SQL จะแตกต่างจากภาษาอื่นๆ ในแง่ที่ว่า SQL ไม่มีคำสั่งที่เกี่ยวกับการควบคุม(control statement) 
เหมือนภาษาอื่น เช่น if..then…else for…do หรือ loop หรือ while ทำให้มีข้อจำกัดในการเขียนชุดคำสั่งงาน 
การใช้ภาษา SQL ฝังในโปรแกรมอื่นจะทำให้ภาษา SQL มีความสามารถและมีประสิทธิภาพมากยิ่งขึ้น 
ผลลัพธ์ของคำสั่งที่เกิดจากภาษา SQL ที่ฝังในโปรแกรม จะถูกส่งผ่านไปให้กับตัวแปรหรือพารามิเตอร์ที่ใช้ 
โดยโปรแกรมที่ภาษา SQL ไปฝังตัวอยู่ 
       สุดท้าย 
SQL Plus เป็น ภาษา SQL ที่โต้ตอบได้ (interactive SQL)
PL/SQL เป็น ภาษา SQL ที่ฝังในโปรแกรม (embedded SQL) 
ประโยชน์ของ SQL

การทำงานของโปรแกรมฐานข้อมูลบน server เมื่อเราใช้
SQL โปรแกรมจะทำงานได้เร็วกว่าการใช้ ttable
ความสามารถของภาษา
SQL  ยังมีมากกว่าการจัดการ table
เราสามารถใช้  
SQL  ทำงานอื่น ๆ ที่นอกเหนือจากความสามารถของ delphi เช่นการใช้ stored procedure เพื่อให้การทำงานกับฐานข้อมูลเกิดขึ้นภายใน server เท่านั้น ไม่ต้องส่งข้อมูลกลับไปมากับเครื่อง client ซึ่งจะมีผลให้การทำงานเร็วขึ้น