ความแตกต่างระหว่างการดูและขั้นตอนการจัดเก็บ

สารบัญ:

ความแตกต่างระหว่างการดูและขั้นตอนการจัดเก็บ
ความแตกต่างระหว่างการดูและขั้นตอนการจัดเก็บ

วีดีโอ: ความแตกต่างระหว่างการดูและขั้นตอนการจัดเก็บ

วีดีโอ: ความแตกต่างระหว่างการดูและขั้นตอนการจัดเก็บ
วีดีโอ: การเสียรูปในงานเชื่อม ความเค้น ความเครียด ตอน1 2024, กรกฎาคม
Anonim

ดูเทียบกับขั้นตอนการจัดเก็บ

มุมมองและขั้นตอนการจัดเก็บเป็นวัตถุฐานข้อมูลสองประเภท มุมมองเป็นคิวรีที่เก็บไว้ ซึ่งรวบรวมข้อมูลจากตารางอย่างน้อยหนึ่งตาราง นี่คือรูปแบบการสร้างมุมมอง

สร้างหรือแทนที่ชื่อการดู

เป็น

select_statement;

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

สร้างหรือแทนที่ชื่อขั้นตอน (พารามิเตอร์)

คือ

เริ่ม

statements;

ยกเว้น

exception_handling

จบ;

ดู

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

  • มุมมองที่อัปเดตได้ (มุมมองที่สามารถใช้สำหรับ INSERT, UPDATE และ DELETE)
  • มุมมองที่ไม่สามารถอัปเดตได้ (มุมมองที่ไม่สามารถใช้สำหรับ INSERT, UPDATE และ DELETE)

มุมมองที่อัปเดตไม่สามารถรวมสิ่งต่อไปนี้ได้

ชุดตัวดำเนินการ (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

ฟังก์ชั่นการรวมกลุ่ม (AVG, COUNT, MAX, MIN, SUM, ฯลฯ)

จัดกลุ่มตามข้อ

เรียงตามลำดับ

เชื่อมต่อตามข้อ

เริ่มด้วยเงื่อนไข

นิพจน์คอลเลกชันในรายการที่เลือก

แบบสอบถามย่อยใน A Select List

เข้าร่วมแบบสอบถาม

ขั้นตอนการจัดเก็บ

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

การดูและขั้นตอนการจัดเก็บต่างกันอย่างไร

ให้เราดูความแตกต่างระหว่างสองสิ่งนี้

• มุมมองทำหน้าที่เป็นตารางเสมือน สามารถใช้โดยตรงจากแบบสอบถาม SQL ปิด (เลือก) แต่ไม่สามารถใช้ขั้นตอนในการปิดของแบบสอบถาม

• มุมมองมีเฉพาะคำสั่ง select เป็นเนื้อหา แต่โพรซีเดอร์สามารถมีการประกาศตัวแปร การกำหนดตัวแปร คำสั่งควบคุม ลูป การสืบค้น SQL และฟังก์ชัน/ขั้นตอน/การเรียกแพ็คเกจอื่นๆ เป็นเนื้อหาได้

• ขั้นตอนยอมรับพารามิเตอร์เพื่อดำเนินการ แต่มุมมองไม่ต้องการให้ดำเนินการพารามิเตอร์

• สามารถสร้างประเภทบันทึกจากการดูโดยใช้ % ROWTYPE แต่ด้วยขั้นตอน จะไม่สามารถสร้างประเภทบันทึกได้

• สามารถใช้คำแนะนำ SQL ภายในคำสั่งเลือกมุมมอง เพื่อปรับแผนการดำเนินการให้เหมาะสม แต่คำใบ้ SQL ไม่สามารถใช้ในขั้นตอนการจัดเก็บ

• สามารถให้สิทธิ์ DELETE, INSERT, UPDATE, SELECT, FLASHBACK และ DEBUG ในการดูได้ แต่ให้อนุญาตเฉพาะ EXECUTE และ DEBUG เท่านั้นตามขั้นตอน