Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2010, 07:06   #1
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию Проектирование БД для склада

Мне нужно каким то образом сделать журналирование ввода данных в базу. Структура базы тривиальная и сама база очень мала. База хранит данные о товарообороте, каждые день в нее будут вводится данные о продажах и о поставках. Вот вопрос в том как реализовать журналирование этих транзакций.

Два самых простых варианта:
1. Создавать динамически таблицы для каждого дня(данные вводятся по окончании рабочего дня).
- Криво, куча таблиц выборка по названию таблицы
- Быстро
2. Создать одну большую таблицу с полем даты.
- Правильный метод
- Медленно(учитывая то что записей будет по 100-200 штук в день, можно себе представить во что это вырастет через пару месяцев)

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

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

И последний вопрос: что для данной задачи лучше подойдет: MySQL или PostgreSQL? По функциональности SQL-языка, PostgreSQL конечно немного выигрывает(PgSQL) но в целом это почти тоже самое, во всяком случае поработав с MySQL у меня не возникло таких проблем с переходом на PostgreSQL как с переходом на MSSQL.

Машина на которой это будет все работать(вместе с самим клиентским приложением) достаточно слабая: 1Gb 533 DDR2, 2x80GB IDE, Sempron 2400+, (по сегодняшним меркам конечно ).

Наверно мой пост выглядит как "Я вот попробовал на С++ писать, но хочется сделать свою ОС, можно ее на JavaScript написать?"
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 27.09.2010, 07:32   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Может стоит глянуть в сторону Firebird? Эта СУБД очень шустро работает на террабайтнымх базах. Да и делается там все просто.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.09.2010, 09:10   #3
Karabash
Форумчанин
 
Регистрация: 26.07.2009
Сообщений: 216
По умолчанию

У меня склад в магазине имеет дневной оборот от 50 до 2000 позиций (приход, продажа, возвраты). Журналирование осуществляется в специально отведенной таблице по каждой операции и каждой позиции (кто, когда добавил, изменил, удалил). Таблица журнала один раз в месяц - два обрезается по операциям полугодовой давности.
Абсолютно незаметно все это происходит и никого не напрягает. Работает эта система уже 5-й год и прекрасно.
Проект на Delphi+Firebird. Серверная машинка тоже не самая свежая (впрочем, как и клиентские).
Karabash вне форума Ответить с цитированием
Старый 27.09.2010, 14:08   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от Ivan_32 Посмотреть сообщение
2. Создать одну большую таблицу с полем даты.
- Правильный метод
- Медленно(учитывая то что записей будет по 100-200 штук в день, можно себе представить во что это вырастет через пару месяцев)
а что "медленно"?
логирование данных медленно? или вас пугает большой объем данных, накопленных за год/два/... ?
логирование юзер и не заметит
а выборка данных - ну так индексы и фильтрация помогут

Цитата:
Сообщение от Ivan_32 Посмотреть сообщение
И еще вопрос стоит в том что бы обеспечить полную избыточность базы, двух-трех кратную. Дублировать таблицы и все обновления зацепить на триггеры, это по моему будет очень брутфорсное решение. Так же нужно как то заставить сервер БД хранить файлы с базой(точнее их дубли) в нескольких местах, если конкретнее на разных логических дисках.
настроенные бекапы базы вам помогут и пишите их хоть на ленту, хоть на двд, хоть по сети во владик

Цитата:
Сообщение от Ivan_32 Посмотреть сообщение
Машина на которой это будет все работать(вместе с самим клиентским приложением) достаточно слабая: 1Gb 533 DDR2, 2x80GB IDE, Sempron 2400+, (по сегодняшним меркам конечно ).
чота у меня есть подозрения что ФБ будет летать и на простом пне

ну и судя по посту сложилось впечатление, что некоторые моменты вы себе просто слабо представляете - предлагаю выложить на суд общественности ДДЛ базы - думаю, что там будет что подправить
soleil@mmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проектирование JKING Помощь студентам 0 02.05.2010 17:56
Пример базы данных магазина,склада и тп gred Microsoft Office Access 1 19.06.2009 10:58
Проектирование CGI PavluxaF Работа с сетью в Delphi 2 07.05.2009 01:17
Посчитать разницу прихода и ухода со склада bikeeva julia Microsoft Office Excel 3 01.05.2009 11:50
Проектирование базы данных Xeon332 Помощь студентам 5 23.12.2008 19:40