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

Всем привет. Вопрос: "как поступить лучше - в отдельные схемы

или всё оставить в схеме public?"

Есть у меня следующие
Финансвоая часть. Полностью изолированные 4 таблицы, отвечающие только за движение средств. Не связаны ни с чем кроме как между собой
Картотека. Полностью изолированные 3 таблицы, отвечающие за информацию о пользователе. Такие сущности как контактные данные, телефоны, юр/физ лицо, день рождения и прочее
Пользователи: Полностью изолированные 6 таблиц, отвечающие за информацию по авторизации.
Адресная база: Полностью изолированные 8 таблиц, содержащие информацию об адресах

Таких групп таблиц более 10 и каждая отвечает за какую либо самостоятельную логику у каждой есть процедуры, вьюхи для распределения прав на основе роли пользователя в БД
Также есть таблицы многие кол многим для связи этих групп таблиц.

Дикое желание сделать по схеме на каждую группу таблиц. Провести рефакторинг процедур, перенеся туда изолированные. В паблике оставить только таблицы многие ко многим и общие процедуры.
Но:
а) многие фреймворки не умеют кастомно работать со схемами.
б) не знаю насколько это плохо со стороны архитектуры

4 ответов

19 просмотров
Arcos️️️-️ Автор вопроса

Адресная база 107 таблиц. Прошу прощения

Схемы помимо разделения несвязанных обхектов упрощают управления правами на объекты схемы. Со стороны архитектуры выглядит изящно. Фреймворки, которые не умеют работать со схемами, должны быть покрашены в зеленый цвет и выброшены в траву

Только учти, если количество схем будет сотни сам потом замучаешься.

В oracle схемы именно так и работают. Но в postgres'e схемы это скорее package, они не предназначены для изоляций. Можно конечно извратиться и использовать search path, но если реально разные не связанные сущности, то можно разделить вообще на разные базы

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта