Схема данных отображает связи между таблицами / запросами.
Создание схемы данных:
· Активизировать на ленте вкладку Работа с базами данных и далее – кнопку ;
· Откроется пустое окно, в которое нужно мышью перетащить всех участников схемы, в данном случае все таблицы (в рассматриваемом примере Post, Det и PD). Можно это сделать иначе, открыв окно Добавление таблицы из к.з. меню на пустом поле схемы данных командой Þ Добавить таблицу.
· Связать таблицы между собой. Для этого перетащить мышью поле из одной таблицы - источника (откуда) в поле другой таблицы - приемника (куда).
!!!!!! Связывать поля можно только одного типа. Поле счетчика можно связывать только с полем типа Длинное целое. Счетчик со счетчиком связывать нельзя, так как два счетчика работают независимо друг от друга.
· В открывшемся окне Изменение связей, если необходимо, можно включить флажок Обеспечение целостности данных, а также обеспечить каскадное обновление связанных полей и/или каскадное удаление связанных записей. Если установлен только флажок Обеспечение целостности данных, то из родительской таблицы нельзя удалить запись, если в дочерней таблице есть связанные с ней записи. Кроме того, в дочернюю таблицу нельзя добавлять “детей-сирот”. Если установлен еще флажок каскадное обновление связанных полей, то при изменении значения ключевого поля в родительской таблице соответствующим образом изменятся значения полей связи и в дочерних таблицах. Если установлен флажок каскадное удаление связанных записей, то при удалении записи из родительской таблицы будут удалены все связанные с ней записи из всех дочерних таблиц.
· При необходимости связь можно уточнить, установив желаемый тип объединения каждой пары таблиц кнопкой Объединение. По умолчанию определено симметричное объединение (INNER JOIN), которое устанавливает объединение только тех записей, в которых связанные поля обеих таблиц совпадают.
Левое объединение (LEFT JOIN) устанавливает объединение всех записей из таблицы - источника и только тех записей из таблицы - приемника, в которых связанные поля совпадают.
Правое объединение (RIGHT JOIN) устанавливает объединение всех записей из таблицы - приемника и только тех записей из таблицы - источника, в которых связанные поля совпадают.
Удалить связь: выделить связь (1с на линии связи) и нажать клавишу Del.
Открыть окно Изменение связей: 2с на линии связи.
Для рассматриваемого примера схема данных примет вид:
Рисунок 16 – Схема данных для рассматриваемого примера
· Закрыть с сохранением окно схемы данных.
Для того чтобы облегчить заполнение таблиц данными, нужно задать для полей связи (PN и DN в дочерней таблице PD) свойства подстановки. Для этого
· откроем дочернюю таблицу PD в режиме конструктора;
· выделим строку PN и активизируем в свойствах поля вкладку Подстановка;
· выберем из списка для свойств:
Тип элемента управления . . . . Поле со списком
Тип источника строк . . . . . . . .Таблица или запрос
Источник строк . . . . . . . . . . . . Post
Присоединенный столбец . . . . . 1
Число столбцов . . . . . . . . . . . . . 2
Это означает, что в поле PN дочерней таблицы мы будем заносить только такие значения, которые (при выполнении условия целостности данных) есть в родительской таблице, причем подставлять мы будем значения из одного (первого) столбца PN родительской таблицы (Присоединенный столбец), а видеть при этом будем значения двух соседних столбцов PN и PIM родительской таблицы (Число столбцов). Так удобнее, так как номер поставщика в отрыве от его имени нам ни о чем не сообщает. Остальные свойства оставим по умолчанию. Таким образом, свойства подстановки для поля PN дочерней таблицы PD будут такими:
Рисунок 17 – Свойства подстановки для поля связи PN дочерней таблицы PD
Тогда, если мы сначала введем данные в родительскую таблицу Post, то при вводе в дочернюю таблицу данные просто можно выбирать из списка, как показано на рисунке 18:
Рисунок 18 – Ввод данных в дочернюю таблицу
Аналогично задаем свойства подстановки для поля связи DN дочерней таблицы PD, как показано на рисунке 19:
Рисунок 19 – Свойства подстановки для поля связи DN дочерней таблицы PD
Остальные свойства оставьте, как задано по умолчанию.