ภาษา SQL (Structured Query Language)
วัตถุประสงค์ เรียนรู้คำสั่ง SQL พื้นฐานสำหรับการสร้างโครงสร้างของฐานข้อมูล เรียนรู้คำสั่งสำหรับการ update ข้อมูล (เพิ่ม, ลบ, แก้ไข) เรียนรู้คำสั่งสำหรับการเรียกดูข้อมูล
Relational Calculus-What Relational Algebra-How Where is SQL? User Program MS.Access Relational Calculus-What Relational Algebra-How DBMS
ความหมายของ SQL SQL ไม่ใช่ภาษาคอมพิวเตอร์แต่ใช้เพื่อในการจัดการข้อมูล Data Definition-กำหนดโครงสร้างการสร้างฐานข้อมูล Data Manipulation/Updates-ปรับปรุงฐานข้อมูล Data Retrieval (Queries)-แบบสอบถาม And others (not covered in this chapter) Data control Transaction control
โหมดการทำงานของ SQL Interactive mode สามารถรันคำสั่ง SQL ได้โดยตรง Embedded mode ใช้คำสั่ง SQL ร่วมกับโปรแกรมที่เขียนขึ้นด้วยภาษาอื่น คำสั่ง SQL จะทำงานเมื่อโปรแกรมทำงาน ข้อดีคือสามารถนำข้อมูลมาประมวลผลต่อได้ เช่น การทำรายงานที่ต้องแสดงเป็นกราฟ, การนำข้อมูลไปแสดงบนเว็บ Interactive mode สามารถรันคำสั่ง SQL ได้โดยตรง เช่นการคิวรีผ่านโปรแกรม MS Access หรือ SQL plus ของ Oracle จะได้ผลลัพธ์ทันที
ลักษณะการทำงานของภาษา SQL EmployeeNumber FirstName LastName 100 Mary Abermany 700 Jerry Caldera 300 Alea Copley 40 Murugan Jacksoni SQL เลือกค่าคอลัมน์ FirstName ที่คอลัมน์ EmployeeNumber=100 FirstName Mary
ประเภทของคำสั่ง SQL Data Definition Language (DDL) ใช้สำหรับกำหนดโครงสร้างของข้อมูล อันได้แก่ สร้าง ลบ หรือเปลี่ยนแปลงโครงสร้างของตาราง คือคำสั่ง CREATE(สร้างdatabase), ALTER(เปลี่ยนแปลง), DROP(ลบdatabase) StudentID Name Birthday Class
ประเภทของคำสั่ง SQL (Continued) Data Manipulation Language (DML) ใช้งานมากที่สุด ใช้เรียกดูข้อมูล (Retrieval operation) SELECT ใช้อัพเดตข้อมูล (Update operation) INSERT ใช้เก็บข้อมูลลงในตาราง UPDATE ใช้แก้ไขค่าของข้อมูลที่เก็บอยู่ DELETE ใช้ลบแถวในตาราง
ประเภทของคำสั่ง SQL (Continued) Data Control Language (DCL) ใช้ในการกำหนดสิทธิในกรณีที่มีผู้ใช้งานหลายคน คำสั่ง GRANT ใช้กำหนดสิทธิให้กับผู้ใช้ คำสั่ง REVOKE ใช้ยกเลิกหรือเรียกสิทธิคืน ใช้ควบคุม Transaction คำสั่ง COMMIT ใช้ยืนยันการทำงานหลังจากเสร็จ Transaction คำสั่ง ROLLBACK ใช้ยกเลิกการกระทำที่เกิดขึ้นกับ Transaction
การกำหนดเงื่อนไข Criteria: WHERE The WHERE clause stipulates the matching criteria for the record that are to be displayed SELECT EmpName FROM Emp WHERE DeptID =32 ; EmpID EmpName DeptID 27 Mike 31 28 John 32 29 Jack 39 30 Krone 44 John
เครื่องหมายทางคณิตศาสตร์ The WHERE clause match criteria may include (เท่ากับ)Equals “=“ (ไม่เท่ากับ)Not Equals “<>” (มากกว่า)Greater than “>” (น้อยกว่า)Less than “<“ (มากกว่าและเท่ากับ)Greater than or Equal to “>=“ (น้อยกว่าและเท่ากับ)Less than or Equal to “<=“
Match Operators ส่วนของข้อมูลทั้ง2 ชุดที่ union Multiple matching criteria may be specified using AND(และ) ส่วนที่มีการซ้อนทับระหว่างข้อมูล 2 ชุด(intersection) OR(หรือ) ส่วนของข้อมูลทั้ง2 ชุดที่ union
Operator Examples EmpID EmpName DeptID 27 Mike 31 28 John 32 29 Jack SELECT EmpName FROM Emp WHERE DeptID < 31 OR DeptID > 35; WHERE DeptID = 31 AND DeptID <= 32; EmpID EmpName DeptID 27 Mike 31 28 John 32 29 Jack 39 30 Krone 44