כאמור, תנועה לוגית יחידה עשויה להכיל מספר פעולות על מסד נתונים. במקרה זה חשוב לשמור שהתנועה תתבצע בשלמותה או לא תתבצע כלל, כדי לשמור על עקביות הנתונים העסקיים. לדוגמה, בפעולה של העברת כספים בין חשבונות בנק, חשוב שאם סכום כלשהו הוחסר מהחשבון המשלם הוא יופקד בחשבון הנמען. אם, בשל כשל כלשהו, תהליך העברת הכספים נקטע לפני שהושלם, המערכת עלולה להיוותר במצב לא עקבי. לדוגמה, הסכום הוחסר אך לא הועבר. מטרת התנועה היא להבטיח את שלמות הנתונים, גם לנוכח מקרי כשל.
תנועה שלא בוצעה בשלמותה מבוטלת באמצעות הסגה (Rollback), כדי להחזיר את המערכת והנתונים למצב יציב שקדם לפעולה. בסיום התנועה, היא הופכת לתנועה מקובעת (Commited Transaction). תנועה יכולה להתבטל באמצעות הסגה כל עוד לא קובעה.
תנועת SQL.
תנועת SQL פשוטה במסד נתונים מתבצעת לרוב באופן הבא:
מלקולם סרג'נט
סר (הרולד) מלקולם (ואטס) סרג'נט (באנגלית: Harold Malcolm Watts Sargent;
29 באפריל 1895 - 3 באוקטובר 1967) היה מנצח, נגן עוגב ומלחין בריטי.
חייו.
סרג'נט נולד באשפורד שבקנט. הוא עבד תחילה כנגן עוגב, לפני שהופיע לראשונה כמנצח בקונצרט חופשי (promenade) בקווינס הול בלונדון, בשנת 1921, שם ניצח על יצירה משלו, "התרשמות ביום סוער" (זמן קצר אחר כך ויתר כליל על הלחנה). בשלב מוקדם בקריירה שלו עבד בלהקת D'Oyly Carte Opera ועם "באלט רוס" של סרגיי דיאגילב, בין השנים 1927 ל-1930. בשנת 1928 התמנה למנצח "האגודה הכוראלית המלכותית", משרה שבה החזיק עד מותו. הוא היה מנצח ראשי של קונצרטי "הפרומס" משנת 1948 עד 1966 ושל תזמורת רשות השידור הבריטית (ה-BBC) משנת 1950 עד 1957. לאחר שקיבל תואר אבירות בשנת 1947, הרבה לנצח בארצות דוברות אנגלית.
סרג'נט שלח ידו ברפרטואר מוזיקלי רחב-היקף (וחלק גדול ממנו הנציח בהקלטות), אבל נודע בעיקר ביצירות מקהלתיות. כמי שעודד מעל לכל ביצועי מוזיקה בריטית, ניצח על ביצועי הבכורה של "משתה בלשאצר" של ויליאם וולטון בשנת 1931 ועל האופרה שלו "טרואילוס וקרסידה" בשנת 1954. הוא עשה לו שם כמי שקירב את המוזיקה הקלאסית לקהל הרחב, ובתור שכזה ניצח על קונצרטים רבים לתלמידי בית ספר.
סרג'נט חי ופעל במשך תקופה מסוימת בסטאמפורד, לינקולנשייר, ובית ספר יסודי נקרא שם על שמו. מלקולם סרג'נט נודע בהקפדה יתרה על לבושו, ובין השאר התנאה תמיד בפרח ציפורן לבן בדש בגדו. פרח זה הוא כיום סמלו של בית הספר.
סרג'נט ניצח על התזמורת הפילהרמונית הא"י לפני קום המדינה. יש הטוענים כי הוא זה אשר עיבד/תיזמר את התקווה כבר בשנת 1937
הצלב הספרדי
הצלב הספרדי היה עיטור גבורה ללוחמים נאצים גרמנים שלקחו חלק במלחמת האזרחים הספרדית ולחמו לצד כוחותיו הלאומנים של פרנקו.
רקע היסטורי.
עם פרוץ מלחמת האזרחים בספרד שלחה הממשלה הגרמנית יחידות של מתנדבים להילחם לצד הכוחות הלאומנים בהנהגת פרנקו - יחידות אלו נודעו כלגיון הקונדור. מעמדם כמתנדבים לא איפשר הענקת עיטור רשמי כאות הוקרה על הישגיהם הצבאיים ולכן בתום מלחמת האזרחים בספרד, עם שובם של המתנדבים הביתה ב-14 באפריל 1939, הוחלט בגרמניה ליצור עיטור חדש, בשם "הצלב הספרדי", שיוענק לחיילים שהצטיינו במלחמת האזרחים הספרדית.
דרגות.
הצלב הספרדי הוענק בארבע דרגות, דרגת הצלב שהוענקה נקבעה לפי דרגת החייל וניסיונו בשדה הקרב, הייתה קיימת גם גרסה מיוחדת שהוענקה למשפחות הנופלים.
זהב עם יהלומים.
הדרגה הגבוהה ביותר, הוענקה רק לאלה שהשיגו הישגיים גדולים בקרבות או גילו מנהיגות יוצאת דופן בשדה הקרב, רק 28 צלבים מזהב עם יהלומים הוענקו (רובם הגדול לטייסי קרב, בהם וולפרם פון ריכטהופן וורנר מלדרס).
זהב.
הוענק לחיילים שהצטיינו בצורת אומץ לב או הישגים משמעותיים בשדה הקרב.
בסה"כ 1,126 צלבים מזהב הוענקו.
כסף.
הוענק לחיילים שהשתתפו בקרבות מכריעים והיו בעלי ניסיון קרבי, הייתה קיימת גם גרסה של העיטור ללא חרבות שהוענקה לחיילים הלא קרביים שהצטיינו בתפקודם.
בסה"כ 8,304 צלבים מכסף הוענקו.
ברונזה.
ניתן על פעולה של לחימה באויב, הייתה קיימת גם גרסה של העיטור ללא חרבות שהוענקה לחיילים הלא-קרביים בעבור שירות של שלושה חודשים.
בסה"כ 8,462 צלבים מברונזה הוענקו.
קרובי משפחה.
צלב הכבוד של לגיון קונדור לקרובי משפחה היה עיטור שהוענק לשארי הבשר (הורים, אלמנות, יתומים) של החיילים מלגיון קונדור שנפלו במהלך מלחמת האזרחים הספרדית.
בסה"כ 315 צלבי כבוד הוענקו.
עיצוב.
העיטור מעוצב כצלב מלטזי שבמרכזו יש צלב קרס בין כל אחת מזרועות הצלב יש את סמל הלופטוואפה (כמחווה מכיוון שהלופטוואפה היווה 70% מלגיון קונדור) בגרסה ללוחמים יש שתי חרבות מוצלבות בין הצלב, בגרסה של הזהב עם היהלומים מסביב לצלב הקרס משובצים יהלומים, חלקו האחרוני של העיטור הוא חלק ומחוברת אליו סיכה המשמשת לענידת העיטור.
צלב הכבוד לקרובי משפחה הוא גרסה מוקטנת של הצלב לחיילים הלא קרביים בניגוד לשאר הדרגות הוא היה תלוי על סרט שחור עם צבעי הדגל הספרדי (אדום, צהוב, אדום) בשולי הסרט.
תזמון (מסדי נתונים)
בתחום מסדי הנתונים, תזמון הוא רשימה של פעולות (לרוב כתיבה, קריאה, ביטול והתחייבות) של תנועות שונות, כאשר הסדר בין הפעולות הוא סדר בזמן.
דוגמה לתזמון:
בדוגמה זו, התזמון D מורכב מהתנועות T3, T2, T1. התזמון מתאר אלו פעולות התנועות עושות על בסיס הנתונים כאשר:
כלומר התזמון מתאר את רצף הפעולות הבא: T1 קוראת וכותבת לאובייקט X, ואז T2 קוראת וכותבת לאובייקט Y, ולבסוף T3 קוראת וכותבת לאובייקט Z ואז מתבטלת. זוהי דוגמה לתזמון סדרתי כי התנועות מתבצעות אחת אחר השנייה. מקובל לסמן תזמון סדרתי זה כך: T1:T2:T3.
הצורך בתזמון.
הצורך בתזמון נכון נובע ממצבים בהם מתבצעות במקביל תנועות (טרנסאקציות) על בסיס נתונים. במצב כזה, היעדר תזמון ראוי עשוי להביא לתוצאות לא רצויות. נניח לדוגמה שבאתר אינטרנט מוצע למכירה מספר מוגבל של כרטיסים להופעה. בכל פעם שלקוח מבקש לקנות כרטיס, פונה המערכת לבסיס הנתונים, בודקת אם עדיין קיימים כרטיסים פנויים, ואם אכן קיימים כאלה - רושמת את הקנייה. נניח שהביקוש לכרטיסים גדול מאוד, ובו זמנית מוגשות בקשות קנייה רבות. אם תעבוד המערכת על בסיס "כל הקודם זוכה", ייתכן מצב בו לקוח יבקש לקנות כרטיס, המערכת תבדוק ותראה שאכן קיים הכרטיס המבוקש, אך בחלון הזמן שבין הקריאה לכתיבה - הכרטיס יירכש על ידי לקוח אחר. שני לקוחות יירכשו את אותו הכרטיס - מצב בלתי רצוי בעליל.
תזמון זה (בצורה מופשטת, בה בקשה אחת מסומנת על ידי T1, הבקשה האחרת על ידי T2, ופעולות הקריאה והכתיבה כפי שצוינו לעיל) עשוי להיראות כך:
סוגים של תזמונים.
תזמון סדרתי (בר-סידור).
תזמון הוא סדרתי אם התנועות בו מתבצעות אחת אחרי השנייה, כמו התזמון D הנראה למעלה.
תזמון שווה-סדרתי (בר-סידור).
תזמון הוא שווה-סדרתי אם הוא שקול לתזמון סדרתי.
בתזמון E, סדר הפעולות שונה מתזמון D, אך הם שקולים כיוון ששניהם ישאירו את בסיס הנתונים באותו מצב בסוף פעולתם.
תזמון מאפשר התאוששות.
תזמון מאפשר התאוששות אם תנועותיו מתחייבות רק לאחר שכל התנועות שאת השינויים שהם קראו התחייבו.
שני התזמונים מאפשרים התאוששות. F מאפשר התאוששות כיוון ש-T1 מתחייבת לפני T2, מה שהופך את הקריאה של T2 נכונה. ורק אז T2 מתחייבת. ב-F2, אם T1 מתבטלת, אז T2 חייבת להתבטל גם כיוון שהקריאה של A לא נכונה. בשני המקרים משאירים את בסיס הנתונים במצב עקבי.
תזמון לא מאפשר התאוששות.
אם תנועה T1 מתבטלת, ותנועה T2 מתחייבת, אך T2 סמכה על T1 אז מדובר בתזמון שלא מאפשר התאוששות.
תזמון המונע גלגול לאחור בשרשרת.
תזמון שבו אם תנועה מתבטלת לא צריך לבטל תנועות אחרות הוא תזמון המונע גלגול לאחור בשרשרת. תזמונים מסוג זה הם תמיד ניתנים להתאוששות.
בדוגמה לעיל, אף על פי שF2 הוא תזמון מאפשר התאוששות, הוא לא מונע גלגול לאחור בשרשרת.
לעומת זאת, F3 הוא תזמון המונע גלגול לאחור בשרשרת.
שווה-סדרתיות בקונפליקט.
קונפליקטים.
שתי פעולות או יותר נמצאות בקונפליקט אם:
לדוגמה:
בסדרת הפעולות הבאה יש קונפליקט:
ובאלה אין:
שקילות בקונפליקט.
שני תזמונים נקראים שקולים בקונפליקט אם מתקיימים התנאים הבאים:
תזמון שווה סדרתי בקונפליקט.
תזמון נקרא שווה סדרתי בקונפליקט אם הוא שקול בקונפליקט לתזמון סדרתי.
התזמון G שווה סדרתי בקונפליקט, כיוון שהוא שקול בקונפליקט ל-T1:T2
שווה-סדרתיות במבט.
שקילות במבט.
שני תזמונים S1 ו-S2 נקראים שקולים במבט אם התנאים הבאים מתקיימים:
תזמון שווה סדרתי במבט.
תזמון נקרא שווה סדרתי במבט אם הוא שקול במבט לתזמון סדרתי.
מן ההגדרה ניתן להוכיח בקלות שכל תזמון שווה סדרתי בקונפליקט הוא שווה סדרתי במבט. עם זאת, ההפך אינו תמיד נכון.
התזמון G בדוגמה הקודמת הוא שווה סדרתי במבט וגם שווה סדרתי בקונפליקט. עם זאת, קיימים תזמונים שווה סדרתיים במבט שאינם שווה סדרתיים בקונפליקט, בתזמונים אלה יש תנועות המבצעות כתיבה עיוורת, דהיינו - כתיבה לאובייקט מבלי לקרוא אותו קודם.
התזמון H הוא שווה סדרתי במבט אך לא שווה סדרתי בקונפליקט.
מאחר שהבדיקה האם תזמון הוא שווה סדרתי במבט היא NP-שלמה, שווה סדרתיות במבט אין כמעט שימושים מעשיים.
אקדמיית סיביליוס
ויקטור קרום
אדריאן בולט
סר אדריאן סדריק בולט (באנגלית: Adrian Cedric Boult; 8 באפריל 1889 - 22 בפברואר 1983) היה מנצח אנגלי.
חייו.