Създаване или модифициране на таблици или индекси с помощта на заявка за дефиниране на данни

Забележка:  Бихме искали да ви осигурим най-новото помощно съдържание възможно най-бързо на вашия собствен език. Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас, в дъното на тази страница? Ето статията на английски за бърза справка.

Можете да създавате и променяте таблици, ограничения, индекси и релации в Access с писането на заявки за дефиниране на данни в SQL изглед. Тази статия обяснява заявки за дефиниране на данни и как да ги използвате за създаване на таблици, ограничения, индекси и релации. В тази статия може да ви помогне да решите кога да използвате заявка за дефиниране на данни.

В тази статия

Общ преглед

Създаване или модифициране на таблица

Създаване на индекс

Създаване на ограничението или връзка

Общ преглед

За разлика от други заявки на Access на заявка за дефиниране на данни не се извлече данни. Вместо това на заявка за дефиниране на данни използва език за дефиниране на данни за създаване, промяна или изтриване на обекти на бази данни.

Забележка: Език за дефиниция на данни (DDL) е част от Structured Query Language (SQL).

Заявки за дефиниране на данни може да бъде много удобен. Редовно можете да изтриете и да създадете отново части на схемата на базата данни само като изпълните някои заявки. Помислете за използване на заявка за дефиниране на данни, ако сте запознати с SQL отчети и имате намерение да изтриете и създайте отново конкретна таблици, ограничения, индекси или релации.

Предупреждение: Използване на заявки за дефиниране на данни за промяна на обекти на бази данни може да бъде опасно, защото действията, които не се придружават от потвърждение диалогови прозорци. Ако допуснете грешка, можете да загубите данни или по невнимание промяна на структурата на таблица. Бъдете внимателни, когато използвате заявка за дефиниране на данни за промяна на обекти във вашата база данни. Ако не сте отговорни за поддържане на базата данни, която използвате, да се консултирате с администратора на базата данни, преди да изпълните заявка за дефиниране на данни.

Важно: Направи архивно копие на всички таблици, преди да изпълните заявка за дефиниране на данни.

DDL ключови думи

Ключова дума

Използвайте

CREATE

Създаване на индекс или таблицата, която вече не съществува.

ALTER

Промяна на съществуваща таблица или колона.

DROP

Изтриване на съществуваща таблица, колона или ограничение.

ADD

Добавяне на колона или ограничения в таблица.

COLUMN

Използвайте с добавяне, ALTER, или ПУСНЕТЕ

CONSTRAINT

Използвайте с добавяне, ALTER, или ПУСНЕТЕ

INDEX

Използвай със създаване

TABLE

Използвай с ALTER, създаване или ПУСНЕТЕ

Най-горе на страницата

Създаване или модифициране на таблица

За да създадете таблица, можете да използвате командата "създаване на таблица". Командата "създаване на таблица" има следния синтаксис:

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

Единственото задължително елементи на командата "създаване на таблица" са самата команда за създаване на таблица и името на таблицата, но обикновено ще искате да дефинирате някои полета или други аспекти на таблицата. Помислете за този прост пример.

Да предположим, че искате да създадете таблица за съхраняване на името, година и цената на използваните коли, които смятате за покупка. Искате да позволите до 30 знака за името и 4 знака за година. За да използвате заявка за дефиниране на данни, за да създадете таблица, направете следното:

Забележка: Може да се наложи първо да разрешите съдържанието на базата данни, за да заявка за дефиниране на данни, за да изпълните:

  • В лентата за съобщения щракнете върху Разрешаване на съдържание.

Записване като работна книга с разрешени макроси

  1. В раздела Създаване , в групата макроси и код щракнете върху Проектиране на заявки.

  2. Затворете диалоговия прозорец Показване на таблица.

  3. В раздела проектиране , в групата Тип заявка щракнете върху Дефиниране на данни.

    Мрежата за проектиране и след това се показва SQL обекти "изглед".

  4. Въведете следната SQL команда:

    СЪЗДАВАНЕ на таблица коли (име TEXT(30), година TEXT(4), Цена валута)

  5. В раздела Проектиране, в групата Резултати щракнете върху Изпълни.

Модифициране на таблица

За да промените таблица, можете да използвате команда ALTER таблица. Можете да използвате команда ALTER таблица за добавяне, промяна или прекратяване (премахване) колони или ограничения. Команда ALTER таблица има следния синтаксис:

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}]

Единственият задължителни елементи са CREATE INDEX командата, името на индекса, Включете аргумент, името на таблицата, която съдържа полетата, които искате да индексирате и списъка на полетата, за да бъдат включени в индекса.

  • DESC аргумент причините индекса да бъдат създадени в низходящ ред, който може да бъде полезно, ако често изпълнение на заявки, които се търси най-горе стойности за индексирано поле или сортирате индексирано поле в низходящ ред. По подразбиране индекс се създава във възходящ ред.

  • Аргументът с ПЪРВИЧЕН създава индексирани полето или полетата, като първичен ключ на таблицата.

  • Аргументът с DISALLOW NULL кара индекса да се изисква да бъде въведена стойност за полето индексирани – тоест стойности null не са разрешени.

Да предположим, че имате таблица с име коли с полета, в които се съхранява име, година, цена и състояние на използваните коли, които смятате за покупка. Също така да предположим, че таблицата е станал голям и често да включите полето година в заявки. Можете да създадете индекс на полето година, за да помогнете на вашите заявки върнат резултати по-бързо с помощта на следната процедура:

  1. В раздела Създаване , в групата макроси и код щракнете върху Проектиране на заявки.

  2. Затворете диалоговия прозорец Показване на таблица.

  3. В раздела проектиране , в групата Тип заявка щракнете върху Дефиниране на данни.

    Мрежата за проектиране и след това се показва SQL обекти "изглед".

  4. Въведете следната SQL команда:

    СЪЗДАВАНЕ на индекс YearIndex на коли (година)

  5. В раздела Проектиране, в групата Резултати щракнете върху Изпълни.

Най-горе на страницата

Създаване на ограничението или връзка

Ограничението се създава логически състояние, което поле или комбинация от полета трябва да отговаря, когато се вмъкват стойности. Например уникално ограничение пречи да ограничени поле приемат стойност, която ще дублира съществуваща стойност за полето.

Една връзка е тип ограничение, което препраща към стойности на поле или комбинация от полета в друга таблица, за да определите дали дадена стойност може да бъде вмъкната в ограничени полето или комбинация от полета. Не използвайте специално ключова дума за да укажете, че ограничението е релация.

За да създадете ограничение, можете да използвате клауза CONSTRAINT в създаване на таблица или ПРОМЕНЯ таблица команда. Има два вида ОГРАНИЧЕНИЕТО клаузи: една за създаване на ограничението на едно и също поле и друг за създаване на ограничението на няколко полета.

Ограничения за единично поле

Клауза единично поле ограничение непосредствено следва дефиницията на поле, че ограничения и има следния синтаксис:

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

Да предположим, че имате таблица с име коли с полета, в които се съхранява име, година, цена и състояние на използваните коли, които смятате за покупка. Също така да предположим, че често забравите за въвеждане на стойност за състоянието на колата и дали искате винаги да записвате тази информация. Можете да създадете ограничение в полето условие, което не ви позволява да като оставите полето празно, с помощта на следната процедура:

  1. В раздела Създаване , в групата макроси и код щракнете върху Проектиране на заявки.

  2. Затворете диалоговия прозорец Показване на таблица.

  3. В раздела проектиране , в групата Тип заявка щракнете върху Дефиниране на данни.

    Мрежата за проектиране и след това се показва SQL обекти "изглед".

  4. Въведете следната SQL команда:

    ALTER таблица коли ALTER колона условие текст ограничение ConditionRequired не е NULL

  5. В раздела Проектиране, в групата Резултати щракнете върху Изпълни.

Сега да предположим, че след известно време, забележите, че има много подобни стойности в полето условие, което трябва да са същите. Например някои от коли имат условие стойност на лошото и други хора имат стойност на лоши.

Забележка: Ако искате да проследите останалите процедури, добавете някои фалшиви данни в таблицата на коли, който създадохте в предишните стъпки.

След като почистите стойностите така че да са по-последователни, може да създадете таблица, наречена CarCondition, с едно поле, наречена условие, която съдържа всички стойности, които искате да използвате за състоянието на коли:

  1. В раздела Създаване , в групата макроси и код щракнете върху Проектиране на заявки.

  2. Затворете диалоговия прозорец Показване на таблица.

  3. В раздела проектиране , в групата Тип заявка щракнете върху Дефиниране на данни.

    Мрежата за проектиране и след това се показва SQL обекти "изглед".

  4. Въведете следната SQL команда:

    СЪЗДАВАНЕ на таблица CarCondition (условие TEXT(10))

  5. В раздела Проектиране, в групата Резултати щракнете върху Изпълни.

  6. Създаване на първичен ключ за таблицата чрез команда ALTER TABLE:

    ПРОМЕНЯ таблица CarCondition ALTER колона условие текст ограничение CarConditionPK ПЪРВИЧЕН ключ

  7. За да вмъкнете стойностите от полето условие на коли таблицата новата CarCondition таблица, въведете следната SQL в SQL обекти "изглед":

    Вмъкване в CarCondition изберете ОТДЕЛНО условие от Коли;

    Забележка: SQL командата в тази стъпка е заявка за добавяне. За разлика от заявка за дефиниране на данни заявка за добавяне завършва с точка и запетая.

  8. В раздела Проектиране, в групата Резултати щракнете върху Изпълни.

Създаване на релация с помощта на ограничение

За да изисквате, че всяка нова стойност в полето състояние на коли таблицата съвпада със стойността на полето състояние в таблицата по-CarCondition, след това можете да създадете релация между CarCondition и коли на поле, наречено условие, като използвате следните процедура:

  1. В раздела Създаване , в групата макроси и код щракнете върху Проектиране на заявки.

  2. Затворете диалоговия прозорец Показване на таблица.

  3. В раздела проектиране , в групата Тип заявка щракнете върху Дефиниране на данни.

    Мрежата за проектиране и след това се показва SQL обекти "изглед".

  4. Въведете следната SQL команда:

    ALTER таблица коли ALTER колона условие текст ограничение FKeyCondition ПРЕПРАТКИ CarCondition (условие)

  5. В раздела Проектиране, в групата Резултати щракнете върху Изпълни.

Ограничения за няколко полета

Клауза за ограничение за няколко полета може да се използва само извън клауза дефиниция на поле и има следния синтаксис:

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}]}

Помислете за друг пример, който използва таблицата коли. Да предположим, че искате да се уверите, че няма два записа в таблицата по-коли имат един и същ набор от стойности за име, година, състояние и цена. Може да създадете уникален ограничение, което се отнася за тези полета, с помощта на следната процедура:

  1. В раздела Създаване , в групата макроси и код щракнете върху Проектиране на заявки.

  2. Затворете диалоговия прозорец Показване на таблица.

  3. В раздела проектиране , в групата Тип заявка щракнете върху Дефиниране на данни.

    Мрежата за проектиране и след това се показва SQL обекти "изглед".

  4. Въведете следната SQL команда:

    ПРОМЕНЯ таблица коли Добавяне на ограничение NoDupes уникални (име, година, условие, цена)

  5. В раздела Проектиране, в групата Резултати щракнете върху Изпълни.

Най-горе на страницата

Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×