שליטה בגישה לנתונים עם תצוגות ב- SQL

מאגר מידע תצוגות מפחיתות את המורכבות של חוויית משתמש הקצה ומגבילות את הגישה של המשתמשים לנתונים הכלולים בטבלאות מסדי נתונים. בעיקרו של דבר, תצוגה משתמשת בתוצאות של שאילתת מסד נתונים כדי לאכלס באופן דינמי את התוכן של טבלת מסדי נתונים וירטואלית.

מדוע להשתמש בתצוגות?

ישנן שתי סיבות עיקריות לספק למשתמשים גישה לנתונים דרך תצוגות ולא לספק להם גישה ישירה לטבלאות מסדי נתונים:

  • תצוגות מספקות אבטחה פשוטה ופשוטה. השתמש בתצוגה כדי להגביל את הנתונים שמשתמש רשאי לראות בטבלה. לדוגמה, אם יש לך טבלת עובדים ואתה מעוניין לספק למשתמשים מסוימים גישה לרשומות של עובדים במשרה מלאה, אתה יכול ליצור תצוגה המכילה רק את הרשומות האלה. זה קל בהרבה מהאלטרנטיבה (יצירה ותחזוקה של טבלת צללים) ומבטיח את שלמות הנתונים.
  • תצוגות מפשטות את חווית המשתמש. תצוגות מסתירות פרטים מורכבים של טבלאות מסדי הנתונים שלך ממשתמשי הקצה שאינם צריכים לראות אותם. אם משתמש זורק את תוכן התצוגה, הוא לא יראה את עמודות הטבלה שלא נבחרו על ידי התצוגה וייתכן שהם לא מבינים. זה מגן עליהם מפני הבלבול הנגרם על ידי עמודות בעלות שם גרוע, מזהים ייחודיים ו- מקשי שולחן.
instagram viewer

יצירת תצוגה

יצירת תצוגה פשוטה למדי: פשוט צור שאילתה המכילה את המגבלות שברצונך לאכוף והציב אותה בתוך הפקודה CREATE VIEW. הנה התחביר הכללי:

CREATE VIEW שם תצוגה AS

לדוגמה, כדי ליצור תצוגה של העובד במשרה מלאה, הוצא את הפקודה הבאה:

צור צפייה במשרה מלאה
בחר שם פרטי, שם משפחה, עובד_זה
מעובדים
WHERE status = 'FT';

שינוי תצוגה

שינוי תוכן התצוגה משתמש באותו תחביר בדיוק כמו יצירת התצוגה, אך השתמש בפקודה ALTER VIEW במקום בפקודה CREATE VIEW. לדוגמא, כדי להוסיף הגבלה לתצוגה המלאה שמוסיפה את מספר הטלפון של העובד לתוצאות, הוצא את הפקודה הבאה:

ALTER VIEW במשרה מלאה AS
בחר שם פרטי, שם משפחה, עובד עובד, טלפון
מעובדים
WHERE status = 'FT';

מחיקת תצוגה

פשוט להסיר תצוגה ממסד נתונים באמצעות הפקודה DROP VIEW. לדוגמה, כדי למחוק את תצוגת העובד במשרה מלאה, השתמש בפקודה הבאה:

צפה בטפטוף במשרה מלאה; 

צפיות לעומת תצוגות ממומשות

נוף הוא שולחן וירטואלי. א מבט ממומש היא אותה תצוגה שנכתבה לדיסק והגישה אליה כאילו הייתה שולחן בפני עצמו.

כאשר אתה מריץ שאילתה כנגד תצוגה, השאילתה המשנית שמקורה בתצוגה מבוצעת בזמן אמת ואז התוצאות האלה חוזרות לשאילתה הראשית המקורית. אם התצוגות שלך מורכבות במיוחד, או שהשאילתה הראשית שלך דורשת מספר רב של צירופי חשיש בין מספר טבלאות ותצוגות, השאילתה הראשית שלך תבוצע במהירות של צב.

תצוגה ממומשת מזרזת את ביצוע השאילתה מכיוון שהיא מתפקדת כשאילתה שהורכבה מראש שנכתבה לדיסק ולכן מבוצעת במהירות כמו טבלה. עם זאת, השקפות ממומשות טובות רק כמו נהלי האירוע שמרעננים אותם. בטווח הארוך, עם תחזוקה טובה, תצוגות ממומשות מזרזות את המצב עם פשרה קטנה בזמן רענון השהיה, ללא צורך בחבורה של שולחנות צל שעשויים להיות רדומים או לאכול שטח דיסק או למקור שאילתות של מישהו אחר באופן לא הולם.