Mysql
 sql >> база данни >  >> RDS >> Mysql

Връзка между каталог, схема, потребител и екземпляр на базата данни

В Oracle:

  • екземпляр на сървъра ==база данни ==каталог ==всички данни, управлявани от една и съща машина за изпълнение
  • schema ==пространство от имена в базата данни, идентично с потребителския акаунт
  • потребител ==собственик на схема ==именуван акаунт, идентичен със схемата, който може да се свързва с базата данни, кой притежава схемата и използва обекти, евентуално в други схеми
  • за да идентифицирате всеки обект в работещ сървър, имате нужда (име на схема + име на обект)

В PostgreSQL:

  • екземпляр на сървъра ==db cluster ==всички данни, управлявани от една и съща машина за изпълнение
  • база данни ==каталог ==единична база данни в рамките на db клъстер, изолирана от други бази данни в същия db клъстер
  • schema ==пространство от имена в базата данни
  • потребител ==именуван акаунт, който може да се свързва с базата данни, да притежава и използва обекти във всяка разрешена база данни поотделно
  • за да идентифицирате всеки обект в работещ сървър, имате нужда (име на база данни + име на схема + име на обект)

В MySQL:

  • екземпляр на сървъра ==не е идентифициран с каталог, а само набор от бази данни
  • база данни ==схема ==каталог ==пространство от имена в сървъра.
  • user ==име акаунт, който може да се свързва със сървъра и да използва (но не може да притежава - няма концепция за собственост) обекти в една или повече бази данни
  • за да идентифицирате всеки обект в работещ сървър, имате нужда (име на база данни + име на обект)

В Microsoft SQL Server:

  • екземпляр на сървъра ==набор от управлявани бази данни
  • database ==квалификатор на пространство от имена в сървъра, рядко наричан каталог
  • schema ==owner ==пространство от имена в базата данни, обвързано с роли на база данни, по подразбиране само dbo се използва
  • user ==име акаунт, който може да се свързва със сървъра и да използва (но не може да притежава - схемата работи като собственик) обекти в една или повече бази данни
  • за да идентифицирате всеки обект в работещ сървър, имате нужда (име на база данни + собственик + име на обект)

Така че мисля, че отговорът на вашите въпроси е:

  1. Зависи от реализацията дали е необходимо име на каталог за идентифициране на обекти. Значението на „каталог“, „схема“ и „база данни“ варира от една реализация до друга.

  2. Да, каталогът е абстракция на съхранение на данни. Мисля, че трябва да се дефинира и като самостоятелно изолирано пространство от имена, но не всички SQL машини го правят.

  3. База данни и схема са доста добре дефинирани от всички доставчици. Каталог понякога е синоним на "база данни" (поне в Oracle и Postgres), понякога синоним на "схема", а понякога и на двете. Терминът каталог също често означава събиране на метаданни (известни още като системни таблици).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирате MySQL на CentOS 7

  2. Как да променя mysql на mysqli?

  3. MySQL:Добавете колона за последователност въз основа на друго поле

  4. Функция за ранг в MySQL

  5. CURDATE() Примери – MySQL