2016-03-03 4 views
0

У меня есть некоторые вопросы о схеме в таблице.Имя схемы схемы SQL Server

Когда-либо при создании таблицы схема по умолчанию была dbo.TableName. Является ли dbo именем схемы по умолчанию? Я считаю, что вы можете изменить или указать схему при создании таблицы правильно, потому что есть таблицы, которые имеют разные схемы типа Sales.Tablameame или Users.Roles и т. Д. Я считаю, что цель схемы состоит в том, чтобы сделать разницу между таблицами или что-то вроде того? Что-то вроде пространства имен внутри класса C#. Возможно ли иметь две таблицы с таким же именем, но с другой схемой, например: Sales.Users, Marketing.Users?

+0

Да, это возможно. Но, если вы хотите написать SQL, вам нужно указать схему таблицы. – Kason

ответ

2
  1. dbo - это схема по умолчанию. Вы можете изменить схему по умолчанию для каждого входа в sql-login. Если вы случайно создать таблицу в неверной схеме, вы можете переместить его:

    - Перемещение Питера таблицы из схемы продаж в Orders схему

    ALTER SCHEMA Заказы ПЕРЕДАЧА Sales.peter

  2. Вы можете укажите, какую схему следует создать в таблице, указав ее перед именем таблицы:

    CREATE TABLE Sales.Users (id int);

  3. Одной из целей схем является создание логических групп таблиц, равно как пространств имен в C#. Они также полезны для управления разрешениями и т. Д.

  4. Да, имена таблиц должны быть уникальными в каждой схеме ..

1

Когда-либо при создании таблицы схема по умолчанию была dbo.TableName. Является ли dbo именем схемы по умолчанию?

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

Я считаю, что вы можете изменить или задать схему при создании таблицы справа,

Какого смысла было несколько схем есть, если вы не можете их использовать? И поскольку в синтаксисе create table четко указано, что вы можете указать схему.

Я считаю, что цель схемы состоит в том, чтобы сделать разницу между таблицами или что-то в этом роде? Что-то вроде пространства имен внутри класса C#.

Это почти суммируется.

Можно ли иметь две таблицы с одинаковыми именами, но в другой схеме,

А что вы тратите 10 секунд, чтобы попробовать его? Вас бросает вызов его концепция попробовать что-то совершенно упрощенное? И ответ - да. имена объектов должны быть уникальными - в рамках их схемы.

Смежные вопросы