יצירה או שינוי של טבלאות או אינדקסים באמצעות שאילתת הגדרת נתונים

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

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

במאמר זה

מבט כולל

יצירה או שינוי של טבלה

יצירת אינדקס

יצירת אילוץ או קשר גומלין

מבט כולל

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

הערה: שפת הגדרת נתונים (DDL) הוא חלק של שפת שאילתות מובנית (SQL).

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

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

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

מילות מפתח של DDL

מילת מפתח

שימוש

CREATE

יצירת אינדקס או שאינו קיים כבר.

ALTER

שנה מטבלה או קיימת עמודה.

DROP

מחיקת טבלה קיימת, העמודה, או אילוץ.

‎ ADD

הוספת עמודה או אילוץ לטבלה.

COLUMN

השתמש עם הוספה, משפט ALTER, או שחרור

‎ CONSTRAINT

השתמש עם הוספה, משפט ALTER, או שחרור

INDEX

שימוש בצור

TABLE

השתמש עם משפט ALTER, צור, או שחרור

לראש הדף

יצירה או שינוי של טבלה

כדי ליצור טבלה, עליך להשתמש פקודה CREATE TABLE. פקודה CREATE TABLE מכיל בתחביר הבא:

CREATE TABLE table_name 
(field1 type [(size)] [NOT NULL] [index1]
[, field2 type [(size)] [NOT NULL] [index2]
[, ...][, CONSTRAINT constraint1 [, ...]])

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

נניח שברצונך ליצור טבלה כדי לאחסן את השם, year והמחיר של מכוניות שנעשה בהם שימוש שבהם אתה שוקל לרכישה. ברצונך לאפשר עד 30 תווים עבור השם ו- 4 תווים עבור השנה. כדי להשתמש שאילתת הגדרת נתונים כדי ליצור את הטבלה, בצע את הפעולות הבאות:

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

  • בסרגל ההודעות, לחץ על הפוך תוכן לזמין.

יצירת טבלה

  1. בכרטיסיה יצירה, בקבוצה פקודות מאקרו וקוד, לחץ על עיצוב שאילתה.

  2. סגור את תיבת הדו-שיח הצגת טבלה.

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

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

  4. הקלד משפט SQL הבא:

    יצירת טבלה מכוניות (שם TEXT(30), Year TEXT(4), מחיר מטבע)

  5. בכרטיסיה עיצוב, בקבוצה תוצאות, לחץ על הפעל.

שינוי טבלה

כדי לשנות טבלה, השתמש פקודת ALTER TABLE. באפשרותך להשתמש פקודת ALTER TABLE כדי להוסיף, לשנות או לשחרר (הסרה) של עמודות או אילוצים. פקודת ALTER TABLE מכיל בתחביר הבא:

ALTER TABLE table_name predicate

היכן פרדיקאט יכולה להיות כל אחת מהפעולות הבאות:

ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT constraint]

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

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

  1. בכרטיסיה יצירה, בקבוצה פקודות מאקרו וקוד, לחץ על עיצוב שאילתה.

  2. סגור את תיבת הדו-שיח הצגת טבלה.

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

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

  4. הקלד משפט SQL הבא:

    משפט ALTER טבלה מכוניות הוסף עמודה תנאי TEXT(10)

  5. בכרטיסיה עיצוב, בקבוצה תוצאות, לחץ על הפעל.

לראש הדף

יצירת אינדקס

כדי ליצור אינדקס טבלה קיימת, תשתמש פקודה יצירת אינדקס. פקודה CREATE INDEX מכיל את התחביר הבא:

CREATE [UNIQUE] INDEX index_name
ON table (field1 [DESC][, field2 [DESC], ...])
[WITH {PRIMARY | DISALLOW NULL | IGNORE NULL}]

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

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

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

  • הארגומנט עם DISALLOW NULL גורמת האינדקס לדרוש הזנת ערך עבור שדה אינדקס — כלומר, ערכי null אינם מותרים.

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

  1. בכרטיסיה יצירה, בקבוצה פקודות מאקרו וקוד, לחץ על עיצוב שאילתה.

  2. סגור את תיבת הדו-שיח הצגת טבלה.

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

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

  4. הקלד משפט SQL הבא:

    יצירת אינדקס פעיל YearIndex מכוניות (שנה)

  5. בכרטיסיה עיצוב, בקבוצה תוצאות, לחץ על הפעל.

לראש הדף

יצירת אילוץ או קשר גומלין

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

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

כדי ליצור אילוץ, השתמש פסוקית CONSTRAINT בפקודה CREATE TABLE או ALTER TABLE. קיימים שני סוגים של משפטי אילוץ: אחד ליצירת הגבלה של שדה בודד, ואחד ליצירת אילוץ לפי שדות מרובים.

אילוצים שדה יחיד

פסוקית CONSTRAINT שדה יחיד מייד לאחר ההגדרה של השדה it מגבילה ולאחר התחביר הבאים:

CONSTRAINT constraint_name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreign_table [(foreign_field)]
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

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

  1. בכרטיסיה יצירה, בקבוצה פקודות מאקרו וקוד, לחץ על עיצוב שאילתה.

  2. סגור את תיבת הדו-שיח הצגת טבלה.

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

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

  4. הקלד משפט SQL הבא:

    משפט ALTER טבלה מכוניות משפט ALTER העמודה תנאי טקסט אילוץ ConditionRequired NOT NULL

  5. בכרטיסיה עיצוב, בקבוצה תוצאות, לחץ על הפעל.

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

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

לאחר שתנקה את ערכי כך שיהיו עקבי יותר, באפשרותך ליצור טבלה, בשם CarCondition, עם שדה אחד, הנקרא תנאי, שמכיל את הערכים שבהם ברצונך להשתמש עבור התנאי של מכוניות:

  1. בכרטיסיה יצירה, בקבוצה פקודות מאקרו וקוד, לחץ על עיצוב שאילתה.

  2. סגור את תיבת הדו-שיח הצגת טבלה.

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

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

  4. הקלד משפט SQL הבא:

    יצירת טבלה CarCondition (תנאי TEXT(10))

  5. בכרטיסיה עיצוב, בקבוצה תוצאות, לחץ על הפעל.

  6. יצירת מפתח ראשי עבור הטבלה באמצעות משפט ALTER TABLE:

    משפט ALTER CarCondition משפט ALTER העמודה תנאי טקסט אילוץ CarConditionPK מפתח ראשי טבלה

  7. כדי להוסיף את הערכים מהשדה תנאי של הטבלה מכוניות לתוך הטבלה CarCondition החדשה, הקלד את ה-SQL הבא לתוך כרטיסיית אובייקט של תצוגת SQL:

    הוסף לתוך CarCondition SELECT DISTINCT תנאי מתוך מכוניות;

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

  8. בכרטיסיה עיצוב, בקבוצה תוצאות, לחץ על הפעל.

יצירת קשר גומלין באמצעות אילוץ

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

  1. בכרטיסיה יצירה, בקבוצה פקודות מאקרו וקוד, לחץ על עיצוב שאילתה.

  2. סגור את תיבת הדו-שיח הצגת טבלה.

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

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

  4. הקלד משפט SQL הבא:

    משפט ALTER טבלה מכוניות משפט ALTER העמודה תנאי טקסט אילוץ FKeyCondition הפניות CarCondition (תנאי)

  5. בכרטיסיה עיצוב, בקבוצה תוצאות, לחץ על הפעל.

אילוצים מרובה שדות

פסוקית CONSTRAINT שדות מרובים יכולים לשמש רק מחוץ פסוקית הגדרת שדה, וכולל בתחביר הבא:

CONSTRAINT constraint_name 
{PRIMARY KEY (pk_field1[, pk_field2[, ...]]) |
UNIQUE (unique1[, unique2[, ...]]) |
NOT NULL (notnull1[, notnull2[, ...]]) |
FOREIGN KEY [NO INDEX] (ref_field1[, ref_field2[, ...]])
REFERENCES foreign_table
[(fk_field1[, fk_field2[, ...]])] |
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

שקול דוגמה נוספת המשתמשת בטבלה מכוניות. נניח שברצונך לוודא שלא שתי רשומות בטבלה מכוניות כולל את אותו אוסף של ערכים עבור שם, Year, תנאי ו- Price. באפשרותך ליצור אילוץ ייחודי שחל על שדות אלה, באמצעות ההליך הבא:

  1. בכרטיסיה יצירה, בקבוצה פקודות מאקרו וקוד, לחץ על עיצוב שאילתה.

  2. סגור את תיבת הדו-שיח הצגת טבלה.

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

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

  4. הקלד משפט SQL הבא:

    לשנות טבלה מכוניות להוסיף אילוץ NoDupes ייחודי (שם, year, תנאי, price)

  5. בכרטיסיה עיצוב, בקבוצה תוצאות, לחץ על הפעל.

לראש הדף

שפר את הכישורים שלך ב- Office
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×