Почему имена таблиц в SQL Server начинаются с "dbo"?

По крайней мере, в моем локальном экземпляре, когда я создаю таблицы, все они имеют префикс "dbo". Почему это?

Ответ 1

dbo - это стандартная схема SQL Server. Вы можете создать свои собственные схемы, чтобы вы могли лучше управлять пространством имен объектов.

Ответ 2

Если вы используете Sql Server Management Studio, вы можете создать собственную схему, выбрав Базы данных - Ваша база данных - Безопасность - Схемы.

Создать его с помощью скрипта так же просто, как (например):

CREATE SCHEMA [EnterSchemaNameHere] AUTHORIZATION [dbo]

Вы можете использовать их для логической группировки таблиц, например, путем создания схемы для "финансовой" информации и другой для "личных" данных. Ваши таблицы будут отображаться как:

Financial.BankAccounts Financial.Transactions Personal.Address

Вместо того, чтобы использовать схему по умолчанию dbo.

Ответ 3

Это новое для SQL 2005 и предлагает упрощенный способ группировки объектов, особенно с целью обеспечения безопасности объектов в этой "группе".

Следующая ссылка предлагает более подробное объяснение того, что это такое, почему мы будем использовать ее:

Понимание разницы между владельцами и схемами на SQL Server

Ответ 4

До SQL Server 2005 dbo был известен как владелец базы данных, но с SQL Server 2005 dbo просто ссылался на схемы, которые