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

Ваш аккаунт

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

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

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

Что лучше база данных или файл?

1.2K
17 октября 2006 года
PAVEL BASIC
171 / / 24.07.2006
Я создаю форум, и передо мной встал вопрос как лучше хранить сообщения в базе данных или в файле. Я храню сообщения в базе данных следующим образом: для каждого топика создаётся отдельная таблица и в неё записывается сообщение и информация о нём, есть и другая таблица в которой хранится названия топиков и ссылки на соответствующие таблицы. А теперь вопрос: "Правильно ли я поступил реализовав данную конуепцию именно так?"
10K
17 октября 2006 года
KiLLMeNoT
61 / / 06.09.2006
[QUOTE=PAVEL BASIC]Я создаю форум, и передо мной встал вопрос как лучше хранить сообщения в базе данных или в файле. Я храню сообщения в базе данных следующим образом: для каждого топика создаётся отдельная таблица и в неё записывается сообщение и информация о нём, есть и другая таблица в которой хранится названия топиков и ссылки на соответствующие таблицы. А теперь вопрос: "Правильно ли я поступил реализовав данную конуепцию именно так?"[/QUOTE]
Мб лучше иметь таблицу с топиками

topics - инфо о темах создаваемых на форуме
----
ID
Заголовок
Кто создал user
Дата
Начальное Сообщение.. итп

users - О пользователях

message
------
ID
В какой топик относиться ID_Topic
Кто создал ID_User
Дата
итп

В таком духе все и продумай
337
17 октября 2006 года
shine
719 / / 09.06.2006
[QUOTE=PAVEL BASIC]Я создаю форум, и передо мной встал вопрос как лучше хранить сообщения в базе данных или в файле. Я храню сообщения в базе данных следующим образом: для каждого топика создаётся отдельная таблица и в неё записывается сообщение и информация о нём, есть и другая таблица в которой хранится названия топиков и ссылки на соответствующие таблицы. А теперь вопрос: "Правильно ли я поступил реализовав данную конуепцию именно так?"[/QUOTE]

Я бы сделал по-другому.

Одна таблица под ВСЕ топики. Для каждого топика уникальный ID.
Вторая таблица под ВСЕ сообщения. Для каждого сообщения хранится ID топика к которому он относится и время создания.

Согласись такая структура базы намного проще чем то, что ты описал.
13
18 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=PAVEL BASIC]Я создаю форум, и передо мной встал вопрос как лучше хранить сообщения в базе данных или в файле. Я храню сообщения в базе данных следующим образом: для каждого топика создаётся отдельная таблица и в неё записывается сообщение и информация о нём, есть и другая таблица в которой хранится названия топиков и ссылки на соответствующие таблицы. А теперь вопрос: "Правильно ли я поступил реализовав данную конуепцию именно так?"[/QUOTE]
Ужас какой... Даже писать сразу расхотелось что-то стоящее. Советую вам сначала осилить хоть какую-нибудь книгу по базам данных, почитать умные статьи и только потом заниматься проектированием форума. А в таком виде как у вас все сдохнет через 1-2 месяца активного использования.
Есть простые правила работы с БД:
1) Если вы программными средствами создаете таблицы (как у вас) - это неправильно. Минимум таблиц - максимум информации
2) Если у вас есть таблицы с переменным количеством столбцов - это неправильно
3) Если вы храните какие-то данные дважды в разных таблицах - это неправильно
есть еще правила, но что-то вспомнить их не могу...:cool:
18K
18 октября 2006 года
maestro_ufa
11 / / 10.10.2006
Цитата:
Есть простые правила работы с БД:
1) Если вы программными средствами создаете таблицы (как у вас) - это неправильно. Минимум таблиц - максимум информации
2) Если у вас есть таблицы с переменным количеством столбцов - это неправильно
3) Если вы храните какие-то данные дважды в разных таблицах - это неправильно
есть еще правила, но что-то вспомнить их не могу...



Ерунда это все! Невозможно проектировать структуру БД руководствуясь какими-то правилами. Есть только одно неписаное правило - каждый элемент структуры БД должен необходимо и достаточно описывать конкретную информационную сущность. Нужно продумать и прочувствовать каждую табличку, каждое полечко, каждую связку! И чтобы научиться чувствовать это, необходим просто-напросто опыт.

Конечно, форум нужно писать с F1 БД. Гораздо удобнее будет структура информации, удобнее производить поиск и полнотекстовый поиск. Можно, конечно, все то же самое сделать и с файлами, только файлы - это всего лишь хранилище данных, а БД - это хранилище + интерфейс работы с данными. Если вы выберете файлы, то интерфейс вам придется делать самому.

13
18 октября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=maestro_ufa]Если вы выберете файлы, то интерфейс вам придется делать самому.[/QUOTE]
А также в будущем решать проблемы с тормозами...
5.4K
18 октября 2006 года
Svyatozar
221 / / 11.09.2006
[QUOTE=RussianSpy]А также в будущем решать проблемы с тормозами...[/QUOTE]
?? c какими тормозами?
2
18 октября 2006 года
squirL
5.6K / / 13.08.2003
[quote=maestro_ufa]Невозможно проектировать структуру БД руководствуясь какими-то правилами. Есть только одно неписаное правило - каждый элемент структуры БД должен необходимо и достаточно описывать конкретную информационную сущность. Нужно продумать и прочувствовать каждую табличку, каждое полечко, каждую связку! И чтобы научиться чувствовать это, необходим просто-напросто опыт.
[/quote]
мда? а на кой хрен придуманы реляционная алгебра? зачем нужны нормальные формы? достаточно просто опыта значит... не смешите людей, а? встречал я на форумах таких деятелей... которые таблицы по стоковым полям пересекали, а потом удивлялись, что все тормозит.
СНАЧАЛА проектирование, потом реализация. и проектирование - основанное на теории. естественно, строго по учебнику не получится. иногда, от теории можно отступит, например - для быстродействия сделать денормализацию... но рассказывать про отсутствие правил начинающим не надо. а то они так и начнут лепить...
256
19 октября 2006 года
foxweb
1.0K / / 27.07.2005
Как мне кажется, лучше будет для автора будет сначала реализовать на всё файлах. А потом, когда пройдёт через всё это (имею ввиду рутинные операции для реализации функциональности форума на файлах) увидит, почувствует, а главное поймёт... Вот тогда сам поневоле задумается о БД и как её правильно проектировать. Хотя что тут проектировать в двух таблицах... Но и эти две таблицы (да хоть даже одну!) нужно с умом создать.
Такой подход полезнее в плане обучения и опыта. Да и вопросы по делу будут.

Готов оказать всяческое содействие, обращайся!

P.S. - Помнится, сначала я тоже гостевушками баловался, всякой мелочёвкой на файлах, а потом бац: спроектировать информационный сайт регионального масштаба...
Вот так познал Базы Данных ;)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог