Довольно часто на работе у нас возникает сценарий, когда у нас есть элемент в базе данных, которому мы должны назначить нескольких сотрудников. Обычно мы делаем это назначение, создавая новую таблицу с двумя столбцами, первый из которых является идентификатором элементов, а второй - идентификатором сотрудника, поэтому, когда мы хотим просмотреть все элементы, назначенные сотруднику, мы можем запросить БД по идентификатору персонала или если мы хотим увидеть всех сотрудников, назначенных для предмета, мы можем запросить его по идентификатору предмета.
Это немного сбивает с толку, так что вот пример. Скажем, в нашей базе данных есть таблица, полная фильмов, у каждого из которых есть идентификатор, название, описание и т. Д. По какой-то причине босс хочет знать, кому нравится каждый фильм. Это было бы хорошо, если бы каждому фильму понравился бы только один человек, так как мы могли бы просто сделать еще один столбец в таблице, но в таком виде многим людям может понравиться один фильм, что делает его немного сложным. Теперь мы должны создать еще одну таблицу, в которой есть только два столбца: идентификатор фильма и идентификатор персонала.
Кажется, все это работает, но мне действительно любопытно, есть ли лучший способ или даже альтернативный способ проектирования базы данных. Я не могу думать об этом, но у меня есть чувство, что мы не следуем лучшим практикам. Если да, и это все хорошо, не стесняйтесь игнорировать этот вопрос, но я хотел бы услышать некоторые мнения от всех опытных профессионалов!
Пожалуйста, будьте осторожны со мной - я начал программировать на .net / SQL (с нуля в бизнес-среде!) Около 6 месяцев назад, поэтому я не очень разбираюсь в подобных вещах. :)