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

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

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

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

19 ответов

5 просмотров

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

всех не читал, но отмечу. По радужным таблицам многие хеши, например, мд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 для некоторых индэксов. Скоро починят, но...

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
How to create an OS in C? what to study?
Linus
18
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Реально в одиночку написать игровой движок на Си?
ㅤ (SVO)
11
Карта сайта