Cursos / Informática para Internet / Banco de Dados / Aula

arrow_back Aula 09 - Linguagem SQL – criação, inserção e modificação de tabelas

Criação de tabelas

Já vimos, em aulas anteriores, que em um banco de dados relacional, uma tabela é um conjunto de dados organizado em uma estrutura de linhas e colunas. Em uma tabela, cada linha (registro) contém todas as informações sobre um único objeto. As colunas (atributos) caracterizam os tipos de dados que deverão constar na tabela (numéricos, alfanuméricos, datas etc.).

Agora, vamos aprender a criar tabelas com a linguagem SQL? Primeiro você precisará criar um banco de dados para armazenar todas as suas tabelas. Vamos relembrar o comando que é usado para criar bancos de dados, visto na aula anterior? Para criar um banco de dados, digite o comando apresentado no quadro a seguir, não se esqueça de teclar ENTER após o sinal de ponto-e-vírgula.

Agora, vamos praticar os conceitos aprendidos criando um banco de dados chamado locadora, no qual posteriormente vamos criar nossas tabelas. Para criarmos esse banco de dados, vamos digitar o comando a seguir:

A resposta do SGBD, no caso do MySQL, ao comando CREATE DATABASE locadora é ilustrada na Figura 1.

Tela do MySQL após a criação do banco de dados <span class='strong'>locadora</span>.

O passo seguinte é dizer ao sistema que você quer utilizar o banco de dados locadora, através do comando:

A mensagem fornecida pelo sistema ao comando USE locadora nos informa que o banco de dados corrente foi alterado (Database changed), conforme é ilustrado na Figura 2.

Tela do MySQL após o comando USE <span class='strong'>locadora</span>.

Em geral, a maioria dos SGBDs possui editores gráficos de banco de dados que permitem a criação rápida e simples de qualquer tipo de tabela com qualquer tipo de formato. Entretanto, iremos estudar os comandos diretamente na linguagem SQL, ou seja, do modo como devem ser digitados na linha de comando.

Para criar uma tabela, devemos especificar diversos dados: o nome que queremos atribuir a essa tabela, seus atributos e seus tipos. Ademais, pode ser necessário especificar quais desses campos serão índices (chave primária, chave estrangeira,...) e as restrições de integridade, a fim de evitar a inconsistência dos dados nas tabelas.

A sintaxe de criação pode variar ligeiramente entre os diferentes SGBDs, já que os tipos de campos aceitos não são completamente padronizados. O comando para criar uma tabela é semelhante ao comando de criação de um banco de dados (CREATE DATABASE nome_do_banco;), conforme é apresentado no quadro a seguir.

É importante que você se lembre de usar um parêntese aberto antes do início da lista de atributos e um parêntese de fechamento após o final da definição dos atributos. Certifique-se de separar cada definição de coluna com uma vírgula. Lembre-se: todas as declarações SQL devem terminar com um ";".

No momento da criação de uma tabela em um banco de dados, devemos definir para cada atributo o seu respectivo tipo. Os tipos mais comuns de dados são:

  • CHAR (tamanho): sequência de caracteres (string) de comprimento fixo. O tamanho é especificado entre parênteses. O tamanho máximo permitido é de 255 caracteres.
  • VARCHAR (tamanho): sequência de caracteres (string) com tamanho variável. a quantidade máxima de caracteres que poderá ser armazenada no campo é especificada entre parênteses. O tamanho era limitado entre 0 e 255 até o MySQL 5.0.3. Após isto, o limite superior foi alterado para 65,535.
  • INT: tipo numérico que aceita valores inteiros. Podemos representar com esse tipo qualquer valor inteiro na faixa entre -2.147.483.648 e 2.147.483.647.
  • NUMERIC (n,d): tipo numérico que aceita valores reais (n indica a quantidade total de números e d indica a quantidade do total que corresponde a casas decimais). Exemplo: NUMERIC(5,2) corresponde a números com 5 dígitos com até duas casas decimais, como 256,12.
  • TIME: tipo tempo no formato hora:minuto:segundo.
  • DATE: tipo data no formato ano-mês-dia.

Quando as tabelas são criadas, é comum que uma ou mais colunas tenham restrições que lhes estão associadas. Restrição é basicamente uma regra associada a uma coluna que diz quais as limitações dos dados inseridos nessa coluna. Por exemplo, a restrição UNIQUE especifica que dois registros não podem ter o mesmo valor em uma determinada coluna. Eles devem ser todos originais. As restrições mais populares são NOT NULL e PRIMARY KEY. A restrição NOT NULL especifica que uma coluna não pode ser deixada em branco. E a restrição PRIMARY KEY (chave primária) define uma identificação única de cada registro (ou linha) em uma tabela. Iremos aprender mais sobre restrições no decorrer da disciplina.

Versão 5.3 - Todos os Direitos reservados