Buscar

Abordagem Relacional

Prévia do material em texto

Banco de Dados I
Abordagem Relacional
Professor:
Juliano Lucas Gonçalves
Juliano.goncalves@ifsc.edu.br
Projeto de Banco de Dados
Fases do Projeto
Fases do Projeto
Agenda
Projeto Lógico
6
Exemplo das Informações em um Banco de Dados
codcliente nome rua cidade Conta saldo
1 José Figueiras Campinas 900 23
2 Felipe Laranjeiras São Carlos 556 1000
3 João Ipê São Paulo 112 5000
4 Antônio Ipê São Paulo 221 10000
Agenda
MODELO RELACIONAL
Modelo Relacional
• É a etapa posterior à modelagem conceitual
– Modelagem em nível lógico e não conceitual
• Introduzido por Codd em 1970 (IBM/ Califórnia)
• Não considera aspectos físicos de armazenamento, acesso 
e desempenho
• Usada nos SGBDs do tipo relacional
Abordagem Relacional
• Elementos de um banco de dados 
relacional
– Tabelas
• Compostas de:
– Linhas/Tuplas
– Chaves
• Relacionadas por:
– Chaves estrangeira
Linhas/Tuplas
• Um conjunto de pares (atributo, valor)
• Valor de um atributo
– Definido no momento da criação de uma tupla 
deve ser: 
• compatível com o domínio (tipo de dado e formato 
corretos) ou NULL 
• Atômico (indivisível)
Exemplo: Tupla
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Tupla 1
Atributo: Nome 
Valor: Renata
Exemplo: Tupla
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascCPFNome
Tuplas
Relembrando...
• Atributo é um Campo (coluna da tabela)
• Tupla é uma linha da tabela 
• Domínio: tipo de dado, formato de um 
atributo
Banco de Dados Relacional
• O universo de um banco de dados 
relacional é um conjunto finito, 
não vazio, de relações.
Chave
• Conjunto de um ou mais atributos de uma relação 
usados para especicar restrições de integridades 
básicas de um SGBD relacional.
• Tipos:
– Chave Primária (primary key) – PK
– Chave Candidata ou Alternativa
– Chave Estrangeira (foreign key) - FK
Chave Primária
• Primary key (PK)
– Atributo(s) cujo (conjunto de) valor(es) identifica(m) 
unicamente uma tupla em uma relação
– Propriedades
• Não pode se repetir
• Não pode ser nula
• Deve ser mínima
– (menor conjunto de campos possíveis)
– Abordagem relacional:
• Todas colunas que compõem a chave primária são 
obrigatórias
Chave Primária (PK)
20/02/1985São Diego 310/3401427Maria
03/07/1976Capote Valente, 3502467Vânia
Rua das Flores, 210
Endereço
12/11/198001035Renata
DataNascCPFNome
Aluno
Qual(is) atributo(s) representam unicamente uma tupla? 
Chave Primária (PK)
20/02/1985São Diego 310/3401427Maria
03/07/1976Capote Valente, 3502467Vânia
Rua das Flores, 210
Endereço
12/11/198001035Renata
DataNascCPFNome
Aluno
Qual(is) atributo(s) representam unicamente uma tupla? 
CPF
Exemplo
nome estado populacao
Rio Claro São Paulo 100.000
Lages Santa Catarina 160.000
Rio claro Rio de Janeiro 200.000
Utilizar a coluna nome como chave primária
Qual o problema? Como resolver?
Chave Primária Composta
nome estado populacao
Rio Claro São Paulo 100.000
Lages Santa Catarina 160.000
Rio claro Rio de Janeiro 200.000
Utilizar as colunas nome e estado como chave primária composta
Chave Candidata
• Possui as mesmas propriedades que a chave 
primária
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Aluno
Chave Candidata
• Possui as mesmas propriedades que a chave 
primária
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Aluno
Chaves candidatas
Chave Candidata
• Qual escolher para Chave Primária?
• Escolhe-se para chave primária aquela com o 
atributo único ou menor número de caracteres
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Chave Candidata
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Chave Primária
Chave Alternativa
347685784432
693529876987
701034263890
CPF
20/02/198501427Maria
03/07/197602467Vânia
12/11/198001035Renata
DataNascMatrículaNome
Chave Primária
Chave alternativa
Chave alternativa: chave candidata que não é primária
Chave Estrangeira
• Foreign Key (FK)
• Uma coluna ou uma combinação de colunas, 
cujos valores aparecem necessariamente na 
chave primária de uma tabela
• Implementa o relacionamento em um BD 
relacional
Chave Estrangeira (FK)
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaNome
Chave Estrangeira (FK)
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaNome
Ciências Jurídicas e Sociais
Administração de Empresas
Ciência da Computação
Descrição
3
2
1
Codigo
Restrições de Integridade
• É uma regra que deve ser obedecida em todos os 
estados válidos da base de dados (consistência). 
• Garantem que os dados refletem corretamente a 
realidade modelada. 
– Domínio, Chave Primária, Valores Vazios
– Integridade Referencial 
– Semântica
Restrições de Integridade
• Domínio: conjunto de valores que um atributo pode 
assumir
Exemplo: Nome: varchar (20)- Alessandra Vogel 
Oliveira viola a regra.
Vazio: define se os atributos podem ou não ser vazios
Integridade Referencial 
• Chave estrangeira (FK)
• Garantia de relacionamentos 
válidos
• Os valores que aparecem na 
FK devem aparecer na PK da 
relação referenciada
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaNome
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaNome
Ciências Jurídicas e Sociais
Administração de Empresas
Ciência da Computação
Descrição
3
2
1
Curso
Ciências Jurídicas e Sociais
Administração de Empresas
Ciência da Computação
Descrição
3
2
1
Curso
Integridade Semântica 
• Especificada através de regras sobre o esquema do 
banco de dados
• Exemplos: 
– O salário de um empregado deve ser menor ou igual ao do 
seu supervisor
– O número de horas semanais de um empregado em um 
projeto não pode ser maior do que 50
Restrições de Inserção
• Inserção: insere tuplas em uma relação
• Pode violar 3 restrições de integridade: 
Restrições de Inserção
• Inserção: insere tuplas em uma relação
• Pode violar 3 restrições de integridade: 
– Integridade de Domínio: valor não é do domínio
Restrições de Inserção
• Inserção: insere tuplas em uma relação
• Pode violar 3 restrições de integridade: 
– Integridade de Domínio
– Integridade de Chave: valor já existe
Restrições de Inserção
• Inserção: insere tuplas em uma relação
• Pode violar 3 restrições de integridade: 
– Integridade de Domínio
• Integridade de Chave (ex.: chave 
duplicada)
– Integridade Referencial: valor da FK refere-se a 
uma tupla que não existe na relação referenciada
Restrições de Exclusão
• Exclusão: exclui tuplas de uma relação
• Pode violar : 
Restrições de Exclusão
• Exclusão: exclui tuplas de uma relação
• Pode violar : 
Integridade referencial: se a tupla que está sendo 
excluída está referenciada por uma FK de outra 
tupla
Restrições de Exclusão
• Exclusão:
Ciências Jurídicas e Sociais
Administração de Empresas
Ciência da Computação
Descrição
3
2
1
Curso
1
2
1
Curso
347685784432
693529876987
701034263890
CPF
01427Maria
02467Vânia
01035Renata
MatrículaNome
Restrições de Exclusão
• Procedimento a ser adotado:
– Rejeitar a operação
– Excluir em cascata
– Mudar os valores dos atributos referenciados
Restrições de Atualização
• Atualização : altera os valores de atributos nas 
tuplas existentes
– Pode violar: 
Restrições de Atualização
• Atualização : altera os valores de atributos nas 
tuplas existentes
– Pode violar: 
• Restrição de Domínio para atributos que não são 
chave
Restrições de Atualização
• Atualização : alteraos valores de atributos nas 
tuplas existentes
– Pode violar: 
• Restrição de Domínio para atributos que não são chave
• Chave primária 
Restrições de Atualização
• Atualização : altera os valores de atributos nas 
tuplas existentes
– Pode violar: 
• Restrição de Domínio para atributos que não são chave
• Chave primária 
• Referencial
Especificação de BD Relacional
• Especificação de banco de dados 
relacional
– A especificação de um banco de dados relacional 
(chamada de esquema do banco de dados) deve 
conter no mínimo a definição do seguinte:
• Tabelas que formam o banco de dados,
• Colunas que as tabelas possuem,
• Restrições de integridade.
Especificação de BD Relacional
• Exemplo
– Empregado
CódigoDepto Referência Departamento
– Departamento
Código Nome RG Data de admissão CódigoDepto
1111 Ana 123010 01/12/1980 D1
1222 Pedro 123999 06/07/1989 D1
... ... ... ... D2
Código Nome
D1 Estoque
D2 Finanças
... ...
Especificação de BD Relacional
– Exemplo de esquema relacional resumido:
Empregado (Codigo, Nome, Sexo, CodigoDepto)
CodigoDepto referencia Departamento
 Departamento (Codigo,Nome)
Exercício: 
1. Considere o seguinte esquema relacional:
Categoria(CodCategoria, Descrição)
Cliente (CodCli, Nome, Endereco, CPF, 
CodCategoria)
Funcionário (CodFunc, Nome, CT, CPF, End, Fone)
Fornecedor (CodFornec, Nome, Cidade)
Produto (CodProd, CodFornec, Nome, Peso, Valor)
Exercício: 
1) Identificar as chaves primárias e chaves 
estrangeiras. Para as chaves estrangeiras faça 
a referencia das mesmas.
2) Explique o que deve ser feito pelo SGBD para 
garantir a integridade referencial nas 
seguintes situações:
– Uma tupla é excluída na tabela Categoria
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Agenda
	Slide 6
	Agenda
	Modelo Relacional
	Abordagem Relacional
	Linhas/Tuplas
	Exemplo: Tupla
	Exemplo: Tupla
	Relembrando...
	Banco de Dados Relacional
	Chave
	Chave Primária
	Chave Primária (PK)‏
	Chave Primária (PK)‏
	Exemplo
	Chave Primária Composta
	Chave Candidata
	Chave Candidata
	Chave Candidata
	Chave Candidata
	Chave Alternativa
	Chave Estrangeira
	Chave Estrangeira (FK)‏
	Chave Estrangeira (FK)‏
	Restrições de Integridade
	Restrições de Integridade
	Integridade Referencial
	Integridade Semântica
	Restrições de Inserção
	Restrições de Inserção
	Restrições de Inserção
	Restrições de Inserção
	Restrições de Exclusão
	Restrições de Exclusão
	Restrições de Exclusão
	Restrições de Exclusão
	Restrições de Atualização
	Restrições de Atualização
	Restrições de Atualização
	Restrições de Atualização
	Especificação de BD Relacional
	Especificação de BD Relacional
	Especificação de BD Relacional
	Exercício:
	Exercício:

Continue navegando