Настольная СУБД Access 2002

         

Диалоговое окно свойств таблицы



Диалоговое окно свойств таблицы

Если щелкнуть правой кнопкой мыши в верхней части окна Конструктора и выбрать в контекстном меню команду Свойства (Properties), появится диалоговое окно Свойства (Properties), имеющее пять вкладок. На них перечисляется ряд свойств таблицы, которые можно просматривать и изменять. Наиболее важны три вкладки:



  • Связи (Relationships);
  • Индексы и ключи (Indexes/Keys);
  • Проверить ограничения (Check'Constraints).

На вкладке Связи (Relationships) отображаются и могут модифицироваться внешние ключи (foreign keys) таблицы, которые отражают ее связи с другими таблицами. Внешние ключи создаются автоматически в процессе задания связей между таблицами на схеме данных.

Поле со списком Выделенная связь (Selected relationship) содержит список связей таблицы. Выбрав из этого списка значение, в остальных полях можно увидеть описание выбранной связи.

Поле Имя связи (Relationship name) показывает имя данной связи.

Таблица из двух столбцов отображает две стороны связи: слева — имя таблицы и имя поля, которое является первичным ключом; справа — имя таблицы и имя поля, которое является внешним ключом, т. е. содержит значения первичного ключа другой таблицы. Эти таблицы связаны по полю "КодТипа" (Categoryld). Это поле в таблице "Типы" является первичным ключом, а в таблице "Товары" — внешним. Имя связи состоит из трех частей и формируется следующим образом: первым пишется имя таблицы, включающей внешний ключ, затем имя таблицы, содержащей первичный ключ, и перед ними ставится префикс. Префикс зависит от того, на какой стороне оказывается таблица, связи которой мы описываем: если она содержит внешний ключ, то пишется префикс FK_, если она содержит первичный ключ, то пишется префикс РК_. В данном примере получается имя FK_Products_Categories, т. к. мы смотрим связи таблицы "Товары" (Products). Перед именем связи присутствует значок. Значок "бесконечность" указывает, что данная таблица находится в связи на стороне "многие", а значок "ключ" означает, что данная таблица находится на стороне "один". Имя связи формируется автоматически, однако оно может быть откорректировано в поле Имя связи (Relationship name).

Для выбранной связи можно изменить поле, которое будет содержать вторичный ключ, выбрав из списка полей таблицы нужное поле. Изменить поле первичного ключа нельзя, это можно сделать только на вкладке Индексы и ключи (Indexes/Keys).

Флажки в нижней части вкладки имеют следующие значения.

  • Флажок Проверить имеющиеся данные при создании (Check existing data on creation), будучи установленным, гарантирует, что для всех данных, которые были введены в таблицу до того, как наложили данное ограничение, будет выполнена проверка, удовлетворяют ли они этому ограничению.
  • Флажок Применить связь при репликации (Enforce constraint for replication) позволяет включать и отключать проверку данного ограничения при копировании таблицы в другую базу данных.
  • Флажок Применить связь для INSERT и UPDATE (Enforce constraint for INSERT and UPDATE) позволяет включать и отключать проверку данного ограничения при добавлении, изменении и удалении записей в таблице, содержащей внешний ключ. Каскадное удаление и обновление связанных полей возможно только для . Microsoft SQL Server 2000.

Кнопки Создать (New) и Удалить (Delete) используются для создания и удаления связей.

На вкладке Индексы и ключи (Indexes/Keys) можно вводить и изменять индексы таблицы, первичный ключ и ограничения типа уникальность (флажок UNIQUE) .

Первичный ключ устанавливается в таблицах проекта так же, как в таблицах Access: нужно выделить поле или несколько полей и нажать кнопку Ключевое поле (Primary Key) на панели инструментов в режиме Конструктора таблицы. Первичный ключ может быть изменен с помощью диалогового окна Свойства (Properties). Для этого нужно выделить в списке Выбранный индекс (Selected index) первичный ключ (он имеет префикс РК_). В поле Тип (Туре) появится значение Первичный ключ (Primary key). В списке Имя столбца (Column name) определите поле или несколько полей, которые будут составлять ключ. При этом, если ключ составной, нужно выбирать поля и том порядке, в каком они должны быть в ключе. При выходе из поля Имя столбца (Column name) (при переносе фокуса в любое другое поле) проверяется правильность определения ключа и выдается сообщение об ошибке, если нарушено какое-либо правило.

Поле Имя индекса (Index Name) содержит имя индекса. Для первичного ключа это имя состоит из префикса РК_ и имени таблицы.

Флажок CLUSTERED для первичного ключа должен быть установлен, т. к. это кластеризованный индекс.

Замечание

Кластеризованный индекс (clustered index) определяет порядок физического следования строк в таблице, поэтому он может быть только один, и его предпочтительнее использовать, если часто приходится выбирать не по одной строке, а по целому диапазону строк — в этом случае кластеризованный индекс работает быстрее, чем некластеризованный. Если этот флажок недоступен, значит, в таблице уже есть поле, в котором определен кластеризованный индекс. Чтобы установить флажок для первичного ключа, нужно сначала снять его в другом поле.

Поле Выделенный индекс (Selected index) содержит список всех индексов в таблице. Чтобы добавить новый индекс, нужно:

  1. Нажать кнопку Создать (New). При этом в поле Выделенный индекс (Selected index) появится имя индекса, автоматически созданное системой.
  2. В списке Имя столбца (Column name) выбрать поля, которые будут составлять индекс (максимальное число полей в составном индексе 16), и задать порядок сортировки данных в индексе (по возрастанию или по убыванию).
  3. Ввести имя индекса в поле Имя индекса (Index name).
  4. Дополнительно можно определить другие свойства. Например, если вы хотите сделать индекс уникальным, нужно установить флажок UNIQUE, выбрать переключатель Индекс (Index) и установить флажок Пропускать повторения (Ignore duplicate key).

Чтобы удалить индекс, нужно выбрать его из списка и нажать кнопку Удалить (Delete).

Ограничение типа UNIQUE на поле таблицы создается так же, как уникальный индекс, только нужно выбрать переключатель Ограничение (Constraint) (он выбирается по умолчанию). Такое ограничение можно ввести для поля, в котором разрешены значения Null, хотя первичным ключом такое значение быть не может.

Параметр Степень заполнения (Fill factor) определяет максимальный процент заполнения индексной страницы данными. Этот параметр может влиять на производительность и используется при тонкой настройке приложения, по умолчанию его значение равно 0.

На вкладке Проверить ограничения (Check Constraints) можно вводить и изменять ограничения типа проверки (CHECK), описывающие правила проверки значений полей. В поле со списком Выделенное ограничение (Selected constraint) можно выбрать одно из ограничений, которые уже введены для таблицы. Каждое ограничение имеет имя, состоящее из трех частей:

  • префикс, который определяет тип ограничения, в данном случае это СК_;
  • имя таблицы;
  • имя поля.

Обычно префикс и имя таблицы формируются автоматически, в процессе ввода нового ограничения, последняя часть имени добавляется вручную в поле Имя ограничения (Constraint name).

Поле Выражение для ограничения (Constraint expression) служит для ввода выражения, которое и определяет ограничение. При написании выражения используется синтаксис языка сервера Transact-SQL, который отличается от синтаксиса SQL Access. (Для справки обращайтесь к разд. "Transact-SQL Reference" справочной системы Access.)

Флажки в нижней части вкладки имеют то же назначение, что и на вкладке Связи (Relationships).

Чтобы ввести новое ограничение, нужно нажать кнопку Создать (New), ввести выражение в поле Выражение для ограничения (Constraint expression) и добавить к значению в поле Имя ограничения (Constraint name) имя поля, на которое накладывается ограничение.

Чтобы удалить уже существующее ограничение, нужно выбрать его из списка в поле Выделенное ограничение (Selected constraint) и нажать кнопку Удалить (Delete).



Содержание раздела