หน่วยที่
5 ภาษาฐานข้อมูล
5.1 ความเป็นมาของภาษา SQL
ในการสอบถามข้อมูลจากฐานข้อมูลนั้น
คำถามของผู้ใช้ เรียกว่า “Query” และภาษาที่ใช้ในการสอบถามข้อมูลเรียกว่า “Query
Language” ซึ่งพัฒนาโดยบริษัท
IBM เป็นที่รู้จักและใช้กันอย่างแพร่หลาย
จึงถือเป็นมาตรฐานที่ใช้ใน RDBMS หลายตัวที่มีใช้กันอยู่ในปัจจุบัน
SQL เป็นภาษาที่ทำให้ผู้ใช้สามารถทำงานกับข้อมูลที่เก็บบนฐานข้อมูลเชิงสัมพันธ์
โดย SQL ได้รับการออกแบบให้มีการดำเนินการกับข้อมูลแบบโต้ตอบระหว่างผู้ใช้กับคอมพิวเตอร์โดยตรง
ด้วยการพิมพ์คำสั่ง SQL ผ่านทางคอมพิวเตอร์
และผลลัพธ์ของข้อมูลจากฐานข้อมูลจะปรากฏบนจอภาพในทันที
นอกจากนี้โปรแกรมเมอร์ยังสามารถนำคำสั่ง SQL แทรกเข้าไปในส่วนของโปรแกรมคอมพิวเตอร์ที่เขียนขึ้นมา
เพื่อดำเนินการกับข้อมูลบนฐานข้อมูลหรือ
อาจกล่าวได้ว่าโปรแกรมเมอร์สามารถใช้คำสั่ง SQL เป็นส่วนหนึ่งของคำสั่งในโปรแกรมที่เรียกว่า
“Embedded SQL”
ISO (The International Standards Organization)
และ ANSI
(The American National Standard Institute) เป็นองค์กรที่กำหนดมาตรฐานของ SQL ที่เรียกว่า ANSI/ISO
SQL โดยมีการนำมาใช้ครั้งแรกในปี
พ.ศ. 2513
เป็นระบบฐานข้อมูล SystemR ฉบับต้นแบบ (Prototype) ในนาม SEQUEL (Structured English QUEry Language) และต่อมาคนทั่วไปได้ย่อชื่อของ SEQUEL
ให้สั้นลงเป็นคำว่า
SQL ในปัจจุบัน
บริษัท ออราเคิล (Oracle
Corporation) นับได้ว่าเป็นบริษัทใหญ่แห่งหนึ่งที่มีบทบาทในการพัฒนาและนำภาษา
SQL มาใช้งานจริงบนระบบจัดการฐานข้อมูลของ
Oracle โดยนำมาใช้ในเชิงพาณิชย์เป็นแห่งแรกในปี พ.ศ.2522
5.2 องค์ประกอบของภาษา SQL
ภาษา SQL (Structured
English Query language) เป็นภาษาที่มีรูปแบบเป็นภาษาอังกฤษ ง่ายต่อการเรียนรู้และการเขียนโปรแกรมซึ่งเป็นภาษาที่มีอยู่ในDBMS
หลายตัวมีความสามารถใช้
นิยามโครงสร้างตารางภายในฐานข้อมูล การจัดการข้อมูล
รวมไปถึงการควบคุมสิทธิการใช้งาน ฐานข้อมูล SQL จะประกอบด้วยภาษา 3 รูปแบบด้วยกัน แต่ละแบบก็จะมีหน้าที่เฉพาะแตกต่างกันไป
1. ภาษานิยามข้อมูล (Data
Definition Language : DDL)
เป็นกลุ่มคำสั่งที่ใช้ในการสร้างฐานข้อมูล
การกำหนดโครงสร้างข้อมูลว่ามีคอลัมน์หรือแอตตริบิวต์ใด ชนิดข้อมูลเป็นประเภทใด
รวมทั้งการจัดการด้านการเพิ่ม แก้ไข ลบ แอตตริบิวต์ต่างๆในรีเลชั่น
และการสร้างดัชนี
CREATE คำสั่งที่ใช้ในการสร้าง เช่น CREATE TABLE สร้างตาราง , CREATE VIEW สร้างวิว
DROP
คำสั่งที่ใช้ในการลบ
เช่น DROP TABLE ลบตาราง ,
DROP VIEW ลบวิว
ALTER คำสั่งที่ใช้ในการเปลี่ยนแปลงโครงสร้างตาราง
2. ภาษาการจัดการข้อมูล (Data
Manipulation Language : DML)
เป็นกลุ่มคำสั่งที่ถือเป็นแกนสำคัญของภาษา
SQL โดยกลุ่มคำสั่งเหล่านี้จะใช้ในการ Update เพิ่ม ปรับปรุงและการ Query ข้อมูลในฐานข้อมูล ซึ่งอาจเป็นชุดคำสั่งในลักษณะ Interactive
SQL หรือ Embedded SQL ก็ได้
SELECT คำสั่งที่ใช้ในการคิวรีข้อมูลในฐานข้อมูล
INSERT คำสั่งที่ใช้เพิ่มข้อมูลในตาราง
UPDATE คำสั่งที่ใช้ปรับปรุงข้อมูล (Update) ในตาราง
DELETE คำสั่งที่ใช้ลบข้อมูลออกจากตาราง
3. ภาษาควบคุมข้อมูล (Data
Control Language : DCL)
ซึ่งเป็นกลุ่มคำสั่งที่จะช่วยให้ผู้บริหารฐานข้อมูล (DBA) สามารถควบคุมฐานข้อมูลเพื่อกำหนดสิทธิการอนุญาต (Grant) หรือการยกเลิกการเข้าใช้ (Revoke) ฐานข้อมูล ซึ่งเป็นกระบวนการป้องกันความปลอดภัยในฐานข้อมูล รวมทั้งการจัดการทรานแซกชั่น (Transaction
Management) แต่ละ DBMS จะมีการกำหนดชนิดข้อมูลซึ่งประกอบไปด้วยตัวแปรต่างๆ
เช่น numeric , string , date , time เป็นต้น
5.3 หน้าที่ของระบบจัดการฐานข้อมูล
1. กำหนดและเก็บโครงสร้างฐานข้อมูล ระบบจัดการฐานข้อมูล จะสร้างพจนานุกรมข้อมูลขึ้น
เมื่อมีการกำหนดโครงสร้างของฐานข้อมูลขึ้นมา
เพื่อเก็บรายละเอียดต่าง ๆ ที่เกี่ยวกับฐานข้อมูล เช่น ชื่อตาราง
ชื่อฟิลด์ ตลอดจนคีย์ต่าง ๆ
เป็นต้น
2. รับและเก็บข้อมูลในฐานข้อมูล
ระบบจัดการฐานข้อมูลจะทำการรับและเก็บข้อมูลลงในฐานข้อมูลเพื่อใช้ในการประมวลผลต่อไป
3. ดูแลรักษาข้อมูล
ระบบจัดการฐานข้อมูลจะดูแลรักษาข้อมูลที่เก็บรวบรวมไว้ในระบบฐานข้อมูล
4. ติดต่อกับตัวจัดการระบบแฟ้มข้อมูล
โดยระบบจัดการฐานข้อมูลจะประสานกับตัวจัดการระบบแฟ้มข้อมูล (File Management) ซึ่งเป็นฟังก์ชั่นการทำงานหนึ่งของระบบการดำเนินงาน (Operating
System : OS) ในการค้นหาว่าข้อมูลที่เราต้องการนั้นเก็บอยู่ในตำแหน่งใดในดิสก์ โดยระบบจัดการฐานข้อมูลจะคอยประสานกับตัวจัดการระบบแฟ้มข้อมูลในการจัดการเก็บ การปรับปรุงข้อมูลและการเรียกใช้ข้อมูล
5. ควบคุมความบูรณภาพของข้อมูล (Integrity Control) ระบบการจัดการฐานข้อมูล
จะต้องควบคุมค่าของข้อมูลในระบบให้ถูกต้องตามที่ควรจะเป็น เช่น รหัสสินค้าที่ปรากฏในใบสั่งซื้อสินค้าจะต้องเป็นรหัสที่มีอยู่ในระเบียนของสินค้าทั้งหมดในร้าน เป็นต้น
6. ควบคุมความปลอดภัย (Security
Control) ระบบจัดการฐานข้อมูลจะสามารถป้องกันความเสียหายที่อาจเกิดขึ้นกับฐานข้อมูลโดยป้องกันไม่ให้ผู้ที่ไม่มีสิทธิ์ได้เข้ามาเรียกใช้
หรือแก้ไขข้อมูลในส่วนที่ต้องการปกป้องไว้
7. การสร้างระบบสำรองและการกู้ (Backup
and Recovery) ระบบการจัดการฐานข้อมูลจะจัดทำข้อมูลสำรอง เมื่อมีปัญหาเกิดขึ้น เช่น
ระบบแฟ้มข้อมูลเสียหายหรือเครื่องเสียหาย
ระบบจัดการฐานข้อมูลก็จะใช้ระบบข้อมูลสำรองนี้ในการกู้สภาพการทำงานของระบบให้เข้าสู่สภาวะปกติได้
8. ควบคุมภาวการณ์ใช้ข้อมูลพร้อมกันของผู้ใช้
(Concurrency Control) ระบบจัดการฐานข้อมูลที่มีคุณสมบัติในการควบคุมการใช้ข้อมูลพร้อมกันนี้
จะทำการควบคุมการใช้ข้อมูลพร้อมกันของผู้ใช้หลายคนในเวลาเดียวกันได้ เช่น
กรณีถ้าผู้ใช้คนหนึ่งกำลังทำการแก้ไขข้อมูลรายการใดอยู่
ระบบจะไม่อนุญาตให้ผู้ใช้คนอื่นเข้ามาเรียกใช้ข้อมูลรายการนั้นจนกว่าการแก้ไขจะเสร็จเรียบร้อย
เพื่อป้องกันไม่ให้เกิดปัญหาการเรียกใช้ข้อมูลที่ไม่ถูกต้อง
9. ผู้บริหารฐานข้อมูล
เป็นผู้ทำหน้าที่ควบคุมการบริหารงานของระบบฐานข้อมูลทั้งหมด
เป็นผู้ที่จะต้องตัดสินใจว่าจะรวบข้อมูลใดบ้างเข้าไว้ในระบบ จะจัดเก็บข้อมูลด้วยวิธีใด ใช้เทคนิคในการเรียกใช้ข้อมูล
กำหนดระบบความปลอดภัยและความบูรณภาพของข้อมูล กำหนดแผนการสร้างระบบข้อมูลสำรองและการกู้ ประสานงานให้คำปรึกษาและความช่วยเหลือแก่ผู้อื่นใช้
ตลอดจนปรับปรุงเมื่อผู้ใช้มีความต้องการที่เปลี่ยนไปจากเดิม
ผู้บริหารฐานข้อมูลจึงต้องคอยปรับฐานให้เหมาะสมอยู่ตลอดเวลา
ไม่มีความคิดเห็น :
แสดงความคิดเห็น