172 похожих чатов

Ребята, всем привет! - БД в третьей нормальной форме - в БД

все связи между таблицами реализованы внешними ключами
- все индексы в БД созданы по результатам частотного анализа эксплуатационных испытаний
- схема БД исключает дублирование логических сущностей
- все пароли и уязвимые информации должны быть хэшированы
- сохранять дату/время в UTC и конвертировать в желаемый часовой пояс на уровне презентации
- изменения в БД через миграцию

что еще сюда можно добавить ? Это типа как подсказка для разрабов( мы на аутсорс отдаем проект)

19 ответов

10 просмотров

Это и так все знают, не студентам же отдаете, ИМХО надо идти куда то в сторону покрытия предметной области

всех не читал, но отмечу. По радужным таблицам многие хеши, например, мд5 до 9 символов ломается за минуты. Сам качал, пробовал :) То есть нужна соль. Также отмечу. Вот прям упереться в третью нормальную форму, такое себе решение. То есть на бумаге выглядит красиво, а по факту в живом коде будет тихий ужас, сам заказчик взвоет.

А что такое логическая сущность и действительно ли надо 3НФ? Какие конечные задачи у системы хранения?

>- БД в третьей нормальной форме Куча БД этому не удовлетворяют, поскольку активно работают с json, что сразу выкидывает их из первой нормальной формы. Избавиться неполучается, поскольку только так в постгресе можно локализовать вместе кучу всяких данных.

Все обращения к БД с параметрами должны исключать возможность ошыбочного превращения сервером этих параметров в выражэния (SQL injection).

Bekzat- Автор вопроса
Bekzat
Думаю орм исключает сразу вот это?

Средне-нормальный ОРМ вообще ничего не исключает.

Максимум серверных функцый должно быть реализовано на SQL. Применение PL/pgSQL или других императивных языков должно быть оправдано какой-то особой необходимостью. (Тормозит он страшно по сравнению с SQL).

Про работу DBA тут ни слова не сказано. Это будет не self-hosted какой-то проект, т.е. DBA будут отдельно, да?

Bekzat- Автор вопроса
Ilya Anfimov
Про работу DBA тут ни слова не сказано. Это будет...

а что подразумевается под ДБА? я не до конца понимаю суть работы ДБА если честно

>- схема БД исключает дублирование логических сущностей Опять довольно жёстко. Всё понятно, да -- но часто как замену несуществующим межтабличным индэксам или агрегатным индэксам приходится много чего дублировать.

Bekzat
а что подразумевается под ДБА? я не до конца поним...

Включить мониторинг, обеспечить двукратный запас производительности и гарантировать его путём нагрузочных испытаний и мониторинга, настроить бэкапы и резервы разумной для бизнес-цэлей доступности.

Bekzat
а что подразумевается под ДБА? я не до конца поним...

например, сегодня у меня от сбоя вылетела программа. Опытные дба с чата посоветовали посмотреть лог. Я посмотрел, там явно видно, что ошибка в диске. Также "эти же" опытные дба советовали нанять себя, чтобы они мне базу оптимизировали. Но тут мимо, я бедный и экономный. а ваще дба для кодеров нужны только чтобы смотреть план запроса.

Bekzat- Автор вопроса
Ilya Anfimov
>- схема БД исключает дублирование логических сущн...

а что если допустить дублирование и до 2нф только сделать ?

Bekzat
а что подразумевается под ДБА? я не до конца поним...

Это если в общем, в деталях там много проблем решается вроде индивидуальной скорости отдельных компонент и резервов по всему -- по месту, по throughput, по response time. Плюс -- в мониторинге куча мелких особенностей, которые позволяют предупредить катастрофические изменения.

Bekzat
а что если допустить дублирование и до 2нф только ...

Я бы советовал поднять до 5нф и потребовать весомого письменного обоснования для отступлений.

Bekzat
Думаю орм исключает сразу вот это?

Нет, не исключает. Как минимум всегда есть возможность через орм запустить sql-сниппет какой-нибудь

Ещё, в качестве хорошэго совета -- не использовать char(n), varchar(n), varchar -- только text и check constraint. Помогает когда надо внезапно расшырить поле как минимум. Плюс, в 14 слегка поломали varchar для некоторых индэксов. Скоро починят, но...

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта