Você está na página 1de 59

FUNDAMENTOS DE BANCO

DE DADOS
Modelo
Entidade - Relacionamento
 Uma das técnicas de modelagem de
dados mais difundida e utilizada é a
abordagem entidade-relacionamento
(ER)
 A abordagem ER foi criada em 1976
por Peter Chen
Modelo
Entidade - Relacionamento
 Um modelo ER é representado
através de um diagrama entidade-
relacionamento (DER)
 O modelo ER descreve dados como
entidades, relacionamentos e
atributos.
Entidades
 Entidade representa um conjunto de
“coisas” ou “objetos” no mundo real
sobre os quais deseja-se guardar
informações
 Entidade pode ser:
 concreta (pessoa, livro, carro) ou
 conceitual (empréstimo, viajem de
férias, um serviço)
Exemplos de Entidades
 Entidades para um industria:
 produto, tipo de produto, venda,
compra.
 Entidades para de banco:
 cliente, conta corrente, cheque, agência.
 Graficamente, uma entidade é
representada por um retângulo
Produto Cliente
Entidades
 Um objeto particular de uma entidade
é chamado de ocorrência ou instância
de entidade.
Empregado
Instância da entidade
e1 empregado

e2
e3
e4
...
Atributos
 Cada entidade possui atributos
 Os atributos são propriedades que
descrevem as entidades
 A entidade empregado pode ser
descrita através do nome, RG, CPF,
endereço, idade, profissão,
salário.
Atributos
 Uma entidade específica terá um
valor para cada um dos seus
atributos
 Para cada atributo, existe um
conjunto de valores possíveis,
chamado domínio,
domínio ou conjunto de
valores
Atributos
 O domínio do atributo nome_cliente
pode ser o conjunto de todos os
textos (string) de um certo tamanho
Atributos
 Graficamente um atributo é
representado como um ponto ou um
elipse

Projeto Endereço
CPF
Sexo Salário
tipo
código nome
nome Empregado DataNasc
Atributos
 Um atributo pode ser dos seguintes
tipos:
 simples ou compostos
 mono-valorados ou multivalorados
 Nulos
 Derivado
Atributos
 atributo simples (ou
atômico):
atômico) não é dividido em partes
 atributo composto pode ser
dividido em subpartes menores (isto
é, em outros atributos)
 Ex: nome_cliente pode ser dividido em
prenome, nome-intermediário e
sobrenome
Atributos
 Ex: endereço pode ser dividido em rua,
numero, bairro, complemento, cidade, UF.
Atributo Monovalorados
 A maioria dos atributos possui um
valor único para uma determinada
entidade, chamados mono-
valorados
 Por exemplo, idade para uma pessoa
Atributos Multivalorados
 Em alguns casos, um atributo pode
ter um conjunto de valores para a
mesma entidade. Este são chamados
multivalorados
 Por exemplo, uma pessoa pode ter
vários telefones.
Atributos Derivados
 O valor de um atributo pode ser
derivado de outros atributos ou
entidades a ele relacionados, são
chamados atributos derivados
Atributos Derivados
 Ex.: os atributos Idade e
DatadeNascimento de uma pessoa. O valor
da idade pode ser determinado a partir da
data atual (hoje) e o valor da data de
nascimento.
Atributos nulos
 Valor nulo é usado quando uma
entidade não possui valor para
determinado atributo
 Ex. O atributo telefone de uma pessoa.
Pode ser que uma pessoa não tenha
telefone ou ele não seja conhecido.
Atributos Nulos
 Nulo também pode significar que o
valor do atributo é desconhecido
Relacionamento
 No mundo real objetos se associam a
outras objetos e podem gerar
informações que devem ser
armazenadas.
 Exemplo, pode-se desejar saber quais
alunos estão matriculados em
determinado curso.
Relacionamento
 A associação entre a entidade aluno e
a entidade curso é chamada
Relacionamento
Relacionamento
 Em um DER, um relacionamento é
representado através de um losango,
ligados por linhas aos retângulos que
representam as entidades que
participam do relacionamento.

Aluno cursa Curso


Relacionamento
 Não necessariamente um
relacionamento associa entidades
diferentes.
 É possível ter um auto-
relacionamento, isto é, um
relacionamento entre ocorrências de
uma mesma entidade.
Relacionamento
Pessoa

esposa
marido

casamento

A função que uma entidade desempenha em um


relacionamento é chamada papel
Relacionamento
 Uma associação particular entre
instâncias de entidade é chamado de
ocorrência ou instância de
relacionamento
Aluno cursa Curso
a1 c1
a1.c2
a2 c2
a2.c1
a3 c3
a4.c2
a4
a5.c3
a5
a6
Relacionamento
 O número de entidades que
participam em um relacionamento é
também o grau deste
relacionamento:
 Um relacionamento binário é de grau
dois
 Um relacionamento ternário é de grau
três
Relacionamento

Aluno cursa Curso

Pessoa

marido esposa

casamento

Relacionamentos Binários
Relacionamento

Cidade Distribuidor

Distribuição

Produto

Relacionamento Ternário
Cardinalidade de
relacionamentos
 Um relacionamento tem dois tipos de
cardinalidade:
 a cardinalidade máxima – é o número
máximo de ocorrências de entidades
associadas a uma ocorrência da entidade
em questão através do relacionamento.
 a cardinalidade mínima - é o número
mínimo de ocorrências de entidades
associadas a uma ocorrência da entidade
em questão através do relacionamento.
Cardinalidade máxima

Departamento Lotação Empregado

 A entidade EMPREGADO tem


cardinalidade máxima 1 no
relacionamento LOTAÇÂO. Isto
significa que um empregado pode
estar lotado em no máximo um
departamento.
Cardinalidade máxima

Aluno cursa Curso

A entidade ALUNO tem cardinalidade


máxima 1 no relacionamento CURSA.
Isto significa que um aluno pode
cursar no máximo um curso.
Cardinalidade máxima

Departamento Lotação Empregad


o

Entidade DEPARTAMENTO tem


cardinalidade máxima 100 no
relacionamento LOTAÇÃO. Isto significa
que um departamento pode ter nele lotado
no máximo 100 empregados.
Cardinalidade máxima

Aluno cursa Curso

Entidade CURSO tem cardinalidade


máxima 500 no relacionamento CURSA.
Isto significa que um curso pode ter nele
matriculado no máximo 500 alunos.
Cardinalidade máxima
 Apenas duas cardinalidades máximas
são relevantes:
 a cardinalidade máxima 1 e
 a cardinalidade máxima “muito”,
representada pela letra n.

n 1
Aluno cursa Curso
Cardinalidade máxima
 Em um DER, a cardinalidade vai
anotada “do outro lado” do
relacionamento a qual se refere.
Expressa que uma ocorrência de EMPREGADO pode estar associado ao
máximo uma (“1”) ocorrência de DEPARTAMENTO.

1
Departamento Lotação Empregado
n

Expressa que uma ocorrência de DEPARTAMENTO pode estar associado


muitas (“n”) ocorrência de EMPREGADO.
Classificação de
relacionamentos binários
 Um relacionamento binário pode ser
classificado em:
 n:n (muitos para muitos)
 1:n (um para muitos)
 1:1 (um para um)
Relacionamento 1:1
 No relacionamento CASAMENTO, as
cardinalidades máximas expressam
que uma pessoa pode possuir no
máximo um marido e que uma
pessoa pode possuir no máximo uma
esposa. Pessoa
1 1
marido esposa
casamento
Relacionamentos 1:n ou n:1
n 1
Aluno Inscrição Curso

1 n
Empregado Possui Dependente

Empregado
1 n
supervisor supervisionado
Supervisão
Cardinalidade mínima
 Outra informação que pode ser
representada por um ER é o número
mínimo de ocorrências de entidade
que são associadas a uma ocorrência
de uma entidade através de um
relacionamento.
 Apenas duas cardinalidades mínimas
são consideradas cardinalidade
mínima 0 e a cardinalidade mínima 1.
Cardinalidade mínima
(0,1) (1,1)
Empregado Alocação Mesa

Cada empregado deve ter a ele alocada


obrigatoriamente uma mesa, e uma
mesa pode existir sem que ela esteja
alocado a um empregado
Entidade Fraca
 Um entidade que não tem atributos
suficientes para formar um
identificador é chamada de entidade
fraca
 Uma entidade fraca possui uma
dependência de existência com
relação ao seu relacionamento
identificador
Entidade Fraca
 Uma entidade fraca não pode ser
identificada sem um entidade
proprietária.
código nome Chave parcial Nome DataNasc

(1,1) (0,n)
Empregado tem Dependente

Entidade Relacionamento
Entidade
proprietária identificador
fraca
Entidade Fraca

(1,1) (0,n)
Prédio possui Apartamento

Relacionamento
código nome endereço identificador número descrição

Chave parcial
Entidade Entidade
proprietária fraca
Especialização
 Em muitos casos, uma entidade
(superclasse) possui vários subgrupos
(subclasses) que são significativos e
precisam ser representados
explicitamente na aplicação de Banco
de Dados.
 Especialização é o processo de
definição de um conjunto de
subclasses de uma entidade
Especialização
 O conjunto de subclasses que forma
uma especialização é definido com
base em alguma característica que
distingue as entidades na subclasse.
 O conjunto de subclasse Secretária,
engenheiro, técnico é uma
especialização de Empregado com
base no tipo de trabalho
Especialização
 Atributos e relacionamentos que se aplicam
apenas a uma entidade da especialização
são chamados, respectivamente, de
atributos específicos e relacionamentos
específicos.
 Cada ocorrência da entidade especializada
possui, além de suas próprias propriedades
(atributos, relacionamentos e
generalização/ especialização), as
propriedades da entidade genérica.
Especialização
nome Generalização
Filial (1,1) (0,n)
Cliente código (superclasse)

Especialização
Pessoa Pessoa (subclasses)
Física Jurídica

CPF sexo CNPJ tipo de


organização
Especialização
 Uma especialização pode ser total ou
parcial.
 Especialização total especifica que
toda instância da entidade na
superclasse deve ser membro de
alguma subclasse.
 Especialização parcial permite que
uma instância da superclasse não
pertença a nenhuma subclasse.
Especialização Total e Parcial
nome endereço nome
Cliente Empregado
código CPF código

T P

Pessoa Pessoa Engenheiro Técnico


Física Jurídica
Secretária
especialização
categoria
CPF sexo CNPJ tipo de
organização editorDeTexto

Total Parcial
Especialização
 Uma especialização deve ser usada
quando sabe-se que as classes
especializadas de entidade possuem
propriedades particulares.
nome
Cliente código

Pessoa Pessoa
Física Jurídica

CPF sexo CNPJ tipo de


organização
Generalização
 É o compartilhamento de atributos
comuns da entidade de nível superior
com as entidades de nível inferior.
Generalização
nome
Cliente
código
Os atributos
nome e código
são
compartilhados
Pessoa Pessoa por pessoa física
Física Jurídica e pessoa jurídica.

CPF sexo CNPJ tipo de


organização
Diferenças entre Especialização e
Generalização
 Generalização é o inverso da
Especialização.
 A especialização enfatiza as diferenças
entre as entidades pertencentes ao
conjunto por meio do estabelecimento das
diferenças expressas nos conjuntos de nível
inferior. Estes conjuntos de entidades de
nível inferior podem possuir atributos, ou
mesmo participar de relacionamentos que
não podem ser aplicados a todas entidades
do conjunto de entidades de nível superior.
Diferenças entre Especialização e
Generalização
 O uso da generalização procede para o
reconhecimento de um número de
conjuntos de entidades que compartilham
características comuns(são descritos pelos
mesmos atributos e participam dos
mesmos conjuntos de relacionamentos).
 A generalização é usada pra enfatizar as
similaridades entre os conjuntos de
entidades de nível inferior, omitindo suas
diferenças; isso permite também uma
representação mais econômica, evitando
repetições de atributos compartilhados.

Você também pode gostar