Автор Тема: Извеждане на инфо от ДБ-то за даден продукт  (Прочетена 949 пъти)

RedIce

  • Напреднали
  • *****
  • Публикации: 162
    • Профил
правя сайтче с някакви продукти, и всеки продукт има инструкции към него.
Имам нещо на предвид... но се чудя как би било най-добре оптимизирано.

Идеята е да има опция за избор на няколко езика и като се кликне на дадения език да препраща на там. Мислих си да си създам таблица в която всеки ред да е продукта а в отделните колони да са линковете за езика, като ако има празна колона, да пропуска реда... тоест няма за дадения език и да не излиза нищо. Въпросат е дали това е най удачният начин и има ли друг? Все пак ще ги има на ололо 30 езика, които не винаги са фиксирани и трябва да има проверка за всеки език дали го има или не, и ако го има тогава да визуализира. Мислих си за хтмл код само за самите инстрикции за да е по отимизирано но е много неудобно за работа...

Идейки :)?

Активен

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Това с отделни колони не е лоша идея, но за да опростиш нещата и логиката по-добре сложи един символ в поле в което няма текст и проверявай за този символ. Или слагай примерно текста на английски за езиците за които няма превод, това съм го виждал на много места. Но в зависимост от базата и големината на тези записи може да имаш проблем с ограниченията на char/varchar типа и да се налага да ползваш clob
Активен

0x2B|~0x2B

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
На мен ми звучи като лоша идея :(  - силно денормализирана ДБ.

По-добре направи една таблица с "езиконезависими" (нетекстови) колони - прим. id, снимка на продукта и т.н.
Направи втора таблица с езици (id, name).
Трета таблица с текстове - (id, FK_language_id, FK_product_id, text)
При последната таблица вече може да се мисли за денормализация.  Прим. ако имаш неколко вида текстове (заглавие, описание, съдържание) - може да направиш отделни таблици за всеки вид текст, а може и да ползваш само една таблица като добавиш една колона идентифицираща вида на текста.
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P