Criar ou modificar tabelas ou índices utilizando uma consulta de definição de dados

Observação: Desejamos fornecer o conteúdo da Ajuda mais recente no seu idioma da forma mais rápida possível. Esta página foi traduzida de forma automatizada e pode conter imprecisões ou erros gramaticais. Nosso objetivo é que este conteúdo seja útil para você. As informações foram úteis? Dê sua opinião no final desta página. Aqui está o artigo em inglês para facilitar a referência.

Você pode criar e modificar tabelas, restrições, índices e relações do Access escrevendo consultas definição de dados no modo SQL. Este artigo explica as consultas de definição de dados e como usá-las para criar relações, restrições, índices e tabelas. Este artigo também pode ajudar você a decidir quando usar uma consulta de definição de dados.

Neste artigo

Visão geral

Criar ou modificar uma tabela

Criar um índice

Criar uma restrição ou uma relação

Visão geral

Ao contrário de outras consultas do Access, uma consulta de definição de dados não recuperar os dados. Em vez disso, uma consulta de definição de dados usa linguagem de definição de dados para criar, modificar ou excluir objetos de banco de dados.

Observação: Linguagem de definição de dados (DDL) é parte da Structured Query Language (SQL).

As consultas de definição de dados podem ser muito convenientes. Regularmente, você pode excluir e recriar partes do seu esquema de banco de dados simplesmente executando algumas consultas. Considere usar uma consulta de definição de dados, se você estiver familiarizado com instruções SQL e você planeja exclua e recrie em determinadas tabelas, restrições, índices ou relações.

Aviso: Usando consultas de definição de dados para modificar objetos de banco de dados pode ser arriscada, porque as ações não sejam acompanhadas por caixas de diálogo de confirmação. Se você cometer um erro, você pode perder dados ou inadvertidamente alterar o design de uma tabela. Tenha cuidado ao usar uma consulta de definição de dados para modificar objetos no banco de dados. Se você não é responsável por manter o banco de dados que você está usando, consulte o administrador do banco de dados antes de executar uma consulta de definição de dados.

Importante: Faça uma cópia de backup de todas as tabelas envolvidas antes de executar uma consulta de definição de dados.

Palavras-chave DDL

Palavra-chave

Usar

CREATE

Crie um índice ou tabela que ainda não existe.

ALTER

Modificar uma tabela existente ou coluna.

DROP

Exclua uma tabela existente, coluna ou restrição.

ADD

Adicione uma coluna ou uma restrição a uma tabela.

COLUMN

Usar com adicionar, alterar, ou SOLTAR

CONSTRAINT

Usar com adicionar, alterar, ou SOLTAR

INDEX

Use com criar

TABLE

Usar com ALTER, criar, ou SOLTAR

Início da Página

Criar ou modificar uma tabela

Para criar uma tabela, você usar um comando de CREATE TABLE. Um comando de CREATE TABLE tem a seguinte sintaxe:

CREATE TABLE table_name 
(field1 type [(size)] [NOT NULL] [index1]
[, field2 type [(size)] [NOT NULL] [index2]
[, ...][, CONSTRAINT constraint1 [, ...]])

A única necessária elementos de um comando CREATE TABLE são o próprio comando Criar tabela e o nome da tabela, mas geralmente você desejará definir alguns campos ou outros aspectos da tabela. Considere esse exemplo simples.

Suponha que você deseja criar uma tabela para armazenar o nome, ano e o preço de carros usados que você estiver considerando para compra. Você deseja permitir até 30 caracteres para o nome e 4 caracteres do ano. Para usar uma consulta de definição de dados para criar a tabela, faça o seguinte:

Observação: Primeiro, você talvez precise habilitar o conteúdo do banco de dados em ordem para uma consulta de definição de dados executar:

  • Na Barra de Mensagens, clique em Habilitar Conteúdo.

Criar uma tabela

  1. Na guia criar, no grupo de Macros e código, clique em Design da consulta.

  2. Feche a caixa de diálogo Mostrar Tabela.

  3. Na guia Design, no grupo Tipo de consulta, clique em Definição de dados.

    Grade de design está oculta e guia de objeto modo SQL é exibida.

  4. Digite a seguinte instrução SQL:

    Criar tabela carros (nome TEXT(30), ano TEXT(4), preço moeda)

  5. Na guia Design, no grupo Resultados, clique em Executar.

Modificar uma tabela

Para modificar uma tabela, use um comando ALTER TABLE. Você pode usar um comando ALTER TABLE para adicionar, modificar ou soltar (remover) colunas ou restrições. Um comando ALTER TABLE tem a seguinte sintaxe:

ALTER TABLE table_name predicate

onde predicado pode ser qualquer um destes procedimentos:

ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT constraint]

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Suponha que você deseja adicionar um campo de texto de 10 caracteres para armazenar informações sobre a condição de cada um carro. Você pode fazer o seguinte:

  1. Na guia criar, no grupo de Macros e código, clique em Design da consulta.

  2. Feche a caixa de diálogo Mostrar Tabela.

  3. Na guia Design, no grupo Tipo de consulta, clique em Definição de dados.

    Grade de design está oculta e guia de objeto modo SQL é exibida.

  4. Digite a seguinte instrução SQL:

    ALTER tabela carros adicionar coluna condição TEXT(10)

  5. Na guia Design, no grupo Resultados, clique em Executar.

Início da página

Criar um índice

Para criar um índice em uma tabela existente, você usa um comando de CREATE INDEX. Um comando CREATE INDEX tem a seguinte sintaxe:

CREATE [UNIQUE] INDEX index_name
ON table (field1 [DESC][, field2 [DESC], ...])
[WITH {PRIMARY | DISALLOW NULL | IGNORE NULL}]

Os únicos elementos necessários são o comando CREATE INDEX, o nome do índice, o argumento de ativado, o nome da tabela que contém os campos que você deseja o índice e a lista de campos a serem incluídos no índice.

  • As causas de argumento DESC o índice a ser criado em ordem decrescente, que pode ser útil se você frequentemente executa consultas que procure valores principais para o campo indexado, ou que classifique o campo indexado em ordem decrescente. Por padrão, um índice é criado em ordem crescente.

  • O argumento com o principal estabelece o campo indexado ou campos como o chave primária da tabela.

  • O argumento com PROIBIR nulo faz com que o índice exigir que um valor seja inserido para o campo indexado — ou seja, não são permitidos valores nulos.

Suponha que você tenha uma tabela chamada carros com campos que armazenam o nome, ano, preço e condição de carros usados que você estiver considerando para compra. Também suponha que a tabela tornou grande e frequentemente inclui o campo ano em consultas. Você pode criar um índice no campo ano para ajudar suas consultas retornam resultados mais rapidamente, usando o procedimento a seguir:

  1. Na guia criar, no grupo de Macros e código, clique em Design da consulta.

  2. Feche a caixa de diálogo Mostrar Tabela.

  3. Na guia Design, no grupo Tipo de consulta, clique em Definição de dados.

    Grade de design está oculta e guia de objeto modo SQL é exibida.

  4. Digite a seguinte instrução SQL:

    CRIAR o índice YearIndex Diante carros (ano)

  5. Na guia Design, no grupo Resultados, clique em Executar.

Início da página

Criar uma restrição ou uma relação

Uma restrição estabelece uma condição lógica que um campo ou uma combinação de campos deve atender quando os valores são inseridos. Por exemplo, uma restrição exclusiva impede que o campo restrito aceitar um valor que deseja duplicar um valor existente para o campo.

Uma relação é um tipo de restrição que faz referência a valores de um campo ou combinação de campos em outra tabela para determinar se um valor pode ser inserido no campo restrito ou combinação de campos. Você não usar uma palavra-chave especial para indicar que uma restrição é uma relação.

Para criar uma restrição, você pode usar uma cláusula CONSTRAINT em um comando CREATE TABLE ou ALTER TABLE. Existem dois tipos de cláusulas CONSTRAINT: um para criar uma restrição em um único campo e outra para criar uma restrição em vários campos.

Restrições de campo único

Uma cláusula de restrição de campo único imediatamente após a definição do campo que restringe e tem a seguinte sintaxe:

CONSTRAINT constraint_name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreign_table [(foreign_field)]
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Suponha que você tenha uma tabela chamada carros com campos que armazenam o nome, ano, preço e condição de carros usados que você estiver considerando para compra. Também suponhamos que você esquecer frequentemente inserir um valor para condição do carro, e que você sempre deseja registrar essas informações. Você pode criar uma restrição no campo condição que impede que você deixar o campo vazio, usando o procedimento a seguir:

  1. Na guia criar, no grupo de Macros e código, clique em Design da consulta.

  2. Feche a caixa de diálogo Mostrar Tabela.

  3. Na guia Design, no grupo Tipo de consulta, clique em Definição de dados.

    Grade de design está oculta e guia de objeto modo SQL é exibida.

  4. Digite a seguinte instrução SQL:

    ALTER tabela carros ALTER coluna condição texto restrição ConditionRequired não é nulo

  5. Na guia Design, no grupo Resultados, clique em Executar.

Agora, suponha que, após alguns instantes, você observe que há muitos valores semelhantes no campo condição que deve ser o mesmo. Por exemplo, alguns dos carros têm um valor de condição de e outras pessoas têm um valor de incorretas.

Observação: Se você quiser acompanhar junto com os procedimentos restantes, adicione alguns dados falsos na tabela de carros que você criou nas etapas anteriores.

Depois de você limpa os valores para que elas fiquem mais consistentes, você pode criar uma tabela, denominada CarCondition, com um campo, chamado condição, que contém todos os valores que você deseja usar para a condição de carros:

  1. Na guia criar, no grupo de Macros e código, clique em Design da consulta.

  2. Feche a caixa de diálogo Mostrar Tabela.

  3. Na guia Design, no grupo Tipo de consulta, clique em Definição de dados.

    Grade de design está oculta e guia de objeto modo SQL é exibida.

  4. Digite a seguinte instrução SQL:

    Criar tabela CarCondition (condição TEXT(10))

  5. Na guia Design, no grupo Resultados, clique em Executar.

  6. Crie uma chave primária da tabela usando uma instrução ALTER TABLE:

    Alterar tabela CarCondition ALTER condição texto restrição CarConditionPK chave primária de coluna

  7. Para inserir os valores de campo condição da tabela de carros para a nova tabela de CarCondition, digite o seguinte SQL na guia de objeto modo SQL:

    Insira no CarCondition SELECT DISTINCT condição de carros;

    Observação: A instrução SQL nesta etapa é um consulta acréscimo. Ao contrário de uma consulta de definição de dados, uma consulta acréscimo termina com um ponto e vírgula.

  8. Na guia Design, no grupo Resultados, clique em Executar.

Criar uma relação usando uma restrição

Para exigir que qualquer novo valor inserido no campo condição da tabela de carros corresponde a um valor do campo condição na tabela CarCondition, você pode criar uma relação entre CarCondition e carros na campo denominado condição, usando o seguinte procedimento:

  1. Na guia criar, no grupo de Macros e código, clique em Design da consulta.

  2. Feche a caixa de diálogo Mostrar Tabela.

  3. Na guia Design, no grupo Tipo de consulta, clique em Definição de dados.

    Grade de design está oculta e guia de objeto modo SQL é exibida.

  4. Digite a seguinte instrução SQL:

    ALTER tabela carros ALTER coluna condição texto restrição FKeyCondition referências CarCondition (condição)

  5. Na guia Design, no grupo Resultados, clique em Executar.

Restrições de campos múltiplos

Uma cláusula de restrição de campos múltiplos pode ser usada somente fora de uma cláusula de definição de campo e tem a seguinte sintaxe:

CONSTRAINT constraint_name 
{PRIMARY KEY (pk_field1[, pk_field2[, ...]]) |
UNIQUE (unique1[, unique2[, ...]]) |
NOT NULL (notnull1[, notnull2[, ...]]) |
FOREIGN KEY [NO INDEX] (ref_field1[, ref_field2[, ...]])
REFERENCES foreign_table
[(fk_field1[, fk_field2[, ...]])] |
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Considere a possibilidade de outro exemplo que usa a tabela de carros. Suponha que você quer certificar-se de que não há dois registros na tabela carros têm o mesmo conjunto de valores para o nome, ano, condição e preço. Você pode criar uma restrição exclusiva que se aplica a esses campos, usando o procedimento a seguir:

  1. Na guia criar, no grupo de Macros e código, clique em Design da consulta.

  2. Feche a caixa de diálogo Mostrar Tabela.

  3. Na guia Design, no grupo Tipo de consulta, clique em Definição de dados.

    Grade de design está oculta e guia de objeto modo SQL é exibida.

  4. Digite a seguinte instrução SQL:

    Alterar tabela carros adicionar restrição NoDupes exclusivo (nome, ano, condição, preço)

  5. Na guia Design, no grupo Resultados, clique em Executar.

Início da Página

Expanda suas habilidades no Office
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×