3.3. O comando CREATE TABLE em SQL
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.
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.
Vamos a um exemplo prático: Se no modelo da escola você criar primeiramente a tabela ALUNO e disser que o campo ID_Turma está relacionando com o ID_Turma da tabela TURMA, ocorrerá um erro, pois a tabela TURMA ainda não foi criada.
X