Buscar

Aula 3 banco de dados

Prévia do material em texto

Banco de Dados 1 • Aula 03
Claudio Lobo Banco de Dados 1 Slide 2
Objetivos
• C04. Conhecer os principais conceitos de modelagem e 
normalização de dados;
– C04H7. Ser capaz de construir um modelo de negócios;
– C04H8. Ser capaz de construir um modelo lógico de dados;
– C04H9. Entender um modelo físico de dados e suas 
implicações na construção do banco de dados;
– C04H10. Conhecer e utilizar as 3 primeiras formas normais.
Claudio Lobo Banco de Dados 1 Slide 3
Introdução
• Um modelo de (banco de) dados é uma descrição dos 
tipos de informações que estão armazenadas em um 
banco de dados.
– O modelo de dados não informa o que está armazenado no 
banco de dados, mas apenas que o banco de dados contém 
informações sobre dados que estão armazenados.
• O modelo de dados é a descrição formal da 
estrutura de um banco de dados.
Claudio Lobo Banco de Dados 1 Slide 4
Introdução
• Para se construir um modelo de dados, usa-se uma 
linguagem de modelagem de dados. 
• Um mesmo modelo de dados pode ser representado de 
várias formas. 
– Cada apresentação do modelo recebe a denominação 
esquema de banco de dados.
• No projeto de banco de dados, normalmente são 
considerados dois níveis de abstração de modelo de 
dados:
– Modelo conceitual – a primeira etapa do projeto de BD.
– Modelo lógico – a segunda etapa do projeto de BD.
Claudio Lobo Banco de Dados 1 Slide 5
Modelo Conceitual
• É uma descrição do banco de dados de forma 
independente de implementação em um SGBD. 
• Registra que dados podem aparecer no banco de 
dados, mas não registra como estes dados estão 
armazenados num SGBD.
• É um modelo de dados abstrato.
– Descreve a estrutura de um banco de dados de forma 
independente de um SGBD particular.
Claudio Lobo Banco de Dados 1 Slide 6
Modelo Conceitual
• A técnica mais difundida de modelagem conceitual é a 
abordagem Entidade-Relacionamento (ER). 
– O modelo conceitual é representado pelo Diagrama Entidade-
Relacionamento (DER). 
Claudio Lobo Banco de Dados 1 Slide 7
Modelo Lógico
• É uma descrição de um banco de dados no nível de 
abstração visto pelo usuário do SGBD. 
– É dependente do tipo de SGBD que está sendo usado.
– Pode ser representado de forma textual ou gráfica.
Departamento (cod_depto,nome_depto)
Empregado (matricula, nome_emp ,cod_depto) 
cod_depto referencia Departamento
Claudio Lobo Banco de Dados 1 Slide 8
Abordagem Entidade-Relacionamento (ER)
• Foi criada em 1976 por Peter Chen. 
• É um padrão de fato para modelagem conceitual.
– Mesmo as técnicas de modelagem orientada a objetos 
baseiam-se nos conceitos da abordagem ER.
• Antes de entender a abordagem, é necessário 
conhecer os conceitos de:
– Entidade
– Relacionamento
– Atributo
– Generalização/Especialização
– Entidade associativa.
Claudio Lobo Banco de Dados 1 Slide 9
Abordagem Entidade-Relacionamento (ER)
• Entidade
– Conceito fundamental da abordagem ER.
– Representa, no modelo conceitual, um conjunto de objetos da 
realidade que foi modelada.
• Interessam apenas os objetos sobre os quais deseja-se 
manter informações.
– Em um DER, uma entidade é representada por um retângulo, 
que contém o nome da entidade.
– As entidades acima representam conjuntos de Alunos, de 
Professores e de Veículos.
Aluno Professor Veículo
Claudio Lobo Banco de Dados 1 Slide 10
Abordagem Entidade-Relacionamento (ER)
• Entidade
– Caso seja necessário referir um objeto particular (uma 
determinada pessoa ou um determinado departamento) fala-se 
em ocorrência ou instância de entidade.
Claudio Lobo Banco de Dados 1 Slide 11
Abordagem Entidade-Relacionamento (ER)
• Relacionamento
– O DER deve permitir especificar as propriedades dos objetos 
que serão armazenadas no BD. 
• Uma dessas propriedades é a associação entre objetos.
– Um relacionamento é representado por um losango, ligado por 
linhas às entidades que participam do relacionamento.
AlunoProfessor Ensina
Claudio Lobo Banco de Dados 1 Slide 12
Abordagem Entidade-Relacionamento (ER)
• Auto-Relacionamento
– Um relacionamento nem sempre associa entidades diferentes.
– Pode acontecer um relacionamento entre ocorrências de 
uma mesma entidade. 
• Cada uma das entidades exercerá um papel no 
relacionamento. 
– No relacionamento da figura, a entidade EMPREGADO ora 
atua com o papel de empregado, ora atua como o papel de 
chefe (afinal, todo chefe também é um empregado)
Empregado
Chefia
chefe empregado
Claudio Lobo Banco de Dados 1 Slide 13
Abordagem Entidade-Relacionamento (ER)
• Cardinalidade de Relacionamentos
– Uma propriedade importante de um relacionamento é quantas 
ocorrências de uma entidade podem estar associadas a 
uma outra no relacionamento. 
• Isso é a Cardinalidade de uma entidade em um 
relacionamento.
– A cardinalidade pode ser de dois tipos:
• Cardinalidade mínima. 
• Cardinalidade máxima.
–
Claudio Lobo Banco de Dados 1 Slide 14
Abordagem Entidade-Relacionamento (ER)
• Cardinalidade de Relacionamentos
– Cardinalidade mínima.
• Número mínimo de ocorrências da entidade no 
relacionamento.
– Cardinalidade máxima.
• Número máximo de ocorrências da entidade no 
relacionamento.
Claudio Lobo Banco de Dados 1 Slide 15
Abordagem Entidade-Relacionamento (ER)
• Cardinalidade de Relacionamentos
– Cardinalidade máxima.
• Para fins práticos, apenas duas cardinalidades máximas 
são relevantes: a cardinalidade máxima 1 e a cardinalidade 
máxima “muitos”, representada pela letra n. 
• Ao observar a convenção usada na figura, à primeira vista, 
pode parecer pouco natural, já que vai anotada “do outro 
lado” do relacionamento a qual se refere.
DepartamentoEmpregado Trabalha
1n
Cada empregado trabalha em 1 Departamento
Em cada Departamento podem trabalhar n empregados.
Claudio Lobo Banco de Dados 1 Slide 16
Abordagem Entidade-Relacionamento (ER)
• Cardinalidade de Relacionamentos
– Cardinalidade máxima.
• A cardinalidade máxima pode ser usada para classificar 
relacionamentos entre duas entidades em:
– n:n (muitos-para-muitos)
– 1:n (um-para-muitos)
– 1:1 (um-para-um).
AlunoProfessor Ensina nn
DepartamentoEmpregado Trabalha 1n
PessoaCNH Possui 11
Claudio Lobo Banco de Dados 1 Slide 17
Abordagem Entidade-Relacionamento (ER)
• Cardinalidade de Relacionamentos
– Cardinalidade mínima.
• Para fins de projeto de BD, consideram-se apenas duas 
cardinalidades mínimas:
– Cardinalidade mínima 1.
» Também chamada “associação obrigatória”, já 
que indica que o relacionamento deve 
obrigatoriamente associar uma ocorrência de 
entidade a cada ocorrência da entidade em questão.
– Cardinalidade mínima 0.
» Também chamada de “associação opcional”, pois 
não obriga (zero) a existência da entidade em 
questão.
Claudio Lobo Banco de Dados 1 Slide 18
Abordagem Entidade-Relacionamento (ER)
• Cardinalidade de Relacionamentos
– Cardinalidade mínima.
• A cardinalidade mínima é representada no diagrama junto 
(à esquerda) da cardinalidade máxima.
ConcursoCandidato Realiza
(0,n)
QuartelRecruta Serve
(0,n)
(1,1)(0,n)
Claudio Lobo Banco de Dados 1 Slide 19
Abordagem Entidade-Relacionamento (ER)
• Atributo
– É o dado que é associado a cada ocorrência de uma entidade 
ou de um relacionamento.
– São representados graficamente conforme mostra a figura.
• Na prática, atributos não são representados graficamente, 
para não sobrecarregar os diagramas, já que muitas vezes 
entidades possuem um grande número de atributos.
• Prefere-se usar uma representação textual que aparece 
separadamente do diagrama ER.
Claudio Lobo Banco de Dados 1 Slide 20
Abordagem Entidade-Relacionamento (ER)
• Atributo
– Um atributo pode possuir uma cardinalidade.
– A cardinalidadede um atributo define quantos valores deste 
atributo podem estar associados a uma ocorrência da 
entidade/relacionamento a qual ele pertence. 
• A cardinalidade (1,1) pode ser omitida no diagrama.
Claudio Lobo Banco de Dados 1 Slide 21
Abordagem Entidade-Relacionamento (ER)
• Atributo
– Assim como entidades possuem atributos, relacionamentos 
também podem possuir atributos.
– Isso ocorre quando um atributo necessário não pertence nem 
a uma nem a outra entidade.
Claudio Lobo Banco de Dados 1 Slide 22
Abordagem Entidade-Relacionamento (ER)
• Identificação de entidades
– Um identificador é um conjunto de um ou mais atributos (e 
mesmo relacionamentos) cujos valores servem para 
distinguir uma ocorrência da entidade das demais 
ocorrências da mesma entidade.
– Cada entidade deve possuir um identificador. 
• No DER, atributos identificadores são representados por 
um círculo preto. 
– O caso mais simples é o da entidade que possui um único 
atributo como identificador. 
Claudio Lobo Banco de Dados 1 Slide 23
Abordagem Entidade-Relacionamento (ER)
• Identificação de entidades
– Existem casos em que o identificador da entidade é composto 
por diversos atributos.
• Dessa forma, para se identificar unicamente a entidade, é 
necessário conhecer mais de um atributo. 
Claudio Lobo Banco de Dados 1 Slide 24
Abordagem Entidade-Relacionamento (ER)
• Identificação de entidades
– Existem casos em que o identificador de uma entidade é 
composto por atributos da própria entidade e também por 
relacionamentos dos quais a entidade participa 
(relacionamento identificador).
– No DER, o relacionamento usado como identificador é 
indicado por uma linha mais escura.
• Alguns autores dizem que a entidade DEPENDENTE da 
outra é uma entidade fraca. 
• O termo “fraca” deriva-se do fato de a entidade somente 
existir (ter sentido) quando relacionada a outra entidade e 
de usar como parte de seu identificador, entidades 
relacionadas.
Claudio Lobo Banco de Dados 1 Slide 25
Abordagem Entidade-Relacionamento (ER)
• Identificação de entidades
– Relacionamento identificador
Claudio Lobo Banco de Dados 1 Slide 26
Abordagem Entidade-Relacionamento (ER)
• Identificação de entidades
– O identificador de uma entidade (simples, composto por 
diversos atributos ou por identificadores externos), deve 
obedecer duas propriedades:
• O identificador deve ser mínimo. 
– O identificador deve ser composto de tal forma que, 
retirando um dos atributos ou relacionamentos que o 
compõe, ele deixa de ser identificador.
• Cada entidade deve possuir um único identificador.
– Em alguns casos, diferentes conjuntos de atributos 
podem servir para distinguir as ocorrências da entidade.
– Cabe ao modelador decidir qual dos dois atributos será 
usado como identificador da entidade. 
Claudio Lobo Banco de Dados 1 Slide 27
Abordagem Entidade-Relacionamento (ER)
• Identificação de relacionamentos
– Em princípio, uma ocorrência de relacionamento diferencia-
se das demais do mesmo relacionamento pelas ocorrências 
de entidades que dele participam.
• Ou seja, para cada par há, no máximo, um relacionamento.
– Mas, há casos em que entre as mesmas ocorrências de 
entidade podem existir diversas ocorrências de 
relacionamento. 
• Exemplo: o relacionamento CONSULTA entre MÉDICO e 
PACIENTE
Claudio Lobo Banco de Dados 1 Slide 28
Abordagem Entidade-Relacionamento (ER)
• Identificação de relacionamentos
– Neste caso, é necessário algo que distingua uma consulta 
entre um médico e seu paciente das demais consultas.
• Atributos identificadores de relacionamentos.
– Para o exemplo, poderia ser a data-hora da consulta.
• Um consulta não pode ocorrer, com o mesmo paciente e 
médico, na mesma data e hora.
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28

Continue navegando

Outros materiais