CryptoMoedas

Desenvolvido por Investing.com

RL Info News - Tecnologia e Informação Feeds

sexta-feira, 17 de agosto de 2012

Curso Linguagem SQL, Lição 05


Lição 05 - Definindo dados

Domínio dos dados
Até agora consideramos que os dados já foram informados pelo usuário. Agora construiremos nossas tabelas. Conheceremos os comandos responsáveis em criar cada tabela, atribuir o um tipo os dados.

Os dados em SQL podem ser dos seguintes tipos:

char [n];
O char é uma cadeia de caracteres de tamanho fixo n que é definido pelo usuário.

varchar [n];
O varchar é uma cadeia de caracteres de tamanho variável sendo que tem como tamanho máximo n que é informado pelo usuário.

date;
Dados com esse formato aceitam datas, dia, mês e ano (com quatro dígitos).

time;
Dados com esse formato aceitam horário, horas, minutos e segundos.

int;
Esse formato aceita números inteiros.

real;
Esse formato aceita números reais.
float [n];
Aceita número flutuante com precisão n definida pelo usuário.

Definição de esquema
Para criar uma tabela utilizamos o comando create table e para definir quem será a chave primária usamos o comando primary key.
Observe o exemplo a seguir onde criaremos tabelas e definiremos a chave primária.

create table cliente (nome varchar(20) not null,
endereco varchar(50),
CPF char(11) not null,
data_nascimento char(10),
primary key(CPF))

create table filme (nome varchar(20) not null,
ator_principal varchar(20),
diretor varchar(20),
genero varchar(10),
primary key(nome, ator_principal),
check genero in ("Romance","Ação","Drama","Terror","Comédia"))

No primeiro exemplo criamos a tabela cliente, como você pode observar a estrutura do create table é composta do nome da tabela que será criada e dos atributos com seus devidos domínios. Depois de informar os atributos, informamos a chave primária, através do comando primary key.
Repare que usamos not null na criação do atributo nome, ele é usado quando queremos forçar o usuário a colocar o dado. O atributo CPF, por exemplo, é nossa chave primária, por isso não poderia ficar em branco, por isso também foi usado um not null para esse atributo.
No segundo exemplo, usamos a cláusula check, ela é usada para determinar uma condição ao atributo. No caso do nosso exemplo, ele define que o gênero do filmes só pode ser Romance, Ação, Drama, Terror ou Comédia.

Removendo e alterando tabelas
Para remover uma tabela temos duas opções possíveis o drop table e o delete from. A diferença entre os dois é que o primeiro é mais drástico, com ele remove-se a tabela e todos os seus atributos, já no segundo a tabela é mantida mas os atributos são apagados.
Utilizando o delete from atributos poderão ser inseridos futuramente pois a tabela não foi excluída, ela ainda continuará existindo no banco.
Observe o exemplo abaixo:

delete from cliente
drop table cliente

Primeiro deletamos todos os atributos da tabela cliente e depois deletamos a tabela. Poderiamos ter usado apenas o drop table mas usamos os dois para mostrar a sintaxe das duas cláusulas.
Para adicionar um novo atributo a uma tabela utilizamos o alter table. As tuplas desse atributo inserido receberão o NULL para seus valores. Observe como utilizar o alter table.

alter table cliente add RG varchar(10)

Como podemos observar, informamos a tabela que terá um atributo adicionado, o nome do atributo e o domínio.
O alter table pode ser usado também para remover um atributo, ao invés de utilizar o add, usa-se drop, como no exemplo a seguir.

alter table cliente drop endereco
Informa-se o nome da tabela e o atributo a ser removido.

Restrições
Vimos anteriormente que ao criar uma tabela podemos criar restrições utilizando a cláusula check. Existe outro modo de criar uma restrição dando um nome à restrição, isso facilitará na hora de saber qual restrição foi violada.
Para criar essa restrição utilizaremos o creat domain. Observe o exemplo a seguir:

create domain CPF char(11) constraint teste_CPF check (value not null)
create domain preco numeric(4,2) constraint teste_preco check (value >=3,00)

No primeiro exemplo, criamos um teste_CPF que avalia se o CPF não é igual a null. Já no segundo verificamos se o preço, que tem 4 casas sendo que duas são depois da virgula, é maior ou igual a 3.

Triggers
Trigger, é uma palavra do inglês que em português seria algo como gatilho, essa cláusula representa uma ação que é realizada automaticamente quando ocorre uma mudança, especificada nessa cláusula, em banco de dados.
Logo abaixo temos uma trigger que é ativada quando acrescenta-se um novo preço de aluguel de dvd na tabela aluguel. Se for informado qualquer valor menor que três a trigger atualizará automaticamente o banco substituindo o valor por 3 que é o valor mínimo de um aluguel.

define trigger preco_menor on update of aluguel
(if new aluguel.preco < 3
then (update aluguel.preco
set aluguel.preco = 3)

Exercício
Como foi chamada a versão da Linguagem SQL revisada em 1999?

Deixe suas respostas nos comentários. Obrigado!

Fonte: Comunidade CDTC

Nenhum comentário:

Postar um comentário