Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 2 – Revisão
Modelo Relacional - Conceitos
Valor (dado): Um valor é um símbolo (termo ou
elemento simbólico) que é utilizado para
caracterizar (quantificar ou qualificar) uma
propriedade ou característica de uma entidade,
um objeto, um relacionamento ou uma ligação.
Relação (Tabela): elemento indicado por linhas e
colunas. Nomes únicos no BD.
Tupla: linha de uma tabela. Também denominada
de instância.
Atributo (Item de dado): itens que não podem ser
decompostos. São as colunas da tabela.
Domínio: valores que um campo pode assumir.
Projeto de Banco de Dados
Necessidade de Dados
Projeto MER
MER(Modelo
(Modelo
Conceitual Entidade-Relacionamento)
Entidade-Relacionamento)
Projeto
Lógico MR
MR(Modelo
(ModeloRelacional)
Relacional)
Projeto
Físico SQL
SQL
Projeto Terminado
Modelo de Dados – Projeto Conceitual
Não contém detalhes sobre a representação em
meio físico das informações;
Registra que dados podem aparecer no banco
de dados, mas não registra como estes dados
estão armazenados a nível de SGBD;
Independente de SGBD;
Análogo a algoritmos;
Representado pelo MER;
Identificar todas as entidades e os relacionamentos
entre elas.
É a chave para a compreensão do modelo conceitual
de dados;
Modelo de Dados – Projeto Lógico
Descreve como as informações estão
organizadas internamente, visão do usuário do
SGBD;
Busca refinar o modelo Conceitual
(normalização);
Leva em conta e implementa recursos como
adequação de padrão e nomenclatura;
Dependente do tipo particular de SGBD que está
sendo usado;
No PostgresSQL não existem procedures:
Utiliza-se uma function que retorna um void;
CREATE OR REPLACE FUNCTION nome()
RETURN void
Oracle:
CREATE OR REPLACE PROCEDURE nome IS
Modelo de Dados – Projeto Lógico
Os três modelos lógicos mais conhecido são:
Modelo de Rede: representado por um conjunto de
registros; sendo as relações através de ponteiros;
Modelo Hierárquico: similar ao modelo de rede; a
diferença é gráfica, sendo os registros organizados
em árvores;
Modelo Relacional: usa um conjunto de tabelas
para representar os dados, compostas por linhas e
colunas.
Modelo Semi-Estruturado: permite a especificação
dos dados em que itens de dados individuais do
mesmo tipo possam ter diferentes tipos de
atributos;
Ex: Banco de Dados XML;
Modelo de Dados – Projeto Lógico
Modelo de Dados – Projeto Lógico
Os três modelos lógicos mais conhecido são:
Modelo de Rede: representado por um conjunto de
registros; sendo as relações através de ponteiros;
Modelo Hierárquico: similar ao modelo de rede; a
diferença é gráfica, sendo os registros organizados
em árvores;
Modelo Relacional: usa um conjunto de tabelas
para representar os dados, compostas por linhas e
colunas.
Modelo Semi-Estruturado: permite a especificação
dos dados em que itens de dados individuais do
mesmo tipo possam ter diferentes tipos de
atributos;
Ex: Banco de Dados XML;
Modelo de Dados – Projeto Físico
Descreve os dados no nível mais baixo
(interno);
Entidades Fracas
Um conjunto de entidades pode não possuir
atributos suficientes para formar uma chave
primária; (são chamadas de entidades fracas)
Entidade Fraca: não possui chave primária
(subordinada);
Entidade Forte: Possui chave primária
(dominante);
Entidades Fracas:
Representação:
Projeto Conceitual - MER
Projeto Conceitual - MER
Dependência de Existência Total_Pag
Valor
1 N
A Rel1 B
N
Rel2
N 1
C Rel3
N
Projeto Conceitual - MER
Auto-Relacionamentos
Relacionamento de uma ENTIDADE consigo
mesma.
Também chamados de Relacionamentos
RECURSIVOS.
Exemplo: Uma empresa tem a entidade FUNC
e deseja saber quais são os funcionários(as)
casados com outros funcionários(as).
Projeto Conceitual - MER
Auto-Relacionamentos
Mike 1
Rieta
Func Casado com
Colleen
1
Sean
Jody
isto é equivalente a:
Walt
Andrew
Larry
Whitney 1 1
Func Casado com Func
Barb
Derivação MER para MR
Cliente
Especialização
Física Jurídica
Física Jurídica
Relação Vendas
Relação Vendas
Anomalia de Inserção:
Para se inserir dados de Empregados, deve-se inserir dados de
departamento também (ou colocar null);
É dificil inserir um novo departamento que ainda não tem empregados;
Porém CPF faz parte de chave primária da relação;
Anomalia de Alteração:
se o nome do depto 43 passar a ser “Administração”, todas as tuplas
possuem empregados nesse depto devem ser alteradas ou ficarão
inconsistentes;
Exemplo 2: Anomalias de Atualização
CPF Nome_Em Endereco_Emp. Cod_Depto Nome_Dpto
p.
Relação Vendas
Anomalia de Exclusão:
Se for removida uma tupla da relação
Empregado e esta fora última ocorrência de um
departamento em particular, a informação
correspondente ao departamento seria perdida.
Normalização
É um processo de converter uma relação que
apresenta certos problemas em duas ou mais
relações que não os possuem;
Tem por principal objetivo evitar anomalias de
atualização no banco de dados;
Visa uma maneira “ótima” de relacionar dados em um
BD.
Foi proposto por Codd, onde se submete um esquema
de uma relação a uma série de testes para certificar-
se de que ele satisfaça certa forma normal (FN):
Caso a relação não atenda ao critério de um FN sua
estrutura é redesenhada;
Normalização - Objetivos
Analisar tabelas e organizá-las de forma que a sua
estrutura seja simples;
Evitar a perda e a repetição da informação;
Conseguir uma forma de representação adequada
para o que se deseja armazenar;
Garantir a integridade dos dados, evitando que
informações sem sentido sejam inseridas no banco de
dados;
Organizar e dividir as tabelas da forma mais eficiente
possível, diminuindo a redundância e permitindo a
evolução do banco de dados com o mínimo de efeito
colateral.
Normalização – Ponto de Equilíbrio
A normalização possui uma sequência
hierárquica. Essa sequência diz respeito ao grau
de refinamento do Banco de Dados.
Menos R
Relações E
Mais F
Redundância I
Maioria dos N
casos para na A
3ª FN M
E
Mais Relações N
Menos T
Redundância O
Uma relação se encontra na Primeira Forma Normal
(1FN) se todos os domínios de atributos possuem
apenas valores atômicos (indivisíveis), e que o valor
de cada atributo na tupla seja um valor simples;
A 1FN não permite relações que apresentem
atributos compostos e nem a presença de atributos
multivalorados;
98987879 Operador
Uma relação está na segunda forma normal
quando duas condições são satisfeitas:
A relação está na primeira forma normal;
Todos os atributos que não fazem parte da chave-
primária dependem funcionalmente de toda a chave
primária, ou seja, nenhum dos atributos da relação
possui dependência parcial.
• Todo atributo A da relação R não é parcialmente
dependente da chave-primária de R.
CPF_Empregado Cod_projeto Nome_Empregado Nome_Projeto Horas_Trabalhada
s
654321 22 20
654321 Hermano Pereira
789687 33 40
789687 Renata Stange Relação Alocação
Cod_Projeto Projeto
Relação Empregado
11 SoftHouse
22 HardCore
Relação Projeto
33 LinuxWindows
Relações que não estão na 2FN podem apresentar
problemas de inconsistência devido à duplicidade dos
dados e sua perda em operações de
remoção/alteração.
Cod_Turma Sigla_Disciplina Num_SalaAula Num_Horas
11 LP 515 6
22 LP 516 6
11 BD 502 4
22 SO 510 4
22 SO 512 4
Vantagens:
- Redução do espaço físico;
- Manutenção dos dados e das configurações são
mais simples;
- Menos custos;
Desvantagens:
- Criação de inúmeras tabelas deixando as
informações pulverizadas;
- O tempo de processo é mais longo ao se fazer
uma consultas (join);
SQL – Restrições de Integridade
Reparos