Работа с таблицами
Диалоговое окно свойств таблицы
Если щелкнуть правой кнопкой мыши в верхней части окна Конструктора и выбрать в контекстном меню команду Свойства (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) первичный ключ (он имеет префикс РК_). В поле Тип (Type) появится значение Первичный ключ (Primary key). В списке Имя столбца (Column name) определите поле или несколько полей, которые будут составлять ключ. При этом, если ключ составной, нужно выбирать поля и том порядке, в каком они должны быть в ключе. При выходе из поля Имя столбца (Column name) (при переносе фокуса в любое другое поле) проверяется правильность определения ключа и выдается сообщение об ошибке, если нарушено какое-либо правило.