Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Лабораторная работа № 4. Цель работы: изучение типов связей и создание связей между таблицами



УСТАНОВЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ.

СОЗДАНИЕ ЗАПРОСОВ

Цель работы: изучение типов связей и создание связей между таблицами. Изучение принципа создания запросов, определения критериев запроса и сортировки данных. Знакомство с назначением и использованием операторов в логических выражениях.

Поиск данных в одной таблице, фильтрация и сортировка – мощные средства доступа к базе данных, но для большинства баз данных их недостаточно. Эти средства не позволяют выбирать информацию одновременно из нескольких таблиц, что часто бывает нужно. Например, в учебной базе данных может потребоваться найти список всех заказов, сделанных покупателями из Саратова. Или получить ответ на вопрос: "Сколько таким-то продавцом оформлено заказов?" Вопросы такого рода можно задавать базе данных с помощью запросов – средств, позволяющих извлекать информацию одновременно из нескольких таблиц. Поскольку запрос работает с несколькими таблицами, для получения корректных данных очень важно правильно задать связь между таблицами базы данных.

Установление связей между таблицами

В учебной базе данных связи между таблицами осуществляются через целочисленные ключевые поля Номер, хранящие уникальные номера записей каждой таблицы. Например, в каждой записи таблицы Заказы хранится номер покупателя, сделавшего заказ, и номер продавца, оформившего этот заказ. Если вас интересует более подробная информация о покупателе, сделавшем определенный заказ, то вы должны, зная номер покупателя, обратиться к соответствующей записи таблицы Покупатели.

При заполнении таблиц данными вы ясно видели связи между таблицами и поэтому можете их использовать для поиска данных в таблице вручную, открывая связанные таблицы и отыскивая нужные данные. Чтобы MS Access смог автоматически извлечь нужную вам информацию, необходимо сообщить ему о существующих в базе данных связях между таблицами.

Типы связей между таблицами

MS Access имеет дело с базами родственных данных, благодаря чему вы можете одновременно работать с данными из нескольких таблиц. Сформировав таблицы базы данных и установив ключевое поле для каждой таблицы, вы можете создать между таблицами взаимоотношения. Они помогут MS Access связывать данные в каждом новом запросе, форме или отчете, включающем обе связанные таблицы.

В MS Access вы можете создать два типа связей: отношение один-ко-многим или отношение один-к-одному. В первом случае, более распространенном, одна запись таблицы связана с множеством записей другой таблицы. Скажем, покупатель может сделать один или несколько заказов. Поэтому одной записи в таблице Покупатели, которая в данной связи будет первичной таблицей, может соответствовать несколько записей в таблице Заказы, которая называется связанной таблицей (рисунок 40).

В случае менее распространенного отношения один-к-одному одной записи в первичной таблице соответствует только одна запись связанной таблицы. Подобный тип связи имеет смысл устанавливать в том случае, когда вы хотите, например, разделить данные на открытые и конфиденциальные. Например, есть база данных, содержащая сведения о сотрудниках фирмы. Фамилия, имя и должность сотрудников фирмы могут располагаться в одной таблице, а данные о зарплате – в другой. Между этими таблицами будет существовать отношение один-к-одному, поскольку каждой записи в одной из них соответствует единственная запись в другой.

Рисунок 40 – Связь типа один-ко-многим

между двумя таблицами

Связи между таблицами часто помогают убедиться в том, что таблицы лишены противоречивых сведений: например, что в таблице Заказы нет заказов, которым не соответствовал бы какой-либо покупатель из таблицы Покупатели.

Создание связи между двумя таблицами

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

Определите, какая из таблиц будет первичной, а какая – связанной. Если связанная та6лица не содержит поля данных, совпадающего с ключевым полем первичной таблицы, необходимо добавить его к связанной таблице – лишь в этом случае вы сможете создать связь между таблицами. Связанные поля должны содержать совпадающие данные и характеризоваться одинаковым типом данных. Поля данных цифрового типа должны также иметь одинаковый формат.

После того как связь установлена, вы не сможете изменять или удалять поля, на которых она основана, до тех пор, пока не удалите саму связь.

Создание и удаление связей производится в окне Схема данных. Чтобы вызвать это окно, выберите команду меню Сервис–Схема данных… (конечно, при этом должна быть открыта ваша база данных).

Появится окно Схема данных. Если вы открываете его не впервые, окно появится точно в таком виде, в каком вы сохранили его в последний раз. При первом установлении связи окно будет пустым, и сразу же появится диалог Добавление таблицы (рисунок 41).

Рисунок 41 – Диалоговое окно Добавление таблицы

Теперь добавьте таблицы к окну Схема данных:

1. Если MS Access автоматически не выводит на экран диалог Добавление таблицы, выберите команду меню Связи–Добавить таблицу.

2. В закладке Таблицы выделите строку Заказы, а затем щелкните на кнопке Добавить.

3. Таким же образом поступите с таблицами Покупатели и Продавцы. Название каждой из таблиц со списками полей появится в окне Схема данных.

4. Щелкните на кнопке Закрыть, чтобы закрыть диалог Добавление таблицы. Расположите таблицы в окне Схема данных (рисунок 42). Для перемещения таблицы нажмите левую кнопку мыши на названии таблицы и, не отпуская кнопку мыши, переместите таблицу в нужное место.

Рисунок 42 – Три таблицы в окне Схема данных

Теперь установим связь между таблицами Заказы и Покупатели, т.е. связь списка всех покупателей с заказами, которые они сделали, а в качестве сравнительного параметра используем уникальный номер покупателя:

1. Находясь в окне Схема данных, перетащите поле Номер (удерживая на нем нажатой левую кнопку мыши) из списка полей таблицы Покупатели на поле Номер покупателя в списке Заказы. Тем самым вы перемещаете поле из первичной таблицы Покупатели в связанную таблицу 3аказы. Когда вы отпускаете клавишу мыши, появляется диалог Связи (рисунок 43). Удостоверьтесь, что в списке находятся имена связываемых полей.

2. Щелкните на кнопке Создать. Теперь таблица Покупатели связана с таблицей Заказы. Вы видите линию, которая соединяет два связанных поля в этих таблицах (рисунок 44). Связь будет сохраняться до тех пор, пока вы сами ее не удалите.

Рисунок 43 – Диалоговое окно Связи. Показана связь поля Номер

таблицы Покупатели и поля Номер покупателя таблицы Заказы

Рисунок 44 – Связь между таблицами установлена

Удалите только что созданную связь, затем восстановите ее заново:

1. Щелкните на линии между таблицами Покупатели и Заказы. Линия станет толще (рисунок 45).

Рисунок 45 – Щелчок на линии связи выделяет ее

2. Нажмите клавишу Delete, чтобы удалить связь.

3. В появившемся окне с сообщением MS Access спрашивает подтверждение на удаление связи из базы данных. Щелкните на кнопке Да, подтверждая тем самым свое намерение удалить связь.
MS Access убирает линию, соединяющую две таблицы. Больше они не связаны.

Задание: создайте три связи:

1) связь таблиц Покупатели и Заказы;

2) связь таблиц Продавцы и Заказы;

3) связь таблиц Продавцы и Покупатели. Окно Схема данных в результате должно выглядеть так, как показано на рисунке 46.

Рисунок 46 – Связи между таблицами учебной базы данных

Сохраните созданные связи:

1. Дважды щелкните на кнопке системного меню окна Схема данных, чтобы закрыть его. MS Access спросит вас, хотите ли вы сохранить изменения окна Схема данных. Заметим, что от вашего решения зависит лишь графическое представление окна, установленные же связи останутся в вашей базе данных.

2. Щелкните на кнопке Да, чтобы сохранить представление окна связей. Открыв в следующий раз окно Схема данных, вы увидите его таким, каким только что сохранили.





Дата публикования: 2015-09-18; Прочитано: 293 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...