Ответ на ваш вопрос - это в основном описание техники, известной как «общий первичный ключ». Соответственно, я заменил два тега о первичном и внешнем ключах с помощью единого тега shared-primary-key.
Общий первичный ключ - это проект, в котором ПК одной таблицы также является FK, который ссылается на PK другой таблицы. Как указывает тег wiki для shared-primary-key, это полезно для отношений один к одному, независимо от того, являются ли они обязательными или необязательными. Эти отношения иногда называются отношениями IS-A, так как «автомобиль - это транспортное средство». Связь между транспортными средствами и авто также известна как отношение класса/подкласса или типа/подтипа.
Как и любая техника проектирования, он имеет свои преимущества и свои затраты.
Редактировать в ответ на комментарий:
Самым большим преимуществом для общего первичного ключа является то, что он навязывает природу 1-к-1 отношений. Наличие этого правила, действующего в базе данных, обычно более продуктивно, чем попытка убедиться, что весь код приложения следует правилу.
Второе преимущество заключается в том, что соединение между двумя таблицами просты и быстры. Это быстро (для некоторых систем баз данных) из-за того, что индексы, созданные для поддержки ПК, используются оптимизатором для ускорения соединения.
Третье преимущество заключается в том, что третья таблица может ссылаться на обе эти две таблицы с тем же FK.
Стоимость заключается в том, что есть несколько программ, связанных с добавлением новой записи в обе таблицы. ПК из первичной таблицы необходимо скопировать во вторичную таблицу, и система обычно не сделает этого для вас. Кроме того, соединение, хотя и быстрое, не является бесплатным.
Возможно ли иметь несколько эпизодов с одним и тем же названием (например, название действует как название серии)? Может ли быть название без хотя бы одного эпизода? –
Не может быть нескольких эпизодов с одним и тем же названием. Да, может быть название без эпизода. Существуют названия разных типов. Заголовки эпизода типа будут иметь эпизод. –
Тогда это выглядит подходящим. Фактически вы реализуете форму наследования (см. Раздел «Физическое представительство» [этот пост] (http://stackoverflow.com/a/12037398/533120)). Добавление суррогатного ключа в этом случае было бы нецелесообразным. –