Buscar

Banco de Dados para Redes - Aula 3

Prévia do material em texto

Banco de Dados para Redes - Aula 3 
Professor Daniel Silos - 3ª edição - 2014 
dsilos@live.estacio.br 
Objetivos da aula 
O aluno estará apto a: 
-Definir restrição de integridade; 
-Nomear restrição de integridade. 
 
 
 
 
Restrição de Integridade 
•Restrições básicas 
– Podem ser definidas por comandos SQL como 
parte da criação de uma tabela. 
– Uso: impor regras no nível da tabela, sempre 
que uma operação for executada. 
– Impede que uma tabela seja removida, caso 
exista algum relacionamento com outra tabela. 
 
 
 
Restrição Descrição 
NOT NULL Coluna com preenchimento obrigatório 
PRIMAY KEY Identifica exclusivamente cada linha da tabela 
FOREIGN KEY Estabelece um relacionamento de chave estrangeira com um 
valor de uma coluna (chave primária ou exclusiva) existente 
na mesma tabela ou em outra tabela 
CHECK Especifica uma condição que deve ser verdadeira 
UNIQUE Requer que a coluna ou de um conjunto de colunas seja 
exclusivos 
Restrições básicas 
Exemplo: 
CREATE TABLE Curso ( 
 idCurso NUMBER(3), 
 PRIMARY KEY (idCurso) , 
 Descricao VARCHAR2(30), 
 CHECK (Descricao IS NOT NULL) 
); 
 
 
Exemplo: 
CREATE TABLE Curso ( 
 idCurso NUMBER(3), 
 Descricao VARCHAR2(30) NOT NULL, 
 PRIMARY KEY (idCurso) 
); 
 
Exemplo: 
CREATE TABLE Cargo ( 
 idCargo NUMBER(3) , 
 PRIMARY KEY (idCargo), 
 Descricao VARCHAR2(30) NOT NULL , 
 Salario_Min NUMBER(7,2) DEFAULT 700 
 CHECK (Salario_Min > 700) , 
 Salario_Max NUMBER(18,2) DEFAULT 700 
 CHECK (Salario_Max > 700) , 
 Escolaridade CHAR 
 CHECK (Escolaridade IN ('F','M','S') ) 
) ; 
Exemplo – Nomeando Restrições: 
CREATE TABLE Cargo ( 
 idCargo NUMBER(3) , 
 PRIMARY KEY (idCargo), 
 Descricao VARCHAR2(30) NOT NULL , 
 Salario_Min NUMBER(7,2) DEFAULT 700, CONSTRAINT 
salario_minimo CHECK (Salario_Min > 700) , 
 Salario_Max NUMBER(18,2) DEFAULT 700 , CONSTRAINT 
salario_maximo CHECK (Salario_Max > 700) , 
 Escolaridade CHAR 
 CHECK (Escolaridade IN ('F','M','S') ) 
) ; 
CREATE TABLE Empregado ( 
idEmpregado NUMBER(6) , 
Nome VARCHAR2(50) , idCargo NUMBER(3) , 
Endereco VARCHAR2(50), Bairro VARCHAR2(20), 
Cidade VARCHAR2(20), idChefe NUMBER(6), 
UF CHAR(2) DEFAULT 'RJ', DataNasc DATE, 
Sexo CHAR, Salario NUMBER(18,2) 
) ; 
ALTER TABLE Empregado ADD CONSTRAINT 
PK_Empregado PRIMARY KEY (idEmpregado); 
 
ALTER TABLE Empregado ADD CONSTRAINT 
NN_Func_Nome CHECK (nome IS NOT NULL) ; 
 
ALTER TABLE Empregado ADD CONSTRAINT 
CK_Func_Sexo CHECK (Sexo IN ('M','F')) ; 
ALTER TABLE Empregado ADD CONSTRAINT 
CK_Func_UF 
CHECK (UF IN ('AM','AP','PA','AC','RO','RR','PI', 
'CE', 'MA','RN','PE','PB','BA','SE','AL', 'MT', 
'MS','GO','TO','DF','RS','SC','PR','RJ','SP','MG', 
'ES' ) 
 ); 
Restrição de Integridade 
 
ALTER TABLE Empregado 
ADD CONSTRAINT FK_Func_Cargo 
FOREIGN KEY (idCargo) 
REFERENCES Cargo (idCargo); 
 
Restrição de Integridade 
 
ALTER TABLE Empregado 
ADD CONSTRAINT FK_Func_Chefe 
FOREIGN KEY (idChefe) 
REFERENCES Empregado (idEmpregado); 
A partir deste momento o aluno está apto 
a resolver os exercícios da Lista de 
exercícios 2. 
 
Bibliografia 
 
– ELMASRI, R.; NAVATHE, S., Sistemas de Banco de 
Dados. Pearson Education do Brasil, 4ª.Ed 2005. 
 
– SILBERSCHATZ, Abraham; KORTH, Henry F; 
SUDARSHAN, S. A. Sistema de banco de dados. 5ª 
ed. Rio de Janeiro: Campus, 2006

Continue navegando

Outros materiais