![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||
3. Отношения между таблицами3.1. Связи между таблицамиПосле создания различных таблиц, содержащих данные, необходимо продумать, каким образом объединить эти данные при их извлечении из БД. Прежде всего необходимо создать связи между таблицами, которые устанавливают отношения между совпадающими значениями в ключевых полях (обычно между одноименными полями разных таблиц) . Например, в рассмотренном выше примере связь между таблицей "Заказы" и "Товары" осуществляется по полю "Код товара". После создания связей между таблицами становится возможным создание запросов, форм и отчетов, в которых выводятся данные из нескольких таблиц сразу. Благодаря использованию связей между таблицами удаётся значительно уменьшить объем любой базы данных, особенно в тех случаях, когда информация повторяется. 3.2. Отношение "Один-к-одному"При отношении "один-к-одному" каждой записи одной таблицы ставится в соответствие одна запись другой таблицы. Примером могут служить таблица сотрудников и таблица их адресов. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. ![]() 3.3. Отношение "Один-ко-многим"Отношение "один-ко-многим" в базах данных встречается наиболее часто. В этом случае одной записи одной таблицы ставится в соответствие несколько записей в другой таблице. Однако, каждая запись второй таблицы не может иметь более одной соответствующей записи в первой таблице. ![]() Примером могут служить таблица сотрудников и таблица их заработной платы по месяцам (один сотрудник получает в течение года несколько раз зарплату). 3.4. Отношение "Многие-ко-многим"При отношении "многие-ко-многим" одной записи одной таблицы может соответствовать несколько записей второй таблицы, а одной записи второй таблицы - несколько записей первой.Этот вид отношений, как правило, можно установить только между двумя таблицами, связанными с помощью третьей (связующей) таблицы, которая состоит из первичных ключей двух первых таблиц. ![]() Например, такой тип связи реализуется при создании библиотечного каталога. Один автор может написать несколько книг, но и одна книга может принадлежать нескольким авторам. Таким образом, должны существовать таблица авторов, таблица книг и третья таблица с названиями книг и именами авторов. |
||||
![]() |
![]() |
|||
![]() |
![]() |
![]() |
![]() |
![]() |