EXISTEM ALGUNS TIPOS DISTINTOS DE RESTRIÇÕES QUE SE PODEM APLICAR A COLUNAS: Constraint NOT NULL Constraint CHECK Constraint UNIQUE Gilvan Vieira Moura E-mail: gilvansistema@hotmail.com Constraint PRIMARY KEY Constraint REFERENCES CHECK A constraint CHECK permite realizar a validação dos dados inseridos na coluna, através da especificação de uma condição. São admitidos apenas os dados cujo resultado da avaliação da condição seja verdadeiro. EXEMPLO COM A CONSTRAINTS CHECK: CREATE TABLE Dados_Pessoais codigo NUMERIC NOT NULL, nome CHAR60 CHECKnome NOT LIKE '%Pedro%', idade INTEGER NOT NULL CHECKIdade >= 0 AND Idade <= 150, sexo CHAR CHECK SEXO IN'M', 'F', tempo_servico INTEGER CHECKTempo_Servico >= 0 1
UNIQUE A constraint UNIQUE indica que os valores dessa coluna não podem se repetir. Em uma tabela podem existir tantas colunas UNIQUE quantas forem necessárias. CREATE TABLE Dados_Pessoais codigo NUMERIC NOT NULL, nome CHAR60 UNIQUE, cpf CHAR15 UNIQUE, tempo_servico INTEGER CHECKTempo_Servico >= 0 Tabela Medicos Atributo CRM: caractere, único e não vazio Atributo Nome: caractere e não vazio Atributo Idade: inteiro e não poderá ser maior que 23 e menor que 70 Atributo Especialidade: caractere e não poderá possuir especialização em Ortopedia Atributo CPF: caractere e único, Atributo Nome: caractere e não vazio Atributo Doença: caractere e não poderá ter valores como fratura e torção 2
Para elaborar o banco de dados proposto, primeiramente é necessário criar um novo banco de dados, para isto usaremos o comando CREATE DATABASE: CREATE TABLE medicos crm CHAR15 NOT NULL UNIQUE, nome CHAR100 NOT NULL, CREATE DATABASE CLINICA idade INTEGER CHECKidade > 23 AND idade < 70, especialidade CHAR50 CHECKespecialidade NOT LIKE '%ORTOPEDIA%' Antes de verificar o funcionamento das constraints CREATE TABLE paciente cpf CHAR15 UNIQUE, nome CHAR100 NOT NULL, doenca CHAR50 CHECKdoenca NOT LIKE '%FRATURA%' PRIMARY KEY e REFERENCES, veremos o comando DROP e ALTER TABLE. O comando DROP TABLE permite remover uma determinada tabela de um Banco de Dados, e consequentemente, todos os dados existentes nela. AND '%TORÇÃO' ; 3
A SINTAXE DO COMANDO É DROP TABLE nome_da_tabela Exemplo: O comando ALTER TABLE permite alterar a estrutura de uma tabela. Com o comando é possível adicionar uma nova coluna, modificar uma coluna já existente ou eliminar uma coluna. DROP TABLE Dados_Pessoais VEJA A SINTAXE DOS COMANDOS: ALTER TABLE Nome_Da_Tabela ADD Nome_Coluna Tipo_Coluna EXEMPLOS: ALTER TABLE Fornecedor ADD Fax CHAR15 ALTER TABLE Fornecedor DROP COLUMN Caixa_Postal ALTER TABLE Nome_Da_Tabela DROP Nome_Coluna Tipo_Coluna 4
CREATE TABLE PESSOA A constraint REFERENCES permite fazer a validação das chaves estrangeiras. Isto é, não se podem inserir nos campos referenciados como chaves estrangeira valores que não existam na tabela onde os campos são chave primária. Veja exemplo na qual o campo codigo_postal é uma chave estrangeira da tabela POSTAL, para isso foi usado o comando REFERENCES, onde o campo codigo_postal da tabela PESSOA refere-se ao campo codigo da tabela POSTAL. nome CHAR60 UNIQUE, cpf CHAR15, idade INTERGER, telefone CHAR15, codigo_postal NUMERIC10 REFERENCES PostalCodigo, Primary KeyCPF aluno Matricula: número4 Nome: char60 Rua: char 60 Alunos_Da_Banda Matricula: Número Instrumento: char60 Data_Ingresso :data CREATE TABLE alunos matricula NUMERIC4, nome CHAR60, rua CHAR60, Primary Keymatricula 5
CREATE TABLE alunos_da_banda matricula NUMERIC4 REFERENCES alunosmatricula, instrumento CHAR60, data_ingresso DATE, Primary Keymatricula EXERCÍCIO 2 PONTO AUTOMOVEIS Código, Fabricante, Modelo, Ano, País, Preço_tabela REVENDEDORAS CGC, Nome, Proprietário, Cidade, Estado CONSUMIDORES Identidade, Nome, Sobrenome NEGOCIOS Comprador, Revenda, CodAuto, AnoAuto, Data, Preço GARAGENS CGCRevenda, CodAuto, AnoAuto, Quantidade Use as seguintes funções nas tabelas: : NOT NULL, CHECK, UNIQUE, PRIMARY KEY. Insira pelo menos 5 cinco registros em cada tabela 6