ประเภทของมุมมองใน SQL | มุมมองใน SQL [2022]

เผยแพร่แล้ว: 2021-01-02

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

สารบัญ

มุมมองคืออะไร?

SQL มีตารางเวอร์ชันพิเศษที่เรียกว่า View ซึ่งเป็นตารางเสมือนที่คอมไพล์ในรันไทม์ มุมมองเป็นเพียงคำสั่ง SQL และข้อมูลที่เกี่ยวข้องจะไม่ถูกจัดเก็บในมุมมองจริง แต่จะจัดเก็บไว้ในตารางฐานของมุมมอง

เรียนรู้การสร้างแอปพลิเคชัน เช่น Swiggy, Quora, IMDB และอื่นๆ

โดยสามารถมีแถวและคอลัมน์ทั้งหมดของตารางหรือแถวและคอลัมน์ที่เลือกได้เพียงไม่กี่แถวหากจำเป็นต้องจำกัดการเข้าถึง ขึ้นอยู่กับคิวรี SQL ที่เป็นลายลักษณ์อักษรที่ใช้ในการสร้างมุมมอง คิวรีสามารถสร้างได้จากหนึ่งตารางหรือหลายตาราง

มุมมองสามารถใช้เพื่อจัดโครงสร้างข้อมูลในลักษณะที่ผู้ใช้จะพบว่าเป็นธรรมชาติ ลดความซับซ้อนของการสืบค้นข้อมูลที่ซับซ้อน จำกัดการเข้าถึงข้อมูล และสรุปข้อมูลจากหลายตารางเพื่อสร้างรายงาน

การจัดการมุมมอง

มีแง่มุมต่างๆ ที่เกี่ยวข้องกับการจัดการมุมมอง ซึ่งกำหนดไว้ที่นี่

การสร้างมุมมอง: สามารถสร้างมุมมองได้โดยใช้คำสั่ง "สร้างมุมมอง" มุมมองถูกกำหนดโดยคิวรีที่อ้างอิงมุมมอง ตาราง หรือมุมมองอื่นๆ ที่เป็นรูปธรรม

การเปลี่ยนชื่อมุมมอง: สามารถเปลี่ยนชื่อมุมมองได้ และควรตรวจสอบให้แน่ใจว่าอ็อบเจ็กต์ทั้งหมดที่อ้างอิงชื่อเก่าของมุมมองตอนนี้ควรมีชื่อใหม่

มุมมองรายการ: มุมมองทั้งหมดในฐานข้อมูลเซิร์ฟเวอร์ SQL สามารถแสดงรายการได้โดยการสอบถามมุมมองแค็ตตาล็อกระบบ

การลบมุมมอง: การใช้คำสั่ง "drop view" สามารถลบมุมมองที่มีอยู่ได้

อ่าน: SQL เทียบกับ PlSQL

ลงทะเบียนเรียน หลักสูตรการพัฒนาซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

ประเภทของมุมมองในSQL

มี มุมมองสองประเภทใน SQL Server คือ มุมมองที่กำหนดโดยระบบ และ มุมมองที่กำหนดโดยผู้ใช้ ส่วนนี้มีคำอธิบายของสองประเภทนี้

มุมมองที่กำหนดโดยระบบ

มุมมองที่กำหนดโดยระบบคือมุมมองที่กำหนดไว้ล่วงหน้าซึ่งมีอยู่แล้วในฐานข้อมูล SQL Server เช่น Tempdb, Master และ temp แต่ละฐานข้อมูลมีคุณสมบัติและหน้าที่ของตัวเอง

ฐานข้อมูลเทมเพลตสำหรับมุมมองที่กำหนดโดยผู้ใช้ทั้งหมดมาจากฐานข้อมูลหลัก ประกอบด้วยมุมมองที่กำหนดไว้ล่วงหน้าจำนวนมากซึ่งเป็นเทมเพลตสำหรับตารางและฐานข้อมูลอื่นๆ ประกอบด้วยมุมมองที่กำหนดไว้ล่วงหน้าเกือบ 230 รายการ

มุมมองที่กำหนดโดยระบบจะถูกแนบโดยอัตโนมัติกับฐานข้อมูลที่กำหนดโดยผู้ใช้ทั้งหมด และสิ่งเหล่านี้ให้ข้อมูลเกี่ยวกับฐานข้อมูล ตาราง และคุณสมบัติทั้งหมดของฐานข้อมูลและตาราง มุมมองที่กำหนดโดยระบบมีสามประเภท สคีมาข้อมูล มุมมองแค็ตตาล็อก และมุมมองการจัดการแบบไดนามิก

แผนผังข้อมูล

มีมุมมองสกีมาที่แตกต่างกันยี่สิบมุมมองในเซิร์ฟเวอร์ SQL ใช้เพื่อแสดงข้อมูลทางกายภาพของฐานข้อมูล เช่น ตาราง ข้อจำกัด คอลัมน์ และมุมมอง มุมมองนี้เริ่มต้นด้วย INFORMATION_SCHEMA และตามด้วยชื่อมุมมอง INFORMATION_SCHEMA.CHECK_CONSTRAINTS ใช้เพื่อรับข้อมูลเกี่ยวกับข้อจำกัดใด ๆ ที่มีอยู่ในฐานข้อมูล

มีการใช้ข้อจำกัดในคอลัมน์เฉพาะในตารางเพื่อให้แน่ใจว่ามีการปฏิบัติตามกฎข้อมูลบางอย่างสำหรับคอลัมน์ INFORMATION_SCHEMA.COLUMNS ใช้เพื่อรับข้อมูลเกี่ยวกับคอลัมน์ของตาราง เช่น ชื่อตาราง ชื่อคอลัมน์ ตำแหน่งของคอลัมน์ ค่าดีฟอลต์ ฯลฯ ในการส่งคืนมุมมองที่มีอยู่ในฐานข้อมูลปัจจุบัน จะใช้ INFORMATION_SCHEMA.VIEWS

ดูแคตตาล็อก

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

มุมมองการจัดการแบบไดนามิก

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

มุมมองที่กำหนดโดยผู้ใช้

นี่คือประเภทของมุมมองที่กำหนดโดยผู้ใช้ มีสองประเภทภายใต้มุมมองที่กำหนดโดยผู้ใช้ มุมมองแบบธรรมดาและมุมมองที่ซับซ้อน

มุมมองที่เรียบง่าย

มุมมองเหล่านี้สามารถมีได้เพียงตารางฐานเดียวหรือสามารถสร้างได้จากตารางเดียวเท่านั้น ไม่สามารถใช้ฟังก์ชันกลุ่ม เช่น MAX(), COUNT() ฯลฯ ที่นี่ และไม่มีกลุ่มข้อมูล

โดยใช้ Simple View การดำเนินการ DML สามารถทำได้ แทรก ลบ และอัปเดตได้โดยตรง แต่มุมมองแบบธรรมดาไม่มีกลุ่มตาม คอลัมน์เทียม เช่น rownum แตกต่างกัน คอลัมน์ที่กำหนดโดยนิพจน์ มุมมองแบบธรรมดายังไม่รวมคอลัมน์ NOT NULL จากตารางฐาน

คอมเพล็กซ์วิว

มุมมองเหล่านี้สามารถมีตารางฐานได้มากกว่าหนึ่งตาราง หรือสามารถสร้างตารางฐานได้มากกว่าหนึ่งตาราง และมีกลุ่มตามอนุประโยค เงื่อนไขการรวม ลำดับตามอนุประโยค สามารถใช้ฟังก์ชันกลุ่มได้ที่นี่ และมีกลุ่มข้อมูล มุมมองที่ซับซ้อนไม่สามารถใช้เพื่อดำเนินการ DML ได้ตลอดเวลา

ไม่สามารถใช้การแทรก ลบ และอัปเดตกับมุมมองที่ซับซ้อนได้โดยตรง แต่แตกต่างจากมุมมองธรรมดา มุมมองที่ซับซ้อนสามารถมีกลุ่มตาม คอลัมน์เทียม เช่น rownum แตกต่างกัน คอลัมน์ที่กำหนดโดยนิพจน์ คอลัมน์ NOT NULL สามารถรวมในมุมมองที่ซับซ้อนได้ในขณะที่ไม่ได้เลือกโดย Simple View

มีมุมมองอื่นๆ เช่น มุมมองแบบอินไลน์และมุมมองที่เป็นรูปธรรม มุมมองแบบอินไลน์ยึดตามแบบสอบถามย่อยในคำสั่งย่อย FROM แบบสอบถามย่อยสร้างตารางชั่วคราว และทำให้การสอบถามที่ซับซ้อนง่ายขึ้น

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

อ่าน: แนวคิดและหัวข้อโครงการ SQL ที่น่าตื่นเต้น

บทสรุป

บทความนี้อธิบาย ประเภท ของ มุมมองใน SQL มุมมองใน SQL ถูกกำหนดและอธิบายอย่างละเอียด และยังมีการกำหนดวิธีต่างๆ ในการจัดการมุมมองอีกด้วย มุม มองประเภทต่างๆ ใน ​​SQL เช่น มุมมองที่กำหนดโดยระบบ และ มุมมองที่กำหนดโดยผู้ใช้ มีการอธิบายโดยละเอียดพร้อมกับประเภทย่อยต่างๆ ภายใต้แต่ละประเภท

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์แบบฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง โครงการมากกว่า 9 โครงการ และการมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

เตรียมความพร้อมสู่อาชีพแห่งอนาคต

สมัครเลยตอนนี้สำหรับปริญญาโทด้านวิศวกรรมซอฟต์แวร์