Связь "один ко многим".
Связь "один ко многим" - наиболее часто применяемая. Данная связь характеризуется тем, что каждая строка одной таблицы может быть ассоциирована со многими относящимися к ней строками другой таблицы. В качестве примера рассмотрим связь между таблицами tblClients и tblOrders. Для каждого клиента из таблицы tblClients может быть введено произвольное количество заказов в таблицу tblOrders. С другой стороны, каждый заказ из таблицы tblOrders может принадлежать только одному клиенту из таблицы tblClients. Считается, что таблица tblClients относится к стороне "один" данной связи, а таблица tblOrders к стороне "многие".
Реализация связи "один ко многим" возможна только в том случае, если поле, соединяющее две таблицы со стороны "один", содержит уникальные значения.
В примере с таблицами tblClients и tblOrders для соединения двух таблиц служит поле ClientID, которое должно содержать уникальные значения в таблице tblClients. Если бы в таблице tblClients несколько клиентов имели один и тот же идентификатор, то было бы неясно, какому клиенту принадлежит заказ в таблице tblOrders. По этой же причине поле, по которому соединяются две таблицы, находящееся на стороне "один" связи "один ко многим", должно быть полем первичного ключа или иметь уникальный индекс.
В большинстве случаев поле, связывающее две таблицы, является первичным ключом таблицы, расположенной на стороне "один" данной связи. То же поле на стороне многие указанной связи является внешним ключом.
#Связи #ОдинКоМногим #ПервичныйКлюч #ВнешнийКлюч #УникальныйИндекс
Post #152
5.48K