Buscar

PK e FK - Amanda Souza - GU3018067

Prévia do material em texto

Tipos de Relacionamentos – Banco de Dados 
N:N (lê-se “ene para ene”) 
 Cria-se uma nova tabela 
Formada pelas pk’s (primary key/chave primária) das tabelas correspondentes as 
entidades ligadas pelo relacionamento em que essas chaves migram são fk (foreign 
key/chave estrangeira) quanto pk’s na nova tabela. Adiciona-se outros campos 
conforme demais atributos presentes no relacionamento. 
Tipos de restrições: 
Not null  O campo marcado como not null não aceita NULL (ausência de valoro) 
como seu valor. 
Check  Só aceita valores para um ou mais campos caso eles tornem uma expressão 
de validação .V. 
CHAVE PRIMÁRIA (PK)  Impede a repartição de valores em diferentes linhas para 
determinados campos. O valor guardado sobre um atributo ou mais atributos de um 
marcador deve ser singular em nexo todas as declarações da tabela. Este é a 
definição de chave primária. Temos que, por conseguinte estipular quais declarações 
virão compensar a chave primária, acontecendo que cada tabela conserva uma 
singular chave primária. Em que se decide um atributo como chave primaria, fica 
subentendido as cláusulas UNIQUE e NOT NULL com este atributo, não se achando 
primordial a classificação destas. Exemplo: 
CLIENTE (cpf, nome, sobrenome, rua, numero, cidade, nascimento) 
É acentuada como chave primária apenas o CPF, pois miramos que este identifique 
exclusivamente todos os registros de clientes desta tabela. 
ASSOCIADO (cpf_cliente, RG, nome, sobrenome) 
É acentuada como chave primária o RG e o cpf_cliente pois o conjugado destes 
registros identifica exclusivamente os apontamentos nesta tabela. Não terão registros 
de cpf_cliente e RG duplo na tabela. Exemplo: 
create table cliente ( 
 codigo number(5) primary key, 
 nome char(30), 
 sexo char(1), 
 CPF number(11), 
 endereco char(40), 
 cidade char(20) 
) 
Opcionalmente pode-se determinar a chave primária posteriormente a 
especialização de juntos os atributos da tabela. 
create table cliente ( 
 codigo number(5), 
 nome char(30), 
 sexo char(1), 
 CPF number(11), 
 endereco char(40), 
 cidade char(20), 
 primary key (codigo) 
) 
ATENÇÃO: Assim como uma tabela há uma chave primária combinada por mais de 
um atributo, esta forma é OBRIGATÓRIA. 
create table movimento ( 
 agencia number(5), 
 conta number(7), 
 valor number(16,2), 
 primary key (agencia, conta) 
) 
 
 
 
 
 
Exemplo de tabela chave primária no MySQL 
(Chave estrangeira (FK)  Destinge os valores de um campo aquele presente em 
alguma linha de outro campo de outra tabela ou da mesma (também chamada de 
restrição referencial). É o campo que indica o relacionamento cerca de duas tabelas. 
Logo, uma coluna representa à similar coluna que é a chave primária de outra 
tabela. Dessa forma, é necessário descrever na tabela que traz a chave estrangeira 
quais são essas colunas e à tal qual tabela está associada. O banco de dados irá 
averiguar se todos os campos que atuam indicadores à tabela estão especificados. 
EXEMPLO: 
create table telefones( 
cpf varchar(12), 
telefone varchar(10), 
PRIMARY KEY (cpf, telefone), 
FOREIGN KEY (CPF) REFERENCES pessoa 
) 
Neste exemplo, o conjunto CPF e telefone compõe a chave primária da tabela, 
portanto não podem se repetir e a chave estrangeira é o CPF, que indica que deve 
existir um número de CPF na outra tabela, pessoa, antes de inserir um registro nesta 
tabela. Para alguns tipos de computação são necessárias consultas muito rápidas e 
esse tipo de modelagem é muito importante, sendo o processo realizado ao se dividir 
informações entre tabelas de normalização. Como extrair dados de tabelas modeladas 
usando esse padrão será visto durante a parte de SELECT 
 
 
Exemplo de tabela chave estrangeira no MySQL

Mais conteúdos dessa disciplina