Связи таблиц реляционных баз данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Связи таблиц реляционных баз данных



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

Ход работы

Разделение данных на две таблицы

Откройте базу данных Европа

2. Создай те таблицу Религия с полями:

Название поля Тип данных
Код_религии Счетчик
Религия Текстовый

3. Поле Код_религии сделайте ключевым

4. Создайте таблицу Строй с полями:

Название поля Тип данных
Код_строя Счетчик
Строй Текстовый

5. Поле Код_строя сделайте ключевым

6. Заполните эти таблицы (таким образом, напротив каждой религии и каждого строя будет стоять его код)

7. Откройте таблицу Страны Европы и замените названия в полях Строй и Религия на соответствующие им коды в ранее созданных таблицах (для автоматизации попробуйте использовать команду замены из меню правка)

8. Откройте таблицу Страны Европы в режиме конструктора

9. Для полей Строй и Религия измените тип данных на числовой

10. Одновременно установив им размер поля Длинное целое (так как связываемые поля, как правило, должны иметь одинаковый тип данных)

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

1. Выполните команду Схема данных из меню Сервис

2. В диалоговом окне добавления таблиц добавьте в схему все три таблицы

3. На поле Код_религии таблицы Религия нажмите левую клавишу мыши и удерживая ее перетащите на поле Религия таблицы Страны Европы

В появившемся диалоговом окне необходимо установить нужную связь: флажок напротив опции обеспечение целостности данных означает, что перед тем как занести данные в подчиненную таблицу, программа будет проверять их на соответствие главной. (Таблица Страны Европы является подчиненной для таблиц Религия и Строй). Флажок напротив опции каскадное обновление связанных полей означает, что изменения в главной таблице автоматически будут влиять на подчиненную. Флажок напротив опции каскадное удаление связанных полей означает, что поля удаленные в главной таблице будут удалены и в подчиненной.

4. Установите все эти флажки

5. Аналогичную операцию проделайте с таблицами Страны Европы и Строй (Если связь не устанавливается, еще раз проверьте типы данных связываемых полей)

6. Закройте схему с сохранением

7. Попробуйте в таблице Страны Европы в полях Строй и Религия поменять коды на несуществующие в главных таблицах. Получилось? Почему?

Создание запросов на выборку

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

В запросах на выборку данные могут: отбираться по многим критериям; сортироваться; с ними могут производиться вычислительные операции.

Запрос это временная таблица. Это значит, что данные в них не хранятся постоянно, а только временно вызываются из таблиц, по заранее заданному шаблону, в момент активизации запроса. Таким образом, в базе данных постоянно хранится только шаблоны вызова данных (временные таблицы удаляются после закрытия запроса), а сама информация не дублируется.

Во время создания, в запросе необходимо оставить ссылки на таблицы откуда будут вызываться данные (добавление таблиц в запрос). Если нужная таблица не добавлена, то перед открытием запроса, требуемые данные будут запрашиваться в диалоге.

Ход работы

1. Откройте базу данных Европа

2. Перейдите на вкладку Запросы

3. Создайте запрос, выбрав режим конструктора (появится окно конструктора запроса с диалоговым окном добавления таблиц. Окно добавления таблиц можно вызвать командой Добавить таблицу из меню Запро с).

4. Добавьте в запрос все три таблицы

5. Убедитесь, что между добавленными таблицами автоматически установилась связь (смотри рисунок)

Теперь необходимо выбрать поля для запроса. Из таблицы Страны Европы возьмем поля: Страна, Столица, Площадь, Население, Деньги. Из таблицы Строй поле Строй, а из таблицы Религия поле Религия. Это вызвано тем, что последние два поля в таблице Страны Европы хранятся в кодовом виде, а в запросе мы можем позволить себе удобный просмотр.

1. Первое поле добавьте, произведя двойной щелчок по нему в таблице

2. Второе перетащите, используя мышь (есть и третий способ, но он менее удобен).

3. Остальные поля добавьте любым способом.

4. Закройте запрос, при закрытии задав ему имя Основной

5. Откройте запрос и просмотрите какие данные он выводит

6. Закройте запрос

Теперь наша задача настроить запрос на различные условия выборки. Обычно для этого используют один запрос, меняя эти условия. Но для проверки выполненной работы, мы создадим несколько запросов (на каждое условие по запросу). Чтобы не создавать заново почти одинаковые запросы удобно несколько раз скопировать Основной через буфер обмена.

Для того, чтобы вывести в запросе только страны с определенной религией необходимо в поле запроса Религия в сроку Условие отбора ввести эту религию. Аналогично для любого поля.

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

Для того, чтобы вывести страны с населением больше 1000000, достаточно в поле Население в строку Условие отбора ввести >1000000. Кстати для условий предусмотрено две строки, поэтому для одного поля можно вводить два условия.

Можно сделать так, чтобы перед выводом запроса программа просила ввести данные, строки с которыми будут выведены. Для этого в нужном поле, в указанной строке надо ввести [Введите данные для отбора]. Выражение в скобках может быть любым, но именно оно появится в диалоговом окне.

Для того, чтобы находить в поле не конкретное значение, а только его фрагмент используют оператор Like. Его ставят впереди заданного фрагмента, а до или после фрагмента, в этом случае, можно использовать звездочки маски. Этот оператор не всегда корректно работает, если офис давно не переустанавливался.

7. Выделите запрос Основной (он должен быть закрыт)

8. Скопируйте его в буфер обмена

9. Вставьте его в базу 6 раз, задавая имена созвучные следующим ниже заданиям.

10. Создайте запрос, выводящий страны с Православием

11. Создайте запрос, не выводящий страны с Православием

12. Создайте запрос, выводящий страны с населением более 10000000 и менее 200000000

13. Создайте запрос, выводящий страны с населением более 3000000 и площадью менее 30000 кв. км.

14. Создайте запрос, спрашивающий: страны с какой денежной единицей вывести на экран?

15. Создайте запрос, выводящий страны с денежной единицей, содержащей букву к

16. Сохраните базу данных на внешний носитель.



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 379; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.9.7 (0.009 с.)