Multi App One База данных - PullRequest
       2

Multi App One База данных

0 голосов
/ 13 декабря 2011

Я работаю над дизайном базы данных, касающейся нескольких приложений.

Например:

  1. системная информация для университета (студенты, класс, предметы, специализация и т. Д.)
  2. системная информация для библиотеки (члены, книги, категории и т. Д.)

студенты в университете и члены библиотеки имеют одинаковые данные.

Итак, чтобыПолучив синхронизированные данные, я спроектировал базу данных обоих приложений в одну базу данных, что означает, что таблицы обоих приложений перепутаны.

Есть ли лучшее решение для этого?

1 Ответ

1 голос
/ 14 декабря 2011

Большинство современных SQL dbms поддерживают схемы.Схема - это, по сути, контейнер, который вы можете использовать для любых целей.Очевидным назначением является контейнер для таблиц, представлений, хранимых процедур и т. Д., Которые функционально тесно связаны.

Синтаксис CREATE SCHEMA в PostgreSQL

Таким образом, вы можете создатьотдельные схемы для каждой из этих вещей.

  • библиотека
  • администрация
  • внеклассная деятельность
  • здоровье и благополучие
  • sports

Поскольку каждая схема является объектом базы данных, обычно вы можете получить права GRANT и REVOKE на уровне схемы.Это облегчает администрирование схем, в которых содержится личная информация, особенно что-то вроде «здоровье и благополучие».(На самом деле, для данных о здоровье вам может потребоваться еще более сильная изоляция.)

Количество приложений не обязательно связано с количеством схем.Я работал над оперативной базой данных, которая имела довольно много схем, но имела сотни приложений, запрограммированных как минимум на 25 языках в течение трех десятилетий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...