
CONSTRAINT <שם> UNIQUE (<עמודה>) בתוך CREATE TABLE, או ALTER TABLE <טבלה> ADD CONSTRAINT <שם> UNIQUE (<עמודה>). הרצה שנייה של אותו ALTER נכשלת.הטקסט המלא של הדקות הראשונות בהרצאה «Unique» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, שיעורנו היום הוא המשך בנושא של קונסטרנטים, ובשיעור היום אנחנו נדגים ונראה כיצד אנחנו משתמשים בקונסטרנט של יוניק, קונסטרנט המוודא לנו ערכים חד חד ערכיים ברמה של עמודה.
נזכיר ונאמר שיוניק קונסטרנט זהו קונסטרנט שיכול להיות לנו פר עמודה, זה יכול להיות לנו יוניק קונסטרנט as match as מספר העמודות שיש לנו פר טבלה. כלומר דגים כל עמודה ועמודה, אנחנו יכולים להגדיר קונסטרנט מסוג כזה, קונסטרנט שייבדל לי ערכים חד חברתיים בתוך הטבלה שלי בואו ניצור טבלה וניצור בתוכה קונסטרנטים רד סטייבל טסט אחד נגדיר שני עמודות לצורך
העניין ID סוג אינטג'ר ויהיה עליו קונסטרנט יוניק יהיה לנו בנוסף וזה גם ID 2 גם הוא מסוג אינטג'ר ואנחנו נגדיר בתוכו קונסטרנט יוניק נוסף ניצור את הטבלה שלנו ואנחנו מקבלים אינדיקציה Command Completed Successfully הצלחנו ליצור את הטבלה טסט אחד לתוכה דאטומוס כעת אנחנו ננסה לבצע insert,
כלומר הכנסה של שורה test1 values 1.1. בואו נריץ את הפקודה הזאת, פקודה מאוד פשוטה שמוסיפה לנו שורה בתוך הטבלה, והשאלה אם הפקודה הזאת מצליחה, אנחנו מצליחים להוסיף one prose effected.
אם נשוב וננסה להריץ שאילתה נוספת של insert, לבצע להכניס ערכים שהם יהיו מאוד מאוד זהים 2.1. על העמוד ה-D2 יש לנו Unicorn Strain, אנחנו מנסים להריץ את זה, ב-2005 אנחנו מקבלים כאן violation of unique constraint of unique key constraint, קיבלנו הודעת שגיאה, אבל שימו לב,
אני נמצא כאן רחוק רחוק משכבת הדאטאבייס, ולפתע מקבל הודעה על אובייקט שגוי, אני לא מכיר אותו, מה זה uk_test1_anderscore רצף של תווים אקסוויטימליים, אנחנו לא מכירים אותם.
אהה, הדאטאבייס זה שלא נתנו שם לקונסטרנט של המילה unique constraint, נתן לו שם דיפולטי.
אמנם מתן השמות הוא אופציונלי מבחינת המשתמש ומבחינת חוקרי דאטאבס, אבל זה לא מייתר את העובדה שהדאטאבס, ברגע שאנחנו לא מייצרים מיליון שם, הוא מעניק שם לקונסטרנט.
וממילא, אמנם חסכנו כאן בכתיבה בצד היתרון, קיבלנו חיסרון נוסף, ברגע שאנחנו מועדים ונופלים על אותו קונסטרנט, אין לנו דרך לזהות מהו הקונסטרנט הבעייתי.
השם המכרוזת הזאת כפי שהוא מופיע כאן, אין לנו שום דרך לדעת מה הייתה הבעיה, מהו הקונסטרנט הבעייתי שאותו אנחנו צריכים לסדר. איך אנחנו עושים זאת?
כשאנחנו מוצאים קונסטרנט אנחנו נותנים לו שם. בואו רגע נזרוק את טבלת טסט 1 כבר כשאנחנו נזרוק אותה, נייצר אותה, והפעם אנחנו גם ניתן שמות לקונסטרנטים.
קריאט טייבל שוב טסט 1 ID מסוג אינטג'ר,