Нормализировать ли?

WoLFiks

Не курю...
Нормализировать ли?

Есть данные по телевизорам
Марка тв (Max 10 символов)
Модель тв (Max 30 символов)
Год тв (Год)
_всяческие данные_

По идее надо делать 3 таблицы:
1я. id - марки
2я. id - id_mk - модели
3я. Собственно данные о них используя уже id'шники 2ой....
а при необходимости выборки использовать join'ы и т.д...

Есть ли в этом смысл???
Т.е. тройка значений марка-модель-год - однозначно идентифицирует запись. Второй такой записи быть не может.
Расширения особого не планируется.
При выборки всегда требуется только "_всяческие данные_" для искомой тройки.

Либо для данной задачи достаточно ограничется ОДНОЙ таблицей и делать выборку:
(допустим) WHERE m_id='VAR1' AND mk_id='VAR2' AND year_tv=YEAR_n ???
 

zerkms

TDD infected
Команда форума
зачем разделять 2 и 3?
а так - нормализовать, имхо, нужно всегда. и только потом уже, при необходимости, проводить денормализации
 

zerkms

TDD infected
Команда форума
berkut
откуда ты знаешь как они там хранятся? :)
сущность одна, характеристики соответственно тоже
 

WoLFiks

Не курю...
разделять 2 и 3 по тойже самой причине, что и 1.
В 3 может быть много одинаковых моделей, но разного года...

_всяческие данные_ - это несколько полей, которые характеризуют марку-модель-год.

-~{}~ 03.04.08 18:13:

zerkms
а так - нормализовать, имхо, нужно всегда. и только потом уже, при необходимости, проводить денормализации
А в чем "+" этого?
 

WoLFiks

Не курю...
Да, в принципе читал... А что не так???

Так и все же "А в чем же "+" этого?"
 

zerkms

TDD infected
Команда форума
Так и все же "А в чем же "+" этого?"
в том, что нет смысла разносить данные одной сущности по разным таблам, когда ты стараешься таблу сделать нормальной

совмещение 1 и 2 нарушит атомарность
 
Сверху