วันเสาร์ที่ 3 กันยายน พ.ศ. 2554

SQL


ภาษา SQL

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

ประโยชน์ของ SQL
SQL เป็นภาษาเกี่ยวกับการจัดการฐานข้อมูล ไม่ว่าจะเป็นในเรื่องของการนิยามข้อมูล การเรียกใช้ หรือการควบคุม การใช้คำสั่งเหล่านี้ที่มีในระบบจัดการฐานข้อมูล (Database Management System : DBMS) เช่น ACCESS dBaseIV ORACLE, DB2 ฯลฯ จะช่วยประหยัดเวลาในการพัฒนาระบบงาน หรือนำไปใช้ในส่วนของการสร้างฟอร์ม (FROM) การทำรายงาน (REPORT) ของระบบงานต่าง ๆ ได้รวดเร็วยิ่งขึ้น
ประโยชน์ของภาษา SQL อีกประการก็คือ โปรแกรมระบบฐานข้อมูลส่วนใหญ่สนับสนุนภาษา SQL แทบทั้งสิ้น ดังนั้นถ้าเข้าใจภาษา SQLเท่ากับว่าคุณจะเขียนโปรแกรมติดต่อกับฐานข้อมูลอะไรก็ไม่ใช่เรื่องยากเลย...

ความรู้เกี่ยวกับ SQL
SQL ย่อมาจาก Structured Query Language เป็นภาษาที่ใช้ในการจัดการข้อมูลของฐานข้อมูลเชิงสัมพันธ์ ผู้คิดค้น SQL เป็นรายแรกคือ บริษัทไอบีเอ็ม หลังจากนั้นมาผู้ผลิตซอฟท์แวร์ด้านระบบจัดการฐานข้อมูลเชิงสัมพันธ์ได้พัฒนาระบบที่สนับสนุน SQL มากขึ้น จนเป็นที่นิยมใช้กันอย่างแพร่หลายในปัจจุบัน โดยผู้ผลิตแต่ละรายก็พยายามที่จะพัฒนาระบบจัดการฐานข้อมูลของตนให้มีลักษณะเด่นเฉพาะขึ้นมา ทำให้รูปแบบการใช้คำสั่ง SQL มีรูปแบบที่แตกต่างกันไปบ้าง เช่น ORACLE ACCESS SQL ของ Base Sybase INGRES หรือ SQL Server ของMicrosoft เป็นต้น ในขณะที่ American National Standards Institute (ANSI) ได้กำหนดรูปแบบมาตรฐานของ SQL ขึ้น ซึ่งเป็นมาตรฐานของคำสั่ง SQL ตาม ANSI-86 ที่ใช้เป็นมาตรฐานขั้นต่ำในการอ้างอิง อย่างก็ตามรูปแบบมาตรฐาน SQL ตาม ANSI-86 ก็มีข้อจำกัดในการใช้คำสั่ง SQL เช่นกันเมื่อเปรียบเทียบกับ SQL ของระบบจัดการฐานข้อมูล ที่ผู้ผลิตบางรายได้ทำการปรับปรุงและพัฒนาให้เป็นประโยชน์และง่ายสำหรับผู้ใช้อยู่ตลอดเวลา
ต่อมาในปี 1992 ANSI ได้ทำการทบทวน และปรับปรุงมาตรฐานของ SQL/2 และเป็นที่ยอมรับของISO (International Organization ) SQL/2 มีรายละเอียดเพิ่มขึ้น เช่น
เพิ่มประเภทของข้อมูลที่มีจากเดิม
สนับสนุนการใช้กลุ่มตัวอักษร
มีความสามารถในการให้สิทธิ์เพิ่มขึ้น(Privilege)
สนับสนุนการ SQL ใช้ แบบ Dynamic
เพิ่มมาตรฐานในการใช้ Embedded SQL
มีโอเปอเรเตอร์เชิงสัมพันธ์เพิ่มขึ้น ฯลฯ
ในขณะที่เขียนตำรานี้ ANSI กำลังทบทวนและปรับปรุง SQL อีกครั้ง (SQL/3) จุดประสงค์ของการกำหนดมาตรฐานเพื่อประโยชน์ในการใช้คำสั่งนี้ร่วมกันในระบบที่แตกต่างกันได้
(Application Portability) นอกจากนี้การเรียนรู้การใช้คำสั่ง SQL ตามมาตรฐานที่กำหนดขึ้น เป็นการง่ายที่จะนำไปประยุกต์ใช้หรือเรียนรู้เพิ่มเติมจากคำสั่ง SQL ของผู้ผลิตแต่ละรายได้

ประเภทของคำสั่ง SQL
1. ภาษาสำหรับนิยามข้อมูล (Data Definition Language : DDL) ประกอบด้วยคำสั่งที่ใช้ในการกำหนดโครงสร้างข้อมูลว่ามีคอลัมน์อะไร แต่ละคอลัมน์เก็บข้อมูลประเภทใด รวมถึงการเพิ่มคอลัมน์ การกำหนดดัชนี การกำหนดวิวของผู้ใช้ เป็นต้น
2. ภาษาสำหรับการจัดการข้อมูล (Data Manipulation Language : DML) ประกอบด้วยคำสั่งที่ใช้ในการเรียกใช้ข้อมูล การเปลี่ยนแปลงข้อมูล การเพิ่มหรือลบข้อมูล เป็นต้น
3. ภาษาที่ใช้ในการควบคุมข้อมูล (Data Control Language : DCL) ประกอบด้วยคำสั่งที่ใช้ในการควบคุม หรือป้องกันการเกิดเหตุการณ์ที่ผู้ใช้หลายคนเรียกใช้ข้อมูลพร้อมกัน โดยที่ข้อมูลนั้น ๆ อยู่ในระหว่างการปรับปรุงแก้ไข ซึ่งเป็นเวลาเดียวกับที่ผู้ใช้อีกคนหนึ่งก็เรียกใช้ข้อมูลนี้ ทำให้ข้อมูลที่ผู้ใช้คนที่สองได้ไปเป็นค่าเก่าที่ไม่ถูกต้อง ทั้งนี้เพราะผู้ใช้คนแรกยังปรับปรุงแก้ไขข้อมูลไม่เสร็จ นอกจากนี้ ยังประกอบด้วยคำสั่งที่เกี่ยวข้องกับการควบคุมความปลอดภัยของข้อมูลด้วยการให้สิทธิ์ผู้ใช้ที่แตกต่างกัน


 SQL หรือ Structured Query Language
เป็นภาษาที่ใช้ในการติดต่อกับฐานข้อมูลหรือพูดอีกอย่างก็คือ เป็นภาษาที่ใช้ในการสั่งให้ฐานฐานข้อมูลกระทำการใด ๆ ตามคำสั่งที่เราสั่ง ซึ่งในการติดต่อฐานข้อมูลนั้น ไม่ว่าจะเป็น SQL Server , Microsoft Access , MySQL ,DB2 หรือแม้แต่ Oracle ก็จะต้องใช้คำสั่งภาษา SQL ในการควบคุมทั้งสิ้น และเราจะมาเรียนรู้ถึงคำสั่งพื้นฐาน ของ SQL ที่จำเป็น



โดยส่วนใหญ่แล้วการใช้คำสั่ง SQL เพื่อติดต่อฐานข้อมูลนั้น จะใช้โดยหลักคือ 3 กรณี 

1. การเรียกดู
2. การแก้ไข ลบ, เพิ่ม, เปลี่ยนแปลง
3. การสร้างขึ้นใหม่
เช่นการสร้าง Table ขึ้นมา 3 Table
1.customer เป็นตารางเก็บข้อมูลลูกค้า
2.audit เป็นตารางเก็บข้อมูลการใช้ยอดเงินลูกค้า                                                                                             3.country เป็นตารางเก็บข้อมูลประเทศ

Table : Customer
 CustomerID
    Name
Email
    CountryCode
    Budget
     Used
C001
Win  Weerachai
win.weerachai@thaicreate.com
    TH
       1000000
       600000
C002
John Smith
john.smith@thaicreate.com
     EN
       2000000
       800000
C003
Jame Born
jame.born@thaicreate.com
     US
       3000000
       600000
C004
Chalee Angel
chalee.angel@thaicreate.com
     US
       4000000
       100000



Table : audit
  AuditID
   CustomerID
    Date
     Used
1
 C001
2008-07-01
100000
2
 C001
2008-07-05
200000
3
 C001
2008-07-10
300000
4
 C002
2008-07-02
400000
5
 C002
2008-07-07
100000
6
 C002
2008-07-15
300000
7
 C003
2008-07-20
400000
8
 C003
2008-07-25
200000
9
 C004
2008-07-04
100000


Table : country
CountryCode
  CountryName
  TH
     Thailand
  EN
     English
  US
     United states

ไม่มีความคิดเห็น:

แสดงความคิดเห็น