
ให้เราคุยกันถึงความแตกต่างระหว่าง SQL และ PL / SQL ด้วยความช่วยเหลือของแผนภูมิเปรียบเทียบที่แสดงด้านล่าง
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | SQL | PL / SQL |
---|---|---|
ขั้นพื้นฐาน | ใน SQL คุณสามารถดำเนินการแบบสอบถามเดียวหรือคำสั่งได้ตลอดเวลา | ใน PL / SQL คุณสามารถรันบล็อกของรหัสในแต่ละครั้ง |
แบบเต็ม | ภาษาของแบบสอบถามที่มีโครงสร้าง | ภาษาขั้นตอนส่วนขยายของ SQL |
วัตถุประสงค์ | มันเป็นเหมือนแหล่งข้อมูลที่จะแสดง | มันเป็นภาษาที่สร้างแอปพลิเคชันที่แสดงข้อมูลที่ได้จาก SQL |
เขียน | ใน SQL คุณสามารถเขียนเคียวรีและคำสั่งโดยใช้ DDL, DML statement | ใน PL / SQL คุณสามารถเขียนบล็อคของรหัสที่มีโพรซีเดอร์ฟังก์ชันแพ็คเกจหรือตัวแปร ฯลฯ |
ใช้ | การใช้ SQL คุณสามารถเรียกค้นแก้ไขเพิ่มลบหรือปรับเปลี่ยนข้อมูลในฐานข้อมูล | การใช้ PL / SQL คุณสามารถสร้างแอพพลิเคชั่นหรือหน้าเซิร์ฟเวอร์ที่แสดงข้อมูลที่ได้รับจาก SQL ในรูปแบบที่เหมาะสม |
ฝัง | คุณสามารถฝังคำสั่ง SQL ใน PL / SQL | คุณไม่สามารถฝัง PL / SQL ใน SQL |
ความหมายของ SQL
SQL ( Structured Query Language ) เป็นภาษาฐานข้อมูลเชิงสัมพันธ์ที่พัฒนาขึ้นโดย IBM ใน ปี 1970 มันกำหนดชุดของความสัมพันธ์ (ตาราง) ในฐานข้อมูลโดยใช้ DDL เช่นภาษานิยามข้อมูล DDL ใช้เพื่อสร้างสคีมาของแต่ละความสัมพันธ์และรักษาข้อ จำกัด ด้านความสมบูรณ์ความปลอดภัยและการอนุญาตของแต่ละความสัมพันธ์
อีกส่วนหนึ่งของ SQL คือ DML เช่น Data Manipulation Language DML ช่วยให้ผู้ใช้สามารถเข้าถึงหรือจัดการข้อมูลในฐานข้อมูล DML นั้นเป็น DML แบบ ขั้นตอน สองแบบและแบบ Declarative หรือ DML ที่ไม่ใช่ขั้นตอน คำสั่ง DML ตามขั้นตอนระบุข้อมูลที่ต้องการและ วิธี ดึงข้อมูล ในทางกลับกันคำสั่ง Declarative DML จะระบุเฉพาะข้อมูลที่ต้องการ SQl ใช้ DML แบบเปิดเผย
SQL สามารถฝังในไวยากรณ์ของภาษาอื่น ๆ เช่น C / C ++, Java, Perl, Python, PHP และอื่น ๆ มันเป็นภาษาที่ประกาศข้อมูลที่มุ่งเน้น
ความหมายของ PL / SQL
PL / SQL เป็นภาษาฐานข้อมูลเชิงสัมพันธ์ขั้นตอนที่พัฒนาโดย Oracle Corporation ในต้นปี 90 PL / SQL เป็นภาษาที่ Oracle ใช้ พร้อมกับอีกสองภาษาคือ SQL และ Java มันเป็นส่วนเสริมของ SQL และมันฝังของคำสั่ง SQL ภายในไวยากรณ์ของมัน
PL / SQL อนุญาตให้เรียกใช้งานบล็อกของรหัสในเวลาที่เพิ่มประสิทธิภาพ บล็อกของรหัสประกอบด้วยโพรซีเดอร์ฟังก์ชันลูปตัวแปรแพ็กเกจทริกเกอร์ PL / SQL ถูกออกแบบมาเพื่อสร้างเว็บแอปพลิเคชันและหน้าเซิร์ฟเวอร์ PL / SQL ยับยั้งคุณสมบัติเช่นการห่อหุ้ม, การซ่อนข้อมูล, การจัดการข้อยกเว้นและชนิดข้อมูลเชิงวัตถุ
ความแตกต่างที่สำคัญระหว่าง SQL และ PL / SQL
- ความแตกต่างพื้นฐานระหว่างสองภาษาคือ SQL ดำเนินการค้นหาครั้งเดียวในขณะที่ Pl / SQL ดำเนินการบล็อกของรหัสในครั้งเดียว
- SQL เป็นภาษาคิวรีเชิงโครงสร้างในขณะที่ PL / SQL เป็นภาษาโพรซีเดอร์ / ภาษาคิวรีที่มีโครงสร้าง
- SQL ทำหน้าที่เป็นแหล่งรวบรวมข้อมูลที่จะแสดงโดยแอปพลิเคชันที่สร้างขึ้นโดยใช้ PL / SQL
- เคียวรีและคำสั่ง SQL ถูกเขียนโดยใช้ DDL (Data Definition Language), DML (Data Manipulation Language) อย่างไรก็ตามการใช้ PL / SQL คุณสามารถเขียนบล็อกการเขียนโปรแกรมซึ่งมีโพรซีเดอร์ฟังก์ชันทริกเกอร์แพ็คเกจตัวแปรภายในไวยากรณ์ของมัน
- แบบสอบถาม SQL ใช้ในการดึงข้อมูลจากฐานข้อมูล คุณยังสามารถเพิ่มหรือลบหรือแก้ไขข้อมูลในฐานข้อมูล ในทางกลับกัน PL / SQL จะใช้ในการสร้างแอปพลิเคชันที่สามารถแสดงข้อมูลที่ดึงมาจาก SQL
- คุณสามารถฝังแบบสอบถาม SQL ภายในไวยากรณ์ของ PL / SQL อย่างไรก็ตามสิ่งที่ตรงกันข้ามไม่สามารถทำได้
สรุป:
SQL เป็นภาษาที่ประกาศได้ระบุเฉพาะข้อมูลที่ต้องการ แต่ PL / SQL เป็นภาษาขั้นตอนที่ระบุทั้งข้อมูลที่ต้องการและวิธีการดึงข้อมูล