Size: a a a

2021 October 26

SP

Sergey Pronin in dbGeeks
а еще сразу бы сделал партиционирование по дате, чтоб можно было легко удалять исторические данные, без запуска всяких СУБДшных утилит типа pgrepack
источник

Д

Дмитрий in dbGeeks
понял принял, спасибо)😉
источник

I

Ivanov in dbGeeks
Ещё в таблицу пользователя добавьте тип хеширования пароля. Например, сейчас 1000 раз sha256, а через год решите сменить алгоритм на bcrypt, не сбрасывать же все пароли?
Вынесите логин в отдельную таблицу. Сейчас вы по логину авторизируете пользователя, а потом захотите по номеру телефона или email. И email тоже в отдельную таблицу, потому что это контакт, у одного пользователя может быть несколько разных email. Кстати, не забудьте привести email к единому регистру. Например, lower(email). Очень много кто забывает((

В таблице «авто» было бы хорошо марку вынести в отдельную таблицу, возможно, объём бензобака и тип двигателя туда же

Фиксация трат. Что будет, если пользователь Вася продаст автомобиль пользователю Петя. Вся история переместится на Петю? Местоположение удобно было бы вынести в отдельную таблицу. Кто оставляет комментарий? Может ли быть два комментария от разных источников (сотрудников, например). Стоимость - в отдельную таблицу со списком транзакций. Сейчас у вас только один тип списаний, но когда-нибудь появятся списания за другие услуги или добавите предоплату/пополнения счёта и нужно будет подводить баланс.

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

Сервис кто предоставляет? Очень мало информации и никаких «ответственных лиц». Могут ли быть разные услуги/цены для разных моделей автомобилей? Если список услуг огромный, то не показывать замену свечей для дизельных машин - как минимум, удобство менеджера.

Это моё мнение, возможно чем-то поможет
источник
2021 October 27

Д

Дмитрий in dbGeeks
Спасибо, учту замечания👍
источник
2021 October 28

EK

Evgeniy Kuvshinov in dbGeeks
это называется полиморфная связь когда от типа что то зависит в другой колонке (ты это почти переизобрел)
можно сделать фиксацию трат для заправки и фиксация трат для услуг отдельными сущностями
источник

EK

Evgeniy Kuvshinov in dbGeeks
от этого при желание можно уйти, но опять же надо ли
источник

EK

Evgeniy Kuvshinov in dbGeeks
типы топлива, можно заменить на enum
врятли там список будет динамически пополняться
источник

EK

Evgeniy Kuvshinov in dbGeeks
вообще можно спроецировать одно и тоже кучей разных способов и прежде чем начинать проецировать, надо понимать юзкейсы которые тебе потребуются в основном от этой базы, а также понимать нагрузку (на чтение или запись будет, что будет преобладать и тд)
без этого можно сделать кучу разных вариантов, одного и того же
источник

EK

Evgeniy Kuvshinov in dbGeeks
еще не очень понимаю смысл атрибутов полный бак у заправки и объема бака у машины
первый бесмысленный он делается обычно через возврат и по факту в трате указан объем и цена за него
источник

p

p1gh34d in dbGeeks
Помогите плез. Сраная запятая записывается вместе с id, если поле пустое, а не должна, только id. Что делать? Примеры с Гугла такие же, как и у меня

UPDATE table SET answers=CONCAT_WS(',', answers, '$answer_id') WHERE id = $id

Если менять расположение запятой (в конце, в середине, или начале), то ничего не поменяется, она все равно запишется в поле
источник

R

Rahman in dbGeeks
Привет, вот такой вопрос, имеются записи в базе данных, хочу получить все записи у который group_uid не равняется определенному значению, но у него что-то не так, делаю запрос, он выводить что количество 0, а вот записи в бд есть, который соответсвует требованиям, что тут не так?
источник

R

Rahman in dbGeeks
источник

VK

Vladimir Karamazov in dbGeeks
UPDATE table SET answers=RTRIM(CONCAT_WS(',', answers, '$answer_id'), ',')WHERE id = $id
источник

VK

Vladimir Karamazov in dbGeeks
Попробуйте просто вывести пару строк, чтобы убедиться, что записи действительно есть
SELECT * FROM draft_files LIMIT 2
источник

R

Rahman in dbGeeks
источник

R

Rahman in dbGeeks
смотрел
источник

R

Rahman in dbGeeks
есть
источник

R

Rahman in dbGeeks
я не знаю что ему не нравится
источник

VK

Vladimir Karamazov in dbGeeks
OR group_uuid IS NULL
источник

R

Rahman in dbGeeks
понятно, теперь понял, он null не считает пустой строкой
источник