Você está na página 1de 47

MODELO E-R (cont.

) E
MODELO RELACIONAL
Professor Victor Sotero

Banco de Dados

PARTICIPAO TOTAL
Uma entidade tem participao total em um relacionamento quando
todos os indivduos participam desse relacionamento.
Ex.: EMPREGADO e DEPARTAMENTO tm participao total no
relacionamento TRABALHA_PARA.
TRABALHA_PARA
EMPREGADO

r1

e1
e2
e3
e4
e5

r2

DEPARTAMENTO

r3

d1

r4

d2

r5

d3
...

...

...

Banco de Dados

PARTICIPAO PARCIAL
Uma entidade tem participao parcial em um relacionamento quando
nem todos os indivduos participam desse relacionamento.
Ex.: EMPREGADO tem participao parcial no relacionamento GERENCIA.
No entanto, DEPARTAMENTO tem participao total.
EMPREGADO

e1
e2
e3

r1
r2
r3
...

e4

GERENCIA

d1
d2
d3
...

e5

DEPARTAMENTO

...
Banco de Dados

PARTICIPAO NO DIAGRAMA E-R

Banco de Dados

MODELO E-R (cont.)


ESPECIALIZAO
Ocorre quando uma entidade tem subgrupos que precisam ser
representados.
Ex.: A entidade EMPREGADO pode ter os subgrupos ENGENHEIRO,
TECNICO e GERENTE.
Alm disso, o empregado pode ser:
HORISTA (recebe por hora de trabalho, sem vnculo com a
empresa)
ou ASSALARIADO (recebe mensalmente, com carteira assinada).
Note que todos esses subgrupos so empregados, mas tm suas
particularidades.
Banco de Dados

MODELO E-R (cont.)


No Modelo ER:
cada subgrupo chamado de subclasse,
e a entidade principal chamada de superclasse.
O relacionamento entre superclasse e subclasse indicado
por um sinal de est contido :
o mesmo sinal usado em Matemtica para indicar que
um conjunto est contido em outro:

Banco de Dados

EXEMPLO DE ESPECIALIZAO

Ex.: Uma entidade CARRO (subclasse) tambm


faz parte de VEICULO (superclasse).
Banco de Dados

ESPECIALIZAO TOTAL E PARCIAL

Especializao total:
Toda entidade da superclasse deve pertencer a alguma subclasse.
Banco de Dados

ESPECIALIZAO TOTAL E PARCIAL

Especializao parcial:
Nem toda entidade da superclasse precisa pertencer a alguma
subclasse.
Banco de Dados

DISJUNO E OVERLAP

Disjuno:
Indivduo de uma subclasse no pode pertencer a outra.
Banco de Dados

10

DISJUNO E OVERLAP

Sobreposio (overlap):
Indivduo de uma subclasse pode pertencer a outra.

Banco de Dados

11

HERANA DE ATRIBUTOS

Uma subclasse herda todos os atributos da superclasse, mas


tambm pode ter seus atributos especficos.
Ex.: A entidade CARRO tem os 3 atributos gerais e seus 2
atributos especficos.
Banco de Dados

12

QUANDO CRIAR UMA


ESPECIALIZAO?
Em geral, ocorre pelos seguintes motivos:
necessidade de ter atributos especficos para cada subgrupo;
Ex.: A informao Tipo de Engenheiro (eletrnico, mecnico, civil,
etc.) s faz sentido para o subgrupo ENGENHEIRO, e no para toda
a entidade EMPREGADO.
necessidade de ter relacionamentos que envolvem apenas um
subgrupo, e no a entidade toda.
Ex.: Um relacionamento de gerncia de projeto s faz sentido para
o subgrupo GERENTE, e no para toda a entidade EMPREGADO.
Banco de Dados

13

CATEGORIAS
Nos casos vistos at agora, uma nica superclasse d origem a algumas
subclasses.
Em alguns casos, algumas superclasses do origem a uma nica subclasse.
Ex.: Entidades PESSOA, BANCO e EMPRESA, que, vez por outra, podem
ter o papel de proprietrio de um veculo.
Nesse caso, usa-se uma categoria.
indicada no diagrama como um subconjunto da unio das entidades
originais.
As entidades so agrupadas em uma unio, e a categoria um
subconjunto dessa unio.

Banco de Dados

14

Exemplo de Categoria

Unio
Categoria

Um PROPRIETARIO de veculo pode ser uma PESSOA, um BANCO ou uma


EMPRESA.
Uma nica subclasse se origina de vrias superclasses.
Banco de Dados

15

HERANA EM UMA CATEGORIA

Note que o conceito de herana um pouco diferente:


Um PROPRIETARIO s herda os atributos de PESSOA, BANCO ou EMPRESA,
dependendo do caso.
Banco de Dados

16

CATEGORIA COM ATRIBUTO


Uma categoria pode ter
atributo prprio:
Ex.: Quando CARRO ou
CAMINHAO for
VEICULO_REGISTRADO, ter
uma placa de licena.
Ser um atributo comum
para qualquer caso.
Os demais atributos vo
depender de ser CARRO ou
CAMINHAO.

Banco de Dados

17

Especializao ou Categoria

A escolha subjetiva, no entanto recomendvel:


usar especializao quando h muitos atributos em comum;
usar categoria em caso contrrio.

Banco de Dados

18

MODELO RELACIONAL

Banco de Dados

19

MODELO RELACIONAL
Aps concluir o projeto conceitual do banco (diagrama ER), feito o
projeto lgico.
Para esse fim, o modelo mais usado o Modelo Relacional.
O processo de transformar o Modelo ER no Modelo Relacional
conhecido como mapeamento.
Enquanto o Modelo ER trabalha com conceitos mais abstratos
(entidades e relacionamentos),
o Modelo Relacional trabalha com conceitos mais concretos (tabelas).
Nesta aula, veremos os passos para realizar esse mapeamento.

Banco de Dados

20

MODELO RELACIONAL
Conceito
O modelo relacional representa os dados
num BD como uma coleo de tabelas
(relaes). Cada tabela ter um nome, que
ser nico, e um conjunto de atributos com
seus respectivos nomes e domnios.

Banco de Dados

21

TERMINOLOGIAS
Profissional
Tabela
Linha
Coluna
Valor do Campo

Acadmica
Relao
Tupla
Atributo
Valor do atributo

Banco de Dados

22

EXEMPLO DE UMA TABELA


NOME DA TABELA
ATRIBUTOS

TUPLAS

VALORES

Banco de Dados

Obs.: no Banco de Dados


Relacional tabela tambm
chamada de Relao
23

EXEMPLOS
Nome da
relao (ou
tabela)
EMPREGADO

Tuplas
(ou linhas)

Atributos
(ou colunas)
CDIGO
578
23
149
84

NOME
Ana Barbosa
Joo Silva
Maria Santos
Pedro Gomes

Banco de Dados

IDADE TELEFONE
25
4003-3131
47
null
31
3391-6271
29
null

24

ORDENAO DE TUPLAS
Matematicamente, os elementos de um
subconjunto no tem ordem entre eles,
portanto as tuplas em uma relao(tabela)
no tem qualquer ordem particular.

Banco de Dados

25

CHAVES CANDIDATAS E PRIMRIAS


Uma chave um atributo cujo valor diferente para cada
linha.
Serve para identificar (diferenciar) as linhas.
Uma tabela pode ter mais de uma chave.
Nesse caso, cada uma chamada de chave candidata.
Entre essas chaves candidatas, escolhemos uma para ser a
chave primria da tabela.
a principal identificadora da tabela.

Banco de Dados

26

Escolha da Chave Primria

Entre as chaves candidatas, escolhe-se a chave primria.


Obs.: Uma chave candidata no pode ter valores nulos.
No h regra para essa escolha (depende de cada projeto).
Em geral, escolhe-se a mais simples para o funcionamento do
sistema.
Banco de Dados

27

Chave Composta

Uma chave pode ser formada pela combinao de alguns atributos.


Recebe o nome de chave composta.
Nesse caso, cada atributo separado pode conter repeties, mas a
combinao dos atributos nunca se repetir.
Banco de Dados

28

Chave Estrangeira
Uma chave estrangeira um atributo cujos valores fazem parte da
chave primria de outra tabela.
EMPREGADO
MATR
NOME
NUM_DEPT
578
Ana Barbosa
3
23
Joo Silva
1
149
Maria Santos
84
Pedro Gomes
2
Chave primria
Chave primria

Chave
estrangeira

DEPARTAMENTO
NUM
NOME
1
Recursos Humanos
2
Informtica
3
Financeiro
Banco de Dados

29

MAPEAMENTO
A partir de um diagrama ER, realizamos o mapeamento para
obter um esquema relacional (tabelas).
O mapeamento feito em uma seqncia de passos.
Em cada passo, convertemos cada tipo de estrutura do
diagrama ER para tabelas do esquema relacional.
Cada um dos passos ser visto a seguir.
Banco de Dados

30

PASSO 1: ENTIDADE REGULARES

Passo 1: Entidades regulares (normais)


Cada entidade do diagrama ER se torna uma tabela.
Os atributos simples se tornam colunas da tabela.

Alguns atributos podem ter uma


relao entre si. Por
exemplo, idade e datanascimento de uma pessoa. Para
uma pessoa em particular,
podemos determinar o valor
atual de idade atravs do
atributo data-nascimento.
Ento idade chamado um
atributo derivado e derivado
do atributo data-nascimento.

Se houver atributo composto, suas partes se tornam colunas da tabela.


Se houver atributo derivado, no convertido para a tabela, pois ser
calculado pela aplicao (no fica armazenado no banco).
Por enquanto, devemos ignorar os atributos multivalorados.
Devemos escolher um dos atributos chave para ser a chave primria da
tabela.
Banco de Dados

31

PASSO 1: ENTIDADES REGULARES


Apt

Num

Bairro
Cidade

Rua

Endereco

Matricula

Estado

Num

DataNasc
Idade

Nome

EMPREGADO

Sexo

Localizacoes

Nome
TRABALHA_PARA

DEPARTAMENTO

GERENCIA

Nome

Num

Horas
N
1

SUPERVISO

PARTICIPA

PROJETO

Banco de Dados

32

PASSO 1: ENTIDADES REGULARES

Banco de Dados

33

PASSO 1: ENTIDADES REGULARES

Banco de Dados

34

PASSO 2: RELACIONAMENTOS 1:1


Passo 2: Relacionamentos 1:1
Escolhemos uma das tabelas para acrescentar uma chave
estrangeira, apontando para a chave primria da outra tabela.
Recomendao: Dar preferncia entidade que tiver
participao total no relacionamento (se houver).
Porque essa tabela sempre ter a chave estrangeira
preenchida.
Acrescentamos, nessa mesma tabela escolhida, os atributos do
relacionamento (se houver).
Banco de Dados

35

PASSO 2: RELACIONAMENTOS 1:1

Banco de Dados

36

PASSO 2: RELACIONAMENTOS 1:1

Banco de Dados

37

PASSO 3: RELACIONAMENTOS 1:N


Passo 3: Relacionamentos 1:N
Na tabela do lado N, acrescentar uma chave estrangeira
apontando para a chave primria da outra tabela.
Porque, no lado N, cada indivduo se liga a apenas um
indivduo do lado 1.
Acrescentamos, na mesma tabela, os atributos do
relacionamento (se houver).
Banco de Dados

38

PASSO 3: RELACIONAMENTOS 1:N

Banco de Dados

39

PASSO 3: RELACIONAMENTOS 1:N

Banco de Dados

40

PASSO 4: RELACIONAMENTOS N:N


Passo 4: Relacionamentos N:N
Criamos uma nova tabela, que tem duas chaves
estrangeiras, cada uma apontando para as chaves
primrias das tabelas originais.
A composio dessas chaves estrangeiras forma a chave
primria da nova tabela.
Acrescentamos, na nova tabela, os atributos do
relacionamento (se houver).
Banco de Dados

41

PASSO 4: RELACIONAMENTOS N:N

Banco de Dados

42

PASSO 4: RELACIONAMENTOS N:N

Banco de Dados

43

PASSO 5: ATRIBUTO MULTIVALORADO


Passo 5: Atributos Multivalorados
Criamos uma nova tabela, contendo:
uma coluna que guardar o atributo multivalorado;
e uma chave estrangeira que aponta para a chave
primria da tabela original.
A composio da coluna do atributo multivalorado com a
chave estrangeira forma a chave primria da nova tabela.
Banco de Dados

44

PASSO 5: ATRIBUTO MULTIVALORADO

Banco de Dados

45

PASSO 5: ATRIBUTO MULTIVALORADO

Banco de Dados

46

EXERCCIO

Banco de Dados

47

Você também pode gostar