price in database (насколько это целесобразно)

Модератор: Модераторы разделов

IMB
Сообщения: 2567
ОС: Debian

price in database

Сообщение IMB »

Приветствую!
Я работаю в небольшой торговой фирме. Прайс руководство держит в xls-формате. Недавно начался переход на OpenOffice. Вопросов с открытием прайса нет, вопрос есть в скорости работы Calc-а с файлом прайса. Файл имеет размер, в среднем, 6 МБ. Открывается долго, да и при сохранении периодически возникают "зависания" Calc-а. Это одна из причин почему на некоторых местах все еще стоит MicrosoftOffice.
Собственно я хочу попросить совета по некоторым вопросам:
- насколько целесообразен перевод прайс в базу данных или из-за этого объема не стоит искать "приключений себе на голову"
- если перевод имеет смысл то что лучше выбрать - sql-базу, например mysql, или OpenOfficeBase, насколько я понимаю это аналог MicrosoftOfficeAccess
- возможно ли из mysql напрямую экспортировать данные в такие форматы как xls, pdf, я знаю что есть возможность экспорта в текстовые файлы с разделением данных запятой/точкой, конечно возможно потом данный файл вставлять в Calc и сохранять в нужном формате, но хочется в один шаг.
Буду рад услышать Ваши соображения по данному вопросу. Спасибо.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: price in database

Сообщение serzh-z »

IMB, если есть человек, который спроектирует БД и напишет интерфейс к прайс-листу, то смысл перенести всё в БД определённо есть, не обязательно в MySQL, можно обойтись даже SQLite например, в частности если число записей в прайсе не превышает нескольких тысяч.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: price in database

Сообщение IMB »

serzh-z писал(а):
22.08.2007 17:36
IMB, если есть человек, который спроектирует БД и напишет интерфейс к прайс-листу, то смысл перенести всё в БД определённо есть, не обязательно в MySQL, можно обойтись даже SQLite например, в частности если число записей в прайсе не превышает нескольких тысяч.

Ну этим человеком скорее всего буду я. Меня смущает, собственно говоря, именно объем - имеется некий стереотип что база данных это нечто большое. Ну а про написание - будем осваивать php и иже с ним. Думается проще организовать web-доступ, чем писать клиентскую часть.
P.S. Модераторы, что то мне кажется что тему открыл я несколько не там. Если не затруднит, перенесите в соответствующий раздел. Пожалуй более точное месторасположение - Тематический флейм. Спасибо.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: price in database

Сообщение serzh-z »

IMB писал(а):
22.08.2007 17:50
Думается проще организовать web-доступ
Да.

БД - это не обязательно нечно большое - если даже записей больше тысячи, не устраивает скорость и общий доступ к файлу таблицы, то вполне логичным выглядит использование простой SQL-базы.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: price in database

Сообщение IMB »

Спасибо. С целесообразностью более-менее ясно. А что насчет экспорта данных в файлы? Приоритетными являются xls и pdf.
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0

Re: price in database

Сообщение sarutobi »

IMB,
если будете осваивать php то модули экспорта в xls и pdf там присутствуют (для xls - модуль на php, для pdf - встраиваемый so/dll вроде бы). Если другой язык - то соотвественно надо смотреть там.
Хинт: любая СУБД ничего не знает о представительском формате(xml, xls, pdf etc....), который нужен на выходе. она всего лишь обеспечивает эффективную обработку данных пользователя.
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: price in database

Сообщение diesel »

IMB писал(а):
22.08.2007 18:05
Спасибо. С целесообразностью более-менее ясно. А что насчет экспорта данных в файлы? Приоритетными являются xls и pdf.

для perl'а, например, есть модули которые позволяют xls делать, возможно для php или что вы там использовать будете тоже что-то подобное окажется.

ЗЫ: ыыы, долго писал. :)
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: price in database

Сообщение serzh-z »

sarutobi писал(а):
22.08.2007 19:03
любая СУБД ничего не знает о представительском формате(xml, xls, pdf etc....), который нужен на выходе
Ну, скажем, не так уж любая - некоторые поддерживают тип данных навроде EXTFILE (чем-то похоже на блоб), и с помощью специальных фильтров умеют даже индексировать это поле...
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: price in database

Сообщение IMB »

Спасибо. Есть над чем подумать.
Спасибо сказали:
Аватара пользователя
MadDog
Бывший модератор
Сообщения: 2298
Статус: Добрый банщик

Re: price in database

Сообщение MadDog »

IMB писал(а):
22.08.2007 17:32
Прайс руководство держит в xls-формате.
Было и у нас нечто подобное. В некоторых случаях проблема решилась простым сохранением в родной формат Calc, т.е. *.ods. Если же необходимо отсылать клиентам, то этот файл из Calc тупо экспортируется в pdf. Клиентам же только прочитать/распечатать надо. :)
MadDog's Blog
Внимательно читать: Как правильно задавать вопросы
No fate but what we make
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0

Re: price in database

Сообщение sarutobi »

[offtop]
serzh-z,
смысл extfile применимо к данному случаю или вообще?
ответ можно в личку
[offtop]
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали:
igorv
Сообщения: 11

Re: price in database

Сообщение igorv »

serzh-z писал(а):
22.08.2007 19:16
sarutobi писал(а):
22.08.2007 19:03
любая СУБД ничего не знает о представительском формате(xml, xls, pdf etc....), который нужен на выходе
Ну, скажем, не так уж любая - некоторые поддерживают тип данных навроде EXTFILE (чем-то похоже на блоб)...

В том-то и дело, что поле такого типа - всего лишь контейнер для произвольного содержимого. Это значит что "любая СУБД ничего не знает о представительском формате".
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: price in database

Сообщение IMB »

MadDog писал(а):
22.08.2007 22:21
IMB писал(а):
22.08.2007 17:32
Прайс руководство держит в xls-формате.
Было и у нас нечто подобное. В некоторых случаях проблема решилась простым сохранением в родной формат Calc, т.е. *.ods. Если же необходимо отсылать клиентам, то этот файл из Calc тупо экспортируется в pdf. Клиентам же только прочитать/распечатать надо. :)

Прайс не отсылается клиентам, его выкладывают на сайте. Я провел опыт с прайсом - 6 МБ xls ужался до 0.5 МБ ods. По размеру - замечательно, но скорость открытия, даже по сравнению с xls, возросла заметно. С конвертацией в pdf тоже не все однозначно. В прайсе для "внутреннего" использования присутствуют дополнительные колонки с ценами, которые не надо разглашать, да и за время использования файл уже подбили под формат средствами Excel, а при открытии в OpenOffice "плывут" страницы. Ну и будем учитывать "консерватизм" людей.
Но насчет хранения прайса в базе данных я подумаю очень серьезно, глядишь получится интегрировать в сайт.
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: price in database

Сообщение v04bvs »

Сделайте web-доступ и всё. У пользователей будет возможность удобно работать с прайсом, при желании легко навешиваются нужные функции, всё отлично интегрируется с сайтом, естественным образом делается разграничение прав. HTML прекрасно распечатывается, в нём превосходные средства отображения таблиц, он куда кроссплатформеннее, чем ексель. Прайсы в екселе - самое дебильное, что можно придумать, уж извините.

Единственное - консерватизм, ну тут уж ваша задача как разработчика - сделать миграцию как можно более простой.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: price in database

Сообщение serzh-z »

sarutobi, вообще, в принципе igorv уже всё сказал.
Спасибо сказали: