Зависимые сущности их первичные ключи

idencial

Одинаковый
Зависимые сущности их первичные ключи

У меня возник чисто теоретический вопрос
Есть, например, сущность "страны" и пусть ей отвечает таблица
table countries
country_id
country_name
Первичным ключем для удобства делаем country_id
Пусть есть сущность "города". Понятно, что она связана со страной по country_id
table cities
city_id
country_id
city_name

Здесь для удобства делаем первичным ключем city_id
Но т.к сущность "города" зависит от сущности "страны", она является зависимой.
При этом раз она зависима, то значит внешний ключ должен быть частью первичного ключа (http://www.interface.ru/fset.asp?Url=/ca/idef1x.htm&anchor=7)

В чем мое заблуждение? Какой в данном случае должен быть первичный ключ (я уже долгое время в таких случая делаю просто сурогатный первичный ключ)?
Или связь между этими сущностями неидентифицирующая?
 

fixxxer

К.О.
Партнер клуба
Тут - как больше нравится.
В любом случае constaint foreign key country_id для целостности базы не помешает =)
а вот если например табличка с отношениями "многие ко многим", то тут суррогатный ключ на фиг не нужен - primary по двум foreign-ам будет совершено логичным и правильным.
 

idencial

Одинаковый
вот я так и думал
Т.е в большинстве случаев зависимая - это сущность для реализации отношений "многие ко многим"

Спасибо
 
Сверху