Примечание
Схема модели базы данных доступна только в некоторых версиях Visio. Для получения дополнительной информации см. раздел Не удается найти функции моделирования баз данных?.
Общие сведения о правилах целостности ссылок
Правила ссылочной целостности не помешать пользователям базы данных случайно нарушить сопоставление между связанными столбцами.
Предположим, что у вас есть база данных с именем Книги с двумя таблицами с именами Titles и Authors. Для целей этого примера у каждого заголовка есть только один автор, но у каждого автора может быть несколько заголовков, что создает так называемое отношение "один ко многим". Таблица на стороне "один" связи называется родительской таблицей. Таблица на стороне "многие" называется дочерней таблицей.
Чтобы собрать сведения о каждой книге и ее авторе, запрос использует ключи для сопоставления каждой книги в таблице Заголовки с ее автором в таблице Авторы. Родительская таблица (Авторы) должна содержать первичный ключ , который однозначно идентифицирует каждую строку. Таблица Titles должна содержать столбец, содержащий Идентификатор автора для каждого заголовка. Этот столбец называется внешним ключом. Первичный ключ определяет каждого автора, а внешний ключ определяет, какие книги были написаны тем или иным автором.
Если пользователь изменяет authorID автора в родительской таблице, не обновляя AuthorID в таблице Заголовки, книги в таблице Заголовки больше не имеют допустимого автора.
Вместо того, чтобы изменять Идентификатор автора в обеих таблицах, можно задать правила целостности ссылок, чтобы выполнить нужное действие. Модель базы данных может выполнять определенные действия при изменении или удалении ключа в родительской таблице.
Примечание
Термины "родитель" и "дочерний" используются для обозначения чего-то совершенно другого в категориях, которые создаются с фигурами Родитель в категорию, Категория и Категория в дочерние . Дополнительные сведения о категориях см . в разделе Определение категорий в схеме модели базы данных.
Настройка действий для целостности ссылок
Дважды щелкните отношение, для которого требуется задать ссылающееся действие.
В окно свойств базы данных в разделе Категории щелкните Действие ссылки.
Щелкните действие, которое база данных будет выполнять с соответствующим значением в дочерней таблице. Вы можете выбрать один из следующих действий:
- Нет действий При изменении или удалении значения в первичном ключе родительской таблицы соответствующее значение во внешнем ключе дочерней таблицы остается без изменений.
- Каскад При изменении или удалении значения в первичном ключе родительской таблицы соответствующее значение во внешнем ключе дочерней таблицы изменяется или удаляется в соответствии с первичным ключом.
- Задать значение NULL При изменении или удалении значения в первичном ключе родительской таблицы соответствующее значение во внешнем ключе дочерней таблицы задается в значение NULL.
- Задать значение по умолчанию При изменении или удалении значения в первичном ключе родительской таблицы для соответствующего значения во внешнем ключе дочерней таблицы устанавливается значение по умолчанию, выбранное вами.
- Не применять принудительное применение Это действие отключает правила целостности ссылок для этой связи.
Примечание
Если параметры Задать NULL и Задать по умолчанию отключены, скорее всего, для связи задано значение Необязательный на вкладке Разное окно свойств базы данных.
Установка значения по умолчанию для столбца
Чтобы использовать действие Задать по умолчанию , необходимо указать значение по умолчанию для столбца.
- Дважды щелкните таблицу на схеме, чтобы открыть окно свойств базы данных.
- В разделе Категории щелкните Столбцы, щелкните столбец, для которого требуется создать значение по умолчанию, а затем нажмите кнопку Изменить.
- На вкладке Определение диалогового окна Свойства столбца введите значение по умолчанию.
Отображение целостности ссылок с помощью нотации
В параметрах документа можно настроить скрытие или отображение нотации целостности ссылок рядом с линиями отношений в модели.
Что означают буквы в нотации целостности ссылок?
В нотации целостности ссылок показаны связи с двумя буквами, разделенными двоеточием, в виде [действие, выполняемое в родительской таблице]:[результат в дочерней таблице]. Например, d:C означает, что при удалении чего-либо из родительской таблицы изменение каскадируется в дочернюю таблицу.
Действия в родительской таблице обозначаются строчной буквой:
- u Данные в родительской таблице обновляются.
- d Данные в родительской таблице удаляются.
Результаты в дочерней таблице обозначаются прописной буквой:
- R Нет действия Не изменяйте дочернюю таблицу.
- Каскад C Реплицируйте изменения в дочерней таблице.
- D Задать значение по умолчанию Вставьте ранее заданное значение по умолчанию для этого столбца в дочернюю таблицу.
- N задать значение NULL Задайте для дочерней таблицы значение NULL.
- (Пусто) Не применяйте целостность ссылок для этой связи.
Примечание
Эти параметры влияют на то, что происходит в реальной базе данных, а не в модели. В модели, в которую выполняется обратный инженер из существующей базы данных, можно увидеть, как устроена база данных с учетом ссылочной целостности. В модели, создаваемой с нуля, эти параметры можно использовать, чтобы задокументировать поведение моделируемой базы данных.
Отображение целостности ссылок в Visio 2010
- На вкладке База данных в группе Управление нажмите Параметры отображения.
- На вкладке Связи в разделе Показать выберите поле Проверка ссылок.
Не удается найти функции моделирования баз данных?
В некоторых версиях Visio нет шаблона схема модели базы данных.
В Visio стандартный не содержится шаблон "Схема модели базы данных".
В выпусках Visio профессиональный и премиум поддерживаются возможности реконструирования для шаблона "Схема модели базы данных" (т. е. создание модели в Visio из существующей базы данных), но прямая разработка (т. е. создание кода SQL на основе модели базы данных в Visio) недоступна.
Примечание
Полный набор функций для моделирования баз данных, включая возможности реконструирования и прямой разработки, доступен в выпуске Visio for Enterprise Architects. Visio for Enterprise Architects входит в подписку MSDN Premium, которая предлагается вместе с продуктом Visual Studio Professional и ролевыми выпусками системы Visual Studio Team System.
Если вы используете Visio, план 2 и хотите узнать о том, как спроектировать существующую базу данных в модели базы данных, см. раздел Перепроектировать существующую базу данных.