תצוגות (Views)

מה זה View?

View הוא "טבלה וירטואלית" - שאילתה שמורה שמתנהגת כמו טבלה.


יצירת View

CREATE VIEW active_users AS
SELECT id, name, email
FROM users
WHERE status = 'active';

-- שימוש ב-View
SELECT * FROM active_users;

יתרונות

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

דוגמאות מעשיות

-- View עם JOIN
CREATE VIEW order_details AS
SELECT 
    o.id AS order_id,
    u.name AS customer,
    o.total,
    o.status
FROM orders o
JOIN users u ON o.user_id = u.id;

-- View עם אגרגציה
CREATE VIEW sales_by_month AS
SELECT 
    YEAR(order_date) AS year,
    MONTH(order_date) AS month,
    SUM(total) AS revenue
FROM orders
GROUP BY YEAR(order_date), MONTH(order_date);

עדכון ומחיקה

-- עדכון View
CREATE OR REPLACE VIEW active_users AS
SELECT id, name, email, created_at
FROM users
WHERE status = 'active';

-- מחיקת View
DROP VIEW IF EXISTS active_users;

Updatable Views

-- View פשוט ניתן לעדכון
CREATE VIEW user_emails AS
SELECT id, email FROM users;

UPDATE user_emails SET email = '[email protected]' WHERE id = 1;

💡 לא כל View ניתן לעדכון - רק Views פשוטים ללא JOIN/GROUP BY


← אינדקסים | חזור לתוכן העניינים →

בדקו את עצמכם

נסו לענות לבד לפני שאתם פותחים את התשובה.

  1. מה זה View?

    1. גרף
    2. גיבוי
    3. עותק של טבלה
    4. שאילתה שמורה שמתנהגת כמו טבלה וירטואלית
    הצגת התשובה

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

  2. למה להשתמש ב-View?

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

    תשובה ב. אפשר לתת למשתמש גישה ל-View בלי גישה לטבלה המלאה.