Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Несколько таблиц с одинаковыми структурами.

9.0K
06 апреля 2006 года
only
28 / / 11.11.2005
Есть несколько таблиц, отличных по смыслу, но одинаковых по структуре.

Разумнее объединить их в одну, с добавлением поля/ей отличающих этот смысл... Но так ли это?

Есть ли случаи, оправдывающие такое положение дел, которое выражалось бы в сохранении их разрозненности? Случаи, имеющие такие же разумные обоснования.
2
06 апреля 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by only
Есть несколько таблиц, отличных по смыслу, но одинаковых по структуре.

Разумнее объединить их в одну, с добавлением поля/ей отличающих этот смысл... Но так ли это?

Есть ли случаи, оправдывающие такое положение дел, которое выражалось бы в сохранении их разрозненности? Случаи, имеющие такие же разумные обоснования.


что имеется ввиду под структурой? типы атрибутов?

9.0K
06 апреля 2006 года
only
28 / / 11.11.2005
Цитата:
Originally posted by squirL
что имеется ввиду под структурой? типы атрибутов?



Да: типы, их параметры и ключевые атрибуты - полностью идентичны.

385
06 апреля 2006 года
SomewherSomehow
477 / / 25.07.2004
Цитата:
Originally posted by only
Есть несколько таблиц, отличных по смыслу, но одинаковых по структуре.

Разумнее объединить их в одну, с добавлением поля/ей отличающих этот смысл... Но так ли это?

Есть ли случаи, оправдывающие такое положение дел, которое выражалось бы в сохранении их разрозненности? Случаи, имеющие такие же разумные обоснования.



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

2
06 апреля 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by SomewherSomehow
Если под структурой подразумевается просто совпадение типов и кол-ва полей, то я бы не советовал объединять их в одну таблицу. Это нехороший стиль программирования. Допустим есть несколько таблиц с полями инт,варчар. В одной таблице хранятся: имя и ИД компании. В другой: ИД продукта, название продукта. И как в таком случае назвать объединенную таблицу? Никакого логического имени придумать нельзя т.к. это две разные сущьности. Соответсвенно, можешь и сам запутаться и других программистов которые будут работать над проектом запутать, да и просто забыть что есть что.


полностью согласен. хотя не мешало бы увидеть структуру базы.

9.0K
10 апреля 2006 года
only
28 / / 11.11.2005
Цитата:
Originally posted by SomewherSomehow
...



Разделяю ваши слова.

В моём случае, таблицы о которых идёт речь, можно охарактеризовать так (их 4): Клиенты (юр. л.); Поставщики (юр.л.); Клиенты (физ. л.); Поставщики (физ.л.).
* "юр.л." - юридические лица
* "физ.л." - физические лица

И к тому чтобы их объединить, вы вселили в меня уверенность. Прав ли я в ней?
-------------------------------------------

385
10 апреля 2006 года
SomewherSomehow
477 / / 25.07.2004
Цитата:
Originally posted by only
Разделяю ваши слова.

В моём случае, таблицы о которых идёт речь, можно охарактеризовать так (их 4): Клиенты (юр. л.); Поставщики (юр.л.); Клиенты (физ. л.); Поставщики (физ.л.).
* "юр.л." - юридические лица
* "физ.л." - физические лица

И к тому чтобы их объединить, вы вселили в меня уверенность. Прав ли я в ней?
-------------------------------------------


Сказать точно прав или нет я не могу. Это обычно показывает время =)) Но если единственным признаком который различает таблицы является поставщик или клиент то действительно можно две таблицы объединить в одну. Юр. лиц и физических лиц лучше не объединять, т.к. обычно у них разные реквизиты и т.д. Правда прежде чем объединять советую подумать, а не появятся ли какие-то особенные отличительные признаки в последствии. Имеется ввиду "свойства" непосредственно относящиеся к одной сущности и не относящиеся к другой из этой таблицы, причем такие что вынесение их, например, в другую таблицу вызовет разрозненность хранения данных. Предугадать такое трудно а иногда и не возможно, но если есть такая вероятность - следует ее учесть. Даже принимая решение объединить таблицы, следует идти на этот риск осознанно, это поможет реально видеть ситуацию и оценивать сроки.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог