Должен ли я нормализовать посредническую модель в Django? - PullRequest
0 голосов
/ 23 октября 2009

Скажем, у меня есть четыре попарные модели M2M: A, B, C, D. Я создал промежуточную модель ABCD, чтобы установить отношения между ними. Если в базе данных много повторяющихся пар столбцов, нормальная практика нормализации посреднической модели на несколько моделей?

Что меня беспокоит: 1. Разрушение ABCD загромождает models.py 2. Являются ли несколько таблиц с двумя столбцами лучше таблицы с четырьмя столбцами (с дублирующимися парами столбцов)?

1 Ответ

1 голос
/ 23 октября 2009

Еще несколько вопросов, которые могут помочь с вашим дизайном.

  1. все таблицы, связанные с каждым другой
  2. все должны существовать одновременно время? Смысл, если A существует, делай B, C а D тоже существует?
  3. каковы их отношения? Значение один ко многим один ... и т.д.

Я думаю, что вы делаете хорошо, но я бы более склонен использовать несколько таблиц из 2 столбцов (но это полностью зависит от ваших ответов на мои три вопроса). Я думаю, что таблицы пересечения с двумя столбцами облегчают запросы и контроль целостности данных.

РЕДАКТИРОВАТЬ (после вашего ответа):

После дальнейшего рассмотрения этого, я думаю, что подход, который будет проще для запросов и т. Д., Будет таблица из 4 столбцов. Мне обычно не нравится этот подход, но если ваши данные на самом деле все связаны и будут существовать, вы сэкономите много времени, запросив данные, используя ваш первый подход.

Я должен извиниться перед своими друзьями из DBA по этой рекомендации;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...