Задать вопрос
dilikpulatov
@dilikpulatov
веб-программист

В Postgresql схема: зачем нужна и как я её могу использовать в своих проектах?

Здравствуйте!
Ещё не работал с Postgresql, и не знаю, как он работает, в чем он лучше, а в чем хуже других СУБД.
Недавно начал изучить Postgresql (надо было реализовать один проект и знакомые предложили Postgresql. а до этого работал с MySQL, Oracle)
В проекте такая структура, Интернет магазин(Покупатель, продавец, товары, склады, заказы и т.д) Структура интернет магазина чуть сложнее. и Есть одна задача:
- Интернет магазина можем продавать в других городах. А БД нужно реализовать так чтобы мы могли дать доступ клиенту, и он работал только со своими городом, и при этом все данные будет в одном БД но не должно смешиваться. с остальными городами.
Я прочитал о схема в Postgresql, пока не очень понял в чем фишка схем в Postgresql но я думаю. можно использовать схема Postgresql в моих проектах? и как лучше реализовать?
  • Вопрос задан
  • 9037 просмотров
Подписаться 2 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
В оракле схем разве нет?..

schema - дополнительный уровень структуризации объектов. Как namespace в программировании. И, к слову, входит в стандарт SQL.

Вы можете сделать таблицы:
user_subscriptions
user_orders
user_favorites
Вы можете сделать
user.subscriptions
user.orders
user.favorites
И в этом нет никакой разницы для СУБД. Но может быть удобно разработчику оперировать не с сотней таблиц одним списком, десятки из которых с одинаковыми префиксами (т.к. относятся к своим сущностям), а отдельные схемы по сущностях.

Пилить же одну таблицу на несколько смысла при этом не так много, зато добавляется хлопот.
Если вы хотите давать прямой доступ пользователю к базе - то зачем? Не надо так делать в разделяемой среде. Любую СУБД можно положить каким-нибудь интересным запросом. А в то что люди временами будут писать интересные и сильно творческие запросы - по опыту DBA вам гарантирую. Иногда такого наворотят... 0,5тб временный файлов одним запросом, например. Или сожрать 30гб RAM и увести базу в аварийный рестарт от OOM.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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