Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Таблицы являются основными стандартными блоками реляционной базы данных. Таблица содержит строки (или записи) данных, и каждая строка организована в конечное число столбцов (или полей). Чтобы создать новую таблицу в Access с помощью Access SQL, необходимо присвоить таблице имя, имя поля и определить тип данных, которые будут содержаться в этих полях. Используйте инструкцию CREATE TABLE для определения таблицы в SQL. Предположим, что вы создаете базу данных счетов. Первым шагом является создание начальной таблицы клиентов.
CREATE TABLE tblCustomers
(CustomerID INTEGER,
[Last Name] TEXT(50),
[First Name] TEXT(50),
Phone TEXT(10),
Email TEXT(50))
При создании и удалении таблиц следует учитывать следующие проблемы:
- Если имя поля содержит пробел или какой-либо другой неальфанумерный символ, необходимо заключить это имя поля в квадратные скобки ([ ]).
- Если не объявить длину для текстовых полей, по умолчанию они будут 255 символов. Для обеспечения согласованности и удобочитаемости кода всегда следует определять длину полей.
Поле можно объявить как NOT NULL, что означает, что значения NULL не могут быть вставлены в это конкретное поле; значение всегда является обязательным. Значение NULL не следует путать с пустой строкой или значением 0; это просто представление базы данных неизвестного значения.
CREATE TABLE tblCustomers
(CustomerID INTEGER NOT NULL,
[Last Name] TEXT(50) NOT NULL,
[First Name] TEXT(50) NOT NULL,
Phone TEXT(10),
Email TEXT(50))
Чтобы удалить таблицу из базы данных, используйте инструкцию DROP TABLE .
DROP TABLE tblCustomers
Создание и удаление индексов
Индекс — это внешняя структура данных, используемая для сортировки или размещения указателей на данные в таблице. При применении индекса к таблице вы указываете определенное расположение данных, чтобы к ним можно было быстрее обращаться. Однако если к таблице применяется слишком много индексов, производительность может снизиться из-за дополнительных накладных расходов, связанных с обслуживанием индекса, а также из-за того, что индекс может вызвать проблемы с блокировкой при использовании в многопользовательской среде. Индекс, используемый в правильном контексте, может значительно повысить производительность приложения.
Чтобы создать индекс в таблице, необходимо присвоить имя индексу, присвоить таблице имя для построения индекса, присвоить имя используемому полю или полям в таблице, а также присвоить имя параметрам, которые вы хотите использовать. Для создания индекса используется инструкция CREATE INDEX . Например, можно создать индекс на основе таблицы customers в базе данных выставления счетов, упомянутой ранее, с помощью следующего кода:
CREATE INDEX idxCustomerID
ON tblCustomers (CustomerID)
Индексированные поля можно сортировать одним из двух способов: по возрастанию (ASC) или по убыванию (DESC). Порядок по умолчанию возрастает, и его не требуется объявлять. Если используется порядок по возрастанию, данные будут отсортированы от 1 до 100. Если указать порядок убывания, данные будут отсортированы от 100 до 1. Необходимо объявить порядок сортировки с каждым полем в индексе.
CREATE INDEX idxCustomerID
ON tblCustomers (CustomerID DESC)
Существует четыре основных параметра, которые можно использовать с индексом: PRIMARY, DISALLOW NULL, IGNORE NULL и UNIQUE. Параметр PRIMARY определяет индекс в качестве первичного ключа для таблицы. Для каждой таблицы может быть только один индекс первичного ключа, хотя индекс первичного ключа можно объявить с несколькими полями. Используйте ключевое слово WITH для объявления параметров индекса.
CREATE INDEX idxCustomerID
ON tblCustomers (CustomerID)
WITH PRIMARY
Чтобы создать индекс первичного ключа для нескольких полей, добавьте все имена полей в список полей.
CREATE INDEX idxCustomerName
ON tblCustomers ([Last Name], [First Name])
WITH PRIMARY
Параметр DISALLOW NULL предотвращает вставку данных NULL в поле. (Это похоже на объявление NOT NULL , используемое в инструкции CREATE TABLE .)
CREATE INDEX idxCustomerEmail
ON tblCustomers (Email)
WITH DISALLOW NULL
Параметр IGNORE NULL приводит к тому, что данные NULL в таблице игнорируются для индекса. Это означает, что любая запись, которая имеет значение NULL в объявленном поле, не будет использоваться (или подсчитываться) в индексе.
CREATE INDEX idxCustomerLastName
ON tblCustomers ([Last Name])
WITH IGNORE NULL
Помимо параметров PRIMARY, DISALLOW NULL и IGNORE NULL , можно также объявить индекс как UNIQUE. Это означает, что в индексированные поля можно вставить только уникальные неповторяющиеся значения.
CREATE UNIQUE INDEX idxCustomerPhone
ON tblCustomers (Phone)
Чтобы удалить индекс из таблицы, используйте инструкцию DROP INDEX .
DROP INDEX idxName
ON tblCustomers
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.