Russian Qt Forum

Qt => Базы данных => Тема начата: Hornet от Декабрь 15, 2017, 09:32



Название: База данных картриджей
Отправлено: Hornet от Декабрь 15, 2017, 09:32
Здравствуйте. Скажу сражу в БД новичок вот какую поставили задачу в отделе:
Написать программу по учету картриджей основной смысл такой, отдаем на заправку записываем в базу наименования картриджа и дата отгрузки.
В этой же таблице когда картридж возвращают с заправки просто проставляем в этой же таблице дату приема картриджа.
База состоит из трех таблиц
1) общие наименование 2)Отправка и прием 3) История заправки.
База Mysql интерфейс QT
Вопрос:
Как сделать чтобы из отправки и приема  после внесения даты приема автоматом строка отправлялась в историю, а в таблице отправки и приема строка удалялась.
 ??? второй день бьюсь. Хочу чтобы обработка велась в базе, а не в коде qt.


Название: Re: База данных картриджей
Отправлено: qate от Декабрь 15, 2017, 11:33
и зачем три таблицы - одной достаточно:
1. имя катриджа
2. дата отправки (начало обработки)
3. дата завершения
4. причина завершения (пришел, потеряли,  пришел незаправленный, и т.д.)
те записи, которые имеют дату завершения - это уже история, можно сделать для этого view в бд



Название: Re: База данных картриджей
Отправлено: Hornet от Декабрь 15, 2017, 13:57
То что ты предложил это последний вариант если этот не прокатит.
Ну все же как почему все ищат легкие пути.


Название: Re: База данных картриджей
Отправлено: qate от Декабрь 15, 2017, 14:40
Ну все же как почему все ищат легкие пути.

согласно озвученным условиям задачи - сделать 1 таблицу проще и не нужно лишних действий
не ясно зачем тут три таблицы - просто захотелось ?



Название: Re: База данных картриджей
Отправлено: Hornet от Декабрь 15, 2017, 15:07
Ну как вы думаете почему 3.
Я же все описал.
Я хочу что бы мне подсказали как реализовать то что я хочу.
Я накопал инфу помойму нужен тригер.
У кого еще будут предложения.


Название: Re: База данных картриджей
Отправлено: qate от Декабрь 15, 2017, 15:39
Ну как вы думаете почему 3.

потому что новичок в БД и хочется лишней возни с таблицами ?

Я накопал инфу помойму нужен тригер.

забавный будет триггер (наверно на update ?)  - делается update и строка пропадает )


Название: И тут появился поручик Ржевский...
Отправлено: DarkHobbit от Декабрь 20, 2017, 08:46
Хочу чтобы обработка велась в базе, а не в коде qt.
А вообще, Qt и MySQL это принципиальные требования?

Есть же готовое решение - Severcart (https://www.severcart.org/). Он коммерческий, но есть Free-версия. Писано на Python 3 с применением Django и СУБД PostgreSQL (исходники на Питоне в архиве присутствуют, но лицензия непонятно какая). По большому счёту, что MySQL, что PostgreSQL - разницы на задачах данного класса нет. (Хотя если сервер под виндой, то ставить под неё постгрю надо УМЕТЬ.)

P.S. К разработчикам Severcart отношения не имею, если что. Просто часто бываю на ЛОРе, где они анонсируют новые версии.