|
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
|
|
RAD 2009-XE2 БД "Склад"20.07.2019, 12:10. Показов 2793. Ответов 33
Здравствуйте. Прошу помочь материалами и советом по следующему вопросу.
Поставили задачу написать простую БД "СКЛАД" (не более 7 таблиц). С возможностью работы в ней по сети и разграничением прав пользователей. Писать буду на delphi 10 + postgreSQL. Опыта практически нет, отсюда следующий вопрос: для связи делфи с субд использовать firedac, zeoslib, ado? Как грамотно сделать авторизацию и идентификацию пользователя и обрезать права обычному оператору? Заранее благодарю.
0
|
|
| 20.07.2019, 12:10 | |
|
Ответы с готовыми решениями:
33
БД склад бд склад компьютерный склад |
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 20.07.2019, 12:56 | |
|
Если с ТЗ у вас все понятно, то первое, что надо сделать, это сделать структуру БД на сервере, и тщательно протестировать ее на заполнение, выборку.
0
|
|
|
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
|
|
| 20.07.2019, 13:27 [ТС] | |
|
уже приступил. Но мои вопросы менее актуальны не стали
0
|
|
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
||
| 20.07.2019, 14:19 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
|
|
| 20.07.2019, 14:46 [ТС] | |
|
ну при входе в программу подключился к БД указав логин и пароль:
1) Как пароль должен храниться в postgesql пароль пользователей? хэшем? Далее заходим и например запрещаем пользователю удалять запись, или открывать справочники - это решается на уровне СУБД или путем закрытия данной функции в интерфейсе программы? И как сделать ведение журнала пользователя, что открыл, что добавил, что удалил?
0
|
|
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 20.07.2019, 16:14 | |
|
А вы как создавали базу на postgesql ? Там же настройка подключения предполагает пользователя и пароль с определенными правами.
0
|
|
|
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
|
|
| 20.07.2019, 16:41 [ТС] | |
|
Я только приступил, по этому пока один пользователь - стандартный
Добавлено через 2 минуты Если можно, то хотелось бы пример кода подключения к бд из делфи
0
|
|
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 20.07.2019, 17:07 | |
|
Раз у вас XE, то вам лучше FireDac использовать. Пример к сожалению не покажу, нет у меня XE сейчас, но вы можете найти их море и на форуме и в гугле. Настройку пользователей и их прав тоже в гугле можно легко найти.
А вот аудит можно реализовать по разному. Из моего опыта следует что детальный аудит не нужен вообще, а вот знание, кто создал и изменил запись - очень пригодится. В Postgree, где есть наследование, это реализуется вообще элементарно. Создаете таблицу-родитель, от которой затем наследуете все остальные таблицы. В ней заводите поля Создал,Изменил,ДатаСоздания,ДатаИзменени я. Делаете тригер на добавление, изменение записи, где заполняете эти четыре поля и все.
0
|
|
|
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
|
|
| 20.07.2019, 17:38 [ТС] | |
|
Благодарю! И последний пока вопрос, вообще есть разница на Delphi 7 или 10.3 писать?! Просто мои последние навыки на 7 были.
0
|
|
| 20.07.2019, 17:54 | |
|
0
|
|
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
||||||
| 20.07.2019, 18:36 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
|
|
| 21.07.2019, 19:37 [ТС] | |
|
Сейчас доделаю и скину
Добавлено через 2 часа 10 минут Подскажите в каком направлении думать?! Вообщем есть таблица товаров, крышки, бутылки. Которые поступают на склад. Например крышек 10, и бутылок 10. И есть готовая продукция, которая состоит из определённых крышек и бутылок, готовая продукция - уникальное название, к которой идёт своя крышка и своя этикетка. И надо чтобы при создании готовой продукции вычиталась одна этикетка и одна крышка из их количества. Как это связать и отобразить ?! Что то не соображу
0
|
|
| 21.07.2019, 21:47 | ||
|
на складе мы только храним. приход и расход. производство это совсем другая тема. пусть у тебя есть таблицы Номенклатура (ID, Наименование) 1 Крышка1 2 Бутылка2 Движение Пришло код1 - 20 штук Пришло код2 - 30 штук Товары Товар1 Код1 1шт Товар1 Код2 1шт Производство - при добавлении в эту таблицу надо по товару посчитать сколько и чего у нас есть и если всего хватает, сразу добавляем в таблицу движение нужное количество с минусом (минус - это значит расход) Товар1 20 штук
0
|
||
|
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
|
|
| 22.07.2019, 05:05 [ТС] | |
|
Оказалось не так просто как думалось, прошу помощи!
https://drive.google.com/open?... BLTUjKI5bF пока нарисовал такую структуру. Смысл должен быть такой. Есть комплектующие товаров, по моей логике они поступают на склад, соединены с таблицами единицы измерения и группы комплектующих. И есть готовый товар, который состоит из комплектующих свойственных ему, при добавлении он должен проверять количество нужных ему комплектующих и если всего хватает - добавлять на склад готовый товар за минусом нужных ему комплектующих.
0
|
|
|
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
|
|
| 22.07.2019, 08:55 [ТС] | |
|
Помощь в проверке связей. Сейчас скину картинку
0
|
|
|
|
|
| 23.07.2019, 15:42 | |
|
не нужно использовать пользователей от БД
стоит наоборот сделать таблицу пользователей вашей программы с каким-то списком их ролей (прав) тогда программа будет подключаться к базе всегда под одним логином, а права будут реализовываться уже в программе
0
|
|
|
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
|
|
| 23.07.2019, 18:50 [ТС] | |
|
Благодарю за мнение! А есть примеры реализации этого??? Чтобы понять смысл
0
|
|
|
|
||||||
| 23.07.2019, 22:09 | ||||||
|
смысл в том, что для доступа в БД требуется администрирование пользователей с помощью сисадмина
и права на объекты БД довольно трудно конвертировать в право "Открыть форму №13" и администрировать их тоже довольно сложно если же у вас собственная таблица например пусть как у всех users, вы можете хранить там все что вам захочется а еще можно создать таблицу ROLES - справочник ролей (наборов прав) и таблицу USER_ROLES, которая хранит какие юзеры какие роли имеют вот такого типа запрос сразу и покажет есть/нет юзер с таким логином/паролем, и выдаст список его ролей
0
|
||||||
| 23.07.2019, 22:09 | |
|
Помогаю со студенческими работами здесь
20
программа склад Склад в Delphi Добавление товара на склад Имеется три таблицы: приход, расход, и склад. Как написать код в Делфи? Программа склад Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|