Проектирование таблицы. Как лучше?

[Удален]
509

Скрипт новостей. Новости на 3 языках.

Поля:

1. ID

2. title_name

3. anonse_name

4. text_name

5. Description_name

6. Keywords_name

7. Date_create

8. Create_by

9. Date_update

10. Update_by

11. Cout_updates

12. Hits

13. karegory_id

14. Poradok

15. Statys

Получаем 15 полей. Поля под номером 2,3,4,5,6 нужно добавлять для каждой неовой языковой версии.

5*3=15+10=25 полей

Вопрос:

Каким образом лучше спроектировать структуру для хранения данных?

1. Запихнуть все в одну таблицу

2. Сделать 2 таблицы в одной индексы типа karegory_id, Statys и т.д., а в другой текстовая информация для языковых версий

3. Под каждую версию - свою таблицу. + 1 таблица с индексами. Плюс такого способа - просто расширять проект можно будет - просто добавил таблицу и все.

WL
На сайте с 26.08.2008
Offline
12
#1

2-й вариант тоже позволит хорошо развернуться без создания лишних таблиц.

Так что, я бы выбрал (и выбираю) 2-й.

wwwlab.biz (http://wwwlab.biz) - он-лайн биллинг для разработки ПО. Закажи разработку сайта сегодня!
stealthy
На сайте с 15.06.2006
Offline
69
#2

1. Постройте нормальную логическую модель своей системы. Начните с изучения реляционной модели вообще, почитайте теорию баз данных. Разберитесь что такое "отношения" в принципе и "один-ко-многим", "много-ко-многим" и т.д. в принципе. Сэкономите уйму времени и станете из экспериментатора разработчиком.

2. Выучите хотя бы один язык - английский (предпочтительно) или транслит (на худой конец). Понять что такое в вашей таблице под шифром statys или cout нельзя в принципе, karegory или poradok можно но сложно. Пожалейте программистов которые будут смотреть ваш код или себя, повзрослевшего на пару лет. Стыдно будет.

3. Задумайтесь над тем стоит ли вообще хранить блоки HTML в таблицах.

Twilight CMS (http://www.twl.ru): есть Free версия, очень проста и удобна в использовании. Консультирую по любым вопросам. Новый спорт - практическая стрельба (http://nikit.in) - не для офисного планктона.
N
На сайте с 06.05.2007
Offline
419
#3

из-за особенностей mysql тексты действительно лучше хранить в отдельных таблицах, так что второй вариант. и не пренебрегайте другими советами про модель и язык.

Кнопка вызова админа ()
stealthy
На сайте с 15.06.2006
Offline
69
#4
netwind:
из-за особенностей mysql тексты действительно лучше хранить в отдельных таблицах

что за особенности такие у MySQL, которых нет у других СУБД, которые скажутся на хранении текстов?

реляционная СУБД не место для хранения HTML вообще. они не для этого предназначены.

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#5
stealthy:
что за особенности такие у MySQL, которых нет у других СУБД, которые скажутся на хранении текстов?

реляционная СУБД не место для хранения HTML вообще. они не для этого предназначены.

Религия запрещает HTML в базе держать или есть практические соображения?

"Всякий овощ приносит пользу, будучи употреблен надлежащим образом в надлежащее время" ☝

N
На сайте с 06.05.2007
Offline
419
#6

stealthy, ну а зачем тогда во всех субд есть типы для текстов и бинарных данных ?

наверняка ведь понадобится постраничная навигация по этим статьям. значит есть потребность в сортировке. при сортировке текстов и блобов mysql не знает сколько нужно памяти под результат и создает временные файлы.

[Удален]
#7

А как Вы сохраните отформатированный текст, введенный пользователем в swying-редакторе? Вырезать будете весь хтмл?

I
На сайте с 29.04.2006
Offline
135
#8

Самый оптимальный в данном случае 2-ой вариант.

Поля называйте так, чтоб сразу можно было понять за что оно отвечает...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий