Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.10.2021
Сообщений: 4

Зачем нужны схемы?

25.02.2025, 18:25. Показов 1899. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня. Какой практический смысл схем?
В руководствах пишут, что они нужны, как папки, чтобы логически разделить наборы таблиц, процедур и пр. для удобства разграничения доступа разным приложениям/пользователям и пр.
О каком удобстве идёт речь?
Если людям или приложениям нужны разные таблицы - пусть работают в разных базах.
Если им нужны одинаковые таблицы, но с разными данными, то схемы эту задачу не решают - всё равно приходится создавать 2 одинаковые физические таблицы.
Поясните - какую реальную практическую задачу можно решить с помощью схем?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.02.2025, 18:25
Ответы с готовыми решениями:

Зачем нужны транзакции?
Поясните чайнику! Если использовать транзакции, команды в теле транзакции такие же как обычно, или нет? Каковы ее свойства, насколько...

Зачем нужны связи в БД?
Может вопрос совсем нубский, но что- не пойму. Зачем связывать как то таблицы, если каждый раз в запросе мы все равно прописываем все эти...

зачем нужны ключи KEY?
Кто может доходчиво объяснить, зачем нужена вот эта строка? KEY `user_sender` (`user_sender`) в запросе: CREATE TABLE `orders` (...

8
0 / 0 / 0
Регистрация: 02.03.2025
Сообщений: 4
02.03.2025, 00:31
Разные базы, это разные процессы, а вам, например, в рамках одно процесса надо разделить доступ и управление таблицами, выставить разные лимиты и прочее.
Т.е. схема это такая lightweight БД которая живет в рамках одного процесса.
У вас например одна база, большая и 10 сервисов которые в ней живут, у каждого будет своя схема, и ни запросы ни операции обновления логически не будут пересекаться.
0
0 / 0 / 0
Регистрация: 20.10.2021
Сообщений: 4
04.03.2025, 14:10  [ТС]
Всё таки не понятно в чём плюсы. Если есть 10 сервисов, каждый со своими таблицами, разрешениями и пр - зачем их засовывать в одну базу? Даже с точки зрения быстродействия это должно быть не эффективно. Пусть живут в своих базах. Какой профит достигается?
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
04.03.2025, 15:11
Цитата Сообщение от sydenis Посмотреть сообщение
Даже с точки зрения быстродействия это должно быть не эффективно.
это досужая выдумка.
Цитата Сообщение от sydenis Посмотреть сообщение
Пусть живут в своих базах
администрировать одну базу если не в десять раз, но все рано легче чем десять )
0
0 / 0 / 0
Регистрация: 20.10.2021
Сообщений: 4
04.03.2025, 16:07  [ТС]
Цитата Сообщение от Аватар Посмотреть сообщение
это досужая выдумка.
Ну да - параллельные вычисления это от бесов
Цитата Сообщение от Аватар Посмотреть сообщение
администрировать одну базу если не в десять раз, но все рано легче чем десять.
Что подразумеваете под "администрированием"? Какое утомительное действие предпринимаете каждый день?
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
04.03.2025, 16:53
Цитата Сообщение от sydenis Посмотреть сообщение
Какое утомительное действие предпринимаете каждый день?
ни каких, я не админ. почитай должностную инструкцию админа баз данных
0
0 / 0 / 0
Регистрация: 02.03.2025
Сообщений: 4
05.03.2025, 01:02
Цитата Сообщение от sydenis Посмотреть сообщение
Всё таки не понятно в чём плюсы. Если есть 10 сервисов, каждый со своими таблицами, разрешениями и пр - зачем их засовывать в одну базу? Даже с точки зрения быстродействия это должно быть не эффективно. Пусть живут в своих базах. Какой профит достигается?
А если нет быстродействия?
Вот у вас 10 каких-то простых сервисов, которые что-то там пишут, настройки юзера на логин, какие-нить конфиг параметры, да и много всего другого.

делается одна база и 10 схем, как вам сказали с администрированием вопросов сильно меньше. Количество коннектов, памяти, расположение на диске, мониторинг и т.д.
10 процессов - сразу их надо стартовать и стопать, мониторинги, конфигурация, миграции и т.д.
0
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
05.03.2025, 08:37
Цитата Сообщение от sydenis Посмотреть сообщение
В руководствах пишут, что они нужны, как папки, чтобы логически разделить наборы таблиц, процедур и пр. для удобства разграничения доступа разным приложениям/пользователям и пр.
О каком удобстве идёт речь?
Удобство управления этими наборами (расширение, изменение и т.п.).
В любой задаче, по мере ее развития, наступает уровень сложности, когда уже невозможно все удержать "в одной голове", на помощь приходит принцип декомпозиции задачи на кусочки, чтобы пытаться справляться с этой сложностью.
Когда у вас 10,20... пусть даже 50 объектов в базе, тогда Вам схемы скорее всего и не нужны.
Но когда проектируемая информационная система представляет собой реально сложную систему, объектов становится 100-ни и 1000-и, тогда логическое разделение играет важную роль.

Вы скажите, ну разбей на разные базы данных...

Можно разбить, но тогда нужно будет дублировать задачи организации и разграничения доступа (создавать пользователей, прописывать им права доступа, возможно продублировать ролевую модель и т.п.... зачем это дублирование и двойная работа??), возникают вопросы создания консистентного бакапа всей системы в целом (всех баз данных, вместо одной, но из большого количества схем), возникают вопросы масштабирования (плохо, когда в мультисервисной архитектуре из-за начальной непродуманности сервисов, вдруг возникает необходимость связать две маленькие базы данных и что-то там делать), воникают и другие вопросы...

В общем схема, это когда база данных одна, но объемная и сложная и требуется ее разбиннние на логические кусочки для дальнейшего централизованного управления и развития.
0
35 / 60 / 2
Регистрация: 23.11.2024
Сообщений: 748
06.03.2025, 11:47
Зачем научные знания делят на науки? Запихнули бы всё в философию, и тогда термины разных наук не пересекались бы. А то приходит модельер одежды к биологу и спрашивает: «Что такое "модель"?», а биолог ему отвечает: «модель - это мышь».
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.03.2025, 11:47
Помогаю со студенческими работами здесь

Зачем нужны связи в базах данных?
Здравствуйте, недавно работаю с базами данных и в процессе возник вопрос: зачем нужны связи в базах данных? У меня в базе 3 таблицы...

Зачем нужны связи Один к Одному, Один ко Многим? Пример простой выборки
На этапе проектирования делаются связи один к одному один ко многим, откуда эти связи берутся понятно, непонятно как потом эти связи...

Связь схем
Здравствуйте! Подскажите пожалуйста можно, нет сделать так чтобы связь шла от схем "горы=>хроника восхождения=>альпинист"...

Проектирование схем БД
Дорогие программисты)) у нас только начался курс БД и я немного запуталась в проектирование схемы. Помогите пожалуйста, подкорректируйте...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru