204 115 167MB
Hebrew Pages 300 Year 2022
ס הטיסרבינואה החות Nפ
תוכרעמ
בינותנ
יטיסב
הדימל
ךירדמ
l תברוע
לעי
דרא
.
1 .-
הטיסרכינואה החותפה
תוכרעמ
יסיסב
ימינפ * אל הריכמל 20277-5276
םינותנ
תווצ חותיפה :הביתכ
לעי דרא
יארחא :ימדקא
יפורפ דוהא סדוג
:ועיי
יפורפ דוהא סדוג תירש לאוס
תכירע :ןושל
תידוהי רמייהנגוג רייד הוח ןמוינ
ןכות
םיניינעה
1אובמ 9קרפ טבמ םינותנלע ל9 תומרהטשפה ל9 תינבת עפומו 10 םילדומ םינותנלש 11 תופש יסיסבל םינותנ 15 הנבמה ללוכה לשתכרעמ 16 DBMS קרפ - 2לדומ םיסחיה
17
הנבמה לש סיסב םינותנ יסחי 17 תינבת םיסחי 20 תוחתפמ 21 המרגאיד לשתינבת םיסחי 23 םיכרע םיקיר 24 תופש תותליאש לדומב םיסחיה 24 הרבגלא לש םיסחי 25 תולועפ תוידוסי תרותמ תוצובקה 25 תבכרה תולועפ 28 תולועפה הלטה הריחבו 29 - תואמגוד תותליאשל 32 הלפכמ תיזטרק ; ףוריצ 3¢ תואמגוד תותליאשל 40 לופכשהמשהו 41 לופכש 41 - המשה (4 קוליח 44 קרפ - 3אובמ תפשל SQL
47
עקר 47 הנבמה יסיסבה לש התליאש 51 תפילש עדימ המכמ םיסחי 52 תולועפ תויסיסב תופסונ 55 ןתמ םש הנוכתל סחיב האצותה 55 55 861001 יוטיב ינובשח קוספב
ינתשמ הרוש 56 - תמאתה תוזורחמ 56 ןוימ תורושה סחיב האצותה 57 תויוליפכ 59 לע תוצובק 60 תולועפ םט[[יכרע 61 הצבקה 61 תויצקנופ הצבקה 61 תלועפ הצבקה 62 ןוניק תותליאש = 66 האוושה ןיב ךרע דדוב ןיבל תצובק םיכרע 66 - תואמגוד 66 רדגומההתליאש-תתב 69 הקידב םא םייק סחי תקידב תויוליפכ 70 תואמגוד תומכסמ תותליאשל 71 םיסחיכ םיינמז 73 תותליאש-תת סיסב םינותנה 75 ןוכדע הקיחמ 75 הפסוה 76 ןוכדע 77 ייוטיב ףוריצ 78 ףוריצ יעבט 78 יפל יאנת 79 PPN תואמגוד תומכסמ תותליאשל 81 קרפ 4- - SQLתמר םייניב
83
תרדגה תוינבת 84 - הרדגה תיסיסב לשתינבת סחי 85 םיטבמ 86 - תרדגה טבמ 87 שומיש םיטבמב ,5)(1תותליאשב 88 - םיטבמ םינסחואמ 89 - ןוכדע םיטבמ 89 תועונת 92 יצוליא תוניקת 95 סחי דדוב 96 םיצוליא DY רוסיא לע םיכרע םיקירהדומעב 96- ץוליא97 unique
קוספ98 check תוחתפמ םירז 98 - לופיט םיבצמב לשתרפה ץוליא הקיז 100 ןתמ םש ץוליאל תוניקת 101 יצוליא תוניקת תועונתו 102 םתרדגה לש םיצוליא םיבכרומ תועצמאב תוארוההcheck )102 assertion- יסופיט םינותנ תוינבתו 104 תרדגה יסופיט םינותנ לע ידישמתשמה 106 יסופיט םינותנ םיטקייבואל םילודג 105 יכרעתרירב לדחמ 105 ,תוינבת ינולימ םינותנ תוביבסוהדובע 105 תואשרה 106 תקנעה תואשרה ןתלילשו 106 םידיקפת 108 תואשרה השיג םיטבמל 1090 תואשרה השיג תוינבתל 110 / תרבעה תואשרה 1110 תלילש תואשרה 113 תואשרה תמרבהרושה 115 קרפ 5-.5)(1םדקתמ 117 השיג-,8)(1לתפשמ תונכת 118 ץוביש תוארוה SQLהפשב תחראמ 120 / —cursorsןונגנמ תקירסל תורושולבקתהש האצותכ 120 םמ - SQLימנידתפשב122 Java 123 VPN תורודצורפ תרדגה ,תויצקנופ םירטמרפ םינתשמו 124 תוארוה ינבמו הרקב 126 שומיש129 cursors-1 םיקדה )םירגירט( 132 :חפסנ תובושת תולאשלףוגבש קרפה 137 קרפ - 6לדומ םירשק-תויושי 139 םיגשומ םייסיסב 139 םיצוליא 149 תודימ יוביר לש יסופיט םירשק 150 תודימ יובירה לש יסופיט םירשק םיירא-מ 151
יצוליאתופתתשה 152 תוחתפמ 153 חתפמ לש סופיט תויושי 154 חתפמ לש סופיט םירשק 154 יסופיט תויושי םישלח 155 תמרגאידמ E-Rתוינבתל םיסחי 158 ילוקישןּוכיִת 162 תונמאנ תואיצמל תראותמה 162 / תויטנוולר 162 תעינמ תוליפכ גוצייב 163 גוציי טושפ לככרשפאה 164 טוריפ הללכהו -ירשקי"154י" 165 םיצוליא לעהללכה 167 VY וביק 169 הרמה לש טוריפ הללכהו תוינבתל לש םיסחי 169 קרפ 7-ןוכית לדומב םיסחיה 173 תויולת תוילנויצקנופ 174 תולת תילאיווירט 179 תויולת תוילנויצקנופ תוחתפמו 179 רוגְס לש תצובק תויולת תוילנויצקנופ 180 רוגס לש תצובק תונוכת 181 םתירוגלא יללכ בושיחל רוגסה לש תצובק תונוכת 183 תאיצמתוחתפמ םיליבק 184 תקידב תוכייש לש תולת תילנויצקנופ רוגסל185 F+ יוסיכ ינונק יוסיכ( )ילמינימ 186/ קוריפ תוינבת 189 תעינמ תויוליפכ תורתוימ 191 גוציי אולמ עדימה 192 יוטיב םיצוליא 192 רומיש עדימ 195 ןוירטירק תקידבל רומיש עדימ 198 רומיש תויולת 198 תורוצ תוילמרונ 200 הרוצה תילמרונה לש201 BCNF—Codd-yBoyce קוריפ רמשמ עדימ תוינבתל 204 BCNF-2 הרוצה תילמרונה תישילשה -206 3NF קוריפ תוינבתל ןהש תוחפל208 3NF-2
קרפ - 8יסופיט םינותנ םיבכרומ
21
עדימ הנבומ הצחמל 212 213 עדימ ילולימ שופיח יפל תולימחתפמ 214 NPTתובושת 216 עדימ יבחרמ 223 םיטקייבוא םיבכרומ 228 תופש גוצייל עדימההרבעהלו P2תוכרעמ 228 נפסמא 229 230 XML 232 o9 RDF 234 SPARQL קרפ 9-ןוסחא ינבמו םיצבק \ 237 ינקתה ןוסחא 238 השיג ןוסחאל ינוציח 239 םיצבקלוהינ 240 ןוגרא תומושרה צבוקב 240 תוטיש ןוגראל םיצבק 240 המגוד תמכסמ 241 קרפ 10-םיסקדניא 245 םיסקדניא םיניוממ 248 סקדניא ישאר 248 סקדניאו לילד 248 סקדניא ףופצ סקדניא תומר-בר 250 / םיסקדניא םיינשמ 250 תם*יצע 251 הנבמה לש *ע *251 - + רותיא המושרתרזעב ץע 255 +3 דציכ םיעבוק תאוימ 255 ןוכדע *ע - B+תסנכה םיכרע םישדח 257 תמוצהלע 258 לוציפ לוציפ תמוצ ימינפ 261 ןוכדע ע - +₪תקיחמ ךרע 262 יססובמ בוביג 264 םיסקדניא בוביג ימניד 267 םיסקדניא יססובמ תופמ תויביס 271
האוושה ןיב ינבמ רזעה 272 קרפ - 11דוביע תותליאש
275
ךילהת דוביע התליאש 275 בלשחונעפה 276 גוציי ימינפ תועצמאב ץע יוטיב 277 בלש היצזימיטפואה 281 דציכתדדמנ תוליעיה לש בושיח !התליאש 284 םינותנ םייטסיטטס שומישלדבעמ תותליאשה 285 תכרעה האצותהלדוג 286 םימתירוגלא בושיחל םירוטרפוא םיירבגלא 287 תלועפ הריחב DYיאנת ןויווש | 287 תלועפ הריחב DYיאנת האוושה םוחתל >) (,ם( אוה הצובק תיקלח לש הלפכמה תיזטרקה 4.אמ הצובקה תיקלחה תאזה הליכמ קר תא תוגוזה םהבש רביאה ילאמשה רביאה()-84מ ןטק ינמיהמ רביאה( -8):מ })OYךנחמההלש עוצקמ(.י")והשלכ ידכ תונעל DYהתליאש וז שורד עדימ לכמ תשולש םיסחיה סיסבב :םינותנה |class_teacherידכ תעדל ימ ךנחמ תא ;התיכה סחיהמ feachesידכ סחיהמ
ךירדמהדימלקרפל | 2לדומםיסחיה 41 % תעדל וליא תועוצקמ דמלמ ךנחמה תא ;התיכה סחיהמו ,|scheduleידכ תעדל וליאב םימי תדמול התיכה תועוצקמ .הלא ))₪ teaches₪ schedule 11day(G4 - = (class_teacher המגוד - 2.32התליאש "סמ 14ואצמיי תותיכ ןניאש תודמול ".היגולויב class_teacher ונא םיחינמ יכ תא תצובק לכ תותיכה רשפא לבקל ןה סחיהמ החנהב( לכלש התיכ שי )ךנחמ ןהו סחיהמfeachesהחנהב( לכש התיכ תדמול עוצקמ דחא).תוחפל )11cass(class_teacher , subjectן).ס- 11 ייוגוסוסָפע"= ))(teaches
לופכש
המשהו
תולועפה תוירניבה תורשפאמ תוושהל םינפואב םינוש ןיב יתש תורוש ינשמ םיסחי .םינוש ךא שי םיבצמ םהבש םיצור תוושהל ןיב תורוש תונוש לש סחי .דחא המגוד 2.33:חיננ םיצורש אוצמל תותיכ תודמולה םג הירוטסיה םגו היפרגואיג ותואב .םוי םשל ךכ שי אוצמל יתש תורוש סחיב scheduleןהיתשבש העיפומ התוא התיכ ותואו ,םוי ךא תחאב עוצקמה אוה היפרגואיג היינשבו .הירוטסיה- ידכ תוושהל יתש תורוש ותואמ ,סחי שי רוציל הלפכמ תיזטרק לש סחיה םע .ומצעתינבתב האצותה לשהלפכמ ,תאזכ לכ הנוכת תרזוח :םיימעפ םעפ הנוכתכ לש טנמוגראה ילאמשה םעפו הנוכתכ לש טנמוגראה .ינמיה ידכ חסנל יאנת הריחבםסיאתמ DYסחי ,האצותה השורד ךרד תרשפאמה ןיחבהל ןיב יתש תועפוהה לש התוא תינבת .האצותב ךכל תדעוימתלועפ.לופכשה
לופכש לופכש אוה הלועפ ,תירנוא םע .רטמרפ ונומיס אוה תואה תינוויה ,ק הלועפהו תבתכנ:ךכ )(1 P new-name סחי האצותה לש הלועפ וז אוה סחי םשב new-nameההזה לוכב סחיל I ותינבתב לכבו .ויתורוש
= 2תוכרעמיסיסבסינותנ שי הרוצ תפסונ םושירל תלועפ ,לופכשה איהו תרשפאמ תונשל תא תינבת האצותה,תלבקתמה תניחבמ תומש .תונוכתה םא ז אוה סחיותגרדש ,ם רשפא ליעפהל וילעתלועפ לופכש :ךכ Pnew-name (A1, )A2,..,An )(1 התע בותכנ יוטיב רוכעהתליאשההמגודבש :ליעל ואצמיי תותיכ תודמולה ותואב םוי םג הירוטסיה םגויי.היפרגואיג \/ day=sch.day Aschedule. =sch.class (Oschedule.class ; 11 schedule.subject ™=*“History Asch.subject ™=*“Geography )) sen(scheduleם *(schedule המגוד 2.34:ואצמיי הרומ דמלמהתוחפל ינש תועוצקמי".םינוש םג ידכתונעל לע התליאש וז שיעצבלהלפכמ תיזטרק לש סחי: DYומצעהלפכמ לש סחיהteaches םע .feachesסחיב לבקתמה שי אוצמל יתש תורוש ןהבו ותוא הרומ תועוצקמו :םינוש 11teaches. teacher (Oteaches. teacher =t.teacher Ateaches. subject #t.1 )))(teachesx p ((teaches !? דציכ אצמנ םירומ םידמלמה השולש תועוצקמ םינוש !תוחפל * םאה רשפא אוצמל םירומ םידמלמה ינש תועוצקמ !קוידב ,רמולכ( ינש תועוצקמ ךא אל).השולש * םאהרשפא אוצמל המכ תועוצקמ דמלמ לכ !הרומ ' גיצנ תאתובושתה תולאשל הלא םיווקב םייללכ :דבלב הבושתה הלאשל הנושארה המוד דואמ המגודל , 2.34ליעל אלא שיש עצבל םיימעפהלפכמ תיזטרק לש סחיה םע .ומצע לבקל( שולש תורוש וז דצל ,וז חסנלו יאנת הריחב ).םיאתמ הבושתה הלאשל היינשה איה בוליש לש המגוד 2.34,הלאשהו :הנושארה םירומ םידמלמה ינש תועוצקמ קוידב ועיפוי ןיב הלא םידמלמה ינש תועוצקמ ,תוחפל ךא אל ועיפוי ןיב הלא םידמלמה השולש תועוצקמ .תוחפל ךכ ןתינ אוצמל תא הבושתה התליאשל .וז
ךירדמהדימלקרפל | 2לדומםיסחיה 43 .6 הבושתה הלאשל הנורחאה איה :תילילש ידכ אוצמל המכ תועוצקמ דמלמ לכ הרומ שורד הנבמ המודה תאלולל whileתפשב ,תונכת אלו םייק הזכהרבגלאב לש .םיסחי רשפא קודבל םא הרומ דמלמ,השולש,העברא וא וליפא האמ תועוצקמ ,םינוש הבחרהלש הרבגלאה תיסיסבהונאשםידמול תרזעב תולפכמ תויזטרק לש סחיה םע ומצע רפסמ םיאתמ לש .םימעפ ךא יא תללוכםגתויצקנופ תולעפומהלעתוצובקלש רשפא קודבל המכ תועוצקמ םינוש אוה .דמלמ sum, ,תורושןוגכmax, 1.₪ תרזעבתויצקנופהלאכ רשפאאטבלתא .תשקובמה התליאשה המשה ריכנתולועפהלאכ תרגסמב הפשה תירחסמה דמלנשםיקרפבםיאבה הלועפ תפסונ הרבגלאב לש םיסחי תרשפאמ תתל םש סחיל האצותה לש .SQL ,התליאש ךכ ןתינש שמתשהל םשב הז התליאשב .תרחא רבדה רשפאמ לצפל םיבלשל בושיח לש תותליאש .תובכרומ םשל ךכםישמתשמתלועפב.המשהה המשה איההלועפ ,תירניב הנומיסש : ->.םימשור -54 I 8אוה םש לש סחי שדח ו אוה סחי האצותה לש יוטיבהרבגלאב לש .םיסחי הלועפה תרצוי סחי םשב LSההזה סחיל 1. המגודה האבה תבלשמ שומיש תולועפב לופכשה ,המשההו איהו הגיצמ תאיצמ ךרע ילמיסקמ וא( )ילמינימהדומעב .תמיוסמ המגוד 2.35:ואצמיי תאהעשהתרחואמה רתויבהבש ליחתמ רועיש והשלכ -תיבב י".רפסה ונא םיחינמ יכרשפא תוושהל ןיב יכרע הנוכתה Aourלע ידי < 1.00 ותסק group by קלח תוצובק-תתהמ תועיפומה רויאב 3.10אל הנרצווית ללכ -םא PRוהב םיחמצםהבוגש ילמיסקמה הלוע לע רטמ .דחא תוצובק-תתב תורחא ונמיי תוחפ םירביא -קר הלא םידמועהתשירדב.הבוגה סחי האצותה ליכי 4תורוש :דבלב p_type | high_plants l 2 ע 19 ספטמ 1 XYיונ 3 3 חיש
נ . .
רויא3.12 רשאכ קוספב fromםיעיפומ המכ ,םיסחי תלועפ הצבקהה תמרוג תקולחל הלפכמה תיזטרקה םהלש .תוצובק-תתל
,8)(1תפשל * 65 ךירדמהדימלקרפל | 3אובמ המגוד 3.18:ואצמי' המכ םיחיש םילותש לכב הקלח המכ( םיליתש לש םיחמצ גוסמ ).חישי י 501001 )a_name,sum (amouni from planting_map,plant whereplanting_map.p_name = plant.p_name יחישי =and p_type group by a_name, רשפא חסנל יאנת יגול ליבגמה תא תוצובקה תואבומה ןובשחב האצותב ירחא תריצי .תוצובק-תתה קר תוצובק תואלממה תא יאנתה תואבומ .ןובשחב יאנת הזכ חסונמ קוספב havingעיפומה ירחא קוספ ,group byאוהו ליכמ םיאנת םייגול המודב קוספל .where המגוד 3.19:ואצמיי תא תומש תוקלחה ןהבששרפה םיהבגה ןיב חמצה הובגה רתויב חמצהו ךומנה רתויבםיהבג( )םיילמיסקמ הלועDYהשולש .םירטמ י הרקמב ,הז האצותה הכירצ לולכל תומש תוקלח,דבלב רמולכ ןיא הב תואצות לש תייצקנופ.הצבקה ךאשמתשהללכונ תויצקנופב םומינימה םומיסקמהו ךותב יאנת קוספב havingידכ אוצמל תא שרפה םיהבגה לכב .הקלח התליאשה בתכית אופא :ךכ 080ה561006 from planting_map,plant whereplanting_map.p_name = plant.p_name group by a_name )?having (max(p_maxheigh ; (p_maxheigh?)> 3.00זחוח - שי םישל ,בל יכ יאנתל קוספב havingתבייח תויהל תועמשמ ".תיתצובקי ,רמולכ הכירצ תויהלתורשפא קודבל ותוא יבגל ,הצובק-תתלכ.התומלשב םושמ ,ךכ םיאנתה םייגולה קוספב havingםיחסונמ תרזעב תויצקנופ ,הצבקה ןכש תויצקנופ הלא תובשוחמ לע תוצובק-תת.ןתומלשב
@6תוכרעמיסיסבסינותנ ןןנךק
תןתלואש
ףיעס3.8רפסב
םיאנתה םייגולה וניארש דע ,הכ ןה קוספב whereןהו קוספב havingןללכ \'האוושה"השוריפשומיש ינמיסבסחיה>'. =,somerהחץוואל :צ קדוב םאל לודגוכרעב רביאמ והשלכ-1ב יד( היהיש 80880א-וםילימ תורומש.תויפולח -1ב רביא דחא ץ-ש לודג ).ונממ Some +וא( (anyלוכי עיפוהל םע לכ דחא ינמיסמ סחיה =>, allrץ קדוב םאצ לודג וכרעב לכמ .ץירביא : v>allrקדוב םא ל הנוש לכמ ירביא,ע רמולכ םא ל וניא ךייש-1.ל לוקש
יאנתל -ל .Vnot in םג41ו לוכי עיפוהל DYלכ דחא ינמיסמ סחיה =, , =>, =, =all (selectp_maxheight ;from pland סחי האצותה לבקתמההתליאשמ וז אוה : ‘p_maxheight l שורב בלוד
. p_name 70 70
!. 0
רויא3.1ג רשפארזעיהל תייצקנופבהצבקהה maxידכ חסנל תאהתליאשהתימינפה חוסינ ,לוקש לשמל :ךכ
@8תוכרעמיסיסבסינותנ 1
561001 ן7קp_name, from plant
?wherep_maxheight=all (select max (p_maxheigh ;from plani תמועל ,תאז יארשפאשמתשהלהיצקנופב maxידכ ךוסחל תא ןוניקה.התליאשב ידכ חכוויהל,ךכבןנובתנהלאשב.תפסונ / 3המ היהת תאצותהתליאשה :האבה 501006 p_name,max (p_maxheight from plant, ' השעמל התליאש וז ללכ הניא .תיקוח םא דימצנ םש לשהנתשמסחיל plant הנתשמ הז שמשי םעפ הנתשמכ הרוש הנממש( חקלנ ךרעה לשp_name ),האצותל םעפו גציימכ הדומע המלש -טנמוגראה לש תייצקנופ הצבקהה .Jmax ) Dםא שידקנ ינש םינתשמ םינוש סחיל [plantאל לכונ רושקל ןיב ךרעה ילמיסקמה לש p_maxheightןיבל חמצה . MYוהבוג ,תינורקע סחי האצותה לבקתיש בצמב הז ליכי תא לכ תומש ,םיחמצה דילו לכ דחא םהמ -ךרעה7.00 הבוגה( ילמיסקמה יפל רויא3.2). ,רומאכ ןוניק ירשפא םג ךותב קוספ .חגצומק םיגדנ תאז .ןלהל המגוד 3.23:חסננ תא :התליאשה ואצמי" תא תומש תוקלחה ןהבש שרפה םיהבגה לש חמצה הובגה רתויב חמצהו ךומנה רתויב םיהבג( םיילמיסקמ םיילאיצנטופ לכל )חמצ אוההובגה"".רתויב a_name 501601 from planting_map,plant whereplanting_map.p_name = plant.p_name group by a_name (p_maxheight))> = allזחוח -)having (max(p_maxheight )®(select(max(p_maxhergh )? (p_maxheighזחוח - from planting_map,plant whereplanting_map.p_name = plant.p_name ;)group by a_name
,86(1תפשל * 69 ךירדמהדימלקרפל | 3אובמ הקידב םא
םייק סחי
רדגומה -תתב
התליאש
יאנת יגול קוספב whereוא( קוספב (havingלוכי לולכל הקידב םא סחי האצותה לשהתליאש תימינפ ,םייק וא אמש אוה סחי .קירהנבמה לש יאנת הזכ :אוה 58אלבייחאובלדימ select... ירחא.whereןתינובלשל from ...םעםיאנתםייגולםיפסונ תועצמאברשקה.and )התליאש-תת(whereexists יאנת הז לבקמ תאךרעהייתמא"י םא סחי האצותה לשהתליאש-תתה וניא .קיר םוקמב existsלוכי עיפוהל םג 101,existsיאנת וכרעשי"יתמא"י אקווד םא סחיה .קיר המגוד 3.24:ואצמיי חמצ לותשה קר הקלחבי".תחא 561004 pl.p_name from planting_mapasp1 *wherenot exists(select from planting_mapasp2 wherepl.p_name= p2.p_name ;)and pl.a_namep2.a_name התליאש וזתשפחמ תומש םיחמצ ךותמ סחיה .planting_mapידכ םשש חמצ ללכיי,האצותב שורד planting_map-2¥אל הנייהת תומייק תורוש DYםש חמצ ההז םשו הקלח .הנוש ,רמולכ חמצהש אל עיפוי המכב תוקלח .תונוש שומישה תרוצב,הלילשה not existsאוה שומישה ץופנה .רתוי וחסנ תא התליאשה המגודבש ליעל חוסינ לוקש -.8)(1,ב אלל שומיש 2-not 8,אלא תועצמאב .הצבקה םנשי םיבצמ םהבש שומישה -6%1565ב וא ותלילשב אוה ,ינויח ןיאו ךרד תרחא אטבל תא .התליאשה ןלהל המגוד ,תינייפוא תללוכה התליאש תימינפ ךותב התליאש .תימינפ המגוד 3.25:ואצמיי תוקלח םילותשש ןהבתוחפל םיחמצהלכ םילותשהתורדשב ".רימזה
@0תוכרעמיסיסבסינותנ 0
561601 distinct ?.
from planting_mapas P wherenot exists(selectp_name from planting_map תורדשי ירימזה =where a_name andp_namenotin (selectP1.p_name from planting_mapas P1 ;)where P.a_name= Pl.a_nameé התליאשב וז שי שומיש לופכ :הלילשב םעפב הנושארה התליאשב תישארה -ב , not existsםעפבו היינשההתליאשב תימינפה .not in-1 הנבמה יגולה לשהתליאשה -. =( QX)) NIרבאהנתשמה א אוה חמצתורדשב רבסההזחינמתורכיה םעתומכסומהביתכה בישחת( ,רימזה החסונהו ס)א( תנעוט יכ א אצמנ הקלחב העיפומה .קאצותב םילימב בישחתבםיסחי )םיטקידרפ.הקיגולב םא ,תורחא אל םייקתחמצתורדשב ,רימזהךבכ חמצהש אל אצמנ הקלחב העיפומה וניאעייסמ -רשפאגלדל .וילע .האצותב הנבמ הז לוקש תיגול :הנבמל )), (Xלא וא םילימב :תורחא לכ חמצתורדשב רימזה אצמנ הקלחבהעיפומה .האצותב יהוז תשירד :התליאשה אצמ תוקלח םילותשש ןהב לכ םיחמצה םילותשה תורדשב .רימזה ,םנמאו םיתיעל תובורק םישמתשמ הלילשב הלופכ ידכ אטבל תותליאש עיפומש ןהב יילכליי .
תקידב
תויוליפכ
יאנת יגול קוספב whereוא קוספב havingלוכי ליכהל הקידב םא סחיב האצותה לש התליאש תימינפ שי תויוליפכ וא .אל הנבמה יללכה לש יאנת הזכ :אוה ... 561001טקידרפהז וניאשמוממ תואסרגה,5)(1.לש לכב from ... )התליאש-תת( where unique
,1()₪תפשל * 71 ךירדמהדימלקרפל | 3אובמ המגוד 3.26:חסננ תרזעב uniqueתא התליאשה המגודמ 3.24:ואצמיי חמצ לותשההקלחב תחא לכל.יירתויה םישנ,בל קרלותשהחמציכהקלחב תחא עיפוי םעפ תחא דבלבהדומעב p_nameסחיבplanting_map 5610067 0 uniqueריזחמtrueםא from plantas 1התליאש-תתה,הקיר התליאשהתאצומ ןכלו םילותששהקלחב where unique (selectp_nameםיחמצ תחאלכל,רתויה אלו from planting_mapasP2 הקלחבתחא.קוידב ;)where Pl.p_name=P2.p_name
תואמגוד
תומכסמ
תותליאשל
לוגרתכ םכסמ איבנ תותליאש סיסבמ םינותנ ,רחא גציימה עדימ יגולאניג ןליא( ).ןיסחוי תינבת סיסב םינותנה תללוכהשולש :םיסחי person)10 first_name,original_surname, )new_surname,birth_date )marriage(m_id,w_id,date ) father rd,mother_idנס child_of(child רויא: 3.14תוינבתםיסחיךותמ םינותנ-סיסבלשעדימיגולאנג סחיה personליכמ םיטרפ םיישיא לש לכ םישנאה םיעיפומה ןליאב .ןיסחויה original_surnameגציימ תא םשהחפשמה ירוקמה לש םדאה ) DYםירוענה לש ,השיא וא םש יזעול,תרבועש ).וכו pew_surnameגציימ תא םשהחפשמה .שדחה םא אל עיפומ םש ,שדח וכרע ההז םשל .ירוקמה םא םדא ףילחה םש רתויםעפמ ,תחא םימשור קר תא ומש ירוקמה תאו ומש .ןורחאה סחיה marriageליכמ עדימ לע םיאושינ ןיב ינב םדא םיעיפומה סיסבב .םינותנה 040גציימ תא ךיראת .םיאושינה סחיה 0017001גציימ עדימ לע רשקה ןיבש DTNוירוהלתכרעמב .וז הנענ לע תותליאשה תואבה -,8)(1:ב תותליאשה 1ואצמ תומש לש םישנ לעמ ליג ,םישימח ודליש םידלי ךא תורמוש ןיידע לע וסנרותפלתא וללהםכמצעבינפל תונורתפב ונייעתש םש .ןהירוענ .ךשמהבש .2לכל גוז ,יושנ ואצמ המכ םידלי םיפתושמ שי .ול האצותה הכירצ ליכהל תא ירפסמ תוהזה לש ינש םירוהה תאו רפסמ .םידליה ואצמ תומש החפשמ )םיירוקמ( שיש םהל תוחפל השולש תורוד .ץראבהחנהה( איה לכש עדימה סיסבב םינותנה סחייתמ )).ראל
72ף=תוכרעמיסיסבסינותנ 4ואצמ תוגוז לש הצחמל-םיחא ,רמולכ( שיש םהל הרוה ףתושמ דחא).דבלב האצותה הכירצ ליכהל תוגוז לש ירפסמ .תוהז 5.ואצמ תומש לש םישנא ןיאש םהל ,םידלי ךא ןבל םגוז שי .םידלי המגוד - 3.27התליאש יסמ 1:ואצמ תומש לש םישנ לעמ ליג ,םישימח ודליש םידלי ךא תורמוש ןיידע לע םש .ןהירוענ 561601 P.first_name,P.new_surname from personas Pתויצקנופהתועגונה םיכיראתלתואבומןאכ .postgreSQL = 500 ףיעסב 3.8.6גצומ קוספ ,withרשפאמה רידגהלהתליאש-תת סחיכ ינמזרשפאש סחייתהל וילאךשמהב.התליאשה,השעמלותעפשה ההז קוידב וזל לש ןוניק -תת התליאש ךותב קוספ OXfromיכ ילוא אירק ןבומו .רתוי המגוד 3.33:חסננ בוש התוא התליאש ונחסינש המגודב ,תמדוקה םעפה תועצמאב : with with plants_per_area(a_name, num_plants)as 561606 a_name,sum(amoun?5 1111m_p1a11ts from planting_map )group by a_name selecta_name from plants_per_area where 1111127_/7/;111ts ;> 500 ךרד תיפולח אטבל התליאשתלעפומה לע סחי האצותה לש התליאש תרחא איה תושעל תאז ינשב :םיבלש חסנל התליאש תחא רומשלו תא ,התאצות זאו חסנל תא התליאשה .היינשה ידכ רומשל תא סחי האצותה לש ,התליאש שי תתל ול 861604תועצמאב הלימההרומשה1840. .םשרשפא רידגהל םש הז ףוסב קוספ המגוד 3.34:ןלהל חוסינ לוקשהתליאשל תמדוקה תועצמאב דמצ .תותליאש e selecta_name,sum (amount)asnum_plants into plants_per_area from planting_map ;group by a_name הe select 4 08 from plants_per_area ;where num_plants>= 500
,1()₪תפשל * 75 ךירדמהדימלקרפל | 3אובמ םירקמב ,םיבר לוציפ התליאש תבכרומ המכל תותליאש יושע ריהבהל תא םיבלשה םישורדה ןורתפל ךכבו לקהל תא ךילהתהבישחה .הביתכהו
ןוכדע
סיסב
ףיעס3.9רפסב
םינותנה
דע הכ ונקסע SQL-2תפשכ ,תותליאש רמולכהפשכ תפילשל םינותנ םיאצמנה סיסבב .םינותנה התע הארנ דציכשמתשהל SQL-2ידכ ףיסוהל םינותנ ,םישדח קוחמל םינותנ םימייק וא ןכדעל .םינותנ וארק תא ףיעס.3.9רפסב
ם
הקיחמ 06106 תלועפ הקיחמ תסחייתמ דימת תורושל .תומלש רשפא קוחמל תא לכ תורושה = הקיחמ סחיב ,ןותנ וא קר תורוש תונועה יאנתל םיוסמ רדגומה קוספב ,whereקוידב ומכ.התליאשב המגוד 3.35:חיננ הצרנש שדחל ןיטולחל תא ןוניגה לש רכיכיי ".הייריעה ידכ קוחמל תא תורושה תומייקהתפממ ןוניגה :םושרנ 161616 from planting_map ' 1,הייריעה =where a_name יאנתה קוספב whereלוכי תויהל םג בכרומ ,רתוי לככ יאנת ,התליאשב ללוכ ןוניק וא .הצבקה המגוד 3.36:בקע תופירשה טלחוה ללדל תא םינרואה תוקלחב ןוניגה לש .הייריעה בלשב ןושאר ורקעיי םינרואה קר תוקלחמ שיש ןהב םג םיצע .םירחא רחאל עוציב הריקעה שי ןכדעל תא ינותנתפמ :הליתשה deletefrom planting_map 08ןרואי 'םילשורי =wherep_name a_namein(selecta_name from planting_map,plant 08י6סצעי wherep_typelike andןרוא 'םילשורי plant.p_name ;)plant.p_name=planting_map.p_name
* 6תוכרעמיסיסבסינותנ הפסוהinsert
הפסוה םג הפסוה איה ךרדב ללכ לש תורוש .תומלש םיפיסומ תורוש לע ידי הביתכ תשרופמ לש םיכרעה ,ןהב וא םיפיסומש תורוש ולבקתהש האצותכ.התליאשמ המגוד 3.37:םשלתפלחה םינרואה שודיחלו תוניגה םיסינכמ שומישל ינש יצע יונ :םישדח ףיזש ינבדבוד -אוהש XYלעב םילע םיהכ-םימודא וניאש דמוע ,תכלשב לילכושרוחה -אוהש Yרישנ לעבהחירפ הלוגס וא()הנבל לדגה םג .רב תפסוהל עדימה םהילע שי עצבל הפסוה לש יתש תורוש,תודרפנ לכש תחא והמ תטרפמ תא לכ םיכרעה.הרושב חיננ והבוגיכ לש ףיזשינבדבוד ,םירטמ-7לעיגהללוכי אוהו קוקז חוורמלהליתש רטוקב , 4םירטמ יכו לילכשרוחה יושע עיגהלדע , 4םירטמ קוקזו חוורמלהליתש רטוקב : 3םירטמ insert into p/ant ;)\Y, 4.00,7.00ילונ ףיזשיvalues(2727 , insert into plant ;)) 5527,M Ny, 3.00,4.00שרוחהvalues רשפא ): Dםושרל insert into plant \Y, 4.00,7.00),ילונ ףיזשי),יינבדבודvalues * , ,3.00;)4.00עי,ייונ לילכי )שרוחה המגוד 3.38:חיננטלחוהשףילחהל תא םינרואהלכ יצעב ףיזש.ינבדבודהפלחהה איה XYדגנכ *.ע ,רמולכ רפסמ יליתש ףיזשה ינבדבודה לכב הקלח היהי ההז רפסמל םינרואה ויהש :הב planting_mapרח1ס insert a_name,1ףיזש' ,יינבדבודselect from planting_map ! NN,םילשורי =wherep_name ירחא עוציבהפסוהה קחמנ תא תורושהתועגונה ןרואל :םילשורי 161066 from planting_map ןרוא'; wherep_name= 105V
,86(1תפשל * 77 ךירדמהדימלקרפל | 3אובמ ןוכדע תלועפ ןוכדע איה יוניש ךרע לש הנוכת תמיוסמ .סחיב יונישה לוכי סחייתהל הרושל תיפיצפס וא תצובקל תורוש תנייפואמה תועצמאב .התליאש אוה לוכי בוקנלשרופמב ךרעב שדחה וא רידגהל ותוא תועצמאב יוטיב ינובשחשמתשמה םיכרעב .םימייק המגוד 3.39:הייריעה הטילחה ןיטקהל תא חטש ןוניגה לש ןג תואמצעה-10%ב םשל תאצקה יחטש הינח .םיפסונ חטשה שדחה אוה התע. 54,000ריימ תלועפ ןוכדעה המיאתמה הלוכי תויהל :וזכ update area seta_size = 0 ןג' '=תואמצעהwhere a_name ,ןיפולחל איה הלוכי ססבתהל DYרועיש,התחפהה םג סא חטשה יחכונה וניא :עודי update area seta_size= a_size*9 ןאנ '=תואמצעהwhere a_name
? וחסנ תלועפ ןוכדע תחא ףילחתש תא לכ םינרואה םיימלשוריה םיפיזשב ,םיינבדבוד סוקמב תלועפ הפסוהה ונאבהש ,םדוק סע הקיחמה הכירצש אובל.היתובקעב updateplanting_map ףיזשייינבדבוד =setp_name W,יםילשורי =wherep_name תפשSQLתרשפאמ רידגהל ןוכדע,הנתשמ יפל .יאנת המגוד 3.40:חיננ םאש שי הקלחב רתוי -3מ ,םינרוא יזא םיפילחמ םתוא םיפיזשב ,םיינבדבוד ךא םא שי תוחפ -3מ םיפילחמ םתוא יצעב לילכ :שרוחה
@78תוכרעמיסיסבסינותנ updateplanting_map =setp_name case whenp_name=05V
and amount> 3ןרוא ףיזש'יינבדבוד then and amount< =3ןרוא 'םילשורי =whenp_name לילכיישרוחה then ס150 p_name ;end
ייוטיב
ףוריצ
יוטיבףוריצ joinexpression
ףיעסב הז גיצנ גוס דחוימ לש םייוטיב -,561,ב םניאש םיפיסומ תלוכיל יוטיבה רבכש ונרכה--8)01,ב ךא םיווהמ הביתכ תרצוקמ םיתיעלו החונ רתוי תותליאשל ונחסינש םיכרדב .תורחא אשונה עיפומרפסבתליחתב קרפה אבה -קרפ - 4ףיעסב 4.1.ונא םיאיבמ ותוא ,ןאכ םויסל קרפ 3,ןוויכ אוהש רושק תורישי תביתכל תותליאש-.86(1,ב איהש אשונה ירקיעה לש,קרפה המאתהבו םע םירוטרפואה םיירבגלאה ונדמלש קרפב 2
ףוריצ יעבט טעמכ לכ התליאשתפלושה עדימ םיסחימ םינוש י'הבילצמיי תא עדימה םהיניב תרזעב יאנת ןויווש DYםיכרעה הנוכתבתפתושמה .םהינשל והז בצמ *ופנ דואמ יסיסבב ,סינותנ וניארו קרפב 2יכ שדקומ ול רוטרפוא ירבגלא דחוימ רשוקה ןיב ינש .םיסחי ,לשמל עדימה סחיב ק ]48/רושק עדימל סחיב planting_mapתועצמאב ; p_nameעדימה סחיב 4104רושק עדימל סחיב planting_mapתועצמאב .a_name המגוד 3.41:המגודב 3.3תליחתבש קרפה ונשפיח תומוקמ םילותשש םהב יצע .בורח ונבתכ תאהתליאשה :ךכ
ףוריציעבט natural ןסומ
,1()₪תפשל * 79 ךירדמהדימלקרפל ג | אובמ 501606 a_Jocation תנהק from area,planting where area.a_name =planting_map.a_name בורחי; =ייוצמandp_name שי ןאכ יאנת ןויווש ןיב םיכרע לש הנוכת שיש הל ותוא םש ינשב .םיסחי והז ףוריצ יעבט ןיב ,םיסחיה ) SQL-1שי ריבחת רצוקמ .הרובע תא התליאשה המגודמ3.3רשפא בותכל םג :ךכ 501606 a_Jocation planting mapןסוח from areanatural = 200ייוצמwherep_name ןוויכמ ףוריצהש יעבטה רשקמ קר תורוש םע ךרע ההזהדומעבמהמנס 4ןיא היעב לש לפכ תועמשמ רשאכ םישמתשמ םשב הנוכתה .a_nameרשפא תוארל תא סחיה רדגומה1ויסמו-ב סחיכ ,דחא הנוכתהש a_nameהעיפומ וב םעפ תחא .דבלב המגוד 3.42:ידכשיגדהלהנחבה וז ןנובתנ יתשב תותליאשה :תואבה *.1 50100 תנהק from area,planting where area.a_name = planting_map.a_name ; *.2 select ;from areanatural join planting map יפלהמגודה ,תמדוקה תותליאשהיתש .תולוקש לכב תאז שי ןהיניבלדבההרקמב תכרעמDBMSגיצת ךרדבללכתאתומשיתש הז -אוהותינבתב .האצותה תאצותב התליאשה הנושארה וללכיי : 6תודומע 3תודומעההרוצבהנוש יפל.ןרוקמ לש-3 areaו לש .planting_mapהדומעה a_nameעיפות ,םיימעפ םע ךרע ההז לכב ,הרוש ינשב .םיעפומה תאצותב התליאשה היינשה וללכיי קר 5תודומע - .a_npame ןתוא תודומע לשהתליאשה,הנושארה ךא ילבהרזחה לעהדומעה
ףוריצ יפל יאנת אל דימת הנוכתה וא( )תונוכתהתרשקמש ןיב ינש םיסחי תארקנ ותואב ,םש וא אלש דימת הצרנ רשקל ןיב םיסחי יפל לכ תונוכתה תולעב םשה.ףתושמה SQL תרשפאמשמתשהל ייוטיבב ףוריצ םינייצמששרופמב והמ יאנתה לעש ויפ הצרנ רושקל ןיב .םיסחיה
@0תוכרעמיסיסבסינותנ המגוד 3.43:תא ףוריצה יעבטה המגודמ 3.41רשפא םושרל םג ךות ןויצ שרופמ לש יאנת ףוריצה אוהש( הרקמב DTההז יאנתל ףוריצה ,יעבטה ןכלו רשפא ,וטימשהל ומכ המגודב3.41): 501606 a_Jocation from areajoin planting_map on area.a_name = planting_map.a_name בורחי ייוצמ =wherep_name המגוד 3.44:המגודב 3.32ונאצמ תומש תוקלח שיש ןהב תוחפל, 500םיליתש ונרציו סחי שדח םע תאצות התליאשה .וזה םעפה רוצינ סחי בחר, VYNרתוי ליכיש לכל הקלח תא החטש תאו רפסמ םיליתשה ללוכה לותשה :הב 561606 a_name,a_size,sum(amount)5 num_p/zlnlsinto areal from areanatural join planting_map group by a_name,a_size, התע הצרנ תוושהל תא תופיפצ הליתשה ןיב :תוקלח שפחנ תוגוז לש תומש ,תוקלח ךכהנושארהש הלודג רתויהחטשב,היינשהמ ךא רפסמ םיליתשה ללוכה הב ןטק .רתוישמתשנ1סחיב 4108ונבשיחש :םדוק 561001 Al.a_name,A2.a_name Al join arcalas A2ה 270475from Al.asize> A2.a_sizeandסח ;Al.num_plants< A2.num_plants המגוד 3.45:חיננהתע יכ ונא םיניינועמ אוצמל ןכיה תמקוממ הקלחה םע רפסמ םיליתשה לודגה .רתויב עדימה יבגל םוקימ הקלחה אצמנ סחיב .areaרפסמ םיליתשה אצמנ סחיב 41041,רבכש ונשמתשה .וב-4108ל-41041לו שי יתש תודומע םע םש ההז - a_nameDXםגו ,4.4120השעמל הפצנ םאש םש הקלחה ,ההז יזא םג לדוגה .ההז דחי םע ,תאז ךרוצל תבלצה עדימה יד ונל ךכב םשש הקלחה .ההז לכונ עצבל ףוריצ יעבט ןיב ינש ,םיסחיה ךות ןויצ הדומעה ונאש םיניינועמ :תוושהל 561601 a_Jocation )(a_nameטפוחק from areajoin areal ;)where num_plants>=all (selectnum_plantsfrom areal
,8)(1תפשל * 81 ךירדמהדימלקרפל | 3אובמ תואמגוד
תומכסמ
תותליאשל
םוכיסל םיאשונה םיפסונה ,ודמלנש רוזחנ תכרעמל עדימה יגולאנגה האבוהש רבכ רויאב 3.14,םשל לוגרת .ףסונ תוינבת םיסחיה :ויה person)10first_name,original_surname, )new_surname,birth_date )marriage(m_id,w_id,date ) father 10,motheridנס child_of(child רויא3.15תוינבתםיסחיךותמסיסבםינותנלשעדימיגולאנג חסננשדחמ שולש תותליאשהמ רבכש ,ונחסינ תועצמאב ייוטיב :ףוריצ תותליאשה 6.לכל גוז ,יושנ ואצמ המכ םידלי םיפתושמ שי .ול האצותה הכירצ ליכהל תא וסנחסנלתא ,םכמצעב קרורחאךכ ונייע.ןורתפב ירפסמ תוהזה לש ינש םירוהה תאו רפסמ .םידליה 7.ואצמ תוגוז לש הצחמל-םיחא ,רמולכ( םיחא שיש םהל הרוה ףתושמ דחא ).דבלב האצותה הכירצ ליכהל תוגוז לש ירפסמ .תוהז 8ואצמ תומש לש םישנ ןיאש ןהל ,םידלי ךא ינבל םגוז .שי המגוד - 3.46התליאש 16701לכל גוז ,יושנ ואצמ המכ םידליםיפתושמ שי .םהל האצותה הכירצ ליכהל ירפסמ תוהז לש ינש םירוהה תאו רפסמ .םידליה םישנ בל יכ תונוכתהתופתושמה םיסחיל תועיפומ אקווד תומשב םינוש לכב דחא ,םהמ יפלתועמשמה ותואב .סחי ןכלשמתשנ ףוריצב יפל ,יאנת אלו ףוריצב :יעבט
idandw_i1d= mother_id
ו561601,0 תנ w_id,count (child 0 from marriagejoin child_of m_id= fatherסח group by m_id, w_id,
המגוד - 3.47התליאש "סמ 7:ואצמ תוגוז לש הצחמל-םיחא שיש( םהל הרוה ףתושמ דחא).דבלב האצותה הכירצ ליכהל תוגוז לש ירפסמ .תוהז ןאכהבושתה תססובמ לע תבלצה עדימ ןיב תורוש ותואב ,סחי ןכלו םירקמב הלא לכונ שמתשהל ףוריצב P2םיעפומ םינוש לש ותוא ,סחי לבגומש תועצמאב.טפומק ךכ רוצינ ינש םיפוריצ ןיב ינש םיעפומ01לש 08170,לכש דחא םהמ םיאתיתבלצהל עדימ יבגל דחא .םירוהה בלשנ תא ינש םינוויכה תועצמאב:וטמוסמ
התליאש וזהמצמוצקר קלחלדחא.הלש
= 2תוכרעמיסיסבסינותנ 0סל (selectP1.7dחוסינבהתליאש וז המגודב 3.29 ונשמתשה from child_ofas 71join child_ofas P2יאנתבןטקי'"'מ ןיב ירפסמתוהזהלשינש )using(/ather_id םיחאידכחיטבהללכש ) where Pl.mother_id< P2.mother_idגוזרוזחיםעפתחא.דבלב לשב הנבמההנושהלש ונשמתשה ןאכ , unionהתליאשה תאוושהב ותואבןויער (selectP1.:d P2.1dירפסמתוהזהלשםאה ואלש,באהםוקמב from child_ofasP1join child_ofasP2יאנתבןויווש-יא.ליגרהז חיטבמהתואהאצותךא using(mother_id ךסוחתביתכ.םיאנת ;)where P1.father_id< P2.father_id המגוד - 3.48התליאש "סמ 8:ואצמ תומש לש םישנ ןיאש םהל ,םידלי ךא120 תולוכיתויהליתש ןגוז .שי תומושרןיאושינהתואל השיאוא(ףא),רתויאלו יתלבירשפאיאנתהש .ןהיתשבןכל 561601םייקתי distinet W.first_name,W.new_surname .distinct-a2 ונשמתשה from marriageasW 1)561601ח . 7001וש where mother_idfrom chilf 2 סלנ and W.m_idin (selectfather_idfrom child לוגרתל תולועפ ןוכדעה עצבנ תאתולועפה :תואבה 9.חיננ יכ םיצור ףיסוהל סחיל marriageםג תוגוז םניאש ,םיאושנ ךא שי םהל םידלי .םיפתושמ הרקמב הזךרעההדומעב dateהיהי.הט[[ 0.בקע יוניש תוינידמ יבגל תכרעמ ,עדימה טלחוה םאש ךרעה הדומעב יונישהזכבייחי)Dיוניש תותליאשבןוגכהתליאש new,_surnameההז ךרעל הדומעב original_surnameןיא ךרוצ םקיוחהל 1לוגרתב.םכסמה .null-5 new_surname ,םיימעפ אלא שי ךופהל תא המגוד - 3.49התליאש "סמ19 10ח1ס insert (selectfather_id,mother_id,null from child of where(father_id,mother_id)not in ;))(selectm_id, w_idfrom marriage המגוד - 3.50התליאש "סמ :10 updateperson 501new_surname= null where new_surname= original_surname,
קרפ
4
1
-
תמר
D32
,פ)ַ ,01ןכו תא ריבחתה לש קרפב םדוקה ונרכה תאהנבמה יסיסבה לש תותליאש תולועפ .ןוכדע ונמגדה תא םינבמה ודמלנש DYךרעמי ןוניגה ,יינוריעה ללכש השולש םיסחי .םיטושפ םינותנה םיסחיב הלא וליכה עדימ לע תוקלח ןוניג לעו ,םיחמצ רואיתו לש תנומת בצמה יבגל םיחמצה םילותשה תוקלחב ןוניגה .תונושה תוכרעמ יסיסב םינותנ תודעוימ םישומישל םירישע,הברהב ןה תניחבמ ןווגמ ,םינותנה ןה תניחבמ תופוקת ןמזה ןהילאש םיסחייתמ ,םינותנה ןהו תניחבמ תויורשפא שומישה.תוכרעמב ןייפאמ בושח לש תכרעמ לוהינל יסיסב םינותנ אוה התלוכי תרשל םישמתשמ ,םיבר םישגינש תינמז-וב עדימל סיסבבש .םינותנה ןוויג םינותנה יובירו םישמתשמה רצוי תובכרומ הליטמש לע תכרעמ סיסב םינותנה םידיקפת םיבר ,םינושו םרטש .ונרכה קרפ הז גיצמ תצקמ םידיקפתה ,וללה ךותתבחרה תורכיהה .SQLoyוארק תא ףיעס4.1רפסבקסוע ייוטיבב,ףוריצרבכש קרפ ,4רפסב לחהףיעסב 4.2.םיפיעסה ךירדמב הדימלה םיבקוע רחא םיפיעסה ונקסעםהבףוסבקרפ3 .הדימלה ךירדמב ,רפסב ךכ רשפאש םג אורקל לכ ףיעס רפסב ,דרפנב ינפל האירקה ךירדמב הדימלה וא .הירחא
6*4תוכרעמיסיסבסינותנ תרדגה
תוינבת
קרפ3רפסב גיצמףיעסב 3.2תא תוארוהה תויסיסבהתרדגהל תוינבת לש .םיסחי קרפב 3אל ונד תוארוהב .הלאחתפנ תא קרפה יחכונה,ןתגצהב ביחרנוךשמהב .קרפה םשלתמגדה םיביכרמה ,םישדחה ביחרנ םג תאךרעמיי ןוניגה ,יינוריעה לולכיש עדימ ףסונ ימנידו .רתוי ןלהל איבנ בוש תא תוינבת םיסחיה קרפמ 3,תפסותב תוינבת םיסחיה.תושדחה תוינבתה קרפמ :3 )area(a_name,a_location,a_type,a_size ?plant (p_name,p_type,p_diameter,p_maxheigh ?planting_map(p_name,a_name,amoun רויא4.1תוינבתםיסחירובעךרעמןוניגה לכב הנוע םישדחמ תוחפל( )תיקלח תא ןוניגה תוקלחב .תונושה ותישאר לש ךילהת הז בוציעב ןוניגה שדחה הנועל לכב ,הקלח וכשמהו תינכותב הדובע םשל עוציב בוציעה .ליינה הדובעה תלטומ DYםיננג ,םינוש תינכותהו תטרפמ תא תומישמהדובעה תוקלחב תונושה יפל.תועובש תוינבתה רובע עדימה עגונה :בוציעל )design(a_name,year,season,designer,map_file design_details(a_name, )year,season,p_name,quantity רויא4.2תוינבתםיסחירובעבוציעךרעמןוניגה סחיה designללוכ םיטרפ יבגל בוציע ןוניגה יתנועה הקלחב :תמיוסמ חתפמ סחיה ללוכ תאהנשההבש רבודמ) (yearהנועה),- seasonולתס ,ףרוח ביבא וא , (NPהקלחה סש בצעמה ןכו הינפה *בוקל ליכמה הפמ לש,הקלחה סע טוטרש לש .ןונכתה סחיה design_detarlsליכמ טוריפ לש בוציעה תניחבמ םיחמצה)(p_name design_detailsויהי םיננכותמההקלחב תומכהוהשורדה לכמ דחא .םהמ סחיב אופא המכ תורוש לכל הקלח לכב,הנוע רפסמכ םיחמצה םינושה םיננכותמה .הב תוינבתה רובע תוינכות :הדובעה
ךירדמהדימלקרפל | 4- SQLתמרםייניב * 85 work_assignment (week_no, והתyear,a_name,p_name, תהזמס( , 9 work_fulfillment (g_name, )actno,date,a_name,p_name,quantity רויא4.3תוינבתםיסחירובעתוינכותהדובעךרעמבןוניגה סחיה work_assignmentטרפמ תא תומישמ הדובעה תולטומש לע םיננגה :םינושה רפסמ עובשה הנשב רפסמ( ,ירודיס -1מ דע, 53),הנשה ,הקלחה םש ,חמצה תומכה הליתשל חמצמ הז ותואב עובש םשו ןנגה וילעש תלטומ הדובעה חהמוס 0).תומכה הליתשל הלוכי תויהל ,תילילש זאו שוריפ רבדה תמישמש הדובעה איה יוקינ וא( )שוכינ םיחמצ םישבי הנועמ תמדוק וא הריקע לש םיצע םיחישו רבכש םילותש.הקלחב סחיה work_fulfillmentליכמ םיחוויד לש םיננגה DYעוציבלעופב לש תומישמ ,הדובעה וא :ןקלח םש ןנגה ,חוודמה רפסמ ירודיס לשהלועפה ,תחוודמה ךיראת ,עוציבה םש ,הקלחה םש חמצה תומכהו הלתשנש לעופב וא( הרסוהש -םא תומכה ).תילילש
הרדגה
תיסיסב לש תינבת סחי
גיצנ תא תוארוהה לשתפשהרדגהה,86(1לש לע ידי ןתמגדהOYתרדגה םיסחיה המגודבש .תיסיסבה createtable area (a_name varchar (20), a_location varchar (20), a_type varchar (20), a_size integer, ;)primary Key(a_namé createtable plant (p_name varchar (20), p_type varchar (20), p_diameter numeric (4,2), p_maxheight numeric (4,2), ;)primary Key(p_naméd createtable planting map (a_name varchar (20), p_name varchar (20), amount integer, primary Key(a_name, ;))p_name
6*6תוכרעמיסיסבסינותנ לכ תחא שולשמ תורדגהה וללה תוללוכ תא םש ,סחיה תומש תונוכתה סופיטו םינותנה תחאלכלש ,ןהמ ףוסבלו ןויצהנוכתה וא תונוכתה תווהמשחתפמ .ליבק ונשמתשה השולשב יסופיט :םינותנ ) varcharkןייצמ תוורחמ םיוות ךרואב ,הנתשמ דע ךרואל ילמיסקמ לש integer ; kאוה רפסמ םלש וכרעש ילמיסקמה יולת תכרעמב תיפיצפסה ; ) numeric(m,nןייצמ רפסמ ינורשע םושרש m-1 ,תורפס ךכ ם-ש ןהמ ןימימ הדוקנל.תינורשעה
םיטבמ תכרעמב תמצמוצמה הבש ונשמתשה תואמגודב קרפבש 3ויה השולש םיסחי :דבלב4ז 08ליכמש םינותנ לע תוקלח ,ןוניגה plantליכמש םינותנ לע לכ ,חמצ ) planting_map-ליכמש תא עדימה DYםיחמצה םילותשה לכב .הקלח םינותנה4ז0אםיסחיב ) plant-םה םינותנ םיעובק ,תיסחי בלשבותמקהתכרעמה שי ךרוצ ןיזהל םתוא תואלבטל .תומיאתמה םא םיפסונ םיחמצ םישדח אלש ונרמש םהילע ,םינותנ רשפא ףיסוהל םתוא,ךשמהב ןכו ןכדעל םינותנ לע תוקלח תומייק שישכ ,םייוניש ףיסוהל וא .לטבל םינותנה תואקסחיב ק/םמוומק םיראתמ תא בצמ םיניינעה יחכונהךרעמב .ןוניגה לכ דוע תכרעמה הללכ קר תא תשולש םיסחיה ,וללה רשפא היה ןיזהל תא םינותנה סחיב planting_mapותואב ןפוא םהש ונזוה םיסחיב :םירחאה לכב םעפ תעצובמש הליתש השדח הקלחב ,יהשלכ םירקועשכ וא םיקנמ רוזא םיחמצמ םייתנש-דחולבנש -םינכדעמ תא תומכה תיפוסה לש םיליתש לכמ .גוס בצמ םיניינעה יחכונה,ןכדעתמ אלו רמשנ עדימ .ירוטסיה TNתכרעמב תבחרומה םירמשנ םינותנ םידעתמה תא יכילהת.הדובעהםסינותנ הלא םיעבוקהשעמל תא בצמ םיניינעה יחכונה,תוקלחב םגו םירמשמ תא עדימה .ירוטסיהה לכונ אופא בשחל תא ןכות סחיה planting_mapתועצמאב ,התליאש ךכו )D רומשלDYהמאתה ןיב יחווידהדובעהלעופב ןיבל רואית בצמה ,יחכונה יפכ אוהש ףקתשמ סחיב:planting_map
ףיעס4.2רפסב
ךירדמהדימלקרפל | 4- SQLתמרםייניב * 87 501001הרדגה וזראתתהנמאנ a_name,p_namesum(quantity)asamount תאבצמןוניגהתוקלחב from work_fulfillmentקרםאםירמושםינותנ םיירוטסיהלעיחוויד ק תהס group by a_name,הדובעהבצממלשתוקלח .ייתוקירייםשל ,תוטשפ חיננהוש.בצמה אל רומשנ תא תאצות התליאשה הלבטכ סיסבב םינותנה לע ידי שומיש into-1 ףוסב תרוש -801606.ה ןוויכ ךכש לולע רצוויהל בצמ לש המאתה-יא P2םינותנה סחיב planting_mapןיבל יחווידהדובעה :לעופב רשאכ ועצובי תודובע הליתש תושדח -סחיהplanting_mapרבכ אל היהי ןכדועמ אלל בושיח.שדחמ םע ,תאז אל הצרנ רתוול ןיטולחל DYסחיה planting_mapבותכלו שדחמ תא התליאשה דומעבש םדוקה לכב םעפ הצרנש סחייתהל תנומתל בצמה .תוקלחב ,ןכתי ,לשמל יבצעמש ןוניגה לש הייריעה םישמתשמ עדימב סחיבש planting_mapךרוצל תודובע ,בוציעה ךא ןיא םהל ןינע עדימב DYיכילהת הדובעה ,םיירוטסיהה תביתכו התליאשה לכב םעפ שדחמ איה לוברס רתוימ לבלבמו .םרובע בצמב הזכ שי-,50(1בתורשפא רידגהל תא סחיה. planting_mapטבמכ ,רמולכ הלבטכ הנכותש בשוחמ ךותמ תואלבט ,תורחא הווהמו ךכב תדוקנ טבמ הנוש לע
טבמ view
םתוא .םינותנםישמתשמהתלבטב טבמה אל חרכהב םיעדומ ךכלםינותנהשN2 םיעבונ תואלבטמ ,תורחא ילואש םניא םיעדוי לע .ןמויק
תרדגה טבמ תרדגה טבמ SQL-2תעצובמ תועצמאב תארוה ,create viewהרידגמה םש תלבטל טבמה תאוהתליאשההרידגמה תא ןכות :טבמה יוטיבהתליאשview v 85 016816 המגוד 4.1:רידגנ תא סחיה, planting_mapטבמכ תרזעב התליאשה ונחסינש :םדוק createview planting_map58 amountהselecta_name,p_namesum(quantity)5 from work _fulfillment ;group by a_name,p_name
ףיעס 4.2.1רפסב
= 88תוכרעמיסיסבסינותנ םישנ בל יכתרדגה planting_mapטבמכ תבייח ףילחהל תא ותרדגה תועצמאב create tableיפכונגצהש .םדוק לכ תותליאשה וחסונש קרפב 3וללכו תא סחיה planting_mapקוספב from ןהלש תוראשנ תוניקת םע הרדגה .וז לכב םעפ התליאשש וזכ ,תלעפומ סחיה planting_mapבשוחמ שדחמ DYיפתרדגה ,טבמה ךות ידכ בושיח,התליאשה ךכבו תחטבומ תוינכדע םינותנה ,ובש תורמל ונניאש ןסחואמ הזככ סיסבב .םינותנה יפכהלועש ןמ ןוידה דע ,הכתרדגה planting_map0NNהדעונ הגצהל החונ לש םינותנה רובע םישמתשמ םימיוסמ יבצעמ( ),ןוניג ןפואב םאותש תא תדוקנ טבמה םהלש לע עדימה דחמ ,אסיג חיטבמו תא ותוינכדע ותמאתהו םינותנל םירחא סיסבב ,םינותנה ךדיאמ .אסיג םיתיעל הצרנ גיצהל םיטבמ םינוש םישמתשמל םינוש םג יכרוצל הרימש לע תוחיטב םינותנה וא לע םתויטרפ לשםישמתשמ .םירחא המגוד 4.2:הצרנ קפסל לכל ןנג תא תמישר תומישמ הדובעה ולש ,דבלב לחה דעומב םיוסמ .ךליאו ,המגודכ רידגנ טבמ םיאתמ רובע ןנגה הניעי יל ":הביבח as date_part createview g7_work_assignmentהיצקנופה הריזחמםיביכרךותמ selectweek_no,a_name,p_name,quautityןותנגוסמ,ךיראתיפל from work_assignmentטנמוגראהןושארההלש 'עסהע"( וא,'weekהמגודב .M 0הניגי יל 'הביבח =whereg_namecurrent_dateריזחמתא year =date_part ("year’,current_date)andךיראתה.יחכונה ריבחתהאבומהןאכאוה .ןקס50908)1 ;) week_no>= date_part ('week’, current_dateריבחתה-,ב
שומיש
םיטבמב
תותליאשב SQL
ןנגה לשהניגיי ילי"הביבח לכוישמתשהל טבמב,הּז אוהש ותניחבמ הלבט סיסבמ ,םסינותנה םשלתפילש .עדימ המגוד 4.3:חיננןנגהש ןיינועמ תעדל וליא תויומכ םיליתש לכמ חמצ וילע ןיכהל רובע לולכמ תומישמ הדובעה תוננכותמש ורובע עובשל .אבה התליאשה האבה בשחת ורובע תא :שורדה
ףיעס 4.2.2רפסב
ךירדמהדימלקרפל | 4- SQLתמרםייניב * 89 561001 )p_name,sam(quantity from g7_work_assignment where week_no= date_part ('week’, current_date) 1 ;group by p_name
םיטבמ
םינסחואמ
ףיעס4.2.3רפסב
יפכ ,וניארש םיטבמ םיבשוחמ תותליאשכתעב םירכזאמש םתוא ךותב התליאש םיטבמםינסחואמ - וא תלועפ ןוכדע .יהשלכ םע ,תאז שי םיבצמ םהבש ליעומ ןסחאל טבמ בשוחש views materialized םעפ ,תחא ךא ךירצ גואדל ךכל לכבש םעפ ונכדועיש יסחי סיסבה םהילעש תקוזחתםיטבמ תססובמתרדגה טבמה -ןכדועי םג טבמה .ןסחואמה הרימש לע תוינכדע טבמה םינסחואמ - materialized ,ןסחואמה תארקנש תקוזחת םיטבמ ,םינסחואמ איה ךילהת בכרומ ינפב .ומצע views maintenance הטלחהה םא ןסחאל טבמ היושע תויהל הטלחה לש תכרעמה וא לש ןלהנמ ,תכרעמה תוכרעמבו תובר שי םגתורשפאשמתשמל ןייצל .תאז ןיא ךכל הארוה , SQL-aתינקתה ךא תוכרעמ תונושתורשפאמה תאז תועיצמ ריבחת .ןהלשמ
ןוכדע
ףיעס 4.2.4רפסב
םיטבמ
רחאל עוציב,הדובעה לע ןנגה חוודל לע תולועפ הליתשה וא( יוקינה )שוכינהו עציבש.לעופב הרטמל וז ונרדגה תישארב קרפה תא סחיה .work_fulfillment הצרנרשפאל לכל ןנג חוודל תורישיתכרעמב ןפואבו יאמצע לעתודובעה,עציבש םעו תאז אל הצרנ ףושחל וינפב תא יחווידהדובעה לש םיננג .םירחא המגוד 4.4:רידגנ רובע הניגי יל ייהביבח תא טבמה ,אבה םילוקישהמ ונייצש :םדוק createview g7_work_fulfillmentas *select זיסת= from 1 הניגי -יל'הביבח =whereg_name טבמה g7 work_fulfillmentליכמ קר תורוש ךותמ work_fulfillment תועגונש הניגייל יל .יהביבח שומישה ירקיעה טבמב הז ותניחבמ לש ןנגה אוה חוודל לע תודובעה ,עציבש .שרדנכ חיננ עצביש םויב םיוסמ תא םיחווידה :םיאבה
@0תוכרעמיסיסבסינותנ insert into g7_work_fulfillment ;)', 50ינרפיצילותחרכיכי!,הסינכה nyy, 1,current_date,יל )הביבחvalues insert into g7_work_fulfillment ( 7,-10רכיכי,ידרו 'הסינכה 2,ecurrent_date,הניג' ,ילvalues('n2>aninsert into g7_work_fulfillment ' , ;)6רכיכי,ידרו 'הסינכה ,3 current_date,הניג' ,ילvalues('n2>an
ןיאחרכהרוזחללע Insertהאלמה תארוה רובע לכתרוש,םיכרעיפכ עיפומש.ןאכירחא הרומשהvalues הלימה הלוכיאובלהרדסלש תורוש,םיכרע לכתחא ךותב,םיירגוסתורושהו תודרפומ וזוזמ.םיקיספב
ןכיה ונכדועי םינותנה !וללה ירה סחיה g7_work_fulfillmentאוה ,טבמ הזככו ידכרשפאלןוכדעהזכ postgreSQL-2שי רשפא תוארל וב ןיעמ סחי .ייילאוטריויי אוה וניא ןסחואמלעופב סיסבב ,םינותנה רידגהלןונגנמריממש תיטמוטואתאתלועפ ךא ונכות בשוחמ לכבםעפ אוהש רכזואמ.התליאשב דציכ שי סחייתהל ורוכזאל ןוכדעהלעטבמהתלועפל ןוכדעהליבקמלעסחי תלועפב !ןוכדע .סיסבהקרפבאבהריכנ ןונגנמירשפאהזכ .רגירט הארנ ךשמהבהבושתהש תולאשל הלא הניא הטושפ הרקמב ,יללכה לעו יפ בור ןכא PNםירשפאמ עוציב םינוכדע תועצמאב .םיטבמ המגודה תאזההמיגדמ אקווד תא גוס םירקמהםהבשרשפא ףאו יאדכשמתשהל טבמב יעצמאכ .ןוכדע הלבטה "תיתימאה" הילעש ססובמ טבמה g7_work_fulfillmentאיה work_fulfillmentןכלו ןוכדעה ךירצ ופוסב לש רבדעצבתהל .הב םאשרפנ תא תולועפ הפסוהה לע טבמה תולועפכ הפסוה לע סחיהדמועש סיסבבתרדגה טבמה— - work_fulfillmentלבקללכונ ןוכדע רישי לש סחיה work_fulfillmentדוחיאכ תולועפ ןוכדעה לש םיננגה ,םינושה ךרד טבמהרדגומש לכל דחא .סהמ תונשרפה וזה ןוכדעל תועצמאב םיטבמתירשפא קרתולבגמב תומיוסמןטרפנש( ),דךשמהב רשא תומייקתמ הרקמב :הז טבמה האורש לכ ןנג אוה השעמל ףסוא תורוש יקלח ךותמ סחי,דחא . work_fulfillmentטבמה עיבצמ אופא תורישי לע סחיה הצרנש .ןכדעל ומכ ,ןכ טבמה ללוכ תא לכ תודומע ,סחיה ןכלו תפסוה //1011מנסמז.וש, 01%ףוסבל תורוש חווידה היהת הניקת תניחבמ תינבתה לש ונילע חיטבהל לכש ןנג ןכא אלמי קר תא תורושה תועגונה ,וילא אלו ןיזי םש לש ןנג רחאתחת.£_name תרדגה טבמה הלוכי לולכל השירד תקידבל יאנת הזכ הרקמב לש .הפסוה רובע טבמהונרדגהש המגודב 4.4,ןכדענ תאהרדגהה ןפואב :אבה
ךירדמהדימלקרפל | 4=-SQLתמרםייניב * 91 createview g7_work_fulfillmentas *select from work_fulfillment NYYיל 'הביבח =whereg_name ;with checkoption תפסותה with checkoptionתעבוק יכ לכהרוש סנכותש טבמלתלועפב insertwithcheckoptionרניא PostgreSQL-1 שמוממ היהת תכייח םייקל תא יאנתה רדגומה קוספב whereלשתרדגה.טבמה תרחא תרדגהב.םיטבמ איה.החדית הרקמב הז -ןנגה לשהניגעי ילי"הביבח לכוי ףיסוהלתועצמאב טבמה קר תורוש ןהבשךרעההדומעב Z_nameאוה YNיל ".הביבח םיגדנ המכ ןמ תויעבהןוכדעבשתועצמאב םיטבמתרזעב טבמה ןושארהונרדגהש סחיה planting_mapונרדגה ותוא רובע יבצעמ ,ןוניגה ידכ ולכויש תוארלהרוצב החונ תא תנומת בצמה תיחכונה תוקלחב .ןוניגה אל הצרנ רשפאל םיבצעמל ןכדעל תא סחיה planting_mapרשפאו רמול וליפא אלש לכונרשפאל.תאּז ריכזנ תאתרדגה :טבמה createview planting_mapas selecta_name,p_namesum (quantity)as amount from work_fultillment ;group by a_name,p_name חיננ דחאש יבצעממ תוניגהךרע רויסתקלחב תלייטה וילעש,בצעל הליגולעופבש רפסמ יחיש ןירמזורההקלחב וניא םאות תאךרעההדומעב amountאוהש האור סחיבplanting_mapרובע הקלח וז רובעו חמצ ,הז אוהו הצור .ונכדעל ול ונייה םיצוררשפאל ,תאז והמ ןוכדעה היהש ךירצ!עצבתהל טבמהplanting_mapרדגומ לע סיסב סחי רוקמ ,דחא Vo, work_fulfillment הרואכל ךירצ ןכדעל תא סחיה . work_fulfillmentבצעמ תוניגה האור טבמב תורדגומש ורובע שולש :תודומע .amount-)p_name,a_nameחיננ אוהש הצרי ןכדעל תאךרעהamountDYהרושב,המיאתמה תועצמאבתלועפ ןוכדעה :האבה updateplanting_map setamount= 60 ; !ןירמזורי =' andp_nameתלייטהי =where a_name
= 2תוכרעמיסיסבסינותנ ,תישאר סחי ,רוקמה | work_fulfillmentללוכ תודומע ,תופסונ ןקלחש אל תולוכי לבקל ךרע , .nullףסונב סחיב רוקמה שי הדומעםשב ,|quantityהנניאש הלולכ ,טבמב טבמבו שי הדומע םשב amountהנניאש הלולכ סחיב .רוקמה הדומעה amountתרדגומ םוכסכ לש יכרע הדומעה quantityרובע הקלח חמצו ,םימיוסמ אלו רורב PRןוכנ םגרתל תא ןוכדעה ליעל ןוכדעל םיאתמ לע סחי רוקמה ילב רוציל תוריתס .םינותנב לעמו -לוכלסחיה work_fulfillmentדעוימ דועיתל יחוויד הדובע ,לעופב וליאו ןוכדעה עצומה ונניא .הזכ ךכב תולולע שבתשהל תונקסמ תוירשפא ךותמ תובושת תותליאשל לע סחי .רוקמה ךכ הרקמבש הז אל הצרנרשפאל ןוכדע תועצמאב .טבמה תוכרעמ תונוש לוהינל יסיסב םינותנ תורידגמ ףסוא תולבגמ הנוש יבגל ןוכדע תועצמאב .םיטבמ תולבגמה תולבוקמה רתויב תומצמצמש( תורשפא וז )דואמ :ןה * תרדגה טבמה תססובמ לע סחי רוקמ דחא.דבלב * תרדגה טבמה תססובמ לע תומש תודומע ומכ סחיב ,רוקמה אלל תולועפ ,הצבקה םייוטיב םיינובשח וא.distinct * הדומע סחיב רוקמה הנניאש הלולכתרדגהב טבמה הלוכי לבקל ךרע null * התליאשההרידגמה תא טבמה הניא תללוכ .הצבקה קרפב אבה םיגדנ דציכ רשפאל ןוכדע םיטבמ תועצמאבתרדגה ןונגנמ ,יטמוטוא ריממה תא תוארוה ןוכדע טבמה תוארוהל ןוכדע לע סחי ,רוקמה ךות תחטבה תולבגמה ונייצש .ליעל
תועונת דע הכ ונלכתסה לע תולועפ ןוכדע דצמ ריבחתה רשפאמה ,ןתוא ןתעפשהו לע םינותנה .םיסחיבש וניאר לכ תלועפ ןוכדע לכו התליאש תושיכ ,תדרפנ אלו ונסחייתה רשקלירשפא הניב ןיבל תולועפ ,תורחא אלתניחבמ רדסתולועפה אלו תניחבמ .ןכותה תוכרעמב תוליעפ שי םינוכדעל םיטביה םיפסונ שיש תתל םהילע תא ,תעדה דחוימב הביבסב לש יוביר .םישמתשמ דחא םיבושחה םיטביהבש הלא אוה ךרוצה גואדל עוציבל הרדס לש תולועפ ןוכדע השקמכ ,תחא ידכ חיטבהל תא תוניקת .םינותנה
ףיעס4.3רפסב
ךירדמהדימלקרפל | 4= SQLתמרםייניב * 93 ידכ םיגדהל ,תאז ביחרנ דוע תא ךרעמ ןוניגה .ינוריעה הצרנ בוקעל רחא תועונת יאלמ םיליתשה םיקפסמ םינוש לא ןסחמ הייריעה ונממו -לא םיננגה ,םינושה תורזחה תוירשפא םיננגהמ ןסחמל וא תורבעה תורישי ןיב ,םיננגה וא תשיכר יאלמ DYידיםיננגה תורישי .םיקפסמ ףיסונ סיסבל םינותנה תא סחיה ,פווקק/ץ דעתמה תאתועונתה לש יאלמ :םיליתשה )supply(holder,transfer_no,date,p_name,quantity,in_out,from_to רויא4.4תינבתרובעתכרעמיאלמה Aolderאוה םרוגה תכרעמב ריבעמה תא םיליתשה וא לבקמה םתוא -ןסחמ 11403101אוה רפסמ ההזמה תא הייריעה וא דחא םיננגהתנחתיי( ;)ייאלמ 00 תעונת יאלמה רובע ותוא;םרוג 040אוה ךיראת,הלועפהquantity-)p_name םה םש חמצה רפסמו םיליתשה חמצמ הז;ורבעוהש 001זח ןייצמ םאהלועפה איה תריסמ םיליתש םרוגל רחא וא תלבק םיליתש תנחתל .יאלמה הדומעה וס הסמו תנייצמ תא םש םרוגה ונממש ולבקתה םיליתשה םא( הלועפה איה גוסמ )וח וא וילאש ורבעוה םא(הלועפה איה גוסמ 001).םרוגה הזה לוכי תויהל ןסחמה וא דחא ,םיננגה וא םש לש קפס ,ינוציח ןיאש וילע םיטרפ םיפסונ .תכרעמב המגודב 4.3ונגצה התליאש הבש ןנגה לש הניגיי יל י'הביבח בשיח המכ םיליתש לכמ חמצ וילע ןיכהל עובשלהדובעה .אבה חיננ אוהש עיגמ ןסחמל הייריעה םע תאצות ,התליאשה שקבמו דייטצהל םיליתשב .םישורדה תלועפהרבעהה לש םיליתשה םישקובמה ןסחמהמ לא הניעי יל יהביבח תרציימ יתש תועונת יאלמ לכל ,חמצ ןכלו דעותת DYידי תפסוה יתש תורוש סחיל supplyרובע לכ :חמצ הרוש תחאתדעתמה תאתרבעה תומכ םיליתשה המיאתמה ןסחמהמ הצוחה לא ,ןנגה הרושו תפסונתדעתמה תא תלבק תומכ םיליתשה וזה ןסחמהמ לא יאלמה לש DYיל ".הביבח המגוד 4.5:םושרנ תפסוה תורוש ראותמכ רובעתרבעה 50םיליתש לש ינרופיצ לותח ןסחמהמ הניגייל יל ":הביבח insert into supply ,08146לותח ,סוטוי6ת])ןסחמ'values5137, NYY),ילינרופיצ',50,י0ט',0הביבח ינרופיצי',50,י1ת'',ןסחמי(; Ny¥,5137,current_date/>ynNיל )הביבח
=*4תוכרעמיסיסבסינותנ ,השעמל ידכ חיטבהל תא תוניקת תכרעמ ,יאלמה שי דיפקהל יתשש תופסוהה וללה ועצובי .דחי ןכש םא עצובת הפסוה ,תחא הביסמו יהשלכ ןוגכ( תליפנ ,תכרעמתוברעתה תולועפ תורחא לשםישמתשמ םירחא )דכו הפסוהה היינשה אל עצובת -לבקתי בצמ לש יאלמ אל ,ןיקת וליאכ שי תומכ לש םיליתש וכלהייש ".דוביאל םיבצמ םהבש בושח חיטבהל עוציב הרדס לש תולועפ הדיחיכ תחא סה םיבצמ ,םיצופנ שיו-.8)(1בתורשפא תוחנהל םאתהב תא תכרעמ סיסב .םינותנה תרדס תולועפ וזכ תארקנ העונת ),היצקזנרט( שיו המכ םינפוא התרדגהל -ב העונת transaction .SQLןפואב ,יסיסב לכ הארוה -8)(1בתשרפתמעמתשמבהלחתהכ לש,העונת זאו שי םייסל תאהעונתה תועצמאב הארוההתשרופמה ,commitוא לטבל תא לכתולועפהעונתה תועצמאב הארוהה Jrollback תוכרעמב תובר תרדגומ תרירב לדחמ היפלש לכ תארוה SQLאיה העונת ינפב ךכ-ב PostgreSQL ,המצע ךכ איהשתבשחנ וליאכ שי םג תארוה . commitהמויסב םא םיצור רוציל הרהצהללע תועונת תוללוכש ףצר לשתולועפ ומכ(המגודב),ליעל שיתונשל תאתרדגה תרירב ריבחתיפולח תליחתהעונתאוהset .לדחמה ןפוא יונישה אוה יולת.תכרעמ .transaction ריבחתיפולחהמויסל - commit ןקתה לש SQLרידגמ ךרד הרישי המיאתמו ,רתויתרשפאמה בותכל הרדס לש תולועפ SQLהליחתמש םילימב תורומשה begin atomicתמייתסמו הלימב הרומשה 680: סקוה 0 insert into supply ,08146סוטזיויסה))ןסחמ' values5137,תוכרעמבתוברםיטימשמ ;) NYYילינרופיצ',50,י0ט',0הביבח ,לותח תאהלימה הרומשה insert into supply.atomic NYY,5137,יל )הביבחvalues ',ןסחמי(;ינרופיצ',50,י0ט0current_date,’>ynn ;end םישנ בל יכ הרימשה לע תוניקת יאלמה המגודב תראותמה הכורכ םג ןוכדעב יאלמה רחאל :הליתש םא יאלמל לש הניגי ילי"הביבח ופסונ 50םיליתש לש ינרופיצ םהולותח ולתשנ רחאל ,ןכמ היהי ךרוצ ףיסוהל סחיל supplyהרוש לש תעונת יאלמ הניגימ ילי"הביבח .הצוחה ךשמהב הארנ המגוד תורשפאל עוציב יטמוטוא לש ןוכדע .הזכ
ךירדמהדימלקרפל | 4=-SQLתמרםייניב * 95 יצוליא
תוניקת
ףיעס4.4רפסב
ידכתכרעמש עדימ גציית תואיצמ תמיוסמ PRיד םינותנב םיימלוגה .הבש ןיב ,ראשה לע םינותנה םייקל םיללכ ,םימיוסמ םיעבונש םתועמשממ תכרעמב התואש םה .םיראתמ גיצנ המכ :תואמגוד * ןותנה לע סוידר הליתש ביבסמ חמצל ךירצ תויהל ךרע ,יבויח אוהו אל לוכי גורחלרבעמ םוחתל ריבס והשלכרשפאש ;רידגהל *+יכיראת הדיל לש םידימלת תיבב רפס ידוסי םיכירצ תויהל םינותנ גוסמ ,ךיראת םהו םילוכי עונל קר חווטב םיכיראת ,םיוסמ םיאתמש יליגל םידליה תיבב.רפסה * רפסמ סיטרכ יארשא םיוסמ אל לוכי עיפוהל םע ינש ידעומ תעיקפ ףקות .םינוש * אל ריבס ונזויש םינותנ לע תודובע הליתש הקלחב אלש העיפומ תמישרב תוקלחה לש .הייריעה קלח םיללכהמ וללה םינתינ חוסינל יצוליאכ תוניקת שיש קודבל לע םינותנה יצוליאתוניקת integrity constraints תובקעב .םייוניש הניחבמ ,תישעמ תרדגה יצוליא תוניקת תכרעמב עדימ התועמשמ היחנה תכרעמל סיסב םינותנה עצבל תוקידב ,תומיאתמ לעו ידי ךכ אלרשפאל תסנכה םינותנ .םייוגש ,לשמל תרדגה סופיט םינותנ םיאתמ ןותנל םיוסמ ןוגכ( סופיט םינותנה1810 רובע ךיראת הדיל לש דימלת תיבב )רפס הווהמ צוליא DYםיכרעה םיירשפאה ותואל ,ןותנ *וליאו הז קדבנ לכבהפסוה וא יוניש לש םינותנ סופיטמ .הז םיללכה יתשב תואמגודה תונושארה םינתינ הקידבל תועצמאב תרדגה יסופיט ,םינותנ תפסותבתלבגה .חווט תא ללכההמגודב תישילשה ןתינ קודבל תועצמאבהרדגה לשתוחתפמ .םיסחיל תרדגה הדומע תמיוסמ וא( תצובק )תודומע חתפמכ הרומ תכרעמל אדוול אלש וסנכוי תורוש תונוש םע ותוא ךרעחתפמב ךא םע םיכרע םינוש תודומעב .תורחא ידכ אדוול םייקתמש ללכההמגודבש ,תיעיברה שי אדוול לכב תנזה הרוש לש ינותנ הליפש םשש הקלחה לולכההרושב וז רבכ עיפומתלבטב .תוקלחה ,רמולכ ללכ הז רידגמ תולת ןיב םיכרע תואלבטב .תונוש הארנךשמהברשפאש רידגהל ) Dץוליא .הזכ
6*6תוכרעמיסיסבסינותנ םנשי םיללכ םתקידבש תבכרומ ףאו הרקי הניחבמ ,תיבושיח רבדהו לולע בכעל תאהדובעה.תפטושה םיללכ םירחא םניא םינתינ ללכ הפיכאל תועצמאב הקידב תיטמוטוא לש ,םיצוליא שיו חיטבהל תא םמויק תועצמאב ילהונ הדובע םימיאתמ הביתכו הנוכנ לש תוינכות .םושיי ןלהל ריכנ םיגדנו יצוליא תוניקת רשפאש רידגהל SQL-2
4.4.1רפסב ףיעס
םיצוליא לע סחי דדוב תרדגה סחי SQL-2תועצמאב 010816tableהלוכי לולכל םג תורדגה יצוליאל תוניקת .םימיוסמ וניאר רבכ תאהרדגהה לש יסופיט םינותנ תודומעל תונושה ןכוהרדגה לשתוחתפמ .םיישאר
רוסיא לע
םיכרע
םיקיר
הדומעב
ךרע קיר ) (nullאטבמ בצמ ובש ךרעה אל עודי וא ןיידעש אל .ןזוה שי תודומע ןהבש ןיא העינמ וראשויש םיכרע .םיקיר,לשמל ןכתי רסחש ונל עדימ יבגלהבוגה ילמיסקמה וילאש לוכי עיגהל חמצ ,םיוסמ לכבו תאז הצרנ סינכהל תא םיטרפה DYחמצ הז סיסבל .םינותנה הרקמב הזכ ןיזנ הרוש רובע חמצה ,רומאה םע ךרע nullהדומעב לש הבוגה .ילמיסקמה תמועל ,תאז שי תודומע ןהבש אל הצרנ רשפאל .תאז ,לשמל םיכרעה תודומעב חתפמה ישארה םניא םילוכי תויהל ,םיקיר ןוויכ זאש אל ולכוישמשלםדיקפתב.ההזמה םיתיעל הצרנ םוסחל תאתורשפאה ריאשהל ךרע קיר הדומעב תמיוסמ םג םא הניא.חתפמ המגוד 4.6:אל םיאתמ ויהיש םיכרע םירסחהרושב תסנכומש ::וקק/ץסחיל םא םיחוודמ לע תעונת יאלמ ,יהשלכ אל ריבס ןיאש עדימ יבגל םיחמצה ורבעוהש העונתב ,וז יבגל,םרפסמ סאה וטלקנ יאלמב וא ואצוה ונממ '.וכו ידכ חיטבהל תפיכא ץוליא הזכ לע ידי,תכרעמה םיפיסומ not nullףוסבתרדגה הדומעה .המיאתמה ןלהלתרדגהסחיה -.5001,supplyב ללוכתרדגה םיצוליאה גוסמ יסופיט ,םינותנ חתפמ ישאר יצוליאו :not null
ףיעס4.4.2רפסב
ךירדמהדימלקרפל | 4=-SQLתמרםייניב * 97
not null, not null, not null, not null, not null,
createtable supply (holder varchar(20), transfer_no numeric(5), date date p_name )archar(15 quantity )numeric(4 in_out )varchar(3 from_to )varchar(20 ;))primary key (holder,transter_no
ץוליא unique
ףיעס 4.4.3רפסב
םיתיעל הצרנ חיטבהלםיכרעהשהדומעב ,תמיוסמ וא ףוריצב ,תודומע םינוש הו הזמ לכב,הרוש םג םא םניא םירדגומ חתפמכ .ישאר המגוד 4.7:סחיב designונרדגה תא חתפמה ישארה חתפמכ בכרומה שולשמ :תונוכת), (a_name,year,seasonרמולכ לכל הקלח שיהנשב תמיוסמ הנועבו תמיוסמ בוציע דחא .דיחיו לכל בוציע ונא םירמוש םג תא תפמ בוציעה - . 0הוהק חיננ והזש *בוק ליכמה עדימ .יפרג ונחנא םירמוש ץבוק הז דועיתכ אוהו שמשי תא ישנא עוצקמהםיננכתמה םיעצבמו תא ,םיבוציעה ךא הז אל ןותנ סחייתהללקש ונכותלתרגסמבתפילש עדימ סיסבמ .םינותנ ןכל PRאוה םיאתמ שמשל חתפמכ יכרוצל ,יוהיז ךא ןכתי דואמהצרנש דיפקהל לכלש בוציע רמשית 117ס .תואק לכונ אופא תפמ בוציע .הנוש ,רמולכ לכבש הרוש היהי ךרע הנוש לש רידגהלהדש הז ידוחייכתרגסמבתרדגה סחיה : createtable-2 ;)unique (map_file רשאכ *וליאה רדגומ DYהדומע תחא,דבלב אוה לוכי עיפוהל םג NOהרושה הרידגמה הדומע ,וו המודב >.not null-לשמל רשאכהשירדה תוידוחייל הלח לע ףוריצ ,תודומע הרדגהה תבייח עיפוהל.דרפנב םישנ בל יכ הרקמב לש ףוריצ ,תודומע השירדה איה ףוריצהש ולוכ ךירצ תויהל ,ידוחיי אלו לכהדומע.דרפנב ,השעמל ץוליא גוסמ uniqueרידגמ,חתפמ המודב 'וליאל רידגמהחתפמ .ישאר ךשמהב רידגנ קיודמב תא גשומה חתפמ םיגשומו םירושקש ,וילא ריהבנו תא ןוימדה תאו לדבהה ןיב ינש םיצוליא .הלא הניחבמ ,תישעמ לדבהה ירקיעה יאדכש םישל בל וילא בלשב הז ,אוה ףאש תחא תודומעמחתפמה ישארה הניא הלוכי לבקל ךרע .חט[[ והז קלח *וליאמ חתפמה .ישארה תמועל ,תאז ףוריצ םיכרע ךירצש תויהל, uniqueלוכי םירקמב ,םימיוסמ ליכהל םיכרע .םיקיר
= 98תוכרעמיסיסבסינותנ ףיעס 4.4.4רפסב
קוספ check 016810הלוכי לולכל םג וליא לש תקידב יאנת יגול יללכ לע תרדגה סחי table-1 תורוש ,סחיה תועצמאב קוספ.check המגוד 4.8:הדומעה 01זח סחיב supplyהלוכי לבקל דחא ינשמ םיכרע ח -וא 1.ונרדגה תא סופיט םינותנה הלש תוזורחמכ ךרואב לש דע . 3םיוות ידכ חיטבהל ונזויש קר ינש םיכרע ,הלא לכונ ףיסוהל הקידב לש יאנת :הזכ )יומי,יסטש(( check(in_outin
תוחתפמ םירז
ףיעס 4.4.5רפסב
םיתיעל תובורק םיכרעה םיירשפאה הדומעב תמיוסמ םיעבונ תמישרמ םיכרע העיפומש הדומעב המיאתמ סחיב ,רחא ובש הדומע וז איה חתפמ .ישאר המאתהה ןיב יכרע תודומעה תרשקמ ןיב עדימהינשבש .םיסחיה המגוד 4.9:םיכרעה םיירשפאה הדומעב a_nameסחיב a’csiguםיכירצ עובנל ךותמ תמישר תוקלחה סחיב 4104,ובש תאמנס 4אוה חתפמ .ישאר סחיה8108 הווהמ המישר לש לכ תוקלח ןוניגה .הייריעב סחיב ,|designליכמהםייטרפ לע בוציע ןוניגה תוקלחב תונושה לש ,הייריעה הפצנ אוצמל עדימ לע בוציע תוקלח ךותמ המישר ,וז אלו לע תוקלח ןניאש.המישרב רסוח המאתה הזכ יושע דיעהל רסחש עדימתמישרב תוקלחה סחיב( (areaוא שיש MYVעדימב עגונה .בוציעל השירדה המאתהל ןיב תוצובק םיכרע תודומעב לש םיסחי ,םינוש ךות הינפה סחיל ובש תצובק םיכרעה,תעבוקה איה ץוליא גוסמ בושח *ופנו הנוכמה ץוליא
וליאהקיז referential integrity הקיז )).integrityי61טויסמ [8םיצוליא גוסמ הז םירשפאמ רידגהל םירשק P2constraint םיסחי םינוש ףאו אדוול םירשקהש םימייקתמ ןפואב .ןיקת
רשאכ שי ץוליא הקיז עבוקה םיכרעהיכהדומעב Aתסחיבםסיבייח תויהל םילולכ ןיב יכרעחתפמה ישארה לש סחי רחא והשלכ LSונא םינכמ תא הדומעה 2- A םשב חתפמ .רז תאז לשב הקיזה הלשחתפמל לש סחי .רחא םישנ( בל יכהמגודב חתפמרז foreign key ,תמדוקה הדומעה a_nameהווהמ חתפמ רז עיבצמה DYסחיה ,areaהבו תעב איה הווהמ קלחחתפמהמ ישארה לש(.design
ךירדמהדימלקרפל | 4= SQLתמרםייניב * 99 ? םאה ןכתיי הדומעש תרדגומש חתפמכ רז סחיב םיוסמ רדגות םג חתפמכ ישאר לש ותוא יסחי השעמל,PRהעינמ םא יכ הז בצמתוחפ *.ופנ בצמ הז ןכתיי רשאכ סחיה ובש רדגומחתפמה רזה קסועהצובק-תתב ךותמ תצובק םיכרעה תירקיעה סחיב וילאשהנפמתרדגהחתפמה .רזה ,המגודכ חיננ הייריעהש הליעפמ טקיורפ ובש םיבשותה םיגרדמ תא תוקלח ןוניגה תונושה תוניחבמ .תונוש עדימה ףסאנ ,םכוסמו בקעו ךכ םירמוש סיסבב םינותנה לש הייריעה סחי ,ליכמש לכל תקלח ,ןוניג תא תואצות םיגורידה ולבקתהש תוירוגטקב .תונושה הדומעה a_nameאיה חתפמ ישאר סחיב ,הז לכבו תאז הצרנDXהרידגהל חתפמכ רז עיבצמש .areay דחא םיטביהה שיש תתל וילע תאתעדה םיננכתמשכתרדגהתוחתפמ םירז אוה רשאכש םירידגמ הדומע חתפמכ ,רז יא רשפא סינכהל הילא ךרע םרטש סנכוה סחיל ,רוקמה םג םא ךרע הזכ סנכוי.דיתעב ,רמולכ תרדגה חתפמ רז הביתכמ רדס תולועפ םיוסמתעב תפסוה םינותנ םירשוקמ .םישדח תרדגה 'וליאה -8)(1ב הלוכי תושעיהל תחאב יתשמ ,םיכרד ךותב תרדגה : 00866 06ףוסב תרוש הרדגהה לש הדומעה תיטנוולרה וא ףוסב תרדגה סחיה ,ולוכ תרגסמב תמישר םיצוליאה העיפומה .ופוסב רשאכ חתפמה רזה בכרומ המכמ ,תודומע ךרדה היינשה איה .המיאתמהתרדגהל הדומעהa_name חתפמכ רז ךותבתרדגה סחיה designלכונ :םושרל referencesarea,
)varchar (20
a_name
,ןיפולחל לכונ ףיסוהל תא הרדגהה האבה ירחא תרדגה תודומעה יסופיטו םינותנה :ןהלש foreign key (a_name)referencesarea המגוד 4.10:ףוריצ תודומעה) (a_name,year, seasonסחיבdesign_details 005198.הרקמב הז תרדגהחתפמה רזה היהת אוה חתפמ ,רז עיבצמה לע סחיה ףוסבתרדגה :סחיה foreign key (a_name,year,season)referencesdesign
0ף תוכרעמיסיסבםינותנ לופיט
םיבצמב לש תרפה
ץוליא הקיז
םיצוליאה וניארש דע הכ ויה םיצוליא ולחש לע סחי ,דדוב ןפואברידגהש םיבצמ םייוגש תולועפב הפסוה וא ןוכדע לש תורוש .תומיוסמ םירקמב ,הלא רשאכ *וליאה,רפומ הפסוהה וא ןוכדעה ,םילשכנתכרעמהו לככהארנה תקפסמ העדוה העירתמה לע .ןולשיכה םג *וליא הקיז רדגומתרגסמבהרדגהה לש סחי ,דדוב ויהיו םיבצמהפסוהש וא ןוכדע ולשכיי לשבתרפה ץוליא ,הז ומכ םירקמב .םימדוקה ךא םישנ ,בל לשבש הקיזה רידגמש,לץוליאה ןכתית םגהרפהי"הפיקעיי ,ולש הניאש תעבונ תולועפמ תויוגש לש הפסוה וא .ןוכדע ,לשמל חיננ ונפסוהש הרוש ,תסחילרדגומש ובחתפמ רז םע הקיו 5.סחיל הפסוה Nהתייה ,הניקת ןוויכמ ךרעשחתפמה רזה ןכא אצמנ תדומעב חתפמה לש;S הרושב .יהשלכ רחאל ןמז הרוש וז הקחמנ -5,מ ךכבו המרגנ דבעידב הרפה לש צוליא הקיזהרדגוהש לע 1. המ שי תושעל הרקמב !הזכ םאה שי קוחמל )! Dהתוא ילואו רשפא ריאשהל !)ם8ט-[1ל ילואו התוא קרו ייספאלי תא ךרעהתדומעבחתפמה רזהךופהל( ותוא ןכדעל תאךרעה יתייעבה ךרעל NN הרפה הפיקע וזכ ןכתית םג הרקמב עצובש ןוכדע לש ךרע תדומעחתפמה סחיב רוקמה 9),הרושהו אל .הקחמנ םאה עצבל יונישההּזךרעב תדומעחתפמה !רזה וא ילוא קוחמל תא,הרושה וא ספאל תא !ךרעה הבושתה תולאשל הלא היושע תויהל הנוש םירקמב .םינוש המגודב , 4.9לשמל םא טלחוה תונשל םש לש תקלח ,ןוניג ריבס הצרנש ןכדעל תא יונישה לכב תומוקמהםהבש עיפומ םש.הקלחה תמועל ,תאזהמגודב 4.10,םא לטובמ בוציע םיוסמ לש תקלח ,ןוניג רבדהו אטבתמ תקיחמב הרוש סחיהמDYVPN- design רומשל תא יטרפ בוציעה הזה סחיב ,|design_detailsןוכנו היהי קוחמל םג תא תורושה תומיאתמה ותואל בוציע סחימ .הז תרגסמב תרדגה חתפמ רז SQL-2רשפא רידגהל םג תא ןפוא לופיטה יוצרה תורפהבתועבונש םייונישמ סחיב ,רוקמה ןפואו הז לוכי תויהל הנוש םירקמל לש הקיחמ םירקמלו לש .ןוכדע ביחרנ תאהרדגהההמגודבש 4.9םאתהב ןוידלונכרעש :ךכ
ךירדמהדימלקרפל | 4- SQLתמרםייניב * 101 foreign key (a_name)referencesarea on updatecascade תאהרדגהההמגודבש 4.10ביחרנ םאתהב ותואל ןויד :ךכ foreign key (a_name,year,season)referencesdesign on deletecascade הארוהה 6850406השוריפ יונישהש סחיב רוקמה ךירצי'עפעפלי' ותואב ןפוא )D סחילDYחתפמה .רזה הרקמב לש
אמוס 4,יוניש לשךרעה סחיב רוקמה ךירצ
עצבתהל ותואב ןפוא ) Dסחיבהנפמה— .designהרקמב,ינשה הקיחמ לש הרוש סחיב רוקמה הכירצ םורגל תקיחמל תורושה תומיאתמה םג סחיב.הנפמה עוריאה לולעש םורגל הרפהל אוה לוטיב) (deleteוא ןוכדע ) (updateןכלו תוארוהה וללה תוסחייתמ דחאל ינשמ .םיעוריאה רשפא ןבומכ רידגהל תא ןפוא לופיטה יוצרה לכב דחא ינשמ םיעוריאהתרגסמבתרדגה ותוא .ץוליא לופיטהירשפאה לכב הרקמ לוכי תויהל דחא :םיאבהמ +עוציב יוניש ההז סחיבהנפמה) - (cascadeומכ תואמגודב .תומדוקה * י"סופיא" ךרעה יתייעבה סחיב הנפמה ) 506),nullיאנתב ןבומכ רבודמש הדומעב הלוכיש לבקל ךרע .null * תבצה ךרע ,רחא רדגוהש שארמ תרירבכ לדחמהדומעל וז )+56).default
ןתמ םש
ץוליאל
תוניקת
תעב תרדגה יצוליא תוניקת רשפא םתונכל.םֶשב רבעמ תרהבהל ותנווכ לש ,ץוליאה ןתמ םשהרשפאמ סחייתהל לא *וליאה לשמל ידכ קוחמל .ותוא ידכ תתל םש ,ץוליאל שי בותכל תא הלימה הרומשה constraintהירחאו תא םשהרחבנה ינפלתרדגה .ץוליאה לשמל רובע ץוליאה המגודמ 4.8: ))’)routינמ'1,מ סוק constraint in_out_valuescheck)70
ףיעס4.4.6רפסב
2
תוכרעמיסיסבםינותנ יצוליא
תוניקת
תועונתו
ףיעס4.4.7רפסב
שי םיבצמםהבש היהנ םינכומהרפהלבקל תינמז לש ץוליא תוניקתךלהמב עוציב .העונת ,רוכזכהעונת איההרדס לשתולועפ שישתועמשמ העוציבל אלמההלועפכ .תחא תרגסמב תרדס תולועפה ןכתי ץוליאש רפוי ירחא תחא ,ןהמ ךא תולועפ תורחאךשמהב וריזחי תא תוניקתה.DYהנכ לכב ,הרקמ םויסב עוציבה אל היהת הרפה לש .ץוליאה םיבצמב הלא םיפיסומ תרדגהל *וליאה תא תפסותה 06161100Anitially תפסות וז תנייצמ ןיאש םיקדוב תא ץוליאה אלא םותב.העונתה תמועל ,תאז םא םיניינועמ רשפאל תא תקידב *וליאה רחאל לכ,הלועפ םג ךות ידכ ,העונת ךא רשפאל תוחדל תא הקידבה ךות ידכ העונתה -םיפיסומ תא תמויסה .deferrableץוליאה קדביי ירחא לכ,הלועפ ךאהעונתה לכותליעפהל הייחד לש הקידבה ךות ידכ .התציר
םתרדגה לש
םיצוליא
םיבכרומ
תועצמאב
תוארוהה
assertion~) check םיצוליאה וניארש דע הכ וסחייתהתרדגהל הדומע תיפיצפסהלבטב וא רשקל P2 הדומע וא( )תודומע ןיבל חתפמ ישאר לש סחי .רחא שי םיצוליא הצרנש אדוול תא םתוניקת רשאו םניא םינתינהרדגהל םיעצמאב וניארש דע .הכ המגוד 4.11:חיננ הצרנש אדוול ןונכתש תומישמ הדובעה םאות תא תינכות בוציעה .תיטנוולרה שי םיטבה םינוש המאתהל ,וז ילואו אל תא םלוכ רשפא ,קודבל וא אלש תא םלוכ הצרנ ,קודבל םילוקישמ םינוש םקלחבש ןודנ.ךשמהב המאתהה תיסיסבה ,רתויב איהש םג הטושפ תיסחי ,חוסינל איה ןיב ינותנ ,הקלחה הנשה חמצהו לש תמישמ הדובע תמיוסמ ןיבל םינותנ הלא יטרפב תינכות .בוציעה ,רמולכ ןיב םיכרעה םיעיפומש תודומעב a_name,year, .design_details-2 work_assignmentןיבל יכרע ןתוא תודומע p_nameסחיב השירד וז המוד הדימב הבר השירדל לש *וליאחתפמ ,רז ךאתרדגהב חתפמ רז תשרדנ המאתה ןיב יכרע תודומע סחיב דחא ןיבל יכרע לכ תודומעחתפמה סחיב ,רחא וא לכמ םוקמ יכרעל ףוריצ תודומע הווהמש חתפמ ,ליבק רמולכ ףוריצ אוהש .uniqueוליאו ,ןאכ המאתההתשקובמה איה קר קלחל תודומעמחתפמה לש | design_detailsףוריצו הז לוכי עיפוהל המכב תורוש תונוש סחיב
ףיעס4.4.8רפסב
ךירדמהדימלקרפל | 4- SQLתמרםייניב 103 e , .design_detailsהשעמל המ ונחנאש םיניינועמ אדוול אוה ףוריצש הזכ םייק הרושב יהשלכ סחיב,design_detarlsתחא.תוחפל השירדהמאתהל לש םיכרעה תצובקב תודומע סחיב work_assignmentםיכרעל תצובקב תודומע סחיב | design_detarlsתורמל תצובקש תודומעה הרומאה הנניא הווהמחתפמNN, design_detarls-2הרדגהל תועצמאב תארוה.check , Work_assignment םישנ בל יכ וליאה ןאכ אוה לע םיכרעה םיירשפאה סחיב : work_assignment ןכלו לולכנ תא הארוהה ףוסבתרדגה סחיה (selecta_name,year,p_nameוח תמזנס(ק year, check((a_name, postgreSQL-2ןיא םירשפאמשומיש ))from design_details התליאשבתננוקמךותב 68%.קרפב5הארנ דציכאדוול*וליאהזכ המגוד 4.12:טוריפ תומישמהדובעה רדגומ תמרב,עובש ,הנש הקלח .חמצו לכ םיעצמאבםירחא )(triggers הלא םיווהמ תא חתפמה ישארה לש IO, work_assignmentםיעבוק -דח תיכרע תא ןנגה וילעש תלטומ תמישמ.הדובעה םישנ בל יכ ןיא ךכב ידכ עונמל תלטה תומישמ הדובע תונוש התואב הקלח התואבו הנש לע םיננג ,םינוש וליפא ותואב.עובש תניחבמחתפמה ,ישארה רשפא ליטהל לע םיננג םינוש הליתש לש םיחמצ םינוש התואב ,הקלח ותואב.עובש חיננ תניחבמש תולהנתהה ,תואיצמב ןכא הרוק םיליטמש תומישמ לע םיננג םינוש התואב ,הקלח ךא אל ותואב.עובש,לשמל שי ימ דקפומש לע יוקינהקלחה םיחמצמ םינשי ,םימיוסמ ימו דקפומש לע הליתש רחאל .יוקינה ךא שיתכרעמב ללכ ויפלש ןיא םיחלוש ינש םיננג םינוש התואל הקלח ותואב עובש,לשמל( ידכ חיטבהל המירז הבוט לש).הדובעה םא םיצור אדוולםינותנהש אל ודיעי לעהרפה לש ללכ ,הז שי רידגהל IRתוניקת .דחוימ ץוליא יללכ הזכ ןתינ רידגהל תועצמאב: createassertion createassertion weekly_gardener % *(not exists(select from work_assignmentas W1, work_assignmentas W2, where W1l.a_name=W2.a_name and W1.year=W2.year and W1.week= W2.week ;))and W1.g_name W2.g_name
PNpostgreSQL-2 שומימ.assertions לש
4
תוכרעמיסיסבםינותנ
םישנ ,בל יכםעפה אל רבודמ *וליאבקדבנש קרתעב הפסוה וא ןוכדע לש הרוש ,תמיוסמ אלא והז *וליא ותקידבש תבייחמ תקידב םינותנה סחיב .ולוכ יתמ Pwork_assignmentהקידב וזכ םיקדוב ץוליא !הזכ םאה בקע לכ יוניש סחיב הלולע ךורצל ןמז בושיח ,ךשוממ טרפב האוושהב םיצוליאל וניארש דע ,הכ שיו לוקשל םא םנמא יאדכ עיקשהל תא םיבאשמה םישורדה םשל .ךכ ,םנמאו תוכרעמ תובר ןניא תושמממ קלח הז ןקתב 5SQL קרפב אבה הארנ דציכ רשפאשמתשהל םילכב םירחא ידכ עצבל תוקידב לש םיצוליא ,םימוד ףאו תסוול תא תורידת הקידבה .היטרפו
יסופיט
םינותנ
ףיעס4.5רפסב
תוינבתו
תליחתב קרפה וניארהרדגה תיסיסב לש תוינבת ,םיסחי םע המכ יסופיט םינותנ .םייסיסב ומכ ןכ וניארךשמהב הפסוה לש יצוליא תוניקתתרדגהל תינבת .סחיה ביחרנהתע המכ םיטביה לשתורדגה הלא ןכו תויורשפא .תופסונ אלטרפנ תא לכ יסופיט םינותנה ,תויורשפאהו ןוויכמ םהש םיינכט .דואמ ולכות ןייעל ףיעסב הז רפסב ידכ לבקל םיטרפ ,םיפסונ וא דועיתב הנכותה הבש םתא,םישמתשמ יפל .ךרוצה ןויד בחר רתוי יסופיטב םינותנ אבוי קרפב 8.
תרדגה
יסופיט
םינותנ לע ידי
שמתשמה
4.5.5רפסב ףיעס
שמתשמ לוכי רידגהל יסופיט םינותנ םישדח תועצמאב הארוהה .create type תרדגה סופיט םינותנ תללוכ ןתמ םש סופיטל םינותנה ,שדחה ןויפאו םוחת םיכרעה אוהש לוכי .לבקל םוחת םיכרעה ןייפואמ ךרדב ללכ תועצמאב -תת םימוחת לש םינותנ םימייק וא המישרכ תיפיצפס לש .םיכרע םיגדנתרדגה סופיט םינותנ דחוימ רובע תונוע,הנשה םשב .seasonsוהז סופיט גוסהזלשיסופיטםינותנ אלגצומקרפב,7Yרפסב NלולכתסרגבSQLלש םינותנ גוסמ type ,סמטחוסו, 8160רמולכ סופיט םינותנ ונאש םיקפסמ ורובע תוכרעמ,תונושןהיניב תמישר םיכרע .הבוקנ רחאלותרדגהרשפאשמתשהל וב לכבכ סופיט םינותנ רחא.PostgreSQL קפוסמה לע ידי.תכרעמה : 5045018 תרדגה סופיט םינותנה createtype 50450708 ;)’enum ('summer’,‘autumn’,'winter’,’'springה5
ךירדמהדימלקרפל | 4- SQLתמרםייניב 105 e יסופיט
םינותנ
םיטקייבואל
םילודג
שי ינש םיגוס לש יסופיט םינותנ םיטקייבואל םילודג ,דחוימב יבגלו לכ דחא םהמ \4.5.4ףיעסרפסב רשפא רידגהל לדוג :ילמיסקמ - 009 eרובע עדימ ילאוטסקט)(characterlargeobject - blob eרובע עדימ ירניב )). largeobjectסוחהוץ סופיט םינותנ Mדעוימ תונומתל ,םיטרסו םאתהב .לדוגל אל דימת ןסחואמ טקייבואה לודגה שממ קלחכ סחיהמ .ומצע שי תוכרעמ תוקיזחמש N0לש עיבצמ סוקמל ןוסחא .טקייבואה
ףיעס4.5.3רפסב
יכרע תרירב לדחמ תרגסמבתרדגה הנוכת תמיוסמ סע סופיט םינותנה ,הלש רשפא ףיסוהל העיבק לש ךרע תרירב ,לדחמ הרקמל PRYםיניזמ ךרעתעב תסנכה הרוש סחיל .Y םיגדנ תאתרדגה סחיה TN,designשומיש םיביכרמב םינושה :ונגצהש
default 2022,
createtable design (a_name ;)varchar (20 תרדגהתרירבלדחמ year )numeric (4,0 וזכתבייחמןוכדע תפלחתמשכ.הנש season seasons, varchar )30(,
designer
0דוהק blob (10MB), 6 (a_name,year,season),ל primary ;)foreign key (a_name)referencesarea סופיט םינותנה ונרחבש רובע הנוכתה yearאוה ךרע ירפסמ ןב , 4תורפס ךרעו תרירב לדחמ אוה 2022.סופיט םינותנה לש הנוכתה 568508אוה סופיט םינותנ רדגומש DYידי,שמתשמה יפכונרדגהש .םדוק
,תוינבת
ינולימ םסינותנ
תוביבסו הדובע
יפכרבכש ,וניאר לכל סחי סיסבב םינותנ שי תינבת )המיכס(הרידגמש תא והנבמ ןכו םיצוליא םילחש .וילע המרב תיללכ ,רתוי לכל סיסב םינותנ שי ,תינבת הליכמה ןיב ראשה תא תוינבת םיסחיה םילולכה .וב תינבת סיסב םינותנה תללוכ
ףיעס 4.5.8רפסב
86תוכרעמיסיסבםינותנ עדימ ילוהינ :ףסונ תורדגה לש יסופיט םינותנורדגוהש לע ידי;שמתשמה תורדגה לש םיצוליא םיילבולג םירדגומש DYסיסב;םינותנה ינותנ יוהיז םישמתשמהלש םינושה תכרעמב תואשרהו השיגה .םהלש המרב תיללכ דוע ,רתוי לכ תכרעמ לוהינל יסיסב םינותנ תלהנמ ינולימ םינותנ ),םיגולטק( םיליכמה עדימ תורדגהו תוימינפ לשתכרעמ ,לוהינה םייושעו סחייתהל המכל תוינבת לש יסיסב .םינותנ ,סחילכל תינבת ןולימו םינותנ שי,םש ךכו לבקתמגרדמ לש,תומש המודבגרדמל תויקית תכרעמב .םיצבק תכרעמ תלהנמה יסיסב םינותנ תתרשמ עודיכ םישמתשמ ,םיבר םיאנתבו הלא גרדמ תומשה עייסמ תוהזל ןפואב רורב וליאל םיסחי שגינ לכ שמתשמ הזיאבו סיסב ,םינותנ ךכו -ענמיהל לפכמ תועמשמ .לוברסמו
ףיעס4.7רפסב
תואשרה לוהינהדובעהתכרעמב תבורמםישמתשמ ךורכ םג חוקיפב לע תויורשפאהשיגה לש םישמתשמה םינושה םיקלחל לש תכרעמ .עדימה תפש הרדגהה לש SQL תללוכ תוארוה תקנעהל וא( )תלילשל תואשרה ,השיג םיגוסמ ,םינוש עדימל םיסחיבש וא .םיטבמב םנשיהעברא םיגוס לשתואשרה השיג םיסחיל סיסבבש :םינותנה * תאשרה האירק)(selectprivilege +תאשרה הפסוה)(insertprivilege * תאשרה ןוכדע)(updateprivilege +תאשרה הקיחמ )(deleteprivilege
תקנעה
תואשרה
ףיעס4.7.1רפסב
ןתלילשו
ריבחתה יסיסבהתקנעהל תואשרה :אוה תמישרתואשרה grant םש< סחי וא םש >טבמ סמ תמישרםידיקפת10 םוקמב תמישר תואשרהה הלוכי עיפוהלהאשרה םשב ,privilegesג 11תנייצמה תא לכ יגוסתואשרהה םג .דחי
ךירדמהדימלקרפל | 4- SQLתמרםייניב * 107 המגוד 6.13:ןנגהרבכש ,ונרכה םילעבה לש NNיל,י"הביבח ךירצ תויהל לגוסמ אורקל עדימ סחיהמ TR,work_assignmentףידע אלש היהת ול האשרה בותכל וא ןכדעל סחי הז ,רמולכ( רוציל תומישמ הדובע רובע ).םיננג תמועל ,תאז ידכ חוודל לע עוציב תומישמ הדובעה הכירצ תויהל ול האשרה בותכל ןכדעלו תא סחיה .work_fulfillment םשל,המגדהה חיננ יכ םג םששמתשמה ולש תכרעמב אלו( קר ומש )ירחסמה אוה DYיל ".הביבח grant 41 work_assignmentסח הניג' -יל 'הביבח10 grant select,insert, delete,update work_fulfillmentסמ ; NYYיל 'הביבח10 ןעמל ,קוידה המ ונייהש םיצור הרקמב הז אוהרשפאל ןנגל לש NPיל""הביבח תוארל קר תא תומישמהדובעה תועגונה ,וילא ןכדעלו קר תא יולימ תומישמה היהש וילע,עצבל אוהשו ןכא .עציבתואשרההונרדגהש המגודב ליעלתורשפאמ ולתשגל לכל תורוש סחיה לכב דחא םיסחיהמהאשרהב(),תרדגומה ךכו תוארל םג עדימ עגונש םיננגל ,םירחא וא וליפא ןכדעל ףאו( )!לטבל יחוויד הדובע לש םיננג .םירחא עיגהלידכ קוידל הז שי ךרוצ תאליבגהלתואשרהה קר תורושל תומיוסמ םיסחיב ףוסבקרפהדמלנךיא רידגהלתואשרהתמרב .םייטנוולרה ןיאתורשפא רידגהלהאשרה קר רובע קלח תורושמ סחיהתועצמאב .הרושה תארוה .grantתמועל ,תאז האשרה הלוכי תויהל תלבגומ תודומעל תויפיצפס דבלב ךותמ תינבת .סחיה המגוד '" 1 6.14:ןדע אוה םש לש בצעמ תוניג דבועה תורישב .הייריעה הצרנ רשפאל ול ןיזהל תא יטרפ בוציעה עציבשהנועב תמיוסמ רובע הקלח הרסמנש ,ונונכתל ךא ליבגנ תאז קר ןוכדעל יטרפ םיחמצה .תויומכהו ראש םיטרפה םש( ,בצעמה הקלחה)הנועהו ונזוי ידיב תוכמס תיזכרמ .יהשלכ )grant update (p_name,quantity design_detailsסח ןגי; 'ןדע to
8
תוכרעמיסיסבםינותנ
רשפא קינעהל תואשרה תומיוסמתרגסמבהרדגה ליינכשמתשמל םשב .public שוריפ רבדההאשרהש וז תנתינ לכלשמתשמ אוהש אלל.הלבגה לכבתכרעמ שי,יילע-שמתשמיי שיש ול לכתואשרהה לע לכ ,םיסחיה .שארמןֶהֶו =ןלהנמסיסבםינותנה database administrator ןלהנמ סיסב םינותנה .DBA -
4.7.2רפסב ףיעס
םידיקפת וניאררשפאש קינעהל תואשרהשמתשמל ןפואב ישיא לע יפ םש,שמתשמה ךא ךרדב ללכ ןויגיהה ירוחאמ תקנעה תואשרהה וא( )ןתלילש רושק דיקפתל לש שמתשמה תכרעמב עדימה הבש .רבודמ םירקמבםסיבר הצרנ רידגהל תא תואשרהה םאתהב .םידיקפתל דיקפת דחא רבכש ונרכזה אוה ןלהנמ סיסב םינותנה - .DBA-Nךא רשפא םג רידגהל םידיקפת ,םישדח םאתהב יפואלתכרעמ עדימההבש .רבודמ המגוד 4.15:ךרעמב ןוניגה ,ינוריעה קלח םישמתשמהמ תכרעמב עדימה םה ,םיננג םישמתשמ םירחא םה יבצעמ ,תוניג .דועו לכונ רידגהל תא דיקפת ןנגה תועצמאבריבחתה אבה :SQL-2 create1"016 ;gardener התע רשפא קינעהל תואשרה השיג סחיל work_fulfillmentלכל שמתשמ רדגומש ,ןנגכ םוקמבהאשרה תישיא לכל ,ןנג יפכונישעש המגודב4.13: work_fulfillmentto gardener:סחgrant all privileges ידכשמתשמלש היהת השיג סחיל ,הז שי רידגהל ותוא לעבכדיקפתה.gardener ריבחתהרדגהה סחייתמתרדגהלדיקפתה לאכייתקנעהיי,דיקפת המודבתקנעהל :האשרה ; NYYיל 'הביבחgrant gardenerto ךכ PRחרכה תעדל תא תומשםישמתשמה לש לכ םיננגה ידכ קינעהל לכל דחא םהמ תא תואשרה השיגה לכל דחא םיסחיהמ ,םימיאתמה ןכו ןיא ךרוצ ןכדעל תא תואשרהה סחיל םיוסמ רשאכ םיפסונ םיננג תכרעמל וא םיאצומ .הנממ יד לכבש םעפ ףרטצמש ןנג קנעוי ול דיקפתה ,םיאתמה זאו אוה לבקי ןפואב יטמוטוא תא לכתואשרהה שיש לכל.םיננגה
ךירדמהדימלקרפל | 4- SQLתמרםייניב * 109 רשפא קינעהל םידיקפת םג ילעבל םידיקפת ,םירחא אלו קר םישמתשמל .םייפיצפס תורשפא וז תישומיש רקיעב שישכ היכרריה לש .םידיקפת לעבל דיקפת הובג היכרריהב םיקינעמ םג דיקפת אצמנש ויתחתמ ,היכרריהב ךכו אוה םגלבקמ תא לכתואשרהה ולביקש םיפופכה .ול
תואשרה השיג
ףיעס4.7.3רפסב
םיטבמל
המגודב4.13ונקנעההניגייל יל יהביבח תואשרה השיג סחיל work_fulfillment .ולוכ וניאר שיש היעבהאשרהב הבחר לכ ,ךכ ןוויכ איהשתרשפאמ הניגייל יל ""הביבח ףיסוהל וא לטבל םינותנהשעמלש הניא תכמסומברעתהל .םהב היעבה ונייצש התייה ריבחתש תקנעה תואשרהה וניא רשפאמ ליבגהל תא תאשרה השיגה סחיל םיוסמ תורושל תומיוסמ .דבלב דחי םע ,תאז רשפא קינעהל תואשרה השיג .םיטבמל הסננשמתשהל ךכב ידכרבגתהל לעהיעבה .ונראיתש המגוד 4.16:רוזחנ תרדגהל טבמה ונאבהש המגודב 4.4.טבמה ללוכ ךותמ 1זשס קר תא תורושה לשהניגיי יל ":הביבח createview g7_work_fulfillmentas *(select from work_fulfillment NYYיל'הביבח =whereg_name ;)with checkoption היצביטומהתרדגהל טבמה הזה התייה רשפאל ןנגל לש הניגי ילי"הביבח ןכדעל תא הדובעהיחווידםיעגונש ול.דבלב והז קוידברבדה ונאשםישפחמ.תעכ ןויערה היה הניגייש יל""הביבח עצבת תא יחוויד הדובעה הלש תופסוהכ םינוכדעו לע , _work_fulfillmentvannקל םוקמב תורישי . work_fulfillment 5yךא ןוויכמ םיטבמש םה םיסחי םיילאוטריו ,דבלב םינוכדעה םיאטבתמ ופוסב לש רבד םיסחיב לש סיסב םינותנה ,ומצע אלו .םיטבמב ןכל ונפסוהתרדגהל טבמה תא ץוליאה with checkoptionותקידבש הרומא תוחדל לכתלועפ ןוכדעעצבתש £Z_name NPילייהביבח תועצמאב,טבמה םע םש לש ןנג רחאהדומעב םילשהלידכ ךלהמ,הז שי תאקינעהלתואשרההשיגה .תומיאתמה,תישאר הצרנ ןבומכ קינעהל הניגיל ילי'הביבח תואשרה ,אורקל ,ףיסוהל ןכדעל קוחמלו תורוש ךותמ טבמה . work_fullillmentק 7יפל ריבחתה וניארש תקנעהל ,תואשרה רשפא קינעהל תואשרה השיג םג :םיטבמל
0ף תוכרעמיסיסבםינותנ grant select,insert, delete,update g7_work_fulfillmentסח ; NYYיל 'הביבח10 םע ,תאז יפכהלועש ןמ ןוידה דע ,הכ םייונישהעצבתשהניגיי ילי"הביבח לעטבמה ואובי ידיל יוטיב םייונישכ ,|work_fulfillment-2ןכלו תושורד הל תואשרה הביתכ )ןוכדע/הקיחמ/הפסוה( םג .םש ,השעמל הלא תואשרהה וקנעוהש הל תורדגהב ונאבהשהמגודב4.13. ,ללככ תואשרהה תוקנעומששמתשמל םיוסמ השיגב טבמל ןניא תולוכי תויהל תוקזח רתויתואשרההמ שיש ולהשיגב םיסחיל םהילעש תססובמתרדגה.טבמה תואשרהה תולוכי תויהל תומצמוצמ ,רתוי ךא אל.ךפהל
? םא ,ךכ דציכתרדגה טבמה תואשרההו וילע תעייסמ ליבגהל תא השיגה לש הניגיי ילי"הביבח תורושל תושורדה77252 ' רשפא רמול שיש ןאכ בוליש לש המכ :םיעצמא * יעצמאייילהנמי" -תגצה טבמ יפיצפסשמתשמל ,םיוסמ םוקמב תא סחיה .ולוכ * הנחבה ןיב תואשרה םיגוסמ םינוש -ןוגכ האירק וא .ןוכדע * תפסוה - with check optionידכ ליבגהל תא ןוכדעה תורושל .תומיאתמה
תואשרה השיג
תוינבתל
קרםילעבה לשתינבת סיסב םינותנ םיוסמ השרומ עצבל םייונישתינבתב ,וז ןוגכ תרדגה לוטיבו ,תואלבט תפסוה וא תטמשה ,תודומע תפסוה וא תטמשה .םיסקדניא תואשרה הלא ןה תואשרה ,תונבומ ןיאו ךרוצ קינעהל .ןתוא האשרה תדחוימ תעגונ תורשפאל רידגהל חתפמ רז עיבצמש סחיל רחא .והשלכ הרדגה לשתוחתפמ םירז איה קלחתרדגהמ תינבתה לש ,סחי ךכ הרואכלש ימ השרומש רידגהל תינבת ךורעלו הב םייוניש לוכי םג רידגהלתוחתפמ .םירז ךא הרקמב הז וילע לבקל םג האשרה תיפיצפס עיבצהל לעחתפמה לש סחיה רחאה 161010).ת065 תועצמאבתרדגהחתפמה .רזה יהוז תאשרה הינפה ) privilege
ףיעס4.7.4רפסב
ךירדמהדימלקרפל | 4- SQLתמרםייניב * 111 המגוד4.17:המגודב 4.9ונגצה תאתרדגה סחיה DOV,designחתפמ רזעיבצמה : areay foreign key (a_name)referencesarca חיננ תאש סחיה designרידגה להנמ תקלחמ ןוניגה לש ,הייריעה יכו םש שמתשמה ולש אוה Nofirםילעבכ לש סחי הז אוה לבקמ ןפואב יטמוטוא תא לכ תואשרה השיגה ,וילא ללוכהאשרהה ןכדעל תא.תורדגהה ךא ןוויכמ ןיאש אוה םילעבה לש סחיה 4108,השורד ול תאשרה הינפה תדומעל חתפמה ,ולש ידכ לכויש רידגהל תא *וליאחתפמה רזה .ליעל ידכ קינעהל ול האשרה וז שי עצבל תא :הארוהה areatoNofirסח)grant references(a_name
.הזעודמ שורד !םצעב הזיא גוסהנגה תקפסמתאשרה !הינפה ' חיננ טלחוהש תונשל תא המש לש הקלח ,תמיוסמ ידכ חיצנהל תא דחא יריקימ ריעה ךלהש .ומלועל יוניש הז ךירצ אובל ידיל יוטיב ןוכדעב הרושה המיאתמה סחיב 4104.ךא ןוויכמ design-avרדגומ וליא לש חתפמ רז הנפמה הדומעל וז-4104,ב PNילעבל סחיה 4104תורשפא ןכדעל תא םש הקלחה ,םנוצרכ ילב טוקנל תולועפ תומיאתמ תרימשל וליאחתפמה .רזה תקנעההאשרהה רידגהלחתפמ רז הומכ המכסהכ לבקלהלבגה וז לפטלו הב תעב .ךרוצה
תרבעה
תואשרה
וניאר לכש ימ רצויש סחי ןכו( טבמ וא )דיקפת לבקמ תיטמוטוא תא לכתואשרה השיגה טקייבואל ,רציש יכו ןלהנמל סיסב םינותנה) (DBA-Nשי תיטמוטוא תא לכ תואשרהה לכל סיסב .םינותנה יתמ םא ןכ םיקינעמ !תואשרה ימו השוע !תאז ןלהנמ סיסב םינותנה ילעבו תואשרה השיג םיטקייבואל ףקותמ תריצי םיטקייבואה וללה םילוכי םג קינעהל תואשרה הלא האלהםישמתשמל .םירחא ימ לביקשהאשרה תועצמאב תארוה grantוניא לוכיריבעהל התוא האלה אלל רתיהשרופמתושעל .תאז רתיההשרופמה עיפומ קלחכתקנעהמ.האשרהה
ףיעס4.7.5רפסב
2
תוכרעמיסיסבםינותנ
המגוד 6.18:ידכבצעמהש 1Vי'ןדע DIVרשפאל טנטסיסאל ולש ןכדעל םינותנ בוציעבהקלחההדקפוהש ,ודיב וקנעוי ולתואשרה ,ןוכדעה ללוכ רתיההןריבעהל :האלה )grant update (p_name,quantity design_detailsסח ' Wןדע to ;with grant option תורשפאה ריבעהל תואשרה האלה תרצוי תשר לש תקנעה תואשרה ןיב םישמתשמ.תכרעמב תשר וז תנתינ רואיתל תועצמאב ףרג ,ןווכמ לכש דוקדוק ולש גציימ שמתשמ קיזחמה האשרה ,תמיוסמ תותשקהו תואטבמ תקנעה האשרה דוקדוקמ דחא דוקדוקל .רחא לבקתמ ףרג תקנעה .תואשרה לולכמ ףרגתקנעהתואשרה authorization graph עדימה לולכה וב קזחומ לע ידי תכרעמה גוצייב( )םיאתמ לע תנמ ףוכאל תא תורדגה.תואשרהה עדימה לולכה ףרגב אלמה בכרומ :ידמל ןנשי תואשרה םיגוסמ ,םינוש תוסחייתמה השיגל םיטקייבואל םיגוסמ ;םינוש םישמתשמה םילוכי תויהל םישמתשמ םייפיצפס וא ;םידיקפת םה םייושע תויהל ירצוי םיטקייבואה םירומאה וא לבקל תא האשרהה ;םירחאמ לכ האשרה הלוכי לבקתהל םע תורשפא הקינעהל האלה וא ילב תורשפא .וז ,ףסונב האשרה היושע לבקתהל המכמ תורוקמ .ליבקמב המגוד 4.19:קורייי "םייניעב אוה בצעמ תוניג קסעומש DYידי ,הייריעה הזככו לביק תאשרה השיג סחיל" W .design_detailsןדע ןיינועמ רזעיהל וב בוציעב .design_detarls-2 הקלחהרסמנש ,ותוירחאל םשלו ךכ קינעי ול ףא אוההאשרה ןוויכמ לביקש האשרה וז םע רתיה הרבעה— - with grant optionוז הלועפ .הניקת יפכהארנש,ךשמהב שיתועמשמ רוקמל,האשרההתכרעמהו רומשת תא ינש יביתנתקנעה,האשרהה תורמל איהש .ההז לכ דוקדוק ףרגב ליכי אופא עדימ :בכרומ םש שמתשמה וא( ),דיקפתה גוס רויאב4.11רפסבסרוקה ימע()171עיפומףרג ,האשרהה טקייבואה וילעש הלח,האשרהה ןויצ ינאילוב סאה שי רתיה הקינעהל תקנעהתואשרה הרבעהללש סחייתמה האלה וא ,אל ןויצ ינאילוב םאה לעב האשרהה לביק התוא ףקותמ תריצי האשרהתיפיצפסתחא .דבלבןכל לכדוקדוקוב טקייבואה ואשמתשממ .רחא ליכמקרתאםש .שמתשמה המגוד 4.20:ידכ םיגדהל ,תאזהנבנ תאףרגתקנעהתואשרההלבקתהש לולכממ תואמגודה ונאבהש דע הכ רובע ךרעמי" ןוניגה .יינוריעה תואשרה תונקומה
ךירדמהדימלקרפל | 4- SQLתמרםייניב113 % ףקותמ תריצי הלבטה תונמוסמ .תיבכוכב תואשרה תוללוכש םג רתיה ריבעהל האלה תונמוסמ יתשב .תויבכוכ ונחנא םיחינמ יכ 0ם-84ה אוה םילעבה לש לכ םיטקייבואהםיפתתשמה,תכרעמב אוהו קינעמ תא תואשרהה תוינושארה לכל .םישמתשמה,לשמל( םג ימ רצויש הלבט ךירצ תויהל השרומ רידגהל ).תוינבת ןכל דוקדוק רובע DBA-Nעיפוי םעפ תחא,דבלב אוהשכ ללוכ קלחכ ותרדגהמ תא לכ,תואשרהה םעתורשפא ןקינעהל .האלה
ןג ןדע update(p-name, )quantity on design-details \ קורי םייניעב update(p-name, )quantity on design-details
Nofir update on design-details * Nofir all privileges on design .
הניג ילהביבח select on work-assignment DBA הניג ילהביבח all privileges g/-work-fulfillmentסת
הניג ילהביבח all privileges work-fulfillmentסת
-
gardener all privileges work-fulfillmentסמ
רויא4.5ףרגתקנעהתואשרה שמתשמל םיוסמ שי תאשרה השיג ,תמיוסמ ראותמכ דוקדוקב םיאתמה,ףרגב םא קרו םא שי לולסמ לשתקנעההאשרהה ןמ כמ-84ה דעו .וילא תלילש
תואשרה
ףיעס4.7.6רפסב
ןלהנמ סיסב םינותנה וא םילעבה לש טקייבוא םילוכי לולשל תאשרה השיג טקייבואלשמתשממ לביקש .התוא
₪ 4תוכרעמיסיסבםינותנ ריבחת :הלועפה גוסהאשרהה revoke < םש ,סחי >טבמ on םשדיקפת from תלילשל תואשרה תויושע תויהל המכ :תוכלשה הלילש "תעפעפמ" - :cascading revocationםא הללשנ האשרה שמתשממ ךישמהש קינעהו התוא רָחאל -הלילשהייעפעפתי" ,האלה האשרההו םגללשית.רחאהמ הזלהונ אוהתרירב,לדחמה ךארשפא םג ןייצל ותואשרופמב DYידי תפסוה ןויצה 0850406ףוסב תארוה.הלילשה תלילש האשרה הקנעוהש המכמ :תורוקמ םאשמתשמ Uללששמתשממ V האשרה קינעהש ול םדוק ,ןכל ךא * לביק התוא םג רוקממ רחא " -ךישמי קיזחהל.האשרהב םע ,תאז תשקהףרגבהדיעהשDYתקנעההאשרהה ז[-מ *\-ל .קחמית /חיננ U-vקינעההאשרה תמיוסמ oy,V-2רתיההריבעהל .האלה * קינעה התוא האשרה הרזחב -0,ל ידכ ייןגהליי וילע ינפמ תלילש .האשרהה םאה ןויער הז לחני!?החלצה המ הרקי םא ןלהנמ סיסב םינותנה לולשי התע תא האשרהה וז-0מ םא Uאוה רוקמה דיחיההאשרהל לש ,ץ תלילשותואשרההתלהנתמ לע יפ להונ 6850406,ירה תלילשש האשרהה U-nלע ידי ןלהנמ סיסב םינותנה םורגת התלילשל םג \,ץ-מ םשמו בוש םג ,U-nךכ םהינשש ודבאי תא .האשרהה חיננ -1ש קינעה האשרה -",ל *-ו קינעה התוא האלה -)\.ל בלשב רחואמ רתוי Uללש תא האשרהה .ץ-מ האשרהה לש Wהכירצ ףא איה ללשיהל בקע .ךכ םלוא חיננ ירחאש V-vריבעה תא האשרהה \)-ל ינפלו איהש הללשנ ,ץ-מ Vלביק התוא םג םרוגמ .רחא,התע-17שכ ללש תאהאשרהה L,V-0םאההאשרהה לש Wהכירצ PRיללשיהל השיג תחא תרמוא ,ןכש ןוויכ *-ש קינעה תאהאשרהה\א)-ל חוכמ האשרה תעכש הדביא תא .הפקות השיג היינש תרמוא ,אלש ינפמ*ל-ש לביק התוא רוקממ ףקות .ףסונ SQLתטקונ תאהשיגה .היינשה רשפא לולשל תא רתיההריבעהלהאשרה ,האלה ילב לולשל תאהאשרהה :המצע
ךירדמהדימלקרפל | 4- SQLתמרםייניב 115 e גוסהאשרהה 101revokegrant option םש< ,סחי >טבמ on םשדיקפת from
תואשרה תמרב
הרושה
ףיעס4.7.7רפסב
לכ תואשרהה ונדש ןהב דע הכ ויה תואשרה השיג םיסחיל םימלש וא .םיטבמל שי תוכרעמתורשפאמשרידגהלתואשרה תויפיצפס ,רתוי שממתמרב,הרושה ךכ לכששמתשמ לכוי תוארל קר תורוש תומיוסמ ךותמ ,סחי ךרדב ללכ לש םינותנ םירושקה ,וילא אלו לכוי תוארל תורוש תורחא -לשמל תורוש תוליכמש םינותנ יבגלםישמתשמ ,םירחא םניאשו םישורד .ול ןויפא תורושהשמתשמש לוכיתשגל ןהילא ךותמ סחי עצבתמ תועצמאב םיאנת ,סייגול המודב קוספל .whereהתליאשב postgreSQL-2שי רידגהל הליחת רשפאש ללכב שמתשהל החטבאב תמרב החטבאתמרבהרושה row-level security ,הרושה הרדגהו וז איה יבגל סחי .יפיצפסתורשפאשכ וזתלעפומ -םירידגמ תא תוינידמ תואשרהה תינבתב סחיה תועצמאב תרדגה ,תוינידמ תללוכה תא םיאנתה policy .םייגולה המגוד4.21:המגודב 4.13וניאר ךרוצתאשרהליבגהל השיג קר תורושל תומיוסמ סחיב . work_fulfillmentוניצר רשפאל םילעבל לש הניגי ילי"הביבח חוודל לע עוציב תומישמהדובעה תועצמאב ןוכדע סחי ,הז ךא קר תורושתועגונש תוקלחל .ותוירחאבש ריכזנ תא תינבת סחיה: work_fulfillment )work_fulfillment(g_name,actno,date,a_name,p_name,quantity ומכ ןכ חיננ יכ רדגומ סחי םשב gardenersליכמה תא תמישר לכ םיננגה םע םיטרפ םינוש יבגל לכ :דחא gardeners (g_name, )g_phone,g_asddress החנהב רבכש ונרדגה תוינבת הלא תועצמאב ,create tableףיסונ התע תא תורדגהה תושורדה תורטמל .החטבאה ,תישאר ,רומאכ שי רידגהל רשפאש שמתשהלהחטבאבתמרב הרושה סחיב : work_fulfillment
6
תוכרעמיסיסבםינותנ ;alter table work_fulfillmentenablerow level security
תינש שי רידגהל תא ,תוינידמה קינעתש תאשרה ןוכדע לכל ןנג רדגומה סחיב ₪אוה םש ןנגה :השרומה gardenerךא קר תורושב ןהבשךרעההדומעב .תמס createpolicy work_report_policyon gardeners )using(g_name= current_user currernt_userאוההנתשמתכרעמ ילבולג לבקמהךרע יפלרשקהה ןמזב .הציר םיטרפ םיפסונ שי ןבומכ קודבל יכמסמב דועיתה לש PostgreSQLםאתהב .ךרוצל
קרפ
5
1
םדקתמ
תפש SQLהמצע הניא תפש תונכת :תילרודצורפ איה הפש תיתרהצה ),תיביטרלקד(הבש לכ הארוה ,-הרדגההפילש ואתלועפ ןוכדע לע סיסב םינותנה תדמועינפב,המצע תשגומו סיסבל םינותנה ןפואב .יביטקארטניארשפאשיגהלהרדס לשתולועפ קלחכ TN,Script-nהזהשענ ימעטמ תוחונ.דבלב םג הרדס וזכ תבכרומ תוארוהמ לכש תחא ןהמ תדמוע ינפב .המצע לדבהה ןיב הפש תיתרהצה וזכ ןיבל תפש תונכת תילרודצורפ אוה הפשבש תילרודצורפ שי םינבמ םייתונכת םירידסמה תא תמירז עוציב ,תינכותה םקלחו םינבמ םיבכרומ .םימכחותמו ןיב ראשה רשפא רוציל ,תואלול תויולצפתה תונתומ ףאו האירק תיביסרוקר תורודצורפל -םינבמ םניאש םימייק SQL-2 .תיסיסבה הפשכ תיתרהצה שי-.86(1ל תונורתי ינשמ :םיגוס ,תישאר איה הטושפ רתוי הדימלל הביתכלו תמועל תפש תונכת .תיללכ ,תינש בושחו אל תוחפ -ןתינ תינורקע חיטבהל עוציב ליעי ריהמו לש ,היתוארוה רבד אלש דימת ירשפא יבגל תינכותתפשב תונכת .תיללכ םע ,תאז םיגוס םימיוסמ לש תופילש סיסבמ םינותנה םניא םינתינ חוסינל תועצמאב קלחה יתרהצהה ליעיהו לש ,SQLךא םינתינ עוציבל תפשב תונכת תילרודצורפ .תיללכ
118תוכרעמיסיסבםינותנ שי המכ םיכרד ןתועצמאבש רשפא םילשהל תארעפה .הזה SQLהמצע העיצמ תובחרה תוילרודצורפ םיביכרמל רבכש ,ונרכה שיו םינונגנמ בולישל ןיב SQL ןיבל תופש תונכת .תויללכ קרפב הז ביחרנ תא ונתורכיה ,8)(1. oyריכנ תובחרה תוילרודצורפ ,הלש תויורשפא בולישל םע תופש תונכת תויללכ םיביכרו םימדקתמ .םיפסונ לכ הלא םימילשמ תא תפש SQLללכל קשממ לכל תורוצ השיגה שומישהו יסיסבב .םינותנ וארק רפסב תא קרפ 5,םיפיעס 5.3.- 5.1ףיעס 5.1קסוע תויורשפאב השיגה תכרעמל סיסב םינותנה ךותמ תוינכות תפשב תונכת .תיללכ רתיל קויד - תויורשפאב ליעפהל תוארוה SQLלבקלו תואצות דוביעל ךותב תינכות .בשחמ ףיעס 5.2קסוע תובחרהב -,8)(1ל תומייקש ךותב תוכרעמ יסיסב,םסינותנ ךכ רשפאש היהי ליעפהל הב תוינכות .תוילרודצורפ ףיעס 5.3קסוע גוסב דחוימ לש ,תויצקנופ תולוכיש ליעפהל תוארוה SQLןפואב ,יטמוטוא שישו ןהל תובישח הבר לככרבודמשתכרעמב תבכרומ .רתוי
השיג
-.5)(1ל
תפשמ
תונכת
ףיעס5.1רפסב
לכ תכרעמ הנכות תשמתשמ .םינותנב ,השעמל רשפא רמול הסיסבבש לש לכ תכרעמ הנכות הלודג שי DIתכרעמ סיסב ,םינותנ ןיבתכרעמש הנכותה תלהנמ תא סיסב םינותנה הלש,המצעב ןיבו איהשתרזענ היתורישב לשתכרעמ תידועיי לוהינל יסיסב .םינותנ השיג םינותנל תועצמאב SQLתישענ דימת DYידי שומיש היתורישב לש תכרעמ תידועיי לוהינל יסיסב .םינותנ תועמשמ רבדה ,איה ןיב י"יםישמתשמייהתכרעמב סיסב םינותנ סה תוינכות,בשחמ ואלו ,ראשה קלחש ןמ אקווד םישמתשמ .םיישונא,השעמל בורםישמתשמהתכרעמב סיסב םינותנ םה תוינכות .םושיי תכרעמה תידועייה איה תרש סיסב ,םינותנ לכו תינכות םושיי תוקל-תרש client-server תשגינה םינותנל תועצמאב היתוריש איה .חוקל SQLאיה ילכ השיגה סיסבל םינותנהתוכרעמב ,הלא ןכלו שורד קשממ םיאתמ הניב ןיבל תוינכותתופשב תונכת תונושתושקבמהתשגל סיסבל .םינותנה שי ינש םיגוס םיירקיע לש םיקשממ ןיב SQLןיבל תוינכות :בשחמ
ךירדמהדימלקרפל | 5SQLםדקתמ * 119 Embedded * - Embedded501,ץוביש,96(1תוארוה ןיב תורוש דוקה לש תינכותתפשב SQL ץובישתוארוהSQL תונכתה,תחראמה ןהשכ תונמוסמ ןומיסב .דחוימ הטישב וז תינכותהתרבוע ךותבתינכותהפשב תחראמ בלש לש רודיה )היצליפמוק( :םידקמ תוארוהה תוצבושמה ,תוהוזמ תוחלשנ תכרעמל סיסב םינותנה תקידבל תוניקת םוגרתו תעיבקלו ןפוא עוציבה ,םיאתמה האצותכו ךכמ תופלחומ יעטקב דוקהפשבתחראמה םיעצבמה תא תארוה . SQLתשקובמה הטישב וז הפשה תחראמה םירדהמהו )םירלייפמוקה( םימיאתמה םיקפוסמ םע תכרעמ לוהינ סיסב .םינותנה תוכרעמ תונוש תועיצמ ןווגמ הנוש לשתופש קשממב T Dynamic * - Dynamic SQLשומיש עונמב דחוימתפשב תונכתה ךרוצלתורשקתהSQL DY תורשקתה שומישעונמב תכרעמ לוהינל יסיסב .םינותנ הרקמב הז עונמתורשקתהה אוה דחא םילכה תינכותמתפשבתונכת SQL-Y םיקפוסמה םעתפש.תונכתה תינכותה תחלוש תוארוה SQLתכרעמל סיסב םינותנה תזורחמכ הליכמה תא טסקט ;הארוהה עונמה ריבעמ תזורחמ T תכרעמל סיסב םינותנה םוגרתל דוביעלו ןמזב ,הציר ריבעמוהרזחב תינכותל תא האצותה הלבקתהש תכרעממ סיסב םינותנה ךשמהל .דוביעה םיעונמ ODBC - Open הלאכ םיארקנ תופשב תונוש םשב .ODBCעונמה םיאתמה תפשב Data Java Base Connectivity ארקנ JDBC הטישב,הנושארה תטיש לובישההפשב,תחראמה םוגרתה רושיקהו ןיבתופשה םיעצובמ ןמזב רודיהה),היצליפמוקה( ןכלו רושיקה P2יביכר,8)01תוארוה ןיבל תוארוה תינכותה אוה ,יטטס עצבתמו ינפל תציר .תינכותה ,רמולכ לכ יביכר הארוהה ,-םינתשמ ,תואלבט ןכו ןפוא עוציבה -םיכירצ תויהל םיעודי .שארמ הטישב ,היינשה תמועל ,תאז םוגרתה תעיבקו ןפוא עוציבה םיעצובמ ןמזב ,הציר ךכ רושיקהש ןיבתופשה אוה ,ימניד ןאכמו המש לש.הטישה ןייצנ יכ תוינכותב םושיי *ופנ רתוי שומישה עונמבתורשקתה .ימניד לכב תחא ,תוטישהמ תינכות הצורש תשגל סיסבל םינותנ הכירצ םדוק לכ עצבל תורשקתה .וילא הילע רוחבל תא סיסב םינותנה שקובמה תוהדזהלושמתשמכ השרומ סיסבב םינותנ הז ידכ לכותשתשגל וילא עצבלו .תולועפ המייסשמ תא ,התדובע הילע קתנל תא .רוביחה ךלהמב ,תורשקתהה תינכותה הלוכי תשגל תורושל האצותה לש התליאש יהשלכ תועצמאב ןונגנמ ריבעמש הל הרוש תחא לכב.םעפ ריבסנ םיגדנו םיביכרמ הלא יתשב .םיכרדה *וביש תוארוה SQLהפשב תחראמ םגדויתפשב .Cתורשקתה תימניד םגדות JDBC-2לשתפש Java
0ף תוכרעמיסיסבםינותנ לוביש
תוארוה SQLהפשב
תחראמ
,רומאכ םיגדנ אשונ Ntתפשב .Cןומיסה דחוימה לש תוארוה SQLתוצבושמה תינכותב Cאוה םילימה תורומשה EXECSQLינפל תליחת ,הארוהה -הדוקנו קיספ :המויסב ;EXECSQL.... לכ תינכות וזכ תללוכהשולש םיגוס םיירקיע לש ,תוארוהרבעמ תוארוהלהשיגה סיסבל םינותנה :ומצע * תורשקתה לא סיסב םינותנה תוהדזהו * הרהצה DYםינתשמ םייטנוולרש( השיגל סיסבל )סינותנה * ןונגנמ תקירסל תורושתולבקתמה האצותכ סיסבמ .םינותנה ריבחתה יללכהתורשקתהל :אוה password,טפוחקEXECSQLconnect10serverusername הרהצהה לע םינתשמ הלולכ ךותב עטק תינכותב םוחתה P2יתש תוארוה :תודחוימ EXEC SQLBEGIN DECLARE SECTION ;EXECSQL END DECLARESECTION םינתשמ ורדגוהש קלחב הז םילוכישמשל םגתרושקתב ןיב תינכותה ןיבל סיסב .םינותנה,טרפב יכרע תודומעהתרושב האצותה םיטלקנ ךותל םינתשמ יסופיטמ םינותנה .םימיאתמה םינתשמ הלא םירדגומ קלחב הז לש ,תינכותה םהו םינחבומ ךותב טסקט לש תתליאש SQLתועצמאב םייתדוקנ ינפל םשה לש לכ .הנתשמ —cursorsןונגנמ
תקיריסל
תורוש
ולבקתהש
האצותכ
cursorאוה ןונגנמ תקירסל תורוש לש תאצות .התליאש והזהנבמ יגול רשוקמש התליאשל ,תמיוסמ רשפאו ותוארל תרגסמכ לש ,ןולחרשפאשיילולגלי" וירוחאמ תא התליאשה הרושקה ,וילא גיצהלו ןולחב לכב עגר ןותנ הרוש תחא סחימ האצותה .הלשתלעפהל ןונגנמה המכ :םיקלח ,תישאר שי תתל םש cursor-2ריהצהלו וילע לעכהנתשמ גוסמ cursorתליחתב .86(1הארוה הרידגמה תא :התליאשה ;EXECSQLdeclare namecursor 101guery
ךירדמהדימלקרפל | 5SQLםדקתמ * 121 ,תינש שי עצבל תלועפ החיתפ) (openלש ,cursor-iידכרשפאל תחילש תושקב תלבקל .תורוש םויסב לופיטהתורושב היהי ךרוצעצבל םגתלועפ הריגס(01056). ,ףוסבלו השקב תלבקל הרוש איה תועצמאב הארוהה fetchעוציב הארוה וז איבי ךרדב ללכ תאהרושה האבהתלבטב האצותה קיזחמש ,סטצ-501הTNרשפא םג תסוול תא ןוויכ הקירסה תאו הכלהמתרזעב םירטמרפ םינוש .הארוהל המגוד 5.1:הקלחמ יהשלכ הייריעב הצירמ תינכות תבשחמה תא ףקיה םימולשתהםסיננגל רובע שדוחה.ףלוחה תינכותה תשקבמתשגל סיסבל םינותנה לשךרעמ ןוניגה ידכ לבקל עדימ DYרפסמ הדובעהימידבעש לכ ןנגךלהמבשדוחה םכסלו תא ,םלוכ ידכ לבקל תא ףקיה םימולשתה .ללוכה סיסב םינותנה לשךרעמ ןוניגה ארקנ . gardeningונא םיחינמ תכרעמהיכ הריכמ שמתשמב םשב ,DEFAULTוניאש ךירצ ןיזהל .המסיס ןלהל עטקה יטנוולרה ךותמ :תינכותה
;EXECSQLconnect10gardeninguser DEFAULT ;EXEC SQL BEGIN DECLARE SECTION int ;days=0 ;]char g[20 int ;gdays ;EXECSQL END DECLARESECTION EXECSQLdeclare6 cursor for )selectg_name,count (distinct date from work_fulfillment = )wheredate_part (‘month’, current_date )date_part (month’, date group by g_name, ;EXECSQLopenc
cursor הרהצהלע םשבסורושיקו התליאשל
סטעפסע-ה תחיתפ
while found { ; into :g, :gdaysס EXECSQL fetch ;days= days+gdays } ;EXECSQLclosec
תפילשהרושתינרות ךותבתאלולwhile cursor-n תריגס
2
תוכרעמיסיסבםינותנ SQL - JDBC
ימניד תפשב Java
תורשקתהה תינושארה םע סיסב םינותנה הריזחמ טקייבוא גוסמ.connection הקלחמה connectionהליכמ תוטישתורשפאמה תינכותל עצבל תולועפ תונוש לומ סיסב ,םינותנה תינכותהו הליעפמ ןתוא תומוקמב םישורדה תועצמאב טקייבוא .הז ןונגנמה לש תצרה תארוה SQLסיסבב םינותנה בכרומ המכמ :םיבלש * תלעפה הטישה)( .createStatementהטיש וז תרצוי טקייבוא גוסמ 1,,אוהש ןיעמתפטעמ חולשמ רובע הארוהה .תשקובמה תינכותה תרשוקמ טקייבואל רצונש תועצמאב,הנתשמ איהותשמתשמ וב ידכליעפהל תא תוטישה לש הקלחמהstatement * םא הארוהה איה תארוה ןוכדע וא( הפסוה וא ),לוטיב םיליעפמ תא הטישה 00,תלבקמש רטמרפכ תא טסקטה לש תארוה ןוכדעה -ב .SQL +סא הארוהה איה,התליאש םיליעפמ תא הטישה)( executeQueryםגש איה תלבקמ רטמרפכ תא טסקט.התליאשה הטיש Tהריזחמ תינכותל טקייבוא גוסמ ResultSetליכמש תא לכ תורוש .האצותה eהקלחמל ResultSetשי הטיש םשב )( nextתקירסל תורושה וזב רחא ,וז .CUrsor-1 רשפאו אורקל הל ,האלולב המודב שומישל * םויסב שי רוגסל תא טקייבואה גוסמ statementררחשלו תא הנתשמה 010860. רשוקמש וילא לע ידיתלעפה הטישה ךילהתה ראותש ריבעמ תא טסקטהתליאשה ואולמב רטמרפכ תארוהל ,עוציבה ךא שי םג תורשפא ןיכהל תא טסקט התליאשה ,שארמ ךות שומיש םיביכרמב םקלחש םילוכי תויהל יתלב ,םיעודי ךא םייולתםכרעב לשםינתשמםהשלכ ןמזב .הציר המגודב ןלהלש קפתסנ ךרדבהנושארה.ונגצהש המגוד 5.2:גיצנ עטק תינכותעצבמה המישמ ההז וזלהגצוהש המגודב5.1.
ךירדמהדימלקרפל | 5SQLםדקתמ = 123
try
תורשקתהתינושאר טקייבואהוconn
;)Connectionconn= ....getConnection(... . ;)(Statementst = conn.createStatement ResultSetrs = st.executeQuery . +כיה(7selectg_name,count (distinct 02705 . ""from work_fulfillment’ +
תארוהSQL תחילש תכרעמלסיסבםינותנה ,טסקטכתלבקוהאצותה טקייבואבזפ -
;)”""group by g_name {)(while (rs.next ;)"days= days+ rs.getlnt("D ;)(st.close ;)(conn.close
תריגסSt תריגסרוביחה
)catch(exceptionsqle {
לופיטםיגירחב
System.out.println(”exception ;): " + sqle } המגודה הניא תבכעתמ לע יטרפ תוארוה ,תורשקתהה וטמשוהו תורדגה תומידקמ.Java-2רשפא תוארל יכ טסקטה לש תארוה SQLבכרומרושרשמ לש .תוזורחמ-תת המגודב וז הקולחה תוזורחמ-תתל תאטבמ תא תקולח התליאשה תורושל הניאש( ),תיחרכה ךא שי םיבצמ םהבש רושרש םיביכרמ אוה ,יחרכה רשאכ קלח םהמ םייולת םכרעב לש.םינתשמ ףיעסב5.1.2רפסב ראותמ ןונגנמ המוד דואמ Python-1
תורודצורפ
תויצקנופו
ףיעסב םדוקה וניאר יכ רשפא בותכל תוינכות בשחמ תושגינש סיסבל ,םינותנה ךכ רשפאששמתשהל תוינכותב תוינוציח עוציבל תופילש רשפא-יאש חסנל -ב .SQLדחי םע ,תאז שומישה תוינכותב תוינוציח דעוימ םיכרצל םהש רבעמ
..
4פ תוכרעמיסיסבםינותנ תמלשהלרעפה תלוכיב יוטיבה,8)(1,לש אוהוהנשמ תא תרוצהדובעה לומ סיסב םינותנה השיגמ הרישי תיביטקארטניאוהשיגל תועצמאבתלעפה .םימושיי ףיעסב הז ריכנ תויורשפא בולישל תוארוה SQLךותב םינבמ םייתונכת ,םיילרודצורפ הבחרהכ לש . SQLהמצע ךרדב וז רשפא רוציל תורודצורפ תויצקנופו תורמשנה ,תכרעמב תולוכיו ארקיהל ךותמ תותליאש וא תוארוה הרדגה .תונוש תוכרעמ הנכות לוהינל יסיסב םינותנ תועיצמ ךרדב ללכ ןווגמ םילכ ,םינבומ םיביחרמה תא שומישה ילרודצורפה -8)(1ב ידכלהפש האלמ וא ףא המכ.תופש יפכ רכזומש םג,רפסב שי תונוש הבר ןיב תוכרעמה יבגל ריבחתה לבוקמה ןהב ביכרל ילרודצורפה לש ,SQLאוהו ךרדב ללכ MYידמל ריבחתהמ .ינקתה תואמגודה גיצנש ןלהל ןהתארשהבריבחתה לבוקמהָ/קפפ)(-1ב,ע 1איהשהפש תילרודצורפ האלמ תינבומה ךותב.postgreSQL
תרדגה
,תויצקנופ
םירטמרפ
םינתשמו
הבחרהה תיסיסבה רתויב איהתורשפאה רידגהל תורודצורפ תויצקנופו,פ)נ-.1ב ךות שומיש ינבמב הרקב .םייתונכת תויצקנופה וא תורודצורפה תורדגומ תורמשנו,תכרעמב רשפאו אורקל ןהל ךותב תותליאש וא תוארוה ןוכדע המודב האירקל תויצקנופל הצבקה וא תויצקנופל לופיט ,םיכיראתב תונבומש ךותב PL/pgSQL-2םירידגמ תויצקנופ.דבלב תורודצורפןהטושפ הפשה רשאו וניאר םיקרפב .םימדוקה תויצקנופןניאשתוריזחמ ,רבדרשפאוןרידגהל .תויצקנופכ ךשמהב היצקנופ תרדגומ תועצמאב הארוהה .createfunctionהיצקנופה הלוכי לבקל סחייתנאופאתויצקנופל .דבלב םירטמרפ איהו הריזחמ ךרע סופיטמ .רדגומ היצקנופ הניאש הריזחמ ךרע זאו( איה השעמל )הרודצורפ הריזחמ ךרע גוסמ .voidםיגדנ תא הרדגהה רובע היצקנופ הריזחמה ךרע גוסמ TNIntegerלכ סופיט םינותנ יקוח.ירשפא createor replacefunction somefunc()returns integer 5 5 [declare )declarations begin Slatements ;end ;$$languageplpgsql
היצקנופה תרתוכ קלח תורהצהה קלחתוארוה היצקנופה
ףוג
ךירדמהדימלקרפל | 5SQLםדקתמ125 % תרתוכ היצקנופה הליכמ תא םילימה תורומשה ,create functionתא םש ,היצקנופה תמישר םירטמרפ היצקנופהש תלבקמ וא הריזחמ -ןיב ,םיירגוסה הלימההרומשה returnsהירחאו סופיט םינותנה ךרעהלשהריזחמש היצקנופה לוכי( רומאכ תויהל 7010),הלימהו הרומשה.as ןומיסה 55דימ רחאל תרתוכ היצקנופה הרושהו 55 languageplpgsqlףוסב תרדגה היצקנופה םניה קלח הנבממ תרדגה היצקנופה postgreSQL-1עודייו תכרעמה היצקנופהש תכייש קלחל ילרודצורפה,8)01.לש תפסותה or replaceירחאcreate-nתליחתב היצקנופה הניא,תיחרכה ךא איה תרשפאמ ןכדעל תא היצקנופה הרקמב הלחש תועט ,התרדגהב אלל ךרוצ תקיחמב היצקנופה התריציבו.שדחמ ףוג היצקנופה לכ( ראש )תורושה ךירצ תויהל
LIVגצומכ ףוגב היצקנופה
.ליעל קולבל שי ינש :םיקלח קלח ןושאר לש,תורהצה ליחתמה הלימב הרומשה 6,ובו םיריהצמ DYםינתשמה םיימינפה לש ,היצקנופה קלחו ינש לש ,תוארוה תומוחתה ןיב םילימה תורומשה 6. beginח-0ו קלח תורהצהה אוה ילנויצפוא -ונכתיי תויצקנופ ןניאש תושמתשמ םינתשמב .םיימינפ קלח תוארוהה לוכי ליכהל םיקולב ,םיננוקמ ותואב.הנבמ הזרכה לעהנתשמ קלחב תוזרכהה תללוכ תא םשהנתשמה תאו סופיט םינותנה ,ולש תמייתסמו .קיספ-הדוקנב רשפא לולכל הב םג תורדגה תופסונ ןוגכ ךרע תרירב .לדחמ היצקנופה הלוכי לבקל םירטמרפ טלקל וא .טלפל םירטמרפה םילבקמ ןפואב יטמוטוא תא תומשה 52 51,ןכו האלה -יפל רדס.םתרדגה ךא רשפא םג תתל םהל תומש םהש ילעב תועמשמ .ונרובע םירטמרפ םישמשמה טלקל םיעיפומ תמישרב םירטמרפה תחאב יתשמ :תורוצ וא DYידי ןויצ סופיט םינותנה,דבלב זאו םיכמתסמ לע תומשה םייטמוטואה ,ליינה וא תועצמאב גוז ללוכה םש רטמרפל תאו סופיט םינותנה .ולש םירטמרפ םישמשמה טלפל םינמוסמ תועצמאב הלימה outינפל םש,הנתשמה םכרעויתלחתהה אוה .םט[[ ךרעה היהיש םהל םותב תציר היצקנופה אוה ךרעה רזחויש .םדילע םג םירטמרפ גוסמ 01םילבקמ תומש םייטמוטוא,ליינכ םילוכיו לבקל םג .םש
86תוכרעמיסיסבםינותנ המגוד 5.3:רידגנ היצקנופ תלבקמש תומש לש ינש םיחמצ הריזחמו תא קחרמ הליתשה ילמינימה שורדה .םהיניב קחרמ הליתשה ילמינימה אוה םוכס םיסוידרה לש ינש .םיחמצה createfunction planting_distance(p1varchar(20), ))p2varchar(20 returns numeric(4,2)as$$ declare radl ;)numeric(4,2 rad2 ;)numeric(4,2 begin םselectp_diameter/2fromplantinto 1801wherep_name= 1 ;selectp_diameter/2from plantinto rad2wherep_name= p2 ;return radl+rad2 ;end ;55languageplpgsql רשפא אורקל היצקנופל Nךותמהתליאש וא ךותמ היצקנופ.תרחא ןפואבטושפה רתויב לכונליעפהל תאהתליאשה לשמל :ךכ 561604 ,ישורבי(; )ידרויplanting_distance הבושתב התליאשל לבקנ תא קחרמהליתשה ילמינימה ןיב שורב דרוול '. 1.50-מ
תוארוה ינבמו הרקב תוארוהה ףוגב היצקנופה תולוכי לולכל תוארוה המשה ,םינתשמל תלעפה תותליאש וא תולועפ ןוכדע הרדגהו ,SQL-2ןכו ינבמ הרקב םייתונכת ןוגכ תואלול םילוציפו .םינתומ היצקנופ סופיטש םינותנה רדגוהש הרובע וניא קיר ) (voidליכת דימת םג תארוה Lreturnהרידגמה והמ ךרעה רזחויש לע ידי .היצקנופה ףוג היצקנופה לוכי ןבומכ ליכהל המכ תוארוה,וסוטצומ םא הלא תולולכ ךותב הנבמ לש .לוציפ שי המכ תויצאירו ינבמל לוציפ :םינתומ ;if...then...end if ;[f.. then...else... end if [f.. then... elseif...then... end 11
ךירדמהדימלקרפל | 5SQLםדקתמ127 % המגוד 5.4:רידגנ היצקנופתלבקמש תא רפסמעובשההנשב הריזחמו תא הנועה המיאתמהעובשל .הז היצקנופ וזכ הלוכי שמשל תוקידבלהמאתה P2םינותנ לש יטרפ בוציע ןיבל תומישמהדובעהךרעמב ,ןוניגה וא םשלתנזה םינותנ תיטמוטוא םיבצמב .םימיוסמ היצקנופה הטושפ :ידמל הקולחה תונועל תעבקנ הב ןפואב ,יתורירש ןיאו לופיט םיבצמב לש טלק .יוגשךרעה רזחומה לע ידי היצקנופה אוה 8:ס8508ת5 סופיטמ םינותנהרדגוהשרבעב - ))createfunction season_ofweek(week_nonumeric(2,0 returns seasonsas$$ begin if (week_nobetween1and 10)or ’;(week_nobetween51and 53)then return 'winter ;’elseifweek_nobetween11and 23then return 'spring ;’elseifweek_nobetween24and 37then return 'summer ;’elseifweek_nobetween38and 50then return 'autumn ;endif ;end ;55languageplpgsql שישכ יוביר םילוציפ הזכשמשמההנחבהל P2המכ ,םירקמ רשפא םגשמתשהל הנבמב לש0856: ;056 when ... then ... 6156... end case ? וחסנ תא היצקנופה) season_of_week(week_noחוסינ יפולח תועצמאב וארהבושת5.1חפסנב ףוסב.קרפה .case
הרדגוהשמ היצקנופ וזכ,תכרעמב רשפא אורקל הל ךותמ תוארוה SQLתורחא .ןהשלכ המגוד 5.5:קרפב 4ונרדגה *וליא תוניקת אדוומההשלשש הרוצהמ (a_name, ) year, p_nameהרושב יהשלכ סחיב work_assigmentהעיפומ םג השלשכ הרושב יהשלכ סחיב design_detailsידכ אדוול תומישמש הדובעה ןכא תושמממ תא בוציעה :ןנכותמה check((a_name, ) a_name,year,p_nameוח)year,p_name )from design_details
8
תוכרעמיסיסבםינותנ
ונקדב תא המאתהה יבגל תונוכת הלא ,דבלב ןוויכ קרש ןה תופתושמ ינשל .םיסחיה תומישמ הדובעה הקלחב תמיוסמ תוטרופמ המרב לש עובש ,הדובע דועב יטרפ בוציעה הקלחל םירדגומ הנועל .המלש תרזעב היצקנופהתבשחמה יהמ הנועה לש לכ עובש לכונ קודבל שיש המאתה םג.הנועב תורשפא תחא איה ביחרהל תאתרדגה *וליאה אבומש :ליעל check((a_name,50850001 week(week),year,p_name)in (selecta_name,season,year,p_name )from design_details אל תכרעמלכב ןתינ חסנל ץוליא ןנוקמ .הזכ גיצנתורשפאתפסונ -חסננהתליאש ,טרפברשפא-יאחסנלךכ .postreSQL-2 תקדובש תא צ*וליאה שקובמה ןפואב .רישי איה תפלוש תורוש סחיב קה 1ושסז ןניאש תומייקמ תא .ץוליאה ,רמולכ התליאשה תפלוש תורוש רפסמש עובשה ןהב וניא םאות תא הנועה לש יטרפ בוציעה .םימיאתמה םא האצותה היהת הקיר -ירה םינותנהש .םיניקת ,תרחא תורושההנפלשיתש ןה תורוש .תויוגשרשפא קודבל תא םויק ץוליאה לע ידיתלעפההתליאשה יותיעב )(season_of_weekונרדגהש .םדוק .יוצר התליאשהתשמתשמ היצקנופב 501606 *W. from work_assignmentasW wherenot exists(selectD.* from design_detailsas D where W.a_name= D.a_nameand W.year= D.yearand 88
= )season_of_week(W.week_no ;)W.p_name= D.p_name
ינבמ הרקב םיפסונ םה תואלול המכמ .םיגוס גיצנ תאריבחתה יסיסבה לש םיינש םהמ -תואלול whileתואלולו : for while boolean-expressionloop Statements ; end loop תאלולב whileעוציב ףוג האלולה) (statementsרזוח לכ דוע םייקתמ יאנתה . boolean-expression-2יאנתה קדבנ ינפל לכ הסינכ עוציבל ףסונ יגולה רדגומה לש ףוג .האלולה for namein expression.. expression[by expression]loop Stalemenls ; end loop
ךירדמהדימלקרפל | 5SQLםדקתמ129 % תאלולב 101עוציב ףוג האלולה רזוח רפסמ םימעפ רדגומש שארמ לע ידי חווט , .exXpressionרמולכ ןיב ךרע יתלחתה רדגומש לע ידי -ה םיכרעה.. expression expressionןושארה ןיבלךרע יפוסרדגומש לע .ינשהידירשפא םג רידגהל הזיאב ןפוא םימדקתמ דחאמ ינשל תועצמאב קלחה ילנויצפואה .by expressionםא ןיא םינייצמ תאז -חווטה אוה ןיב םיכרע ,םימלש תומדקתההו איה בצקב לש 1 לכב.םעפ ךשמהב ריכנ םג הרוצ תדחוימ לש תאלול101תרשפאמש האלוללרובעל לע תורוש .CUTSOr האצותה לש,התליאש המודב ןונגנמל לש
שומיש cursors=a תחא םיכרדה תקירסל תורוש ולבקתהש האצותכ התליאשמ ךותב היצקנופ לש PL/pgSQLאיה שומיש ןונגנמב לש [cursorומכ ץובישב תוארוה SQLהפשב תילרודצורפ .תינוציח תאלול10ץ גוסהמ וניארש המגודב תמדוקה איה הנבמ עצבמה ןונגנמ הז ירוחאמייייםיעלקה ידכ לקהל DYתביתכ ,היצקנופה ךא אל לכב םירקמההנבמ הז .קיפסמ ,CUrSOT יפכ וניארש ףיעסב ,םדוקה ןונגנמה ללוכ הרהצה לע הנתשמ גוסמ 0,סטוי-501ה תאבה תורוש האלולב תסחוימש ול התליאשה ;היוצרה תחיתפ תועצמאב fetchףוסבלו תריגס.סטזפ0ז-ה רשפא ריהצהל לעהנתשמה ךות סוחייהתליאשה ,המיאתמה יפכ וניארש ףיעסב :םדוקה ;namecursor for query ,ןיפולחל רשפא ריהצהל לע הנתשמ גוסמ refcursorקלחב ,תורהצהה תאו רושיקה התליאשל המיאתמה עצבלדרפנב ךותב ףוג היצקנופה ירחא().טסקוח-ה המגוד 5.6:רידגנ היצקנופ תעצבמש התוא המישמ ומכ תואמגודב -5.2 5.1ו ףיעסב םדוקה -בושיח ךס םימיהודבעש לכםיננגהשדוחבףלוחה ךרוצל(תכרעה ףקיה).םימולשתה
ף תוכרעמיסיסבםינותנ0 createor replacefunction total_for_gardeners () returns numeric)6,2( 5 declare days gdays
integer; integer;
g
varchar (20);
0
refcursor;
begin וזתחאתורוצמרושיקהdays:=0 ה-הנתשמ תוירשפאהןיב התליאשה: ןיבלcursor openc for הנתשמהרדגומקלחב selectg_name,count (distinct date) תורהצההאללרושיק, התליאשלרושיקהו, from work_fulfillment DYבלושמב עצבתמ .Cursor-i תחיתפ where date_part’month’,current_date) =date_part(’'month’,dafe)0 date_part(’year’,current_date)= date_part('year’,date) group by g_name, loop fetch c into g, gdays;
אוההנתשמFOUND ינאילובילבולגלבקמשexit when NOT FOUND:; ןיאשכרתוי18180 ךרע .CUrsor-9 תורושdays: = days+ gdays; end loop; 01056 ;ס return days; end $$languageplpgsql; רשפאמש רובעל לעfor העיצמ םג גוס דחוימ לש תאלול PL/pgSQLרומאכ , ,CUrsorהשעמל והז ןונגנמ לפקמה וכותבתרדגה,התליאש.תורוש האצותה לש ותריגסו, ותחיתפ תפילש תורוש וזב רחא וז ךותמ האצותה, התליאשל, ורושיק תנכתמל: לכו הלא ןפואב ףוקשש for targetin queryloop stalements end loop;
ךירדמהדימלקרפל | 5SQLםדקתמ * 131 הנתשמה 41001לבקמ תא ךרעה יחכונה הריזחמש .התליאשה וילע תויהל וארטוריפלעיסופיט םינותנהלאיכמסמב .postgreSQL סופיטמ row recordוא תמישר םינתשמ םידרפומה .םיקיספב המגודב ןלהלש דועיתהלש שמתשנתמישרב.םינתשמ המגוד 5.7:תארקל םיגחה הייריעה תניינועמ קינעהל לכל ןנג יש יפסכ.גחל םוכס ישה בשוחי םאתהב רפסמל םימיה םהבש דבע ןנגה לע יפ חווידה .ולש לכל םוי הדובע לבקי ןנגה . 30םילקש הנבנ היצקנופהשעמל( הרודצורפ -ןוויכ הניאש הריזחמ לכ)ךרעהנובש הלבט,השדח הבש לכל ןנג הרוש תללוכה תא םוכס ישה אוהש . TRyלבקל היצקנופה תשמתשמ תאלולב 101תקרוסה האצות לש ,התליאש תשמתשמו ינשב םינתשמ ידכ רומשל תא ךרעה לש יתש תודומעה תולבקתמש תאצותבהתליאשה לכב :הרוש (createor replace function compute_holliday_present ) returns void 55 declare ;)gardenervarchar (20 ;integer
days
begin )createtable Aolliday_present varchar (20)primary key,קה ;)num_daysinteger ) (selectg_name,count (distinctdateוחfor gardener,days from work_fulfillment group by g_nameé loop insert into Aolliday_present ;)values(gardener,days*30 ;end loop ;end ;$$languageplpgsql היצקנופ וז הניא הריזחמ לכ,ךרע איהוהשעמל .הרודצורפ רשפא ליעפהל התוא לע :ידי 501001 ;)(compute_holliday_present
2
תוכרעמיסיסבםינותנ
האצותכהלעפהמ וז רצווית הלבטהשדח סיסבב ,םינותנה תב יתש :תודומע םש ןנגה םוכסו ישה .לבקיש רפסמ תורושה הב היהי רפסמכ םיננגה תכרעמב תעב תלעפה.התליאשה ! /וחסנ תא היצקנופה)( compute_holliday_presentחוסינ ,יפולח TNוארהבושת5.2חפסנב ףוסב.קרפה שומיש רישי.Cursor-1
םיקדה
)סירגירט(
,קדה וא ,רגירט אוה ןונגנמ םרוגש עוציבל יטמוטוא לשהלועפתרדגומ םייקתהב יאנת ןותנ תעב תושחרתה .עוריא תושחרתה עוריאה םויקו יאנתה םה ןיעמ הציחל לע ,קדהתמרוגש""תייריייל,הלועפה ןאכמו ומש לש .ןונגנמה
ףיעס5.3רפסב קדהtrigger
קדה יונבהשולשמ :םיביכרמ ,עוריא יאנת.הלועפו לכ םיביכרמה וללה םירדגומ שארמ קלחכתרדגהמ ,קדהה ךות טוריפ תויחנה תונוש ןפואל.ותלעפה עוריא אוה תחא תולועפהמ ,הפסוה ןוכדע וא הקיחמ תונפומש סחיל םיוסמ תכרעמב סיסב .סינותנה יאנת אוה יאנת יגול שיש קודבל לכב םעפ שחרתמש עוריאה רדגומה .קדהב שיתוכרעמןהבשרשפא ןייצלתקידבשיאנתה םסוקמב.עוריאה הרדגהה הלוכי לולכל היחנה םא קודבל תא יאנתה םרט תושחרתה עוריאה היהת postgreSQL-aרשפא רמולכ( ינפל עוציב לעופב לש תלועפ ,הפסוהה ןוכדעה וא הקיחמה וררועש תא שמתשהל תורשפאב וו יבגלםיטבמ.דבלב )הקידבה וא .הירחא חוסינ יאנתה לוכירזעיהל ינשב ינתשמ הרוש םידחוימ --018: newו * ךרעה לש 010אוה ןכות הרושה םישקבמש ןכדעל וא קוחמל -םא עוריאה אוה ןוכדע וא הקיחמ -יפכ ןכותש הז היה ינפלתושחרתה ;עוריאה * ךרעה לשתסויוצ אוה ןכות הרושה םישקבמש ,ףיסוהל וא הרושה לבקתתש רחאל ןוכדעה -םא עוריאה אוה הפסוה וא .ןוכדע 0108שיתועמשמ קרתולועפב ןוכדע ,הקיחמו יכוהנתשמל םישנ בל יכהנתשמל newשיתועמשמ קרתולועפב הפסוה .ןוכדעו הלועפה איה תארוה . SQLיהשלכ איה הלוכי עצבתהל תעפותכ יאוול לש תושחרתה עוריאה ,ומצע רמולכ ילבהערפה תומדקתהל ,עוריאה םאו יאנתה קדבנ ינפל עוריאה -תויחנהה תולוכי עובקל לעש הלועפה עצבתהל םוקמב
ךירדמהדימלקרפל | 5SQLםדקתמ 133 e .עוריאה םגהלועפה הלוכישמתשהלםינתשמב -010,newו ןכו לכב תורוש סחיה וילעש רומאעצבתהל .עוריאה דלשריבחתה לשתרדגה PostgreSQL-2triggerאוה :ןמקלדכ 016810 trigger name }{ before|after |instead01 }]] event[or... table_nameסח [ } ] for ] each] { row|statementpostgreSQL-aביכרה 1אל.ליעפ [)[ when( condition )(executeprocedure function_name: ריבחתה אלמה ללוכ דוע תורדגה .תוילנויצפוא ומכ ,ןכ שי תולבגה לע קלח םיביכרמהמ וא לע םיפוריצ ,םהלש ןכלו שי קודבל תא דועית תכרעמה ידכ רידגהל triggerןפואב .ןיקת המגוד 5.8:קרפב 4ונעבצה לע תויתייעבה לש ןוכדע תועצמאב ,םיטבמ וניארו יכ רשפא ריתהל ותוא קר םיבצמב םילבגומ .דואמ דחא םיבצמה וניצרשרשפאל וב ןוכדע תועצמאב טבמ היה יחווידהדובעה לשםיננגה תועצמאב טבמה ישיאה לש לכ דחא ,םהמ יפכונרדגהש המגודב 4.4קרפב 4.ידכ שממל ,תאז לכונ רידגהל קדה),רגירט( רימיש תיטמוטואתלועפ ןוכדע לע טבמ הזכתלועפב ןוכדע לע סחיה .work_fulfillment—>pnn גיצנ ןלהל תאתרדגה רגירטה רובע טבמ יפיצפס— . g2_work_fulfillmentגיצנ הליחת תאתרדגה טבמה 10177סושסתא ,ט 2אוהש טבמה ישיאה לש ןנגה ןגד" י'ןגב רובע יחוויד,הדובע הירחאו תאתרדגה קדהה)רגירט(.£2_update createview g2_work_fulfillmentas * select from work_fulfillment ! P75ןגב =whereg_name createtrigger g2_update insteadofinsert ושס= ק 2סח 1 for eachrow ;)(executeprocedureg2
4
תוכרעמיסיסבםינותנ
postgreSQL-aהלועפה תעצובמה תובקעב קדהה )רגירטה( תבייח תויהל תרדגומ ךותב היצקנופ הריזחמש ךרע סופיטמ triggerןכלו DYהיצקנופה ריזחהל 010, newוא .nullתרדגהב רגירטה ליעל ונארק הל ()92.תא היצקנופה שי רידגהל ינפל.רגירטה ןלהלתרדגה היצקנופה :המיאתמה createfunction g2() returns trigger 5 begin insert into work _fulfillment values ) P71, new.actno, new.date, new.a_name, new.p_name,ןגב ;)new.quantity ;return null ;end ;$$languageplpgsql והז קדה טושפ ,תיסחי ןהתרדגהב יאנתה ןהו ןכותב.הלועפההמגודב האבה גיצנ רגירט בכרומ .רתוי המגוד 5.9:קרפב 4ונרדגה ץוליא גוסמ Lassertionותרטמש התייה קודבל המאתה ןיב תומישמ הדובעה תוסנכומה סחיל work_assignmentןיבלY079 בוציעה לש הקלחה המיאתמה תפוקתב ןמזה .המיאתמה ןכות *וליאה היה הקידב םא ףוריצ תונוכתה) (a_name,year,p_nameעיפומשהרושב יהשלכ -ב work_assignmentעיפומ ףוריצכ ) Dהרושב יהשלכ .design_detarls-2הלא תונוכתהתופתושמה ינשל ,םיסחיה םאו תומישמהדובעה תושמממ תא בוציעה המאתה וזכ הכירצ .םייקתהליתמ הצרנ קודבל תא וצוליאה ,השעמל לכב הלועפ לש תפסוה הרוש -ל work_assignmentוא ןוכדע .הרוש םא *וליאה םייקתמ -רשפאנ תא עוציב הלועפה הפסוה( וא ).ןוכדע םא אל -עבקנ וזש הלועפ :היוגש איצונ העדוה המיאתמ אלורשפאנ תא .עוציבה לכונ אופא רידגהל *וליא הז קדהכ ):רגירט( עוריאה היהי הפסוה וא ןוכדע -ל ; Work_assignmentיאנתה היהי תעפוה תשלש םיכרעה םישדחה םידעוימה( ,הפסוהל וא ולבקתיש רחאל תלועפ ןוכדעה )תשקובמה (a_name,year, ) p_nameהרושב יהשלכ סחיב .design_detailsםא יאנתה םייקתמ -הלועפה היהת VIVעוציבהלועפה .תשקובמה םא יאנתה אל סייקתי -הלועפה היהת תאצוה העדוה תריצעו .עוציבה
ךירדמהדימלקרפל | 5SQLםדקתמ 135 e ןלהלהרדגהתירשפא:postgreSQL-2 )(01"616or replacefunction check_assignment returns trigger 5 5 begin 11(new.aname,new.year,new.pname)not in then )(selectaname,year,pnamefrom design_details begin ;’raisenotice’assignmentcontradictsdesign ;return null ;end else ;return new ;end if ;end ;$$languageplpgsql createtrigger work_design_correspondence beforeinsert or updateon work_assignment for eachrow ;)(executeprocedurecheck_assignment תייצקנופ רגירטה תלבקמ קלחכ טלקהמ הלש תאםינתשמה ,new-)oldתולתב הלועפב הארקש .היצקנופל ,לשמל תלועפב 11801שי ךרע שדח -המושרה םיצורש ףיסוהל סחיל -ןתינותשגל לכל תחא תודומעהמהמושרב וז תייצקנופב רגירטה תועצמאב .new.attribute_nameהמגודב עיפומ לשמלםסיש.ץס8ו . ךרעה היצקנופהש הריזחמ עיפשמ.DYהלועפה םא םיארוק תייצקנופל רגירטה ינפל,הלועפה תרזחה nullוא018תלועפל( )ןוכדע אל עצבת תא.הלועפה תמועל ,תאזתרזחה newעצבת תא.הלועפה תייצקנופ רגירט תלבקמ םינתשמ ,םיפסונ לשמל [TG_OPןייצמש תאהלועפה הארקש .היצקנופל המגודב ,ליעל TG_OPליכי דחא ינשמ :םיכרע INSERTוא UPDATEתולתב הלועפב הליעפהש תא ,היצקנופה ךכ ןתינש קודבל ' TG_OP="UPDATEקלחכתלועפמ היצקנופה עצבלותולועפ וא תוקידב תונוש םא רבודמהפסוהב וא .ןוכדעב
6
תוכרעמיסיסבםינותנ
הארוהה raise exceptionאיה הארוה PLpgSQL-2תריצעל עוציבה תאצוהו העדוה בקע.האיגש םא םיצור איצוהל העדוה הניאש תעדוה האיגש הניאו תרצוע תא עוציבה -רשפא שמתשהל .raise notice-1ינשב םירקמה ןכות העדוהה עיפומ ןיב םיישרג TNירחא דמצ םילימה תורומשה raiseexceptionוא raise .notice
137 eםדקתמ SQL | 5 ךירדמהדימלקרפל קרפה
ףוגבש
תולאשל
תובושת
חפסנ:
5.1הבושת create or replace function season_of_week (week_nonumeric(2,0)) returns seasonsas$$ begin case when(week_nobetween1and 10)or (week_nobetween51and 53)then return 'winter;’ whenweek_nobetween11and 23then return 'spring’; whenweek_nobetween24and 37then return 'summer’; when week_nobetween38and 50then return 'autumny; endcase; end; $$languageplpgsql; 5.2הבושת returns void createor replacefunction compute_holliday_present1() as$$ declare gardenervarchar (20); days integer; 0 cursor for (selectg_name,count (distinctdate) from work_fulfillment group by g_name); begin createtable holliday_present(gn varchar (20)primary key, num_dzl_vs integer); open;ס loop fetch c into gardener,days; exit when NOT FOUND; insert into holliday_presentvalues(gardener,days*30); end loop; closec; end; $$languageplpgsql;
תוכרעמיסיסבםינותנ
8
5.3הבושת createor replacefunctionassignment_for_gardenerl (namevarchar, startingdate) returns refcursor 5 declare res refcursor; begin openresfor execute (' selectweek_no,a_name,p_name,quantity’ \י from work_assignment וי whereg_name= ! |lquolc_lilcral(name)'ו and’ I’ year= date_part) |quote_literal('year’) ,'ו date("ו quote_literal(starting)Il"))and* " week_noC םאה תולתה AC—Dתאצמנ ו-*8ב ידכ תונעל DYהלאש וז שי בשחל תא רוגסה לש תצובק תונוכתה {ACTתחת F קודבלו םא *}AD}c{AC דעצב :ןושארה ){AC}+ = {AC דעצב ינשה םיפיסומ תא Bלע יפ תולתה:C—>B א)'מ[ ) = } = {AC}U{Bא)()+ דעצב ישילשה םיפיסומ םג תא Dלע יפ תולתה :AB—D {AC}*+= {ACB}U{D}=R
@186תוכרעמיסיסבםינותנ עגרבונפסוהש תא Dרוגסל לש {ACTונא םיעדוי תולתהיכ AC—Dהלח Ry F DYyידכ עיגהל הנקסמל וו השקהברה .רתוי שומיש יללכב קסיהה
יוסיכ
ינונק
יוסיכ(
)ילמינימ
סחי םייקמה הצובק 5לש תויולת תוילנויצקנופ םייקמ םג תא לכ תויולתה תוילנויצקנופה-*5.בש ,ןכל ידכ קודבל םא סחי םייקמ תא לכ םיצוליאה םילחה וילע לע יפ תויולתה ,תוילנויצקנופה יד קודבל םא אוה םייקמ תא ,.השעמל םא לכונ אוצמל תצובק תויולת תמצמוצמ דוע רתוי ,ם-מ רוגסהש הלש אוה ,ת* לכונ קפתסהל תקידבב תויולתה הצובקב .וזךשמהב רידגנ וליא םיאנת הכירצ תצובק תויולת םייקל ידכבשחיתשי"יתמצמוצמיי .היד אהת 8הצובק הנותנ לש תויולת .תוילנויצקנופ יוסיכ ינונק לש Fאוה תצובק יוסיכינונק cover .canonical : LEFeתמייקמה תויולת תוילנויצקנופ םילבוקמםגתומשה oתר = .תדרשפא( אטבל תאז םג :ךכ תויולתהלכ F-2תועבונ תיגול 227,Fe-nיוסיכ ואסיסבילמינימ )(minimalbase תויולתה -;5ב תועבונ תיגול s(F-n * ףא תחא תויולתהמ Fe-aהניא הליכמ הנוכת ;תפדוע הנוכתתפדוע extraneous attribute * ת הניא הליכמ יתש תויולת תולעב ףגא לאמש.ההז הנוכתהעיפומה תולתבףגאב( לאמש ואףגאב )ןימי איה הנוכתתפדוע םארשפא קוחמל התוא ןמ תולתה ילב רוגסהש.הנתשי ןפואבו :ילמרופ אהת Fתצובק תויולת ,תוילנויצקנופ אהתו אD}: Rןחבנ םא שי הנוכתתפדוע תחאב תויולתה -8.ב המגודב ,וז הלאשה םא הנוכתתפדוע דצב לאמש תיטנוולר קר יבגל תויולתה):ם-Aהלח Ri 5y ןפואב ,יללכ ךילהת בושיחה ];לש הטישב Nאוה :ןמקלדכ * תצובקלכל תונוכת א תלכומה Ri-2בשח תא X+סחיב -8.ל * 86,א,הנוכתלכל םא :םייקתמ 1.םקא BeX+ .2 יזא תולתה X—Bתאצמנ Fi-a
תורוצ
* םאתצובקתונוכת הניאתללוכהנוכת העיפומהףגאבלאמשלש ,תולת ןיאךרוצקודבל ;התוא * םאתצובקתונוכת תללוכהנוכתהניאש העיפומףגאבלאמשלש ףאתולת -םגהתוא ןיא ךרוצ.קודבל
תוילמרונ
םיפיעסב םימדוקה ,וניאר יכ םא ונא םיכירעמ םיעפומהש לש תינבת תמיוסמ תורוצתוילמרונתונודינ רפסבףיעסב7.3. וליכי תויוליפכ ,תורתוימ ףידע קרפל תא,תינבתה ךכ קוריפהש היהי רמשמ עדימ רמשמו .תויולת ףיעסב הז הארנ דציכ םיכירעמ תא תמר תויוליפכה תינבתב ,הנותנ ךיאו ןתינ לבקל םיקוריפ ילעב תונוכתה .תויוצרה יפכ רבכש ןיוצ תליחתב ,קרפה לע ידי חותינ לש לולכמ סיצוליאה םילחה לע תינבת םירידגמ תא הרוצה תילמרונה .הלש תומייק המכ תורוצ ,תוילמרונ לכו תחא ןהמ תאטבמ תמר תויוליפכ .תמיוסמ ונא רידגנ יתש תורוצ תוילמרונ תועבונה חותינמ תויולתה .תוילנויצקנופה תורוצ הלא תואטבמ תמר תויוליפכ הכומנ ,תיסחי ןכלוףאשנ עיגהל םיקוריפל תורוצב תוילמרונ .הלא וארקרפסב תא םיפיעסה7.3.4.7.3.3,7.3.2,
.
ןּוכיִּתלדומבםיסחיה * 201 ךירדמהדימלקרפל | 7 הרוצה
תילמרונה לש - Boyceו - 0000BCNF
הרוצה תילמרונה היוצרה רתויב לע יפ תויולתה תוילנויצקנופה איה הרוצה —BCNF Boyce- CoddNormal תילמרונה לש-000[)- Boyceו .BCNF Form תינבת םיסחי oy Rתצובק תויולת תוילנויצקנופ Fאיה הרוצב תילמרונ BCNF םא לכל תולת תילנויצקנופ אnnהניא תילאיווירט םגו הניא תולת,חתפמב ןכש dept_noוניא חתפמ לש .םתוק ןכל תולת וז הניא תמייקמ תא תושירדה לש .BCNF ןוויכמ ונאצמש תולת הניאש תמייקמ תא תושירדהרדגהה לש ,BCNFרשפא ,השעמלףאםעפPNךרוצ קודבלתאלכתויולתה דימ עובקל יכ Empהניא ,BCNF-2ןיאו ךרוצ קודבל תא לכ תויולתה-+5.ב .ךשמהב -'1.בהארנתאז המגוד 7.20:התע ןחבנ תא תוינבתההמגודבש7.13: }Empl = (employee_id,dept_no); 11= {employee_id-< dept_no }Dept= (dept_no,managen);1. = { dept_no—manager
2פ תוכרעמיסיסבםינותנ חתפמה ליבקה דיחיה לשתינבתה Emplאוה} ), employee_idתולתהו -אלה תילאיווירט הדיחיההלחש לע Emplאיה תולתחתפמב .הזתינבתה Emplאיה אופא.BCNF-1 חתפמה ליבקה דיחיה לש תינבתה Deptאוה } L{dept_noתולתהו -אלה תילאיווירט הדיחיההלחש לע Deptאיה תולתחתפמב .הז םגתינבתה Deptאיה אופא.BCNF-2 תינבתה ןוכיתבש ןושארה הניא BCNF-1
N7,וז העיבצמ לע ךכ והזש ןוכית
הקולה תויוליפכב .תורתוימ יתש תוינבתה ןוכיתב ינשה ןה ,BCNF-2ןכלו ןוכיתב הז אל תויופצ תויוליפכ ,תורתוימ לככ ןתינש עובקל לע ךמס תויולתה .תוילנויצקנופה ןוכית לש סיסב םינותנ אוה BCNF-2םא לכתוינבתה וב ןה.BCNF-2 תואמגודב ליעל ויה טעמ תונוכת טעמו תויולת ,תוילנויצקנופ ןכלו היה תוהזללק תא תוחתפמה קודבלו םא תוינבתה ןה .BCNF-2המגודב ,האבה הבש קודבנ םאה תינבת איה LBCNF-2תינבתה תבכרומ טעמ ,רתוי ןיאו ונל עדימ לע ןתועמשמ לש תונוכתה תויולתהו .תואיצמב המגוד 7.21:אהת ) R = (A,B,C,D,Eתינבת ,םיסחי אהתו Fתצובק תויולתה תוילנויצקנופה תולחה :הילע ת(+--
F={C—>ABE,AB—D,BD
,הליחת שי אוצמל תא לכתוחתפמה םיליבקה לש .ם הנוכתה Cהניא העיפומ ףגאב ןימי לש ףא,תולת רמולכ הניא היולתףאב הנוכת,תרחא ןכלו תבייח תויהל הלולכ לכבחתפמ .ליבקבשחנ אופא תא:CH C+={C}U{ABE} U {D} = {ABCDE} =R ונאצמ יכ Cאוהחתפמ ליבק לש .א ןוויכמהנוכתהש Cתבייח תויהל הלולכ לכב חתפמ ,ליבק והז םגחתפמה ליבקה .דיחיה לכ תוצובק תונוכתה תוליכמה תא C ןה לכתוחתפמ.לעה לכ תצובק תונוכת הניאש הליכמ תא Cהניא.חתפמ התע ןחבנ תא תויולתה תוילנויצקנופה -?.ב תולתה,הנושארה ,C—>ABEאיה תולת.חתפמב ךא יתשב תויולתה ,תורחאה ףגא לאמש וניא חתפמ לש ,Rןכלו תינבתה הניא.BCNF-2
ןּוכיִּתלדומבםיסחיה 203 % ךירדמהדימלקרפל | 7 תינבתה Rהקול תויוליפכב ,תורתוימ ןכלו יאדכ קרפל התוא תוינבתל BCNF-2
? תואמגודב וניארש דע ,הכ דימת האצמנ תולת F-2הרפהש תא תושירדה לש ,BCNFואתינבתהש התייה הכהטושפ דע אלש היה טעמכלדבה ןיב ? 5- ןכלו אל ונקדב תויולת .תופסונ םא ונאצמ לכש תויולתה F-2תומייקמ תא תושירד ,BCNFםאה שי קודבל תויולת !תופסונ ' לע יפ,הרדגהה לכ תויולתה תולחש לע,תינבתה רמולכ לכ תויולתה ,ת*-ב תוכירצ םייקל תא .תושירדה ךא ,השעמל םא ונאצמ לכש תויולתה F-2 תומייקמ ,ןתוא חטבומ ונל םגש לכ ראש תויולתה תורחאה תומייקמ .ןתוא ידכ חכוויהל ,ךכב חיננ יכ ת איה יוסיכ .ינונק ) Fיאדווב הליכמ יוסיכ ).ינונק תויולת ןניאש תוכייש ם-ל ןה ינשמ :םיגוס * תויולת תוילאיווירט * תויולתתועבונה F-nתועצמאב יללכ .קסיהה תויולת תוילאיווירט תומייקמ תא תושירדה לש ,BCNFלע יפ.הרדגהה תויולת תועבונה F-nלע יפ יללכ קסיהה תובייח םגעובנל תצובקמ יללכ קסיה ,תמצמוצמ הנממש םיעבונ םיללכה .םירחאה סחייתנ יללכל גנורטסמרא הצובקכ המלש לש .םיללכ 7.4.1. יללכ גנורטסמרא םה ללכ ,תויביסקלפרה ללכ הלפכהה ללכו .תויביטיזנרטה ואררפסבףיעסב ללכמ תויביסקלפרה תועבונ תויולת ,תוילאיווירט יפכ וניארהש הרקמב .יללכה ללכהלפכהה רשפאמ ףיסוהל ינשל םיפגאה לש תולת הנותנ הנוכת וא תצובק תונוכת .ההז תולת אל תילאיווירט תמייקמה תא תושירד BCNFאיה תולת ףגאש לאמשהלש אוה.חתפמ תולתלעפוהש הילע ללכהלפכהה תמייקמ םג איה תא תושירדה לש ,BCNFןכשףגאב לאמשהלש תועיפומ תונוכתה ועיפוהשףגאב לאמש לש תולתה .תירוקמה 29DYללכ ,תויביטיזנרטה יתשמ תויולת תומייק תלבקתמ תולת ףגאש לאמש הלש ההז ףגאל לאמש לשתולתה.הנושארה ןכל םג ,ןאכ םא תויולתה תוירוקמה תומייקמ תא תושירד BCNEFףגא( לאמש אוה),חתפמ םג תולתה תלבקתמה תועצמאב ללכ תויביטיזנרטה תמייקמ תא .תושירדה
4פ תוכרעמיסיסבםינותנ קוריפ רמשמ עדימ
תוינבתל -ב BCNF
רויאב 7.11רפסב גצומ םתירוגלא יללכ לבקמה תינבת הניאש BCNF-2קרפמו התוא קוריפעדימ-רמשמ תוינבתל .BCNF-2םתירוגלאה לבקמ טלקכתינבת R תצובקו תויולת ] הלחה ,הילע אוהו חתופ בושיחב *5.ךא ,רוכזכ בושיח רוגסה לש תצובק תויולת לולע תויהל יתלב .ליעי םא סיננובתמ ףוגב ,םתירוגלאה רשפא תוארל-+*8ש שורד ידכ קודבל םא תולת תמיוסמ תאצמנ וב וא .אל ךא הקידב וז תנתינ עוציבל ,ליעי אלל בושיח רוגסה .ולוכ ןלהל גיצנ ןפואב אל ילמרופ הסרג לש ,םתירוגלאה הניאשתבשחמשרופמב תא. F+ולוכ הנותנ תינבת Rהצובקו Fלש תויולת תוילנויצקנופ תולחש .הילע ןויערה דוסיבש םתירוגלאה אוה אוצמל תולתהלחש לע Rהרפמו תא יאנת BCNFחיננ%,א'Rיזאקוריפ חתפמ לש 1.תולתה X—Yרבכ הניא הלח לעתינבתה 1P, Rהניאהרפמ N2לשתינבתיתשלתוינבתה תא יאנת .BCNFתמועל ,תאזתינבתב 81,אD,BD
רבכ וניארהמגודב תמדוקה יכתולתה AB—Dהרפמ תא יאנת , .BCNFןכל יפל ,םתירוגלאה קרפנ הליחת תאתינבתה יתשל :תוינבת )R: = (A,B,D )R, = (A,B,C,E תולתה תילאיווירט-אלה הדיחיה הלחש לע א 1איה LAB—Dידכ חכוויהל ךכב רשפא קודבל יכ [ ) = 8*, = {D} B+ = {B} ,Aס +ןכלו אל תולח לעתינבתה תויולת תוילנויצקנופ תוילאיווירט-אל תוללוכה הנוכת תדדוב ףגאב .לאמש ומכ
ןּוכיִּתלדומבםיסחיה 205 % ךירדמהדימלקרפל | 7 ןכ } {AD}+={ADןכו } .{BD}+ = {BDEךא , 81ם 6ןכלו םג אל תולח 8 5y תויולת אל תוילאיווירט {BD }-wוא } {ADתועיפומ ףגאב לאמש .ןהלש תולתה הדיחיה איה אופא AB—D R, byהלח תולתה C—>ABEאיהש תולת ,חתפמב ךא םג תולתה D,BD
רבכ ,וניאר יכחתפמה ליבקה דיחיה לשתינבת וז אוה } L{Cתויולתהורפהש תא םיאנתה לש BCNFויה .AB—DםסABE,AB—D,BD—E תולתב C—>ABEהנוכתה ם תפדוע ףגאב .ןימי ןיא תונוכת תופדוע ,תופסונ ןיאו יפגא לאמשרשפאש ,דחאל ןכלו יוסיכה ינונקה :אוה ,אם+ABE-2תולתה E—-Bהניא תכפוה ףא הנוכת תפדועל יפגאב םיכ תפדוע לאמש לש .תויולתה לבקנ :אופא ת,תAB,AB
םתירוגלאה רצוי תינבת תחא לכל תולת יוסיכב ,ינונקה אלא םא ןכ רבכ הרצונ תינבת םע ןתוא .תונוכת רוצינ אופא בוש ןתוא שולש :תוינבת ),8) R,=(AB,D) R:;=(B,D,Eם[ = (), תונוכתה לש תולתה ,תפסונה,ם+B-1BD—Eאג-ל שי ; Rתולח יתש תויולת תוילנויצקנופ :תוילאיווירט-אל
0ף תוכרעמיסיסבםינותנ אופא ינשתוחתפמ :םיליבק }). {BDםת[-ו תולתה BD—-Eאיה תולת,חתפמב ךא תולתה ם+-ם הניא תולת.חתפמב ףגא ןימיהלש לכומחתפמב ליבקה 8),ס[ ןכלו ג איה ANF-2 ונלביק אופא קוריפ רמשמ תויולת רמשמו ,עדימ תחאשתוינבתה ,3NF-212לכו תורחאה BCNF-2 / 3רשפאעיגהלתכרעמב וז יוסיכל ינונק,הנוש ונממו קוריפל.הנוש ובשח ,ותוא .ליגרתכ ' גיצנ תא יוסיכה :ףסונה }E, E>B >—
F.={C—>AE,AB—>D,BD
,םוכיסל ריענ יבגל תומשה הרוצ תילמרונ הנושאר וניארש( תליחתב )קרפה הרוצו תילמרונ ,תישילש םיזמרמה לע המויק לש הרוצ תוילמרונ ,היינש ילואו ),Dתיעיבר תישימח '.וכו םג הרוצה תילמרונה ,היינשה ,2NEאיה דדמ תמרל ,תויוליפכה איהש השלח 3NF-a1תויופצ רתוי ),תויוליפכ 2NF-21ךא אל , 3NF-nanyרמולכ( סחיב אוהש IRשי הל לכב תאז ןורתי םיוסמ לע LINFאיהש הרוצ תילמרונ אלל לכהלבגה תניחבמ .תויוליפכ ןוויכמ דימתש רשפא עיגהל םינוכיתל םהש , 3NF-2תוחפל סהו םג ילעב לכ תונוכתה תויוצרה ,תורחאה ןיא הרוצל תילמרונ Nתובישח .תישעמ תמייק םג הרוצ תילמרונ ,תיעיבר LENEךא וזתעבונ חותינמ לולכמ תויולת בחר רתוי רשאמ תויולתה תוילנויצקנופה דבלב -םג תויולת תוארקנה תויולת -בר .תויכרע תויולת ,תויכרע-בר הרוצ תילמרונ תיעיבר קוריפו תוינבתל הרוצב תילמרונ תיעיבר םיאבומ רפסב סרוקהףיעסב 7.6.רמוח הז אוה רמוח.תושר ומכ ןכ תומייק דוע תורוצ ,תוילמרונ תוססובמה לע חותינ םיגוס םיפסונ לש .םיצוליא הלא תורכזומ ףיעסב7.7רפסב ,סרוקה ןניאו תולולכ רמוחב .דומילה םיניינעתמל -וארק תא םיפיעסה םירתונה קרפב 7רפסב -הלא יפיעס ,תושר םיביחרמה םירישעמו תא.הנומתה
קרפ
8
יסופיט
םינותנ
םיבכרומ
םיקרפב םימדוקה ונקסע םיטביהב םינוש לש יסיסב סינותנ לדומב .םיסחיה וניאר לדומהש רשפאמ גצייל ןווגמ לודג לש ,סינותנ שפחל עדימ הרוצב המכח ,הליעיו להנל תוליעפ לשםישמתשמ םינוש תינמז-וב גואדלו תוניקתל .םינותנה תונוכתה וללה לש לדומ םיסחיה תויתועמשמ ,דואמ תושרדנו תוכרעמב םינותנ .תובר ךא םע םינשה ךלוה רבוגו ךרוצה םילדומב םירישע םישימגו ,רתוי םילוכיש לולכל םיגוס םינווגמ לש םינותנ ינבמו םינותנ םיבכרומ רתוי רשאמ .תואלבט לככ תולוכיש ,בושחמה הגוצתה,תיפרגה ,תרושקתה טנרטניאה ןווגמו ינקתה הצקה םיללכתשמ םישרפנו לע ינפ םימוחת םרפסמש ךלוה לדגו -רבוג ךרוצה םיכרדב תופסונ תושדחו גוצייל םינותנ םיגוסמ :םינווגמ םיטסקט ,םיכורא ,םיטוטרש תונומת יצבוקו ;לוק תוכרעמ הרקב תוברעמה ,םינשייח ,תומלצמ םינופלט םיבשחמו ;םידיינ תותשר םירושיק ;םידממ-תורידא היצרגטניא תוירושיקו ןיב .תוכרעמ ךשמב םינשה ושענ תונויסינ חתפל םילדומ םירישע םישימגו ,רתוי םינוויכב ,םינוש הלאו ושמומ תוכרעמב תוירחסמ ודעונש תתל הנעמ םיכרצל .ונראיתש תוכרעמהוחתופשתובקעב תונויסינה וללה וכז םשלתוכרעמיי , SQLייזוס אוהש םש ירנג וניאו ןייצמ לדומ דחא .םכסומ ךשמהב קרפה ריכנ המכ םילדומהמ .םישדחה בושח ןייצל יכ תונורקעה םהילעש ססבתה וחותיפ לש לדומ ,םיסחיה ןוגכ חותיפ תופש תותליאש םע סוסיב יטרואית תונתינו בושיחל ,ליעי תלוכיה אטבל קודבלו יצוליא תוניקת תלוכיהו להנלםישמתשמ םיבר תינמז-וב ךות הרימש לע תויבקע
2
תוכרעמיסיסבםינותנ
םינותנה -לכ הלא ושמיש הארשה סיסבו האוושהל םג חותיפב םילדומה .םישדחה קרפב הז ןחבנ םילדומ םיליכמה םיסופיט םיבכרומ לש :םינותנ יסופיט םינותנ םע םיכרע םניאש ,םיימוטא ךכבו םניא םימייקמ תאהשירדה תיסיסבה לש לדומ םיסחיה הרוצל תילמרונ ;הנושאר יסופיט םינותנ םיכרעהש םהב םניא םידיחא וא ןיאש םהל הנבמ רדגומ ;ללכ םילדומ םהבש םינותנה םניא םינגרואמ תואלבטב אלא םיפסואב םיגוסמ םירחא וא.םיפרגב
עדימ
הנבומ
ףיעס8.1רפסב
הצחמל
רוזחנ ךרעמל ןוניגה ינוריעה ןונכתלו .תוניגה קרפב 4ונגציי תא בוציע תוניגה תועצמאב יתש תוינבת לש :םיסחי ( 1110זוהקdesign(a_name,year,season,designer, )design_details(a_name,year,season,p_name,quantity רויא8.1 תוינבת הלא תוליכמ עדימ לבגומ .דבלב בוציעה ,ומצע אטבתמש הפמב לש הקלחה םע טוטרש לש ,ןונכתה רמשנ *בוקב ומשש לולכ סחיב designהנוכתה( ). 0תוהק ךא טרפ ,ומשל ץבוקה וניא קלח סיסבמ םינותנה ונכותו אל שיגנ .תותליאשל הצרנ ביחרהל תא גוציי ןונכתה ללכשלו תא שומישה וב DYידי םיננכתמה ,םיעצבמהו ךכרשפאש היהיתשגל םיטרפל םינוש לש,ןונכתה אוהו בלתשהללכוי ןפואב ילרגטניא םגתוכרעמב עוציבה בקעמהו ןוגכ( לוהינ,הדובעה לוהינ,שכרה ןונכת תרקבו היקשהה ).דועו שופיח ריהמ טנרטניאב הארי םייקש ןווגמ לודג לש תונכות הלאכ בוציעל ,תוניג DYקשממ,יפרג DYםירושיק םיגוסל םיבר לש עדימ וליפאו DYילכ .הרקבולוהינ תארשהב תוכרעמ גוסמ הז הסננ םיגדהל םיסופיט םינוש לש םינותנ םניאש ,םינָבומ אלא םינבומ הצחמל וא ילעבהנבמ הנושהנבממםסינותנה לדומב םיסחיה .ליגרה
ךירדמהדימלקרפל | 8יסופיטםינותנםיבכרומ * 213 המגוד 8.1:םרטב שגינ בוציעל הניג ,תמיוסמ הצרנ ףוסאל עדימ .יטנוולר,לשמל ונאובב רוחבל ,םיצע םיחיש םיחרפו הניגל הצרנ ןייעל עדימב לע לכ .חמצ תואמגודב לדומב םיסחיה ונרמש תונוכת NNתומיוסמ יבגל םיחמצ ןוגכ חוורמ הליתש הבוגו .ילמיסקמ תעכ הצרנ רזעיהל עדימב יעוצקמ בחרנ יבגל ,םיחמצהרשפאיש ססבל תאהריחבה:סהב סאה םה םימיאתמ הקלחלתניחבמ ,רוזאה םילקאה גוסו ועקרקה םאה םה !םירישנ הזיא רטשמ היקשה םיאתמ !םסהל והמ דעומ החירפה והמו?!הכשמ וליא יגוס לופיט !םישורד וליא יגוס םיקיזמ םילולע ףוקתל !םתוא םאה שי עדימ לעהמאתה ןיב תוגוז !םיחמצ .דועו ןכתי ףאהצרנש ןייעל תונומתב לש םיחמצה וללהתונועב תונוש לש,הנשה סיסבכ .ןונכתל עדימ הזכ ןתינ אוצמל ירגאמב עדי ונבנש לע ידי םיחמומ םוחתב וא ורבצנש םיכרדב לש ףותיש ,עדימ םבורו םינימז לוכלתשרב .טנרטניאה תונכות בוציעל תוניג ועיצי ךרדב ללכ השיג ירגאמל עדי םייטנרטניא קלחכ ילרגטניא ךילהתמ ,ןונכתה ןכתיו ירגאמש עדי םילולכ הנכותב .המצע םישנ בל יכ יפד טנרטניאה,םמצעםהבש גצומ עדימה ואםישמשמש תודוקנ השיג ,םירגאמל םגםסה גוס לש .עדימ שי םיפדב הלא םיקלח ,םינבומ ןוגכ URL-Nלש ,ףדה ירותפכ הלועפ ,םימיוסמ תורתוכ וא .םירושיק לבא םיביכרמל ,םיבר ןוגכ םיטסקט ,תונומתו ןיא הנבמ רדגומ שארמ וא ןיאש הנבמ .ללכ יפד טנרטניא עדימהנבומהצחמל םיבשחנ אופא עדימ הנבומ .הצחמל semi-structured data
עדימ
ילולימ
ףיעס8.3רפסב
עדימה ירגאמב עדי תמגודכ הלא ורכזוהשהמגודב 8.1אוה ובורב ,ילולימ קלחהו ילולימה בשחנ רסח .הנבמ רגאמ עדיה ולוכ ללוכ יאדווב םג תונומת םיביכרמו םינבומ ,םימיוסמ ךא עדיה ונאשםישפחמ יובח ךותב ,םיטסקט הלאו םינסחואמ .םיצבקב עדימ ילאוטסקט ןווקמ ןוגכ יפד,טנרטניא ,םירפס םינותיע וא םיגולטק םינווקמ document סה םינותנ ינפב ,םמצע םהו םיארקנ .םיכמסמ ךמסמ טסקט ליכמ ףצר לש ךמסמ ,םיוות רשפאו סחייתהל וילא םג לאכ ףצר לש .םילימ הצרנ היהתש תורשפא לאשתל ירגאמ ,םיכמסמ לשמל רתאל ךמסמ לע יפ .ונכות םג יסיסב םינותנ לדומב םיסחיה םילוכי ליכהל תודש ,םיילולימ וליפא ,םיכורא סאתהב תרדגהל .תינבתה TNהלא ולבגוי ךרדב ללכ ךרואל ילמיסקמ .םיוסמ
4פ תוכרעמיסיסבםינותנ תותליאשב SQLרשפא ףולשל םתוא קר ,םאולמב יפל םיאנת םהשלכ לע תודש ,םירחא וא לכל רתויה תמאתהב תוינבת ךותמ .הדשה ןיא ךרד החונ SQL-2 רתאל יכמסמ טסקט לע יפ יביכרמ .ןכות ירגאמ םיכמסמםיבשחנ יסיסב,1*08)(1.םינותנ ידכ שפחל יכמסמ טסקט יפל ,ןכות םיסחייתמ לכל הלימ טסקטב לאכ תלימ תלימחתפמ keyword ,חתפמ םיעצבמו שופיח יפל תולימ,חתפמ רמולכ םישקבמ רתאל םיכמסמםהבש תואצמנ םילימ ,תושקובמ םוקמב והשלכ .טסקטב
שופיח יפל
תולימ חתפמ
שופיח ךמסמ יפל תולימ חתפמ הנוש ותוהמב התליאשמ הליגר סיסבב םינותנ לדומב ,םיסחיה דחוימב רבודמשכ שופיחב תשרב .טנרטניאה תותליאש תוליגר תונפומ סיסבל םינותנ ,עודי ןתינש קורסל ,ותוא םג םא אוה לודג ,רזובמו ידכ רתאל תא.תובושתה תשר טנרטניאה הניא תנתינ הקירסל תללוכ ךרוצלתרזחה הבושת ןמזב ,ריבס רפסמו םיכמסמה םיליכמה ףסוא תולימ חתפמ םיוסמ יושע תויהל ,םוצע ךכ אלש ןתינ םגו אל ליעי וגיצהל .ואולמב םושמ ,ךכ שופיח יפל תולימחתפמךמתנ דימת תועצמאב ינבמ רזע םילהונמש לע ידי עונמ שופיחה וא תכרעמ ,םיכמסמה אוהו בלושמ ןונגנמב גוריד תובושתל גוריד ranking .תולבקתמה עונמ שופיחה גיצמ םדוק לכ תא תובושתה תולעב גורידה הובגה ,רתויב דוע ינפל הצומש.שופיחה המגוד 8.2:חיננ ונאשםישפחמ עדימ לע יצע ,תיז ךותמ הנווכבלשל םתוא ןונכתב .הניגה שופיח YNNIשופיח יללכ,לגוג( הרקמב )הז סע דמצ םילימה ביני תא ךסמתובושתה תונושארה :הזה
Nיייפוריא
ךירדמהדימלקרפל | 8יסופיטםינותנםיבכרומ * 215 יפוריא תיז
& = ..o םילכ
םינסוסדוש תופת[₪ תושיח \0 תוומת ₪ לסה ₪ ג )תוינש (0.48 תואצית 96,0002 ןוההו * +hebrew תווקפ+ "/יתיאיש wikilowers םס ו הדשה חמצ 'נגרלא- חמצ יאופר חמצ ןילבת 'פוריא: תיז םירמוא .םיחישי ךיראמו טזג כחר תרמצ רחה ץע אוה יתוברת תיז .ךומנ ץע דע-קורי אוה רב ץעכ יפוריא תיז העיבק תאזש הארב ךא ,הנש 2,000 ינב םה ץראב םיקיתע םיצעש 'פוריא * +wikiזת הווקפ« "חס wikipedia org תיז יפוריא- הידפיקיו .רב לדגה םייתיזה תחפשמב רע קירי ץע אוה ,תיזה .חוורהY וזשב (Oleaוא europaea ''עדמ ₪ש יפוריא( תיז תוצראב םיה .ןוכיתה תא ץעה םי'לדגמ םינגרכב אוהו תיזה ינז םייתוברה= םירשקה הירוטסיה תיזה ץע חווק//.5אוויא.וסא86ם..+|-00.ד ןוניגה םלועל רעשה TO KEEP יפוריא - תיז ךראמו עזג בחר .תרתצ בחר ץע אוהש יזפברת תיזל דוכינב ךומנ ירו דפ קורי ,הוב( אל רכ ץע אש- יפוריא תיז יצע עזג לש כרמ תעדליכ ןיירעמ ,ילוסיפ תיזה עזג םיחי םיחמצ= רידגה +hitps !וונוו 'ש com תיז יפוריא- יחוו'ד החירפ תונומתו םכלש !חטשהמ םיחמצהלש לארשי... הקירפא ןופצמ תוברתב םיתיז לודיג למרכבו לילגב רב ץעכ לארשי ץראב לדג תיזה יפוריא תיז לע עדימה לכ תברות אה םיחיכומיכ תירקראצ .ןוכיתה תרזמל T8 הפוריא םורדבו +OLEELR ¢plants Gcategoryסחנק =“Sofilx תומדוקלש תואסרג" )(problem_categories רחאל בושיח סחיה,זסחוק לבקתמ ןמ ץעה רויאבש: 11.2ץעה responsible w_id
temp רויא11.3 בלשה אבה ןורחאהו אוה בושיח הלועפה )= ₪(temp תלבקתמה איה תאצות.התליאשה
11.האצותה
ךירדמהדימלקרפל| 11דוביעתותליאש 279 5 המגוד 11.2:םיגדנ גוציי התליאש תועצמאב ץע יוטיב רובע התליאש תבכרומ .רתוי חסננ-.80(1ב תא התליאשה :האבה ואצמי תוינפתרבחמ ’ 'B-softרבכש ולפיט ןהב תוחפל םיימעפ רחאל תלבק ".החישה רשפא חסנל תאהתליאשה : SQL-2ךכ 561606חוסינבהתליאש ווונא call 7 םיחינמ לכיכםילופיטה from callas C, handlingasT1, handlingasT2םיליכמהותוארפסמ היינפועצוברחאלתלבק םימעפל(דימ whereC.client_id= "B-soft” andהחישה ),הירחא ןכלו ןיאךרוצ .1וס= C.call idand תוושהלןיביכיראת םילופיטהךיראתל T1l.call id=T2.callidand .היינפה (T1.h_date#T2.h_dateorT1.h_time+# T2.h_time םוגרתבהתליאש ווהרבגלאל לש םיסחי לבקתמ יוטיבהירבגלאה :אבה (110471 0(,'4(,‘//'61117 יי1ב-פס1שי=10 AT1.call_1d=C.call_idN T1.call id="T2.call_idn (T1.h_date# T2.h_datev T1.h_time# )T2.h_time )(pclcalh> prilhandling)x pr(handling התליאשה תלעופ DYהשולש יסחי :טלק סחיה [callינשו םיעפומ לש סחיה .handlingלבקתמ YיוטיבDYהשולש :םילע
ס81 6C.client_id ייג-פסושי= 'ד'גN [.087 =11 [.087 17 \ Tl.call_id =T2.call_id (T1.h_date+ T2.h_datev T1.h_time# )T2.h_time
T2ק
X
| handling
0 [ handling
ס | call
רויא11.4 הליחת שי ליעפהל תא תלועפ לופכשה לע תשולש .םילעה לבקתמלץעה אבה םירויאב( םיאבה ןמסנ תא יאנתהריחבה רוציקב לע ידי )):סמש
0ף תוכרעמיסיסבםינותנ
)000ו 7 4
רויא11.5 התערשפאבשחל תאהלפכמה תיזטרקה לש -12. Cו הנכנ תא סחי האצותה םשב 772,
רחאלתפלחהלץע-תתה ילאמשה רתויב סחיב,CallsTimesT2
לבקתמ :ץעה 1 C.call 1 6)'4 -11
[
CallsTimesT2 11.6רויא
רחאל בושיחהלפכמה תיזטרקה,תרתונה ךפוהל*עה ולוכ.ףנעל הנכנ תא תאצות .CallsTimesT2TimesT1 םייניבה
0-Cond CallsTimesT2TimesT1 רויא11.7
ךירדמהדימלקרפל| 11דוביעתותליאש 281 % ךשמה בושיחה המוד בושיחלףנעההמגודב :תמדוקהתלעפה תלועפ הריחבה לע ,CallsTimesT21ףוסבלו הלטה לעהדומעה call_id ךרד בושיחה תגצומה תואמגודב הלא איה .תירלודומ ,רמולכ ונא םיחינמ יכ םימייק תכרעמב םילודומ לש הנכות בושיחל לכ תחא תולועפמ ,הרבגלאה םילבקמה םיסחי .םירטמרפכ רבעמה לע XYיוטיבה רידגמ הרדס לש תואירק םילודומל ,הלא טרפשכ ,רדסל ןיא לכ תולת ןיב.תולועפה ,לשמל ןיא לדבה ןיב עוציב תלועפ הריחב לע סחי דדוב התליאשכ ,תיאמצע ןיבל תלועפ הריחב לע תאצות םייניב קלחכ בושיחמ התליאש .תבכרומ ךשמהב הארנ יכ שי םג תוטיש תובלשמה בושיח לש תולועפ תונוש ידכ לעייל תא .בושיחה
בלש
היצזימיטפואה
שי םיכרד תונוש עוציבל ךילהתה יבושיחה רדגומה בלשב .ןושארה בלשב אבה ירחא,חונעפה בלש ,היצזימיטפואה תוקדבנ תופולח תונוש עוציבל לעופב לש ,בושיחה הרטמב עיגהל תינכותל עוציב הליעי לככ.רשפאה תופולחה תולוכי תויהל ינשמ :םיגוס תופולח *על בושיחה ,ומצע רמולכ תאיצמ יוטיב לוקש ובושיחש ליעי רתוי אוהו ןתונ האצות,ההז וא תופולח םימתירוגלאל םישמשמה בושיחל תולועפ .תומיוסמ ןלהל הארנ תואמגוד תופולחל ינשמ .םיגוסה המגוד* 11.3:ע יוטיבההמגודבש 11.4וניא *עהירשפאה דיחיה רובעהתליאשה ,הנותנה םא אוהיכ עבונ תורישי ןפואמתביתכהתליאשה .SQL-2ןלהל ינש םיצע םיפסונ םיגציימה התוא :התליאש
2פ תוכרעמיסיסבםינותנ
COND [ X X
ק
-
P,
|
]
handling
call
handling רויא11.8
לעב ינשה לצפנ תא תלועפ הריחבה יתשל,תולועפ םאתהבו ךכל לצפנ תא יאנתה :יגולה
call 1ח I 6 CONM1 |
רויאב,הזיאנתהיגולה Cond 1אוהיאנתה םירויאבש,םימדוקהאלל יאנתה:ימוטאה =C.client_id ”B-soft
X X
pTZ p‘l‘l handling
handling 11.9 רויא
*IM:"P: p(‘client ' I call
ךירדמהדימלקרפל| 11דוביעתותליאש 283 6 ? םאה רשפא עובקל רוריבב הזיא ןיבמ ינש םיצעה םינורחאה עיצמ ךלהמבושיח ליעי !רתוי ' יפל *עה רויאבש 11.9,תריחב תורושה ןהבש ”0/10=10 "B-softמ1תעצבתמ תורישי לע //04,סחיה ינפל עוציבהלפכמה .תיזטרקה הלועפ Iתרחוב ךותמ 7קר תא תורושה תוניינעמה ,ונתוא תמצמצמו דואמ תא יסחי טלקה רובע תולפכמה .תויזטרקה תמועל ,תאז יפל לעה ,םדוקה שי בשחל הליחת יתש תולפכמ תויזטרק לש םיסחי םילודג ,דואמ קרו זא ליעפהל תא תלועפ הריחבה לע סחי האצותה ,ןהלש אוהש סחי לודג דוע .רתוי םא חיננ יכ רפסמ תוחוקלה אוה-10,000,כ יפכוונחנהש,רבעב רפסמ תורושה -ב 7אוה 150,000,סחי האצותה לשהריחבה ליכמ-15כ תורוש.דבלב סחי הזכ רשפא ןסחאל ןורכיזב ימינפה ךרוצל ךשמה בושיח ,ץעה ןכלו הארנ יכ םג ילב תעדל וליא םימתירוגלא ושמשי בושיחל לכ,הלועפ לעה ינשה גיצמ ךלהמ בושיח ליעי .רתוי המגוד 11.4:גיצנ יתש תופולח םימתירוגלאלםישמשמה בושיחלתלועפהריחבה )(call >client_id="B-soft * OC.ע-תתה( ילאמשה רתויב *עב רויאבש)11.9.הלועפב 1% 13-801".שי שי אוצמל תורוש //04ךותמ ןהבש ךרע הנוכתה client_1dאוה םתירוגלא דחא ארוק תא לכתומושר callוזב רחא),13האלולכ( קדובו לכב תחא ןהמ תא ךרעה הדשב/0.10ו0ה 1םא ךרעה אוה,י"8-6010י םתירוגלאה קיתעמ המושר וזהנתשמל ובש ןסחואמ סחי .האצותה םתירוגלאה ינשה חינמ יכ להונמ סקדניא ינשמ לעהדשה . client_1dםתירוגלאה עצבמ תלועפ רותיא סקדניאב םע ךרעה ,י 8-8010לבקמו עיבצמ לסל ובש םיאצמנ םיעיבצמ לכל תומושרה תושורדה .האצותל לכ רתונש אוה אורקל תא תומושרהלכ הלאה ןקיתעהלוהנתשמל .האצותה רורב ידמלםתירוגלאהש ינשהשגינתוחפ םימעפ ןורכיזל ,ינוציחה ןכש אוה ארוק קסידהמ קר תא עדימה,שורדה ןכלו אוה בשחנ ליעי .רתוי ךא שומיש וב הנתומ םויקב .סקדניא ומכ תואמגודב,ונאבהש בלש היצזימיטפואה קלחתמ ךרדב ללכ ינשל :םיקלח * לולכש גוצייה ימינפהלבקתהשבלשבחונעפה דע תלבקל , NNלוקש רידגמש שילכבתאזתופולח תומיוסמגוציילימינפה ךילהת בושיח ליעי ,רתוי תדימב.רשפאה םילוקישה קלחב הז סה ךרדב ללכ ןנורתישעבונםינותנמלע שומימםיסחיהינבמו .רזע
4פ תוכרעמיסיסבםינותנ ,םייטרואית םניאו םייולת יטרפב שומימה לש םיסחיה םינושה וא םיטביהב םיינכט לשתכרעמ.בשחמה * שומיש םינותנב לע תרוצ ןוסחא ,םיסחיה לע ינבמ רזעה םילהונמה רובע תודש ,םימיוסמ ןכו םינותנב םייטסיטטס לע לדוג ןכותו ,םיסחיה ידכ רוחבל םימתירוגלא תייגטרטסאו בושיח םיליעי לככ.רשפאה םותבבלש היצזימיטפואה הכירצ לבקתהל תינכות עוציבתמגרותמה דוקל ןתינה .הצרהל תאצותהצרהה תגצומשמתשמל.הבושתכ
דציכ תדדמנ
תוליעיה לש
בושיח
!התליאש
תדימ תוליעיה לש ךילהת יבושיח תדדמנ סחיב םיבאשמל םהבש םיניינועמ .ךוסחל ומכ בורב יגוס ,םיבושיחה םג דוביעב ,תותליאש באשמה ירקיעה ובש םסיניינועמ ךוסחל אוה .ןמזה ןמזה אוה באשמ ,רקי ןה תדוקנמ טבמה לש לוצינ תכרעמ בשחמה ןהו תדוקנמ טבמה לש שמתשמה ,הנכותב הפצמה הבושתל תידיימ .ותלאשל, DYתאז םנשי םירשקה םהבש םיניינועמ ךוסחל אקוודחפנב .ןוסחאה תוכרעמב יסיסב ,םינותנ ןמז בושיחהעפשומ ינותנמ .ןוסחאה טלקה בושיחל אוה סיסב םינותנה ,ומצע אוהש רגאמ םינותנ לודגרמשנה ךרואל ,ןמז יפכו וניארש םיקרפב ,םימדוקה אוה ןסחואמ ינקתהב ןוסחא .םיינוציח ךילהת בושיחה לש תותליאש ךורכ אופא תושיגב תורזוח תונשנו ינקתהל ןוסחא .הלא
תויוריהמהשיגהםנמא םירופישה תונתשמםע ,םייגולונכטהךאהלא םישחרתמלכב יגוס .םינקתההלבוקמתוארל תאישרפהתויוריהמהןיב ןורכיזימינפינוציחל ,רומאכ האירק הביתכו לש םינותנ ןורכיזהמ ינוציחה וילאותעצבתמ דימת לע הדבועכ,העובק םא יכםג המכסומNהליחתמ תוחתפתה תודיחי םינותנ תועובק ןלדוגב . -םישוג תולועפ האירקה הביתכהו תויטיא רערעתהלםע ינקתהןוסחא.םישידח הברהב תולועפמ תועצבתמה ךותב ,ןורכיזה ןכלו םרוגה ירקיעהתכרעהב ךשמ בושיחה אוה רפסמ תושיגה ןורכיזל .ינוציחה שמתשנ ךרדב ללכ קסידב קסיד( )יטנגמ גציימכ לש יעצמא ןוסחא .םיינוציח רפסמ תושיגה קסידל ךלהמב בושיח התליאש יולת לדוגב יסחי ,טלקה ,ונייהד רפסמ תורושה לכב סחי לדוגהו לש לכ ,המושר ןכו ןפואב רוזיפ תומושרה לע .קסידה םימתירוגלאםתרטמש םצמצל תא רפסמ תושיגהםישמתשמ ינבמב רזע םא( ורדגוה רובע תונוכתה),תושורדה ןכו עדימב יטסיטטס לעתוגלפתה םיכרעה תודומעב תונושה וא לע תופיכתהשיגה תומושרל .תומיוסמ
ךירדמהדימלקרפל| 11דוביעתותליאש 285 6 םינותנ
םייטסיטטס
שומישל דבעמ
תותליאשה
ידכ ךירעהל תא רפסמ תושיגה קסידל ושרדייש תולועפב ,תונוש תכרעמ לוהינ סיסב םינותנה תרמוש םינותנ לע ילדוג ,םיסחיה ינבמ םיצבקה םישמשמה םנוסחאל ינבמו רזעה םירדגומה .םרובע םינותנ הלא םינכדעתמ תעמ ,תעל םישמשמו תא ביכר הנכותה קסועה דוביעב .תותליאש םינותנה םיירקיעה :םה O * —n,רפסמ תורושה * —b,רפסמ םישוגה םיליכמה תורוש)תומושר( IOV *
,8-לדוג המושר תחא ,זלש .םיתבב
,84)/ eת -רפסמ םיכרעה םינושה Nהזמ הנוכתב ". 4סחיב המגוד11.5:בשחנ המכ תושיג קסידלתושרדנ לכב דחא םימתירוגלאהמ ואבוהש המגודב 11.4.םתירוגלאב ןושארה שי אורקל תא לכ תומושר סחיה //08.רפסמ תושיגה קסידל אוהאופאbean םתירוגלאה ינשה ססובמ לע שומיש .סקדניאב שי אוצמל תא ךרעה ”nB-soft .סקדניאב חיננ םייקש סקדניא להונמהץעב B+םערטמרפ .n=100רפסמתושיגה קסידל תושורדה תאיצמל ךרע סקדניאב אוה הבוגכ ץעה ךרואה( לש).ףנע רפסמ םיכרעההדשב שופיחה הרקמב הז אוה0/10)".(10,087מ 1ץעה הובג רתוי לככ םיתמצהש לעב םיאלמ .תוחפ תמוצ וניא לוכי ליכהל תוחפ -מ |, | 2/₪םיעיבצמ ןכלו הרקמב,עורגה הבוג לעה היהי (08/0(Vichient_id,ז₪ה1.ספ רחאל תאיצמךרעה סקדניאב םא(),אצמנ שי אורקל ןמ קסידה תא DIתומושרה תושורדה ,האצותל יפל םיעיבצמה לסב אצמנש שופיחב .םדוקה םא חיננ יכ םיכרעה םינושה םיגלפתמ ןפואב דיחא הנוכתב client_1idיזא רפסמ תורושה האצותב היהי). / Vichient_idcallםו המגודב 10.1ונגצה תא םינותנה םיאבה רובע סיסב םינותנה לש תוינפ :תוינופלט 1 ₪1 50 Nproblem_solving = 20 =0 Nmapping =0 Nhandling ומכ ןכ חיננםעפה :יכ V (client_id,call) = 0
@286תוכרעמיסיסבםינותנ ולדוג לש לכ שוג אוה. (4,0964%.םיתבשמתשנ-4,000ב ךרוצל).תוכרעהה חיננ .(Scanהרקמב הז - 3000םוו יכ בחור לכ המושר //04סחיב אוה. 80םיתב= (80 .םישוג יפל םינותנ ,הלא םתירוגלאב ןושארה ושרדיי 3,000תושיג .קסידל םתירוגלאב ,ינשה רפסמ תושיגה קסידל תאירקל םיתמצ ץעב *₪היהי logso(lo,oofl=3םאשרושה ןסחואמ ןורכיזב ימינפה וקיפסי וליפא ).2תושיג םא רפסמ תוינפה לש לכ חוקל הווש תוחפ וא ,רתוי יזא רפסמ תומושרה והילא עיבצמ לסה םיאתמה :אוה nean/Vichient_idcall)= 150,000 / 10,000= 5 םא חיננ תחאלכיכ תומושרהמ וללה תנסחואמ שוגב ,רחא רפסמ תושיגה ללוכה שרדייש ידכ תונעל לע התליאשה םתירוגלאב ינשה אוה לכל רתויה 18םא( העבצהה איה לסל לש םיעיבצמ -יזא לכל רתויה 19).םתירוגלאה ינשה ליעי אופא יפהלעמל-150מ .ןושארהמ
תכרעה לדוג
האצותה
םרוג ףסונ שיש איבהלןובשחב אוה לדוג סחי .האצותה םא םירמוש תא האצותה , DYקסידה ךירצתשגל קסידל םג ידכ בותכל תא תומושר סחי ,האצותה ןכלו לככ האצותהש הלודג רתויתושרדנ רתוי .תושיג לדוג הז וניא יטנוולר ךרוצל האוושהה ןיב םימתירוגלא םינוש םיעצבמה הלועפ ,תדדוב יפכ ונישעש ,ליעל ןכש סחי האצותה דיחא ,םלוכב ןכלו רפסמ תושיגה תביתכל האצותה ההּז .םלוכב אוה ךפוה תויהל יתועמשמ רשאכ םיבשחמ התליאש תבכרומה המכמ ,תולועפ יסחיו האצות םימיוסמ םישמשמ תואצות .םייניב תושיגהתושרדנה ןוסחאל תואצות םייניבהתועיפשמ לע תוליעי בושיחה ,ללוכה יפכהארנש.ךשמהב המגודב הנורחאה ונכרעה יכ רפסמ תומושר האצותה אוה 15.םג םא םינסחאמ תא תומושרה //04לש ,ןאולמב ןתינ ןסחאל תא ןלוכ שוגב .דחא ןלהל ראתנ רחבמ לש םימתירוגלא בושיחל תולועפ ,תוירבגלא ךותמ םימתירוגלאה םיראותמה .רפסב רחא ךכ ןחבנ םיכרד לולכשל יצע יוטיב רובע תותליאש ,תובכרומ םבושיחש שמתשמ ופוסב לש רבד םימתירוגלאב בושיחל תולועפה .תויסיסבה
ךירדמהדימלקרפל| 11דוביעתותליאש 287 % םימתירוגלא
בושיחל
םירוטרפוא
םיירבגלא
םילדבהה ןיב םימתירוגלא םינוש םיעצבמה התוא הלועפ םיעבונ שומיממ הנוש לש םיסחיה .םימיאתמה
תלועפ הריחב םע יאנת
ןויווש
המגודב 11.4וגצוה ינש םימתירוגלא םינוש בושיחל תלועפ ,הריחב רשאכ יאנת הריחבה היה ןויווש ךרעל .עובק ןלהל רוקסנ המכ םימתירוגלא םיירשפאהלועפל .וז ןמסנ תא תלועפ הריחבה DYידי )6, 2א= ,רמולכ סחי טלקה אוה ,ז הדש שופיחה אוה 8,עובקהו וילאש םיוושמ אוה .ס םתירוגלא יסמ - 1הקירס .תיתרדס והזהשעמל םתירוגלאה ןושארה המגודב 4םיארוק תא לכ תומושר,ל*בוקה לכלו הרוש םיקדוב םא יאנת הריחבה .םייקתמ םתירוגלא הז וניא חינמ םוש תוחנה ,תומדקומ אל יבגל שומימ *בוקה אלו יבגל .םיסקדניא רפסמ תושיגה שרדנה :םתירוגלאב יפכ וניארש,המגודב רפסמ תושיגה .ט,אוה םא אל ןותנתומושרש ץבוקה תונסחואמ,תופיצרב ,0הווש =2 םתירוגלא *סמ - 2שופיח .ירניב םתירוגלא הז ססובמ לע,החנהה תומושרש לבוקה גציימה זתא תוניוממ יפל הנוכתה Aןהו תונסחואמ תופיצרב לע .קסידה החנהב ,וז םא םיעדוי תא תבותכהלחתהה לש ,ץבוקה תא רפסמ תומושרה תאו בחורה לש לכ ,המושר רשפא בשחל תא תבותכ שוגה ובש תאצמנ המושרה ,הנורחאה ,תיעצמאה ןכו .האלה רפסמ תושיגה שרדנה :םתירוגלאב שופיח ירניב ךרעמב ןיוממ ןב Nםירביא שרוד לכל רתויהחסָאןאך .תושיג שופיח ירניב *בוקב ןיוממ שרוד רפסמ MY ,המוד ךא ןוויכמ לכבש םעפ ונא םיקדוב ,שוג א הרקמב הז אוה רפסמ ,םישוגה byןכל דע תאיצמלךרעה ןושארה תושורד ח)וָאן)]ו(-,ך.תושיג םא Aאוה,חתפמ והזרפסמתושיגה.שורדה םא שי ץבוקב תומושר תופסונןהבש 0,ןכתיי היהיש ךרוצ אורקל דוע .םישוג ןוויכמ ץבוקהש ,ןיוממ םישוג הלא םינסחואמ הזב רחא .הזהחנהב םיכרעהשםיגלפתמ ןפואב ,דיחא רפסמ םישוגה םיליכמה תומושר ןהבש 0=\/אוה עצוממב | 1./,8 VA, A
בושיחבתובותכהשי תחקלןובשחבדוע ,םינותנומכןפוארודיס תומושרה.םישוגבךא ונניינעלקיפסמתוארל םתירוגלאשהזכ.ירשפא
8פ תוכרעמיסיסבםינותנ םתירוגלא יסמ - 3שומיש .סקדניאב והז םתירוגלאה ינשה המגודב 11.4. סקדניאהרשפאמ אוצמל תורישי תא תובותכה לשתומושרה תואלממה תא יאנת .הריחבה רפסמ תושיגה שרדנה :םתירוגלאב החנהב סקדניאהש שמוממ לע ידי+8, XY רפסמ תושיגה שורדה תאיצמל ךרעה ס סקדניאב ומצע אוה הבוגכ .ץעה רובע רטמרפ,וג הבוג עה אוה |רתויהלכל 8|.logra21(VIA, רחאל ונאצמש תא ךרעה ,סקדניאב שי אורקל םג תא תומושרה .ןמצע ןאכ שי המכ םיבצמ :םיירשפא * םא א אוהחתפמ 1לש ,השורד דוע השיג תחאדבלב ידכ אורקל תא תמושר .האצותה * םא Aוניא,חתפמ TRסקדניאה אוה סקדניא ,ישאר ,רמולכ ץבוקה ןיוממ יפל ,Aרפסמ תושיגה ףסונה אוה רפסמכ םישוגהםהבש תונסחואמ תומושר תוליכמה ךרע ההז -8.ב וניאר םדוק יכ רפסמ הז אוה -כ )b7 V(A1 * םא א וניא חתפמ סקדניאהו אוה סקדניא ,ינשמ יכ זא תומושר תולעב ךרע ההז הנוכתב 8תולולע תויהל תונסחואמ םישוגב םידרפנ .ןיטולחל הרקמב ,הז רפסמ תושיגה ףסונ( לע רותיאה סקדניאב השיגלו לסל םיעיבצמ הדימב )םייקו היהי/0 V(A D
תלועפ הריחב םע יאנת
האוושה
םוחתל >(95call ₪ handling //04רשאכ האלולב :תינוציחה 0,ןכלו רפסמ םירוזחמה לש האלולה תינוציחה אוה 150,000.רפסמ םיכרעה םינושה סחמ handlingהנוכתב תפתושמה call_idאוה . V(call_id handling) = 0םא *עב שמממה תא סקדניאה,ם= 100יזא הבוג צעה יפכ( רבכש ונבשיח תואמגודב )תומדוק אוה 3.רפסמ תומושרה -ב oYhandlingךרע ההז call_id-2אוה 774עצוממב (350,000/150,00).ןכל ךירענ תא רפסמ תושיגה קסידל לכב רוזחמ לש האלולה תימינפה-574ב :עצוממב 3 תושיג תומושרל סקדניאה -2%ו תומושרל .לבוקה םילבקמ ךסב Y9Nבורק -ל 0תושיג ,קסידל רפסמ ןטק יפ הלעמל-65,000מ תמועל םתירוגלאה .יסיסבה
בושיח ףוריצ ןיב
םיסחי
םיניוממה יפל
הדומעה
תפתושמה
םתירוגלאהונגצהש אלליעל חינה םיסחיהש .םיניוממ םא םיאיבמןולימ,ןובשחב רפסמתושיגהשורדה רפסמ תושיגהעצבמש םתירוגלא הז ןטק.הברהב תאירקל לכ תומושרה call-aאוהשכןיוממאוה .סקונכרעהרבעבבחורש םא חיננ יכ קר סחיה , handlingןיוממ ירה לכש עיבצמ ץעב ליבוי שוגל דחא המושראוה,80םיתב ונחנהו יכשוגלכלדוג ,4000םיתב ןכלו ,דבלב אלו-274ל ,עצוממב ןכש לכ תומושרה תולעב ךרע ההז הדשב call_idאוה -150,000לתומושר תואצמנ ותואב .שוג ןכל ושרדיי .2000םישוג ), nex(logln2TIVIA,8)+1ט +,רמולכ הרקמב MYםישורד . 0תושיג םא חיננ יכ קר סחיה , callןיוממ רבדה םצמצי קר תא רפסמ
4פ תוכרעמיסיסבםינותנ תושיגה 04/7,ל היהיש 3000,םוקמב 150,000.רפסמ תושיגה האלולב תימינפה היהי ומכ אלל ,ןולמ ןוויכ ונאש םינופ סקדניאל רובע לכ,המושר אלו רובע .שוגלכ ןכל :לבקנ , 3000+150,000*5%4םהש . 803,000תושיג םא ינש םיסחיה ,םיניוממ ןיא ללכ ךרוצ סקדניאב האלולבו .תימינפ םתירוגלאה בושיחל ףוריצה לוכי עצבל גוזימ לש ינש םיצבקה ךות ,םתקירס תונבלו וכלהמב . + Bprandiingשו תא תורוש .האצותה רפסמ תושיגה ושרדייש הרקמב הז אוה bhandling ונכרעה ליעלתא-3,000beayב .םישוג קרפב 10המגודב 10.2ונכרעה תא . 35,0000םישוג תחת תוכרעה הלא לבקנ תולעש ףוריצה סיאנתב הלא איה . 0תושיג רשפא תוארל רשאכש םיסחיה םיניוממ יפל הנוכתה תפתושמה לבקתמ
ב
םתירוגלא ליעי יפ המכ תמועל םימתירוגלאה .םירחאה רבתסמהברהש םימעפ גוזימ-ןוימ-ףוריצ יאדכ ןיימל תא םיסחיה קר ךרוצל בושיח !ףוריצה םתירוגלאהשועש תאז ארקנ sort-merge- join .גוזימ-ןוימ-ףוריצ אל ןודנ וב ,ןאכ אוהו אל לולכ רמוחבהבוחש םכילע.תעדל םע תאז ץלמומ אורקל וילע,רפסב ףיעסב15.5.4.
תכרעה לדוג
האצותה
תלועפב ףוריצ
ןנובתנ ינשב ,םיסחי )-(59. (8ו םא ,אורפ=ש( יכ זא ףוריצה 4א ז והומכ הלפכמכ תיזטרק ןיב ינש ,םיסחיה ןכלו רפסמ תורושה האצותב היהי..ם,אמ, םא RNSאוה חתפמ לש דחא ,םיסחיה ,תלשמל יזא ונא םיעדוי לכש הרוש-5ב ףרוצת לכל רתויה הרושל תחא 72 NI,רפסמ תורושה היהי לכל רתויה רפסמכ תורושה-5,ב,ונילהד .ם. םא RSוניא קיר וניאו חתפמ לש דחא ,םיסחיה םישמתשמהחנהב םיכרעהש םינושהםיגלפתמתוגלפתה .הדיחא םא )/8,רפ= 4בו םייקתמ ,8)",ת=ומ ירה רפסמש תורושה זלש תולעב ךרע ההז A-2ךרעומ לע ידי .(n/V(A,D) nymלכ הרוש לש 5ףרטצת אופא לכל רתויהת,4)\%/ת-ל תורוש זלש תריציל תורוש .האצותב לע יפ לוקיש הזרשפא ךירעהל תא רפסמ תורושה האצותב לע :ידי 0את,ת )V(A,r
ךירדמהדימלקרפל| 11דוביעתותליאש 295 6 םתוא םילוקיש רשפא ליעפהל רובע הרקמה לש יפוליח םידיקפת ןיב* -5.ו םא ,ת 84,9א 6 םיפוריצ לכמ( )גוס תולפכמו תויזטרק םה :םייפוליח 1905= 500 r ףוריצ יעבט הלפכמותיזוטרק םה :םייצוביק (rx 9 40= rxX(sX g םא לכ תונוכתה יאנתב הריחבה תוכייש קר דחאל ,םיטנמוגראה תלועפ הריחבה איה תיביטובירטסיד סחיב :ףוריצל 001(r™Xe s)= )001)0(Mos ,ןאכ טנמוגרא הז
RN
דוחיא ךותיחו ןה תולועפ תויפוליח :תויצוביקו 1 = 8\21; IMmSל5 )8רע = תור)8ר (0ף= "ר ) (Mתשל)) =20 |(820תעפ המגוד 11.9:רוצינ גוציי יפולח ףסונ םיצעלהמגודבש 11.3.םעפה הארנ וזיאב תוליקשונשמתשה לכב ,יוניש ףאו הארנ עודמ גוציי הז אוה בוטה .רתויב ןלהל בוש יוטיבה ,ירוקמה יפכלבקתהשתתליאשמ :SQL 1 C.call_id (0('.('/1'011L ’1d=‘B-soft ATl.call_id=call.call_id Ti.call_1d=T2.call_idn (T1.h_dateT2.h_datev )T1.h_time£T2.h_time )handling (pclcalbxpril handlingYxpr2
ךירדמהדימלקרפל| 11דוביעתותליאש 297 % הליחת שמתשנ תוליקשב סמ 1ידכ קרפל תא יאנת .הריחבה ומכ Pףיקנ םיירגוסב תא הלפכמה תיזטרקה ,הנושארה ידכ שיגדהל תא רדס בושיחה לש יתש :תולפכמה 1106 id(GC.client_id יוב-פס8י= (OT1.call_id=call.call_id )T1.h_time£T2.h_time \(O(T1.h_date#T2.h_date (OT1.call_id=T2.call_id )((pclcalbxprithandling)x pr(handling התעשמתשנ תוליקשב "סמ 2ידכףילחהל תא רדס תולועפ :הריחבה ”=“B-softוק 6.והו 00 (G(T1.h_date*T2.h_date )T1.h_time*T2.h_time (OT1.call_id=call.call_id (OT1.call_id="T2.call_id )))))((pc(calhxprithandling))x pr(handling
110 ₪ו
יוניש הז רשפאמ ונל שמתשהל תוליקשב "סמ 6,סחיילו תא תלועפ הריחבה תימינפה רתויב קרהלפכמל :תילאמשה 110catrid(OC.client_id ”=“B-soft )11.0(O ) T1.h_time*T2.h_timeגס 08010 (OT1.call_id=T2.call_id \OT1.call_id=call.call_id א ){pc(call ))))prilhandling))x prahandling התעשמתשהללכונ תוליקשב 3791ידכךופהל תאהלפכמה תיזטרקהתילאמשה .ףוריצל והז ףוריצ ,יעבט ןכל טימשנ תא יאנת :ןויוושה 1106 id(GC.client ” =“B-softה (O(T1.h_date#T2.h_date )T1.h_time*T2.h_time (OT1.call_id=T2.call_id )(pclcal) 4 prilhandling ))))%pr2lhandling התעשמתשנ תוליקשב "סמ 5תויצוביק( תולפכמ ):םיפוריצו 11c.call_id(OC.client ”id=“B-soft \(G(T1.h_date#T2.h_date )T1.h_timeT2.h_time (OT1.call_id=T2.call_id )((pc)047(X pri(handling )))x prhandling DYידי שומיש רזוח תוליקשב *סמ 6,תויפוליחב תויצוביקבו תויוליקש( -5) 6ו לכונ עיגהל הרוצל ,האבה ךופהתש תא הלפכמה תיזטרקה ףוריצל יפל ,יאנת דדובתו תא !/04סחיה דצב :לאמש 1166 id(OC.client ”id=B-soft ™(O(T1.h_date#T2.h_date )T1.h_time*T2.h_time ))))) (PT1(handlingא כ.ס=4וק 6וו שר)(pc(call)™pra(handling התע ףילחנ תא רדס תולועפהריחבה לע יפ תוליקש סמ 2:
8פ תוכרעמיסיסבםינותנ ]1C.call_id (O(T1.h_date#T2.h_datev )T1.h_time*T2.h_time _(GC.cIlbnt ”id=“B-soft call_id="T2.call_idס6דנ)W pra(handling (pc(ecalh )))))(pTilhandling ףוסבלשמתשנ בוש תוליקשב "סמ 6דימצנו תא יאנתהריחבה //04סחיל :דבלב 116 (O(T1.h_date#T2.h_dateוק ₪ו )T1.h_time*T2.h_time )" (087)6 (pri(handlingמ-הי ק= שש)00 ו *ע יוטיבה םיאתמה יוטיבל ונלביקש :אוה
081 1 T2.h_time T1.h_time+ \T2.h_date T1.h_date+ l 4 Tl.call_id="T2.call_id 94
קךב
handling
”C.client_id="B-soft Py L ס2 | call handling 11.10 רויא
ע הז המוד ידמל XYרויאבש 11.9,טרפ ךכלונפלחהש תא תולפכמה ,םיפוריצב ךכבו ונמצמצ קלח יאנתמ.הריחבה הסננ ךירעהל תא תולעה תללוכה לש עוציבהתליאשה יפל XYהז תולעה( תדדמנ רפסמב תושיגה ),קסידל םא םיחינמ בושיחש YDססובמ לע ןוסחא תואצות םייניב) (materializationםישמתשמו םימתירוגלאב םיליעיה רתויב עוציבל לכ הלועפ.תדרפנ
ךירדמהדימלקרפל| 11דוביעתותליאש 299 % רשפא חינהל יכMDYתלועפלופכשה.החינז ןיא(םילפכשמ תמאב תא ,סחיה אלא קר םירשקמ וילא םש).ףסונ תא תולעתלועפהריחבהתיתחתבש ץעהרבכונכרעה המגודב 11.5.םא םישמתשמ סקדניאב,|client_idYyרפסמ תושיגה יופצה אוה , 8.ףסונב שי ןסחאל תא תאצות,הריחבה ונכרעהש תא הלדוג-15כב תומושר )) ), near/ Viclient_id, callךא PRךרוצ בותכל רתוי שוגמ דחא ידכ רומשל .ןתוא דע הכ ונלביק אופא. 19תושיג בושיחב ףוריצה יעבטה ןיב האצות וז ןיבל Aandlingרשפאשמתשהל סקדניאב לע |handlingרשאכ האלולב תינוציחה םירמוש אקווד תא תאצות.הריחבה והז סחי ,ןטק רשפאו רומשל תא ולוכ .ןורכיזב רפסמ תושיגה ץעל תומושרלו handlingאוה -7כ תושיג לכל המושר לש טנמוגראה .ינשה הרקמב הז אוה ללוכ -15כ ,תומושר ןכלו בושיח ףוריצה שרוד-105כ .תושיג ונכרעה יכ לכלרפסמ היינפ שי-7%handling-2כ תומושר,עצוממב ןכלו תאצותב ףוריצה תויופצ-35כ .תומושר לדוג המושרלכ אוה תצק תוחפ-200מ םיתב (Scarr +. Shandlingןוסחאל 7,000םיתב השורד הביתכ לש . 2םישוג ונלביק דע126N2 .תושיג תא ףוריצה ינשה םיבשחמ ומכ תא :ןושארה תאירקל תומושר סחיה ןושארה שי עצבל, 3תושיג םישמתשמו סקדניאב רובע סחיה.ינשה לכל תחא-35מ תומושרה ךירצ תשגל -7כ ,םימעפ ךסבו לכה םילבקמ. 245תושיג רפסמ תושיגה דע הכ - 1. לע יפ בושיחה ,םדוקה תאצות ףוריצה ינשה הליכמ-240כ ,תומושר לדוגש לכ תחא ןהמ -240כ .םיתב השורד אופא הביתכ לש -15כ םישוג ידכ רומשל תא .האצותה תאתלועפהריחבההנורחאהרשפארשרשל םע ,ףוריצה עצבלו התוא ינפל תביתכ תאצות ףוריצה ןורחאה ןורכיזל :ינוציחה םיבתוכ קר תורוש ןניאש תוהז ינותנב ךיראתה.העשהו ,ףוסבל שי אורקל 15םישוג הלא ידכ עצבל תא תלועפ הלטהה .הנורחאה רפסמ תושיגה ללוכה שורדה בושיחלהתליאשה אוה אופא401.
0ף תוכרעמיסיסבםינותנ רפסמ הז יאדווב ןטק רפסממ תושיגה ונייהש םילבקמ לכב ךרד התייהש תללוכ בושיח לש הלפכמ ,תיזטרק ןכו לכמ בושיח לש ףוריצ היהש עצובמ ינפל תלועפ הריחבה ונעציבש .הנושאר םוכיסל המגוד וז גיצנ תאלדבהה ןיב ןוסחא תואצות םייניברושרשל.תולועפ ידכ לבקל תא האצותה תיפוסה לש התליאשה שי עצבל הלטה לע הנוכתה[/08. 10 הטישב לש ןוסחא תואצות ,םייניב תאצות םייניבההנורחאההלטההיינפל הליכה . 0תורוש ונסחא ןתוא-15ב ,םישוג רחאו ךכ ונארק תא םישוגה הלאההרזחב .ןורכיזל םוקמב בותכל קסידל לכ תחא-240מ תורושה לש תאצות ,םייניבהרשפאריבעהל התוא טלקכ םתירוגלאלבשחמה,הלטה דימ רחאל.הבשוחש םתירוגלא הלטהה הנוב סחי האצות DYידי תאצוה ךרעה לש call_idלכמ תחא תורושמ ,טלקה ותפסוהו הרושכ השדח .האצותל ךכ ןתינ ךוסחל תא 30תושיגה תושורדה התביתכל התאירקלו לש תאצות .םייניבה
תעיבק
תינכות עוציב
ךילהתה ונראיתש ליעל תריציל XYיוטיב יפולח היה ילמרופ ,עגיימו ןכתייו יכ ןפואב יביטיאוטניא ונלוכי לבקל תא . YNהזה בושיח תולעה לש הפולח וז היה םג אוה .עגיימ הביסה ךכל ונחרטש טרפל תא לכ םיבלשה תאו לכ תויוליקשה ונשמתשהש ןהב ,איה תריציש תופולחה הניאתעצבתמ לע ידי ינב ,םדא אלא לע ידי תנכות לוהינ סיסב ,םינותנה איהש תרסח .היציאוטניא תנכות היצזימיטפואה תנחוב תופולח ,תוירשפא תקדוב תא תונימזה לש םימתירוגלאה ,םינושה הוושמ תויולע תעבוקו תינכות ,עוציב תללוכה תא רדס תינכותעוציב execution בושיחה *ע( ),וטיבה תאו םימתירוגלאה ועצביש לכ .הלועפ שי תונכות ףאש plan תוושמ ןיב תורשפאה עצבל תא בושיחה ךות ןוסחא תואצות ,םייניב ןיבל תורשפאה ןעצבל ךותרושרש.תולועפ םלואו תריצי לכתופולחה,תוירשפאה ללוכ תופולח תונוש םימתירוגלאל לכב *ע ,יוטיב בושיחו רפסמתושיגה ללוכה לכבהפולח הלולע תויהל תכשוממ לכ ,ךכ דע אלש גישת תאהתרטמ -לועיי ךילהת .בושיחה תחא םיכרדה םוצמצל רפסמ תופולחה תוקדבנה הסנמ "תנכתל" תא היציאוטניאה תישונאה בלשלו התוא הנכותב תועצמאב יללכ" ,ייעבצא וא
ךירדמהדימלקרפל| 11דוביעתותליאש * 301 .תוקיטסירוי םיללכה םיירקיעה םיאטבמ םילוקיש ונשמתשהש םהב ןפואב יביטיאוטניא לכב תואמגודה ,קרפב םיססובמו הדימב הבר לע החנהה םישמתשמש ןוסחאב תואצות .םייניב הרטמה תירקיעה איה ןיטקהל לככ רשפאה תא תואצות :םייניבה eשי עצבל תולועפ הריחב םדקומ לככ .רשפאה ,רמולכ םארשפא עצבלתלועפי"'םסדקומי' -הנווכהרדסב .בושיחה םאםילכתסמ הריחב לע דחא םיטנמוגראה לש הלועפ ,תירניב שי תושעל תאז ינפל בושיח DYץע,יוטיבייסדקומיי היהיבורקרתוי.םילעל הלועפה.תירניבה * שיבשחל תולטה םדקומ לככ.רשפאה * שי בשחל הליחת םיפוריצ וא( )תולפכמ םתאצותש הנטק .רתוי םא תאצות ףוריצ דחא איה טלק ףוריצל ,ינש יזא לככ האצותהש היהת הנטק ,רתוי ףוריצה ינשה היהי לוז .רתוי
הרודהמתימינפ אלהצפהלאלוהריכמל 20277-5276 ט"קמ