Реляционные базы данных
Виды связей
В процессе работы с одной таблицей появляются некоторые неудобства при организации хранения и ввода данных. В нашем примере имеется несколько поставщиков, которые поставляют различные виды комплектующих. Если каждый раз вводить имя поставщика и данные о поставщике, то это займет очень много времени, дисковое пространство для баз данных с большим количеством записей будет использовано нерационально.
В Access имеется возможность хранения данных в нескольких таблицах, которые связываются друг с другом посредством общих ключевых полей. Организованные таким образом данные называются реляционной базой данных. В Access существует несколько видов связей между таблицами: «один-к-одному», «многие-к-одному», «многие-ко-многим».
При объединении двух таблиц, которые находятся в связи «многие-к-одному», поле взаимосвязи, которое используется в таблице на стороне связи «один», должно быть ключевым полем для этой таблицы. Оно должно быть уникальным, т.е. в таблице можно найти только одну запись, которая имеет это значение в ключевом поле.
Задание 3.30
1. Необходимо создать новую таблицу «Список товаров» путем копирования имеющейся таблицы «Товары». Для этого закройте все открытые таблицы, затем слевав области навигации с помощью мыши выделите таблицу «Товары», затем выберите команду на вкладке Главная \ Копировать,затем команду на вкладке Главная \ Вставить (или используя правую клавиши мыши). В появившемся диалоговом окне выделите пункт «Структура и данные», в качестве имени введите «Список товаров» и щелкните по кнопке «ОК» рис. 3.74.
Рис. 3.74 Вставка таблицы
2. Откройте таблицу «Список товаров» в режиме «Конструктор», измените тип поля «№ п/п» на «Числовой». Ключевое поле удалите. Изменения сохраните рис 3.75.
Рис. 3.75
3. Откройте таблицу «Список товаров» в режиме «Таблица»и удалите числовые (1,2,3…12) значения столбца № п/п. Сохраните изменения.
4. Создайте в базе данных новую таблицу, используя данные табл. 3.7.
Таблица 3.7
Имя | Тип | Размер |
№ п/п | Счетчик | Длинное целое |
Город | Текстовый | |
Название фирмы | Текстовый | |
Улица | Текстовый | |
Номер дома | Числовой | Длинное целое |
Телефон | Текстовый |
5. Сохраните таблицу с именем «Поставщики».
6. В таблицу «Поставщики» введите данные из табл. 3.8. и сохраните изменения.
Таблица 3.8
Номер записи | Имя поля | Данные |
№ п/п Город Название фирмы Улица Номер дома Телефон | Саранск Компьютерный салон Фарго Б. Хмельницкого 17-08-58 | |
№ п/п Город Название фирмы Улица Номер дома Телефон | Саранск Инфотур Б. Хмельницкого 17-04-20 | |
№ п/п Город Название фирмы Улица Номер дома Телефон | Саранск Интротекс пр. В.И. Ленина 17-57-88 | |
№ п/п Город Название фирмы Улица Номер дома Телефон | Саранск Пионер Володарского 17-11-09 |
7. Откройте таблицу «Список товаров» в режиме «Конструктор», измените тип поля «№ п/п» на «Мастер подстановок» и в открывшимся диалоговом окне выберите из таблицы поставщики строки №п/п и название фирмы, порядок сортировки установите По возрастанию,флажок Скрыть ключевой столбец уберите, включите проверку целостности данных, сохраните данные рис. 3.76 -3.79.
Рис. 3.76
Рис. 3.77
Рис. 3.78
Рис. 3.79
8. Откройте таблицу «Список товаров» в режиме «Таблица», измените значения столбца №п/п на те значения , которые предлагаются в подстановке, при этом сверяйте название фирмы с соответствующем столбцом в таблице. Значения сохраните рис. 3.80
Рис. 3.80
Создание связи
Для создания связи между таблицами, которые являются основополагающими для базы данных, используется окно «Схема данных».
Чтобы создать связь, нужно выбрать вкладку Работа с базами данных и нажать на кнопкуСхема данных(рис. 3.81)
Рис. 3.81 Схема данных
При обращении к этому пункту на экране отображается диалоговое окно «Добавление таблицы», из него выбираются таблицы или запросы, которые требуется включить в окно «Схема данных». Если диалоговое окно «Добавление таблицы» автоматически не отобразилось, необходимо открыть его с помощью кнопки , либо нажать на поле Схемы данных правой кнопки мыши, для отображения подменю, где выбрать пункт Добавить таблицу(рис. 3.82).
Рис. 3.82
После добавления нужных таблиц окно «Добавление таблицы» следует закрыть. Окно «Схема данных» при этом будет иметь вид, представленный на рис. 4.83. При этом связь может сформироваться автоматически (если в связанных таблицах имеются одинаковые столбцы). Выделенным является ключевое поле.
Рис. 3.83 Схема данных - добавление таблиц
Если необходимо изменить связь (кнопка Изменить связь) или она не сформировалась автоматически необходимо щелкнуть и перетащить поле из одной таблицы в поле другой (эти два поля, как правило, имеют одно и то же значение). Начинать перетаскивание надо с того поля, которое является первичным ключом таблицы без ключевого поля. Таблица, из которой начинается перетаскивание, в данной связи называется первичной таблицей. При перетаскивании поля на экране появляется окно (рис. 3.84), в котором нужно установить в состояние «Включено» пункт «Обеспечение целостности данных» и щелкнуть по кнопке «ОК».
Рис. 3.84 Изменение связей
После этого в окне «Схема данных» появляется связь между таблицами, которая показана на рис. 3.85.
Рис. 3.85 Изменение связей
Как мы видим из рисунка, около одной таблицы установилась цифра 1, которая говорит о том, что из данной таблицы берется одна запись. У второй таблицы установился знак ∞ (бесконечность), который указывает, что из этой таблицы берется несколько записей, одной записи из первой таблицы соответствует несколько записей из второй таблицы в соответствии с конкретными качественными характеристиками.
После этого можно работать с каждой из таблиц по отдельности, но при работе с таблицей «Список товаров» в поле «№ п/п» вводится число, которое не должно быть больше числа записей в таблице «Поставщики». Например, если попытаться в поле «№ п/п» таблицы «Список товаров» ввести цифру 5, то Access выдаст предупреждение, так как существует связь этой таблицы с таблицей «Поставщики» и мы должны указывать номера только тех фирм, которые имеются в таблице «Поставщики».
Для того, чтобыудалить связь, необходимо щелкнуть правой кнопкой мыши по самой связи и выбрать пункт удалить связь. Для изменения связи выбрать пунктизменить связь.
Для проверки наличия связи необходимо закрыть созданную схему данных перейти на вкладку «Работа с базами данных» и выбрать пиктограмму «Схема данных».
Задание 3.31
1. Откройте таблицу «Список товаров», удалите из нее столбец «Поставщик».
2. Создайте связь типа «один-ко-многим» между таблицами «Поставщики» и «Список товаров». Для этого откройте Схему данных. Добавьте в схему данных таблицы «Поставщики» и «Список товаров». Если связь не создалась автоматически перетащите с помощью мыши строку № п/п из таблицы «Поставщики» в таблицу «Список товаров» строку №п/п. При этом в диалоговом окне Изменениесвязей поставьте флажки в пунктах «Обеспечение целостности данных», «Каскадное обновление связанных полей», «Каскадное удаление связанных полей». Нажмите кнопку Создать и сохраните полученный результат (рис. 3.85). Также такую процедуру можно проделать, если удалить созданную автоматически связь.
3. Закройте схему данных и проверьте наличие связи вновь открыв ее (вкладка «Работа с базами данных», пиктограмма «Схема данных»).
Дата добавления: 2020-10-01; просмотров: 453;