LINUX.ORG.RU

PostgreSQL работа с серийными номерами товара

 


0

1

Hi All!

Возникла задачка по хранению десятков тысяч уникальных серийных номеров для идентичных номенклатурных позиций (одинаковых железяк), с возможностями:

  • 1. Списание со склада и возврата на склад с использованием полного серийного номера железяки, либо части серийного номера с начала или с конца.
  • 2. Поиск именно нужной железяки с использованием части серийного номера с начала или конца (проверяемого серийного номера). Именно нужной подразумевается поиск именно той которую надо вернуть на склад, например видеокарту, по части серийного номера которой производится поиск, а не сетевой карты в серийном номере которой (где-то в середине) тоже может содержаться искомое значение.

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

Как оно под линуксом то устанавливается (я о постгресе)? А то пытался устновить под виндой, так инсталятор от enterprisedb кидается ошибкой, мол post-install step warning и т.д и т.п.

anonymous
()
Ответ на: комментарий от quest

Я про сам процесс установки. Проблемы бывают или же все проходит в штатном режиме без последствий. Я так посмотрел, это в основном проблема с инсталятором для винды.

anonymous
()
Ответ на: комментарий от anonymous

хочешь проблем - используй венду. не хочешь - набираешь apt-get install postgresql нажимаешь enter и получаешь установленный, запущенный и готовый к работе postgresql

quest ★★★★
()

да, задать вопрос, что ничего не понятно - тоже талант нужен

x905 ★★★★★
()

У вас в каждой строке хранится инфа об одной имеющейся железяке и есть столбец «серийный номер»? Если да, то хранить в одной строке не нужно, ибо это противоречит принципу построения реляционной БД и вы лишаете себя всего, что СУБД может вам дать, поиск, индексы и прочее. Если нет, то я не понял, как вас это сделано.

Если у вас таки есть столбец «серийный номер» ну ищите SELECT * FROM products WHERE CODE LIKE %частьномера%;

Alve ★★★★★
()
Ответ на: комментарий от Alve

Пока ещё ничего и нигде не хранится. Пока только планирую схему базы данных.

Попробую разъяснить более подробней.

Есть:

  • Видеокарта 512Mb <PCI-E> Zotac GT210 Synergy с CUDA <GT210, GDDR2, 64 bit, VGA, DVI, HDMI, OEM> - 100'000 шт
  • Сетевая карта Dell Intel X520 10GbE Dual Port KR/ XAUI I/ O Card - Kit (540-10903) - 80'000 шт
  • Ноутбук NB Lenovo B570 <59335399> B820/2G/320/DVDRW/Cam/DOS/15.6"HD - 100 шт

Одну видеокарту списали, но через пол годика её принесли назад, например по гарантии. Естественно надо проверить по серийному номеру наша она или нет. Но беда, наклейка с серийным номером осталась только частично, например с начала или с конца или вообще с обоих сторон, а в гарантийнике ленивый кладовщик номер весь писать не стал, а лишь часть первые или последние несколько «цифробукв». Для этого выполняем простенький селект (оставляем знак «%» с обоих сторон, а не с одной):

SELECT name FROM "goods" WHERE "serial_number" ILIKE '%fe80226a8a%';

В ответ получаем вот такой вывод:

  • Видеокарта 512Mb <PCI-E> Zotac GT210 Synergy с CUDA <GT210, GDDR2, 64 bit, VGA, DVI, HDMI, OEM> - 10 шт
  • Сетевая карта Dell Intel X520 10GbE Dual Port KR/ XAUI I/ O Card - Kit (540-10903) - 8 шт
  • Ноутбук NB Lenovo B570 <59335399> B820/2G/320/DVDRW/Cam/DOS/15.6"HD - 2 шт

Таким образом мы выяснили что этот кусок серийного номера содержится в серийных номерах 20-ти различных железяк.
За ответы спасибо, значит буду исходить из одной строки на одну железку в количестве 1шт. И при поиске буду вываливать полный список найденных железяк, чтобы человек самостоятельно делал выбор. Просто думал, раз я ещё «не в зуб ногой» в построении баз данных то что-то изменилось за 10 лет что я с ними не сталкивался.

Xray_Linux_Root
() автор топика
Ответ на: комментарий от Xray_Linux_Root

Ну так добавьте ещё столбец «тип железки». Лучше конечно сделать отдельную таблицу device_types c двумя колонками id и name. А в основную таблицу добавить поле device_type_id и хранить там id'ник. Тогда можно будет искать сразу и по серийнику и по типу.

Alve ★★★★★
()

Нужна таблица серийных номеров в разрезе Номенклатуры. Плюс таблица остатков в разрезе: склад + номенклатура + серийный.

Это вообще с нуля будет или надо доделать систему?

bvn13 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.