Transcript טבלאות מדומות (Views)
Slide 1
טבלאות מדומות )(Views
1
Slide 2
טבלה מדומה
•
•
•
•
נבדלת מטבלה בסיסית או טבלת מקור
רק הגדרה במבנה של שאילתת SQLרגילה נשמרת
בבסיס הנתונים
הטבלה ממומשת ע”י הפעלת השאילתא רק בעת
הצורך
יתרונות:
* יכולת הצגה פשוטה יותר של נתונים למשתמשים שונים
* רמה גבוהה של בקרה ואבטחת מידע
2
Slide 3
דוגמא:
• הצג את שמות הסטודנטים ואת עיר מגוריהם עבור
סטודנטים שלמדו בקורס ( c-200תכנות)
CREATE VIEW PROG-STUDENTS AS
3
Slide 4
דוגמא:
• לטבלת התוצאה נקרא PROG-STUDENTSונאפשר
לראש המחלקה למדעי המחשב לגשת אליה
• כעת הוא רוצה לסנן את אותם סטודנטים שגרים בת”א
• הוא יבנה את השאילתא הבאה:
4
Slide 5
דוגמא:
• מאחורי הקלעים מתבצעת השאילתא:
5
Slide 6
שלבים בבניית טבלה מדומה
)(View Resolution
6
Slide 7
טבלאות מדומות אופקיות
)(Horizontal Views
• טבלה המבוססת על שאילתא הבוחרת עמודות
מטבלאות מקור ומכילה תנאי לבחירת שורות
• מאפשרת לתפור לכל משתמש טבלה מדומה המכילה
רק שורות המעניינות אותו
7
Slide 8
טבלאות מדומות אופקיות
)(Horizontal Views
8
Slide 9
דוגמא נוספת
9
Slide 10
טבלאות מדומות אנכיות )( Vertical Views
• טבלה המבוססת על שאילתא שבוחרת אוסף חלקי של
עמודות מתוך טבלת מקור ובוחרת את כל השורות
• מאפשרת לתפור לכל משתמש טבלה מדומה המכילה
רק עמודות המעניינות אותו
10
Slide 11
טבלאות מדומות אנכיות -דוגמא
11
Slide 12
טבלאות מדומות משולבות -שורות
ועמודות
12
Slide 13
טבלאות מדומות עם צירוף )(Joined Views
• היתרון :ממבט המשתמש נדמה לו כי הוא עובד עם טבלה אחת פשוטה
13
Slide 14
SELECT *
FROM CS_GRADES
NAME
STUD_ID
MOSHE
105
MOSHE
COURSE_ID
SEMESTER
TERM
GRADE
G_SEM
Data Base
C-55
SUM2007
A
58
70
105
Programming
C-200
AUT2008
A
90
85
DAN
210
Programming
C-200
AUT2008
A
85
80
DAVID
200
Programming
C-200
AUT2008
B
78
50
14
C_NAME
Slide 15
טבלאות מדומות עם צירוף)(Joined Views
• נבקש כעת להציג רשימת שמות הסטודנטים שלמדו
1999ממוינת לפי שם סטודנט:
בסתיו 2008
AUT2008
15
Slide 16
טבלאות מדומות עם פונקציות מובנות
והקבצות )( Grouped Views
• מכילה עמודות שהן תוצאה של פונקציה מובנית כל שהיא
16
Slide 17
טבלאות מדומות עם פונקציות מובנות
והקבצות )( Grouped Views
17
Slide 18
עדכון טבלאות מדומות
)(View Updatability
• לעיתים נוצרות בעיות:
18
Slide 19
עדכון טבלאות מדומות -פתרון
• CREATE VIEW HAIFA_STUDENTS AS
•
•
•
•
•
* SELECT
FROM STUDENTS
’WHERE CITY = ‘Hifa
WITH CHECK
OPTION
הפעם תתבצע בדיקה של השורה החדשה ורק אם היא
מקיימת את התנאי של השאילתא היא תוכנס לטבלה
19
Slide 20
ביטול טבלה מדומה )(Drop View
• הפרמטר CASCADEגורם לביטול גם טבלאות
מדומות אחרות המתייחסות לטבלה המדומה המבוטלת
• הפרמטר RESTRICTימנע ביטול של טבלה מדומה
אם הוא מופיע בהגדרות של טבלאות מדומות אחרות
• DROP VIEW HAIFA_STUDENTS CASCADE
20
Slide 21
תרגילים
•
•
•
נתונה הסכימה הטבלאית הבאה:
א .יצרן (מספר יצרן ,שם יצרן ,עיר ,כתובת ,ארץ)
ב .מחשב נייח (שם מודל ,מספר יצרן ,מהירות מעבד ,גודל דיסק ,גודל זיכרון,
גודל מסך ,מחיר בדולרים)
ג .מחשב נייד ( שם מודל ,מספר יצרן ,מהירות מעבד ,גודל דיסק ,גודל מסך,
גודל זיכרון ,מחיר בדולרים)
ד .מדפסות (שם מודל ,מספר יצרן ,סוג מדפסת ,מהירות הדפסה ,צורת חיבור,
מחיר בדולרים)
כתוב פקודות SQLלהגדרת הטבלאות המדומות הבאות:
א .טבלה מדומה המכילה את כל נתוני המחשבים הניידים כולל נתוני היצרן
ב .טבלה מדומה המכילה את נתוני המדפסות והיצרנים שלהם עבור כל המדפסות
מסוג הזרקת דיו ובעלי מחיר של פחות מ 1000 -דולר
ג .טבלה מדומה המכילה את כל נתוני היצרן ,מהירות המעבד ,וגודל הדיסק ,גודל מסך,
גודל זיכרון ,ומחיר בדולרים עבור המחשבים הניידים והנייחים של יצרנים יפניים
כתוב שאילתא המציגה את הנתונים של כל סוגי המחשבים ,נייחים וניידים ,בעלי גודל
זיכרון של MB 128מתוך הטבלה המדומה שבסעיף ג’ שבשאלה הקודמת .הצג את
תהליך שילוב השאילתות ) (View Resolutionוכיצד נראית השאילתא שתבוצע
בסופו של דבר?
21
טבלאות מדומות )(Views
1
Slide 2
טבלה מדומה
•
•
•
•
נבדלת מטבלה בסיסית או טבלת מקור
רק הגדרה במבנה של שאילתת SQLרגילה נשמרת
בבסיס הנתונים
הטבלה ממומשת ע”י הפעלת השאילתא רק בעת
הצורך
יתרונות:
* יכולת הצגה פשוטה יותר של נתונים למשתמשים שונים
* רמה גבוהה של בקרה ואבטחת מידע
2
Slide 3
דוגמא:
• הצג את שמות הסטודנטים ואת עיר מגוריהם עבור
סטודנטים שלמדו בקורס ( c-200תכנות)
CREATE VIEW PROG-STUDENTS AS
3
Slide 4
דוגמא:
• לטבלת התוצאה נקרא PROG-STUDENTSונאפשר
לראש המחלקה למדעי המחשב לגשת אליה
• כעת הוא רוצה לסנן את אותם סטודנטים שגרים בת”א
• הוא יבנה את השאילתא הבאה:
4
Slide 5
דוגמא:
• מאחורי הקלעים מתבצעת השאילתא:
5
Slide 6
שלבים בבניית טבלה מדומה
)(View Resolution
6
Slide 7
טבלאות מדומות אופקיות
)(Horizontal Views
• טבלה המבוססת על שאילתא הבוחרת עמודות
מטבלאות מקור ומכילה תנאי לבחירת שורות
• מאפשרת לתפור לכל משתמש טבלה מדומה המכילה
רק שורות המעניינות אותו
7
Slide 8
טבלאות מדומות אופקיות
)(Horizontal Views
8
Slide 9
דוגמא נוספת
9
Slide 10
טבלאות מדומות אנכיות )( Vertical Views
• טבלה המבוססת על שאילתא שבוחרת אוסף חלקי של
עמודות מתוך טבלת מקור ובוחרת את כל השורות
• מאפשרת לתפור לכל משתמש טבלה מדומה המכילה
רק עמודות המעניינות אותו
10
Slide 11
טבלאות מדומות אנכיות -דוגמא
11
Slide 12
טבלאות מדומות משולבות -שורות
ועמודות
12
Slide 13
טבלאות מדומות עם צירוף )(Joined Views
• היתרון :ממבט המשתמש נדמה לו כי הוא עובד עם טבלה אחת פשוטה
13
Slide 14
SELECT *
FROM CS_GRADES
NAME
STUD_ID
MOSHE
105
MOSHE
COURSE_ID
SEMESTER
TERM
GRADE
G_SEM
Data Base
C-55
SUM2007
A
58
70
105
Programming
C-200
AUT2008
A
90
85
DAN
210
Programming
C-200
AUT2008
A
85
80
DAVID
200
Programming
C-200
AUT2008
B
78
50
14
C_NAME
Slide 15
טבלאות מדומות עם צירוף)(Joined Views
• נבקש כעת להציג רשימת שמות הסטודנטים שלמדו
1999ממוינת לפי שם סטודנט:
בסתיו 2008
AUT2008
15
Slide 16
טבלאות מדומות עם פונקציות מובנות
והקבצות )( Grouped Views
• מכילה עמודות שהן תוצאה של פונקציה מובנית כל שהיא
16
Slide 17
טבלאות מדומות עם פונקציות מובנות
והקבצות )( Grouped Views
17
Slide 18
עדכון טבלאות מדומות
)(View Updatability
• לעיתים נוצרות בעיות:
18
Slide 19
עדכון טבלאות מדומות -פתרון
• CREATE VIEW HAIFA_STUDENTS AS
•
•
•
•
•
* SELECT
FROM STUDENTS
’WHERE CITY = ‘Hifa
WITH CHECK
OPTION
הפעם תתבצע בדיקה של השורה החדשה ורק אם היא
מקיימת את התנאי של השאילתא היא תוכנס לטבלה
19
Slide 20
ביטול טבלה מדומה )(Drop View
• הפרמטר CASCADEגורם לביטול גם טבלאות
מדומות אחרות המתייחסות לטבלה המדומה המבוטלת
• הפרמטר RESTRICTימנע ביטול של טבלה מדומה
אם הוא מופיע בהגדרות של טבלאות מדומות אחרות
• DROP VIEW HAIFA_STUDENTS CASCADE
20
Slide 21
תרגילים
•
•
•
נתונה הסכימה הטבלאית הבאה:
א .יצרן (מספר יצרן ,שם יצרן ,עיר ,כתובת ,ארץ)
ב .מחשב נייח (שם מודל ,מספר יצרן ,מהירות מעבד ,גודל דיסק ,גודל זיכרון,
גודל מסך ,מחיר בדולרים)
ג .מחשב נייד ( שם מודל ,מספר יצרן ,מהירות מעבד ,גודל דיסק ,גודל מסך,
גודל זיכרון ,מחיר בדולרים)
ד .מדפסות (שם מודל ,מספר יצרן ,סוג מדפסת ,מהירות הדפסה ,צורת חיבור,
מחיר בדולרים)
כתוב פקודות SQLלהגדרת הטבלאות המדומות הבאות:
א .טבלה מדומה המכילה את כל נתוני המחשבים הניידים כולל נתוני היצרן
ב .טבלה מדומה המכילה את נתוני המדפסות והיצרנים שלהם עבור כל המדפסות
מסוג הזרקת דיו ובעלי מחיר של פחות מ 1000 -דולר
ג .טבלה מדומה המכילה את כל נתוני היצרן ,מהירות המעבד ,וגודל הדיסק ,גודל מסך,
גודל זיכרון ,ומחיר בדולרים עבור המחשבים הניידים והנייחים של יצרנים יפניים
כתוב שאילתא המציגה את הנתונים של כל סוגי המחשבים ,נייחים וניידים ,בעלי גודל
זיכרון של MB 128מתוך הטבלה המדומה שבסעיף ג’ שבשאלה הקודמת .הצג את
תהליך שילוב השאילתות ) (View Resolutionוכיצד נראית השאילתא שתבוצע
בסופו של דבר?
21