Что лучше база данных или файл?
Я создаю форум, и передо мной встал вопрос как лучше хранить сообщения в базе данных или в файле. Я храню сообщения в базе данных следующим образом: для каждого топика создаётся отдельная таблица и в неё записывается сообщение и информация о нём, есть и другая таблица в которой хранится названия топиков и ссылки на соответствующие таблицы. А теперь вопрос: "Правильно ли я поступил реализовав данную конуепцию именно так?"
Мб лучше иметь таблицу с топиками
topics - инфо о темах создаваемых на форуме
----
ID
Заголовок
Кто создал user
Дата
Начальное Сообщение.. итп
users - О пользователях
message
------
ID
В какой топик относиться ID_Topic
Кто создал ID_User
Дата
итп
В таком духе все и продумай
Я бы сделал по-другому.
Одна таблица под ВСЕ топики. Для каждого топика уникальный ID.
Вторая таблица под ВСЕ сообщения. Для каждого сообщения хранится ID топика к которому он относится и время создания.
Согласись такая структура базы намного проще чем то, что ты описал.
Ужас какой... Даже писать сразу расхотелось что-то стоящее. Советую вам сначала осилить хоть какую-нибудь книгу по базам данных, почитать умные статьи и только потом заниматься проектированием форума. А в таком виде как у вас все сдохнет через 1-2 месяца активного использования.
Есть простые правила работы с БД:
1) Если вы программными средствами создаете таблицы (как у вас) - это неправильно. Минимум таблиц - максимум информации
2) Если у вас есть таблицы с переменным количеством столбцов - это неправильно
3) Если вы храните какие-то данные дважды в разных таблицах - это неправильно
есть еще правила, но что-то вспомнить их не могу...:cool:
Цитата:
Есть простые правила работы с БД:
1) Если вы программными средствами создаете таблицы (как у вас) - это неправильно. Минимум таблиц - максимум информации
2) Если у вас есть таблицы с переменным количеством столбцов - это неправильно
3) Если вы храните какие-то данные дважды в разных таблицах - это неправильно
есть еще правила, но что-то вспомнить их не могу...
1) Если вы программными средствами создаете таблицы (как у вас) - это неправильно. Минимум таблиц - максимум информации
2) Если у вас есть таблицы с переменным количеством столбцов - это неправильно
3) Если вы храните какие-то данные дважды в разных таблицах - это неправильно
есть еще правила, но что-то вспомнить их не могу...
Ерунда это все! Невозможно проектировать структуру БД руководствуясь какими-то правилами. Есть только одно неписаное правило - каждый элемент структуры БД должен необходимо и достаточно описывать конкретную информационную сущность. Нужно продумать и прочувствовать каждую табличку, каждое полечко, каждую связку! И чтобы научиться чувствовать это, необходим просто-напросто опыт.
Конечно, форум нужно писать с F1 БД. Гораздо удобнее будет структура информации, удобнее производить поиск и полнотекстовый поиск. Можно, конечно, все то же самое сделать и с файлами, только файлы - это всего лишь хранилище данных, а БД - это хранилище + интерфейс работы с данными. Если вы выберете файлы, то интерфейс вам придется делать самому.
А также в будущем решать проблемы с тормозами...
?? c какими тормозами?
[/quote]
мда? а на кой хрен придуманы реляционная алгебра? зачем нужны нормальные формы? достаточно просто опыта значит... не смешите людей, а? встречал я на форумах таких деятелей... которые таблицы по стоковым полям пересекали, а потом удивлялись, что все тормозит.
СНАЧАЛА проектирование, потом реализация. и проектирование - основанное на теории. естественно, строго по учебнику не получится. иногда, от теории можно отступит, например - для быстродействия сделать денормализацию... но рассказывать про отсутствие правил начинающим не надо. а то они так и начнут лепить...
Такой подход полезнее в плане обучения и опыта. Да и вопросы по делу будут.
Готов оказать всяческое содействие, обращайся!
P.S. - Помнится, сначала я тоже гостевушками баловался, всякой мелочёвкой на файлах, а потом бац: спроектировать информационный сайт регионального масштаба...
Вот так познал Базы Данных ;)