PL/SQL เป็นการนำคำสองคำคือ PL และ SQL มารวมกัน
PL ย่อมาจาก Procedure Language พัฒนาโดย Oracle เพื่อเป็นส่วนเพิ่ม (extension) ใน standard SQL ให้ทำงานแบบ procedural กับฐานข้อมูล PL/SQL เป็นตัวเชื่อมระหว่าง database technology และ procedural programming language, PL/SQL เป็นเครื่องมือใช้พัฒนาระบบงานที่เพิ่มความสามารถให้กับ SQL ของ Oracle ทำให้พัฒนาระบบงานที่สลับซับซ้อน และเข้าถึงจัดการข้อมูลในฐานข้อมูลได้เป็นอย่างดี ด้วยความสามารถของ PL/SQL เราสามารถใช้คำสั่ง
DML เช่น insert, delete, update, select กับข้อมูล ใช้คำสั่ง loop ทำงานแบบวนซ้ำ ใช้ if และ case ตรวจสอบเงื่อนไข
คำสั่ง SQL นำมาใช้ใน PL/SQL ได้ ใน PL/SQL block มีได้หลาย SQL statements เมื่อส่ง SQL statements ไปประมวลผลที่ตัวจัดการฐานข้อมูลมันถูกส่งไปในลักษณะของ block SQL (Structured Query Language) คือภาษาที่มีลักษณะเหมือนประโยคบรรยายถึงสิ่งที่ต้องการ โดยไม่สนใจวิธีเพื่อให้ได้มาของสิ่ง
ที่ต้องการว่าเป็นอย่างไร ข้อดีคือทำให้ระบบงานที่พัฒนาไม่สนใจว่าข้อมูลจัดเก็บจริงอย่างไร (physically stored) การทำงานของ SQL เกือบทั้งหมดกระทำที่ database server แต่ SQL มีข้อจำกัดคือในการทำงานจริงบางอย่าง การทำงานให้เสร็จโดยใช้ SQL query เพียงประโยคเดียวอาจทำได้ยาก หรือทำไม่ได้นักพัฒนาระบบงานพบว่าบ่อยครั้งต้อง execute หลาย queries เพื่อให้ได้ผลลัพธ์ที่ต้องการ และอาจต้องประมวลผลผลลัพธ์ที่ได้จาก query หนึ่งก่อนที่จะทำงานในขั้นตอนต่อไปได้
ประสิทธิภาพของ PL/SQL
ถ้าไม่มี PL/SQL, RDBMS จะประมวลผล SQL statement ครั้งละ 1 statement ทำให้ประมวลผลล่าช้า ถ้าทำงานบน network มีผู้ใช้หลายคนสั่ง run SQL statement พร้อมกันในเวลาเดียวกันจะทำให้เพิ่ม traffic บน network และ disk I/O ทำงานเพิ่มขึ้น ถ้ามี PL/SQL เราส่ง SQL statement ในลักษณะของ block (มีหลาย SQL statements ในหนึ่ง block) ไปประมวลผลที่ RDBMS engine วิธีนี้ทำให้ลดการติดต่อสื่อสารระหว่างโปรแกรมที่พัฒนากับ RDBMS และลด traffic บน network ไปในตัว
เล่ม "พัฒนา Web Applications ด้วย Oracle Developer Suite 10g"
No comments:
Post a Comment