3.3. O comando CREATE TABLE em SQL

O comando CREATE TABLE é usado para especificar uma nova relação (ou seja, uma tabela), dando-lhe um nome e especificando seus atributos e restrições iniciais. Os atributos são especificados primeiro, e cada um deles recebe um nome, um tipo de dado para especificar seu domínio de valores e quaisquer restrições de atributo, como NOT NULL, para indicar que o campo é obrigatório.

As restrições de chave, integridade de entidade e integridade referencial podem ser especificadas na instrução CREATE TABLE, depois que os atributos forem declarados, ou acrescentadas depois, usando o comando ALTER TABLE (veremos mais à frente, juntamente com o comando DROP TABLE que exclui uma tabela do SGBD). Em geral, o esquema SQL em que as relações são declaradas é especificado implicitamente no ambiente em que as instruções CREATE TABLE são executadas. Para o nosso exemplo da escola, o comando que cria a tabela de turma é CREATE TABLE TURMA. Como alternativa, podemos conectar explicitamente o nome do esquema (ou do banco de dados) ao nome da relação, separados por um ponto. Por exemplo, escrevendo CREATE TABLE ESCOLA.TURMA.

As relações declaradas por meio das instruções CREATE TABLE são chamadas de tabelas da base (ou relações da base); isso significa que a relação e suas tuplas são realmente criadas e armazenadas como um arquivo pelo SGBD. As relações da base são distintas das relações virtuais, criadas por meio da instrução CREATE VIEW, que podem ou não corresponder a um arquivo físico real. Em SQL, os atributos em uma tabela da base são considerados ordenados na sequência em que são especificados no comando CREATE TABLE. No entanto, as linhas (tuplas) não são consideradas ordenadas dentro de uma relação.

O comando CREATE TABLE permite criar a tabela, definir seus campos, tipificar esses campos, criar chaves primárias, índices e realizar relacionamentos, tudo ao mesmo tempo e em um único comando! Entretanto, ao criar um novo modelo com várias tabelas, é importante observar que, caso você não observe atentamente a ordem de criação das tabelas, podem ocorrer erros de relacionamento, pois você pode estar criando um relacionamento cuja tabela de origem ainda não existe. Veja um exemplo.

Copyright © 2014 AIEC.