Compartilhar via


Noções básicas sobre criação e modificação de tabela

Depois de criar um banco de dados, você pode criar as tabelas que armazenarão os dados no banco de dados. Geralmente, os dados são armazenados em tabelas permanentes; porém, você também pode criar tabelas temporárias. As tabelas são armazenadas em arquivos de banco de dados até serem excluídas e estão disponíveis a qualquer usuário que tenha as permissões necessárias.

Propriedades da tabela

Você pode definir até 1.024 colunas por tabela. Os nomes de tabela e coluna devem seguir as regras para identificadores. Eles devem ser exclusivos em uma tabela específica, mas o mesmo nome de coluna pode ser usado em diferentes tabelas e no mesmo banco de dados. Para obter mais informações, consulte Identificadores e Utilizando identificadores como nomes de objetos. Você também deve definir um tipo de dados para cada coluna. Para obter mais informações, consulte Atribuindo um tipo de dados a uma coluna.

Embora os nomes de tabela devam ser exclusivos para cada esquema em um banco de dados, você poderá criar várias tabelas com o mesmo nome se especificar diferentes esquemas para cada uma. É possível criar duas tabelas nomeadas employees e designar Jonah como o esquema de uma e Sally como o esquema de outra. Quando for necessário trabalhar com uma das tabelas employees, você poderá diferenciar as duas tabelas especificando o esquema com o nome da tabela.

Para criar uma tabela

CREATE TABLE (Transact-SQL)

Como criar tabelas (Visual Database Tools)

Tabelas temporárias

Tabelas temporárias são similares a tabelas permanentes, exceto por serem armazenadas em tempdb e excluídas automaticamente quando não são mais usadas.

Há dois tipos de tabelas temporárias: local e global. Elas diferem uma da outra pelo nome, visibilidade e disponibilidade. As tabelas temporárias locais têm um único sinal numérico (#) como primeiro caractere no nome; elas são visíveis somente na conexão atual para o usuário e são excluídas quando o usuário se desconecta da instância do SQL Server. As tabelas temporárias globais têm dois sinais numéricos (##) como primeiros caracteres no nome; elas são visíveis a qualquer usuário após serem criadas e são excluídas quando todos os usuários que consultam a tabela se desconectam da instância do SQL Server.

Por exemplo, se você criar a tabela employees, ela poderá ser usada por qualquer pessoa que tenha permissões de segurança no banco de dados para usá-la, até ser excluída. Se uma sessão de banco de dados criar a tabela temporária local #employees, somente a sessão poderá trabalhar com a tabela e ela será excluída quando a sessão for desconectada. Se você criar a tabela temporária global ##employees, qualquer usuário no banco de dados poderá trabalhar com ela. Se nenhum outro usuário trabalhar com essa tabela depois de criada, ela será excluída quando você se desconectar. Se outro usuário trabalhar com essa tabela depois que ela for criada, o SQL Server a excluirá depois que você se desconectar e quando ela não estiver mais sendo ativamente usada por nenhuma das outras sessões.

Se uma tabela temporária for criada com uma restrição nomeada e dentro do escopo de uma transação definida pelo usuário, somente um usuário por vez poderá executar a instrução que cria a tabela temporária. Por exemplo, se um procedimento armazenado criar uma tabela temporária com uma restrição de chave primária nomeada, o procedimento armazenado não poderá ser executado simultaneamente por vários usuários.

Muitos usos das tabelas temporárias podem ser substituídos por variáveis com o tipo de dados table. Para obter mais informações sobre o uso de variáveis table, consulte tabela (Transact-SQL).

Modificando tabelas

Depois que uma tabela é criada, você pode alterar muitas das opções definidas para a tabela quando ela foi originalmente criada. Isso inclui o seguinte:

  • As colunas podem ser adicionadas, modificadas ou excluídas. Por exemplo, o nome, o comprimento, o tipo de dados, a precisão, a escala e a nulidade da coluna podem ser alterados, embora haja algumas restrições. Para obter mais informações, consulte Modificando propriedades da coluna.

  • Se a tabela for uma tabela particionada, ela poderá ser reparticionada ou as partições individuais poderão ser adicionadas ou removidas. Para obter mais informações, consulte Modificando tabelas e índices particionados e Transferindo dados de forma eficaz usando a alternância de partição.

  • As restrições PRIMARY KEY e FOREIGN KEY podem ser adicionadas ou excluídas.

  • As restrições UNIQUE e CHECK, as definições DEFAULT e os objetos podem ser adicionados ou excluídos.

  • Uma coluna de identificador pode ser adicionada ou excluída usando a propriedade IDENTITY ou ROWGUIDCOL. A propriedade ROWGUIDCOL também pode ser adicionada ou removida de uma coluna existente, embora apenas uma coluna em uma tabela possa ter a propriedade ROWGUIDCOL por vez.

  • Uma tabela e colunas selecionadas dentro da tabela podem ser registradas para indexação de texto completo.

Para obter mais informações sobre as modificações que podem ser feitas em uma tabela, consulte ALTER TABLE (Transact-SQL).

O nome ou o esquema de uma tabela também podem ser alterados. Quando isso é feito, é necessário alterar o nome da tabela em gatilhos, procedimentos armazenados, scripts do Transact-SQL ou outros códigos de programação que usam o nome ou o esquema antigo da tabela.

Para renomear uma tabela

sp_rename (Transact-SQL)

Propriedades da tabela (Visual Database Tools)

Para alterar o esquema de uma tabela

ALTER SCHEMA (Transact-SQL)