Несколько таблиц с одинаковыми структурами.
Разумнее объединить их в одну, с добавлением поля/ей отличающих этот смысл... Но так ли это?
Есть ли случаи, оправдывающие такое положение дел, которое выражалось бы в сохранении их разрозненности? Случаи, имеющие такие же разумные обоснования.
Есть несколько таблиц, отличных по смыслу, но одинаковых по структуре.
Разумнее объединить их в одну, с добавлением поля/ей отличающих этот смысл... Но так ли это?
Есть ли случаи, оправдывающие такое положение дел, которое выражалось бы в сохранении их разрозненности? Случаи, имеющие такие же разумные обоснования.
что имеется ввиду под структурой? типы атрибутов?
что имеется ввиду под структурой? типы атрибутов?
Да: типы, их параметры и ключевые атрибуты - полностью идентичны.
Есть несколько таблиц, отличных по смыслу, но одинаковых по структуре.
Разумнее объединить их в одну, с добавлением поля/ей отличающих этот смысл... Но так ли это?
Есть ли случаи, оправдывающие такое положение дел, которое выражалось бы в сохранении их разрозненности? Случаи, имеющие такие же разумные обоснования.
Если под структурой подразумевается просто совпадение типов и кол-ва полей, то я бы не советовал объединять их в одну таблицу. Это нехороший стиль программирования. Допустим есть несколько таблиц с полями инт,варчар. В одной таблице хранятся: имя и ИД компании. В другой: ИД продукта, название продукта. И как в таком случае назвать объединенную таблицу? Никакого логического имени придумать нельзя т.к. это две разные сущьности. Соответсвенно, можешь и сам запутаться и других программистов которые будут работать над проектом запутать, да и просто забыть что есть что.
Я бы советовал объединять таблицы исходя из логики и сущностей объектов. Например, есть два типа компаний-клиентов, одни долгосрочные, другие разовые. Сущности абсолютно одинаковые, тогда неразумно создавать несколько таблиц, лучше добавить поле Тип и все свалить в одну таблицу. Так будет яснее с точки зрения представления данных, да и более расширяемо (не придется добавлять новую таблицу, если появится новый тип клиентов).
Мне кажется так. =)
Если под структурой подразумевается просто совпадение типов и кол-ва полей, то я бы не советовал объединять их в одну таблицу. Это нехороший стиль программирования. Допустим есть несколько таблиц с полями инт,варчар. В одной таблице хранятся: имя и ИД компании. В другой: ИД продукта, название продукта. И как в таком случае назвать объединенную таблицу? Никакого логического имени придумать нельзя т.к. это две разные сущьности. Соответсвенно, можешь и сам запутаться и других программистов которые будут работать над проектом запутать, да и просто забыть что есть что.
полностью согласен. хотя не мешало бы увидеть структуру базы.
...
Разделяю ваши слова.
В моём случае, таблицы о которых идёт речь, можно охарактеризовать так (их 4): Клиенты (юр. л.); Поставщики (юр.л.); Клиенты (физ. л.); Поставщики (физ.л.).
* "юр.л." - юридические лица
* "физ.л." - физические лица
И к тому чтобы их объединить, вы вселили в меня уверенность. Прав ли я в ней?
-------------------------------------------
Разделяю ваши слова.
В моём случае, таблицы о которых идёт речь, можно охарактеризовать так (их 4): Клиенты (юр. л.); Поставщики (юр.л.); Клиенты (физ. л.); Поставщики (физ.л.).
* "юр.л." - юридические лица
* "физ.л." - физические лица
И к тому чтобы их объединить, вы вселили в меня уверенность. Прав ли я в ней?
-------------------------------------------
Сказать точно прав или нет я не могу. Это обычно показывает время =)) Но если единственным признаком который различает таблицы является поставщик или клиент то действительно можно две таблицы объединить в одну. Юр. лиц и физических лиц лучше не объединять, т.к. обычно у них разные реквизиты и т.д. Правда прежде чем объединять советую подумать, а не появятся ли какие-то особенные отличительные признаки в последствии. Имеется ввиду "свойства" непосредственно относящиеся к одной сущности и не относящиеся к другой из этой таблицы, причем такие что вынесение их, например, в другую таблицу вызовет разрозненность хранения данных. Предугадать такое трудно а иногда и не возможно, но если есть такая вероятность - следует ее учесть. Даже принимая решение объединить таблицы, следует идти на этот риск осознанно, это поможет реально видеть ситуацию и оценивать сроки.