Управление данными / Лабораторная работа №2
.pdfЛабораторная работа №2.
Создание связей между таблицами
Ход выполнения работы
Часть 1. Проектирование связей
Предложите свой вариант разбиения исходной таблицы на несколько
(2-3) связанных таблиц. Если все сведения поместить в одной таблице, то она станет очень неудобной для работы. В ней начнутся повторы данных. Чтобы уменьшить число ошибок, можно исходную таблицу разбить на несколько таблиц и установить связи между ними.
1.В исходной таблице (результат лабораторной работы №1) выделите совокупности атрибутов, которые было бы целесообразно вынести в отдельные таблицы, чтобы избежать повторов данных в исходной таблице.
2.Проименуйте каждую такую совокупность атрибутов как новое отношение (новую таблицу).
3.Продумайте связи между исходной таблицей и новыми таблицами. Какая из таблиц для каждой из связей будет являться основной (родительской), а какая подчиненной. Какое поле будут родительским ключом, а какое поле будет внешним ключом для каждой связи. Обоснуйте выбор типа для каждой связи: «один к одному», «один ко многим» или «многие ко многим».
4.Покажите результаты проектирования преподавателю.
1
Часть 2. Реализация связей между таблицами в MS Access 2007
1.В Microsoft Office Access 2007 создайте новые таблицы исходя из результатов первой части данной работы. (Вся работа выполняется с базой данных, созданной в лабораторной работе №1). Определите первичные ключи в новых таблицах. Заполните новые таблицы данными (по 5-7
записей). Данные для заполнения можно получать из исходной таблицы.
2.Удалите из исходной таблицы поля, которые были перенесены в новые таблицы. Добавьте в исходную таблицу новые поля для организации спроектированных ранее связей.
Внимание: Таблицы, между которыми нужно установить отношение, должны иметь как минимум один общий столбец. Имена столбцов могут не совпадать, однако типы столбцов должны совпадать. Например, нельзя связать столбцы типов Текстовый и Числовой. Для связи с полем, имеющим тип Счетчик, используйте поле с типом Числовой (Длинное целое).
3.Создайте связи между таблицами. Для удобства создания связей используйте Мастер подстановок.
3.1.В режиме конструктора выберите поле таблицы, которое будет являться внешним ключом одной из связей. Для этого поля выберите тип данных Мастер подстановок.
3.2.В появившемся окне выберите команду «Объект «столбец подстановки» будет использовать значения из таблицы или запроса»
ищелкните на кнопке Далее.
3.3.В списке таблиц выберите таблицу, с которой будет связана текущая таблица, и щелкните на кнопке Далее.
3.4.В списке Доступные поля выберите ключевое поле таблицы и щелкните на кнопке со стрелкой, чтобы ввести поле в список Выбранные поля. Таким же образом добавьте необходимые поля,
которые содержат необходимую дополнительную информацию, и щелкните на кнопке Далее.
3.5.Настройте сортировку для поля или нескольких полей.
2
3.6.В следующем диалоговом окне задайте необходимую ширину столбцов раскрывающегося списка.
3.7.Установите флажок Скрыть ключевой столбе» и нажмите кнопку
Далее.
3.8.На последнем шаге Мастера подстановок замените при необходимости надпись для поля подстановок и щелкните на кнопке Готово.
3.9.Аналогичным образом создайте раскрывающийся список для остальных полей других таблиц, которые являются внешними ключами спроектированных связей.
4.Настройте связи между таблицами с помощью Схемы данных. 4.1.Закройте все открытые таблицы, так как создавать или изменять связи
между открытыми таблицами нельзя.
4.2.Вкладка ленты Работа с базами данных → кнопка .
4.3.Если ранее никаких связей между таблицами базы не было, то при открытии окна Схема данных одновременно открывается окно
Добавление таблицы, в котором выберите все таблицы, участвующие в связях.
4.4.Если связи между таблицами уже были заданы, то для добавления в схему данных новой таблицы щелкните правой кнопкой мыши на схеме данных и в контекстном меню выберите пункт Добавить таблицу.
4.5.После добавления таблиц на схеме данных должны быть отражены связи, созданные с помощью Мастера подстановок.
4.6.В общем случае связи можно создать вручную (если они не были созданы с помощью Мастера подстановок). Для этого выберите поле,
которое будет родительским в связи, и перенесите его на соответствующее подчиненное поле другой таблицы.
3
4.7.Для созданной связи откроется диалоговое окно Изменение связей.
Если связь была создана с помощью Мастера подстановок, то выделите эту связь и откройте диалоговое окно с помощью двойного щелчка по ней.
4.8.В диалоговом окне Изменение связей включите флажок Обеспечение условия целостности. Это позволит предотвратить случаи удаления записей из одной таблицы, при которых связанные с ними данные других таблиц останутся без связи.
4.9.Флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей обеспечивают одновременное обновление или удаление данных во всех подчиненных таблицах при их изменении в главной таблице.
4.10.Параметры связи можно изменить, нажав на кнопку
Объединение.
4.11. После установления всех необходимых параметров нажмите
кнопку ОК.
5.Заполните все таблицы данными (по 7-10 записей).
6.Попробуйте удалять или изменять записи в основных таблицах и исследуйте, как меняется содержимое подчиненных таблиц в зависимости от настроек Обеспечение условия целостности для каждой из связей.
7.Покажите работу преподавателю.
4
Часть 3. Доработка структуры базы данных
1.Получите у преподавателя согласно варианту задание на доработку структуры базы данных.
2.Добавьте необходимые по заданию поля и таблицы и организуйте связи между ними.
3.Заполните данными новые поля и таблицы (по 7-10 записей).
4.Покажите работу преподавателю.
5
