מהן אילוצי SQL וסוגיה השונים?



מאמר זה מהווה מדריך מקיף לשימוש בסוגים שונים של אילוצי SQL עם פקודות SQL שונות, ופיתח אותו בדוגמאות.

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

הנושאים הבאים יוסרו במאמר זה:





  1. מהם אילוצים?
  2. אילוצים זמינים ב- SQL:

מהן אילוצי SQL?

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

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



ישנם שני סוגים של אילוצים שניתן ליישם:

  1. מגבלות ברמת העמודה - אילוצים אלה מוחלים על עמודה אחת
  2. מגבלות ברמת הטבלה - אילוצים אלה הם היישום לטבלה המלאה

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

מגבלות SQL שונות זמינות:

לא אילוץ NULL

האילוץ NOT NULL מוודא שלעמודה לא יכול להיות ערך NULL. אתה יכול להשתמש גם במגבלה NOT NULL יצירת הטבלה מסד נתונים או תוך כדי שינוי זה.



דוגמא

לא אילוץ NULL על CREATE TABLE

כתוב שאילתה ליצירת טבלת הסטודנטים שלמעלה, שם StudentID ו- StudentName לא יכולים להיות NULL.

צור טבלה סטודנטים (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

לא אילוץ NULL בטבלת ALTER

כתוב שאילתה כדי לשנות את טבלת התלמידים שלעיל, שם יש להוסיף עמודה חדשה של DOB, ולא אמורה להיות לה ערכי NULL.

טבלת משנה תלמידים מוסיפים את שנת הלימודים בתואר לא אפס

בהמשך במאמר זה בנושא אילוצי SQL, הבה נבין כיצד להשתמש במגבלה UNIQUE.

אילוץ ייחודי

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

הערה:

  1. בעת יצירת טבלאות, לאילוץ מפתח PRIMARY KEY יש מגבלה UNIQUE, כדי להבטיח את הייחודיות של עמודה.
  2. לטבלה יכולות להיות מגבלות רבות של UNIQUE, אך יכולה להיות אילוץ מפתח ראשי יחיד.

דוגמא:

אילוץ ייחודי ב- CREATE TABLE

כתוב שאילתה ליצירת טבלה סטודנטים עם עמודות StudentID, StudentName, גיל ועיר. כאן, StudentID חייב להיות ייחודי לכל רשומה ותקליט.

צור טבלה סטודנטים (StudentID int לא NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

תן שם מגבלה ייחודית למספר עמודות

כדי למנות אילוץ ייחודי ולהגדיר אותו למספר עמודות ניתן להתייחס לדוגמא הבאה:

כתוב שאילתה ליצירת טבלה סטודנטים עם עמודות StudentID, StudentName, גיל ועיר. כאן, ה- StudentID ו- StudentName חייבים להיות ייחודיים לכל רשומה.

צור טבלה סטודנטים (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName))

כאן, Stu_Example הוא השם שניתן לאילוץ הייחודי המופעל על StudentID ו- StudentName.

אילוץ ייחודי בטבלת ALTER

כתוב שאילתה לשינוי טבלת הסטודנטים, כאשר יש להוסיף אילוץ UNIQUE לעמודה StudentID.

תלמידי לוח שנה מוסיפים ייחודי (StudentID)

באופן דומה, אם ברצונך להשתמש במגבלה UNIQUE במספר עמודות וגם לתת לה שם, תוכל לכתוב שאילתה באופן הבא:

סטודנטים בטבלת ALTER הוסיפו CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName)

שחרר אילוץ ייחודי

כדי להוריד את האילוץ שצוין בעמודה, תוכל להשתמש במוסכמת השמות שאולי הזכרת בעת הוספת האילוץ.

לדוגמא, אם עלינו לכתוב שאילתה כדי להוריד את האילוץ UNIQUE שיצרנו לעיל, תוכל לכתוב את השאילתה באופן הבא:

תלמידי לוח שנה STROP CONSTRAINT Stu_Example

בהמשך במאמר זה בנושא אילוצי SQL, הבה נבין כיצד להשתמש במגבלת CHECK.

בדוק אילוץ

אילוץ ה- CHECK מוודא שכל הערכים בעמודה עומדים בתנאי ספציפי.

ההבדל בין נתונים גדולים ל- Hadoop

דוגמא:

בדוק אילוץ ב- CREATE TABLE

כתוב שאילתה ליצירת טבלה סטודנטים עם עמודות StudentID, StudentName, גיל ועיר. כאן, העיר חייבת להיות מומבאי.

צור טבלה סטודנטים (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == 'Mumbai'))

בדוק אילוץ למספר עמודות

כדי להשתמש במגבלת הסימון במספר עמודות, תוכל לכתוב שאילתה כמפורט להלן:

כתוב שאילתה ליצירת טבלה סטודנטים עם עמודות StudentID, StudentName, גיל ועיר. כאן, העיר חייבת להיות מומבאי, וגיל הסטודנטים חייב להיות> 19.

צור טבלה סטודנטים (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == & rsquoMumbai & rsquo AND Age> 19))

באופן דומה, תוכלו להשתמש גם באילוץ CHECK עם הפקודה ALTER TABLE. עיין בהמשך.

בדוק אילוץ בטבלת ALTER

כתוב שאילתה לשינוי טבלת התלמידים, כאשר יש להוסיף אילוץ CHECK לעמודה עיר. כאן העיר חייבת להיות מומבאי.

תלמידי לוח שנה מוסיפים בדיקה (עיר == 'מומבאי')

באופן דומה, אם ברצונך להשתמש במגבלת CHECK על ידי מתן שם, תוכל לכתוב שאילתה באופן הבא:

תלמידי לוח שנה מוסיפים CONSTRAINT StuCheckExample CHECK (עיר == 'מומבאי')

שחרר אילוץ CHECK

כדי להוריד את האילוץ שצוין בעמודה, תוכל להשתמש במוסכמת השמות שאולי הזכרת בעת הוספת האילוץ.

לדוגמה, אם עלינו לכתוב שאילתה כדי להוריד את אילוץ ה- CHECK שיצרנו לעיל, תוכל לכתוב את השאילתה באופן הבא:

תלמידי טבלת משנה ALDRAP CONSTRAINT StuCheckExample

בהמשך במאמר זה בנושא אילוצי SQL, נבין כיצד להשתמש במגבלת DEFAULT.

אילוץ תקן

אילוץ DEFAULT משמש להזכרת קבוצה של ערכי ברירת מחדל עבור עמודה כאשר לא מוגדר שום ערך. בדומה לאילוצים האחרים, אנו יכולים להשתמש במגבלה זו על פקודת הטבלה CREATE ו- ALTER.

דוגמא

כתוב שאילתה ליצירת טבלה סטודנטים עם עמודות StudentID, StudentName, גיל ועיר. גם כאשר אין ערך מוסף בעמודה סיטי, באופן אוטומטי יש לכלול את דלהי.

צור טבלה סטודנטים (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) DEFAULT 'Delhi')

אילוץ ברירת מחדל בטבלת ALTER

כדי להשתמש במגבלת DEFAULT עם ה- פקודת ALTER TABLE , אתה יכול לכתוב שאילתה באופן הבא:

תלמידי לוח שנה מוסיפים קונסטרוקציה StuDefau דוגמה לתיקון 'מומבאי' לעיר

שחרר אילוץ של DEFAULT

כדי להוריד את אילוץ DEFAULT תוכלו להשתמש בפקודה ALTER TABLE באופן הבא:

לוח שנה סטודנטים שנה מטור עיר ירידה בתקן

בהמשך במאמר זה בנושא אילוצי SQL, הבה נבין כיצד להשתמש במגבלת INDEX.

אילוץ INDEX

ה- INDEXהאילוץ משמש ליצירת אינדקסים בטבלה, בעזרת אינדקסים אלו תוכלו ליצור ולקבל נתונים במהירות ממסד הנתונים.

תחביר

- צור אינדקס שבו ערכים כפולים מותרים CREATE INDEX IndexName on TableName (ColumnName1, ColumnName2, ... ColumnName (N)) - צור אינדקס בו ערכים כפולים אינם מורשים ... עמודה שם (N))

דוגמא

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

צור אינדקס Stu_index ON סטודנטים (StudentName)

באופן דומה, כדי למחוק אינדקס מהטבלה, עליך להשתמש בפקודה DROP עם שם האינדקס.

DROP INDEX Students.Stu_index

מלבד האילוצים לעיל מפתח ראשי ומפתח חוץ נחשבים גם לאילוצים. מגבלת המפתח PRIMARY KEY משמשת להגדרת אילוצים כיצד עמודה ספציפית מזהה באופן ייחודי כל כפולה. ה מפתח חוץ האילוץ משמש להתייחסות לשתי טבלאות על בסיס מערכת יחסים.

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

יש לך שאלה עבורנו? אנא הזכיר זאת בחלק ההערות במאמר זה בנושא אילוצי SQL ואחזור אליך.