Я хочу представлять документы в базе данных.Есть несколько разных типов документов.Все документы имеют определенные общие черты, но не все документы одинаковы.
Например, допустим, у меня есть базовая таблица для документов ...
TABLE docs (
ID
title
content
)
Теперь, допустим, у меня есть подмножество документов, которые могут принадлежать пользователю и которые могут иметьдополнительная информация, связанная с ними.Я мог бы сделать следующее ...
TABLE docs (
ID
userID -> users(ID)
title
content
additionalInfo
)
... однако это приведет к большому количеству пустых значений в таблице, поскольку только некоторые документы могут принадлежать пользователю,не все.Итак, вместо этого я создал вторую таблицу "ведомых документов" для расширения "документов":
TABLE ownedDocs (
docID -> docs(ID)
userID -> users(ID)
additionalInfo
)
Мне интересно: это правильный способ сделать это?(Я волнуюсь, потому что, хотя все находится в одной таблице, у меня есть отношения один-ко-многим между документами и пользователями. Однако, создав новую таблицу OwnerDocs, структура данных выглядит так, как будто у меня есть отношение многие ко многим между документамии пользователей - что никогда не произойдет.)
Заранее спасибо за помощь