You are on page 1of 73

IF64A-Banco de Dados 1

pbugatti@utfpr.edu.br

Prof. Dr. Pedro Henrique Bugatti

Aula Anterior
!
Evoluo dos Sistemas de Informao
!
Conceitos Bsicos
!
SGBDs

Roteiro Aula
!
Modelos

Conceito, Utilidade

!
Modelos de Dados
!
Modelagem Conceitual

!
!

Modelo Entidade-Relacionamento - MER


Diagrama Entidade-Relacioamento - DER

Antes, uma pergunta...

Onde fica a UTFPR?

Siga reto nessa rua


mesmo, depois vire
direita no semforo.
Passe um posto de
gasolina, a terceira
rua!
4

Outra pergunta

Quais as foras
que atuam sobre a
estrutura de um
novo modelo de
carro da frmula
1?

Mais uma...

Como ficar a
ocupao urbana
da cidade de So
Paulo
em 2020?

Essa agora...
!
Lus tem dois irmos

!
!

Daqui a quatro anos, o mais novo ter a metade da


idade de Lus
Daqui a oito anos, o mais velho ter o triplo da idade
do mais novo

!
Quantos anos tem Lus e os irmos?

O que essas perguntas possuem em comum?


!
O uso de modelos pode ajudar a respond-las
!

Modelos abstraem detalhes

!
!

Modelos representam conceitos

!
!

Modelos possuem informao til

!
!

Modelos so fceis de compreender

Tnel de
Vento

Foras que atuam


na estrutura

10

11

!
!
!

Idade de Lus hoje = x


Idade do irmo mais novo hoje = y
Idade do irmo mais velho hoje = z
!
Daqui a quatro
anos, o mais
Sistema

12

y+4 = (x+4) / 2
z + 8 = (y + 8) * 3

novo ter a
metade da idade
de Lus

Daqui a oito anos,


o mais velho ter
o triplo da idade
do mais novo

Modelo de Dados
!
Um modelo de dados uma coleo de conceitos

que podem ser usados para representar a


estrutura de um conjunto de dados, seus tipos
de dados, relacionamentos e restries, bem
como para manipular os dados.

13

Modelo de Dados (cont.)


!
Por meio da modelagem o projetista do banco de

dados abstrai os elementos do mundo real e


representa-os de forma organizada e
interrelacionada, para serem depositados no
banco de dados.
!
!

Mecanismo de Abstrao de Dados


14

Modelagem de Dados Trs Reinos

Representao da informao do mundo real


Esconde detalhes de implementao
15

Etapas no Desenvolvimento de um Banco de


Dados
Anlise de problema
(regras do negcio e requisitos)
!
Modelo conceitual
(Modelo Entidade-Relacionamento)
!
Modelo Lgico
(Modelo Relacional)
!
Implementao
(SQL: Definio de dados, funes, atualizaes e
consultas)
16

Modelagem Conceitual
!

Entrada: Requisito de Dados


!
Processo:
!
!

modelagem representao conceitual


modelo conceitual (e.g. MER)

!
Resultado: Esquema Conceitual
!
!
!

17

descrio sucinta (diagramas e texto)


clara, concisa, sem contradies
padronizada

MER Modelo Entidade-Relacionamento


!

!
MER Criado por Peter Chen
!
!

The entity-relationship model: towards a unified


view of data ACM TODS 1976 data , TODS, 1976.

!
!

18

Padro para modelagem conceitual de BD

MER Modelo Entidade-Relacionamento


!

!
Popular
!
!
!

Simplicidade
Expressividade
Intuitivo
representao grfica da informao
!
!

fcil compreenso
Diagrama Entidade Relacionamento (DE-R)

!
!

Representa os dados como entidades,


relacionamentos e atributos

19

MER Entidades
!

Entidades: coisas, objetos, pessoas, etc. do mundo real


que tem uma existncia independente
! objeto com uma existncia fsica: pessoa, carro
! objeto com uma existncia conceitual: empresa, trabalho

!
!

Conjunto de Entidades (CE): agrupa entidades de mesma


natureza
! colees de entidades que tm a mesma estrutura e o
mesmo significado na modelagem
Notao DER
Tipo Entidade

20

Pessoa

Disciplina

Conjunto de Entidades
MER no trata entidades individuais, apenas
Conjuntos de Entidades
!

Notao DER: retngulo

Pessoa

Disciplina

MER Relacionamentos
!

Relacionamentos: associaes entre entidades do mundo


real

!
!
!
!
!

Pessoa

Disciplina

Conjuntos de Relacionamentos (CR): agrupa


relacionamentos entre entidades de mesma natureza
Pessoa

Matricula

Notao DER - Losango


22

Disciplina

Conjunto de Relacionamentos
Notao DER: losango

Matricula

Disciplina

Trabalha

Escola

Pessoa

Conjunto de Relacionamentos
Ex: vrios Conjuntos de Relacionamentos
envolvendo os mesmos Conjuntos de
Entidades
Matricula

Pessoa
Faz Prova

Disciplina

MER Atributos
!

Atributos ! valores que representam


propriedades das entidades e dos
relacionamentos no mundo real

25

atributos de entidades
atributos de relacionamentos

MER Atributos
!
!

Notao DER: elipses ligadas aos Conjuntos


de Entidades

Pessoa
Nome

Matricula

Disciplina
Sigla
Nome

RA

26

Nmero
Crditos

MER Atributos

Ideia: um atributo de um
Conjunto
de
Entidades
descreve todas as entidades do
conjunto
Pergunta: um Conjunto de
Entidades sem atributos tem
significado
para
a
modelagem???
27

MER - Atributos
! Tipos

de atributos

! Simples

vs. Composto

! simples

(atmico): no dividido;
uma nica parte
! composto: dividido em partes;
possui subatributos


Atributo Composto

Pessoa
Nome
RA
Endereo

Composto
Notao
Rua
Nmero
CEP
Cidade

Pessoa
Nome
RA
Endereo

Rua
Nmer
o CEP
Cidade


Atributo Composto

Pessoa
Nome
RA

Pessoa
Notao

Endereo

Nome
EndRua Numero
Apart
CEP
Cidade

Nome
RA
Endereo

EndRua
CEP
Cidade

Nome
Nmer
oApart

MER - Atributos
! Tipos
!

de atributos

Monovalorado vs. Multivalorado


monovalorado: pode assumir um
nico valor para uma entidade ou um
relacionamento
! multivalorado: pode assumir mais de
um valor para uma entidade ou um
relacionamento
!

Atributo Multivalorado

Aluno

Multivalorado

Nome

Nome
N.Ser.Med.
Alergias

Aluno

Notao

N.Ser.Med.
Alergias

MER - Atributos
! Tipos
!

de atributos

Armazenado vs. Derivado


armazenado: atributo da entidade
! derivado: valor pode ser obtido a
partir dos valores de outros atributos
da entidade ou de informao
armazenada em seus relacionamentos
!

Atributo Derivado

Aluno

Derivado

Nome
Data Nascimento
Idade

Aluno
Nome

Notao

Data Nascimento
Idade

Atributo Derivado

Pessoa
RA
Nome

Nro Disciplinas

Matricula

Disciplina
Sigla
Nome
Nmero
Crditos

Restrio de Unicidade Chave


Restrio de Unicidade:
!

Todo conjunto de entidades deve ter


um atributo, ou um conjunto de
atributos, cujo valor identifique
univocamente cada entidade
(instncia) do Conjunto de Entidades

CHAVE

Restrio de Unicidade Chave


Chave:
!

principal (mas no o nico) meio de


consulta a uma entidade
outros possveis atributos
identificadores (outras chaves) podem
ser anotados separadamente, para
efeito de documentao e para o
projeto lgico

Restrio de Unicidade - Chave


Chave Simples:
Notao DER: grifar atributo chave

Pessoa
RA
Nome
CPF

Anotao:
CPF identificador (nico)

Restrio de Unicidade - Chave


Chave Composta:
entidade precisa de um conjunto de
atributos para identificao
a concatenao de todos estes atributos
indica a chave
Notao DER: todos
os atributos da chave
grifados

Sala Aula

Campus
Bloco

Nmero
Capacidade

Atributos
Ex: onde colocar um atributo
NOTA???
Pessoa
Nome
RA

Matricula

Disciplina
Sigla
Nome
Nmero
Crdito
s

Atributos
Ex: onde colocar um atributo NOTA???
Se fosse um atributo de Pessoa, cada
pessoa teria uma nota nica para qualquer
disciplina
Matricula

Pessoa
Nome
RA

Nota

Disciplina
Sigla
Nome
Nmero
Crditos

Atributos
Ex: onde colocar um atributo NOTA???
Se fosse um atributo de Disciplina, todas as
pessoas matriculadas numa disciplina teriam a
mesma nota
Pessoa
Nome
RA

Disciplina

Matricula

Sigla
Nome

Nota

Nmero
Crditos

Atributos de Relacionamentos
Ex: onde colocar um atributo NOTA???

em MATRICULA!!!
Pessoa
Nome
RA

Matricula

Nota

Disciplina
Sigla
Nome
Nmero
Crditos

Atributos de Relacionamentos
Observao: Conjuntos de
Relacionamentos podem existir mesmo
que no tenham atributos prprios
existncia de um CR justificada pela associao entre os
Ces

Relacionamento e Conjuntos de
Relacionamentos

Pessoa

45

Matricula

Disciplina

Recapitulando....
! Modelos: Abstrao do mundo real representada de forma

organizada e inter-relacionada, por meio de conceitos,


relacionamentos e restries.

!
MER
!

Entidades: coisas, objetos, pessoas, etc. do mundo real


que tem uma existncia independente

!
!

Atributos: propriedades particulares que descrevem uma


entidade (ou relacionamento)
!
!
!

Simples x Compostos
Monovalorado x Multivalorado
Armazenado x Calculado

!
!
46

Relacionamentos: associaes entre entidades do mundo


real

Recapitulando....
Multivalorado

Simples
Nome

Pessoa

Pessoa

Rua
Endereo

Nmero

Data
Nascimento

CEP

47

Alergias

Calculado

Composto

Pessoa

Nome

Nome

Idade
Pessoa

Nome

Papis no Relacionamento
!

!
Cada Entidade que participa de um
Relacionamento exerce um PAPEL
!
Indicao opcional
!

Porm, pode facilitar o entendimento da modelagem

!
!

!
Indicao dos papis deve ser feita sempre que
houver ambigidade na interpretao do
relacionamento
48

Papis no Relacionamento
!

!
EXEMPLO

49

Papis no Relacionamento
!

!
Auto-Relacionamento:
!
!

Uma mesma Entidade desempenha mais de uma


papel num mesmo relacionamento

Uma disciplina X pr-requisito para outra


disciplina Y
50

Exerccios

51

Cardinalidade

52

Cardinalidade Um-para-um

53

Cardinalidade Um-para-um
!
EXEMPLO

Ementa

Descreve
Um para Um

54

Disciplina

Cardinalidade Um-para-um

Entidade A
(Ementa)

Ementa1

Banco de Dados

Ementa 2

SO
Estrut. Dados

Ementa 3
Ementa 4

Ementa

55

Entidade B
(Disciplina)

Descreve

Disciplina

Cardinalidade Um-para-muitos

56

Cardinalidade Um-para-muitos
!
EXEMPLO

Professor

Tutora
Um para Muitos

57

Turma

Cardinalidade Um-para-muitos
N15
Joo
Entidade A
(Professor)

C41

Rodrigo

N16

Lus

C30
Entidade B
(Turma)

Professor

58

Tutora

Turma

Cardinalidade Muitos-para-muitos

59

Cardinalidade Muitos-para-muitos
!
EXEMPLO

Pessoa

Matricula

Muitos para Muitos

60

Disciplina

Cardinalidade Muitos-para-muitos
Banco de Dados
Joo
Entidade A
(Pessoa)

SO

Rodrigo

Estrut. Dados

Lus

Redes
Entidade B
(Disciplina)

Pessoa

61

Disciplina

Cardinalidade

gerente

Trabalha
para

Empregado
N

subordinado

62

Cardinalidade Relacionamento Ternrio

63

Conjuntos de
Relacionamentos - Grau
Pessoa

Matricula

Disciplina

Binrio
Cidade

Distribuio

Produto

Distribuidor
64

Ternrio

Relacionamento Ternrio
Determinando Cardinalidade...
A cada par (produto, distribuidor) podem
estar associadas muitas cidades

Cidade

Distribuio

?
Distribuidor
65

Produto

Relacionamento Ternrio
Determinando Cardinalidade...
A cada par (cidade, distribuidor) podem
estar associados muitos produtos

Cidade

Distribuio

?
Distribuidor
66

Produto

Relacionamento Ternrio
Determinando Cardinalidade...
A cada par (cidade, produto) pode estar
associado apenas um distribuidor

Cidade

Distribuio

Distribuidor
67

Produto

Relacionamento Ternrio
Cardinalidade

Cardinalidades possveis para Ternrios:


!

1:1:1
1:1:N
1:N:M
N:M:Z

Cidade

Distribuio

Distribuidor
68

Produto

Exemplo
!
!

Em uma construtora, um engenheiro pode gerenciar vrios


projetos,
sendo
que
cada
projeto

gerenciado
obrigatoriamente por um nico engenheiro. Um funcionrio
pode trabalhar em vrios projetos ao mesmo tempo.
Engenheiro

Gerencia

Projeto

M
Trabalha

Z
Funcionrio
69

Exerccios

Digite para introduzir texto


70

Exerccio Base de Dados de alunos de uma universidade


Um aluno ingressa na universidade para cursar
apenas um curso. Dados pessoais do aluno, como
nome, endereo e CPF so armazenados. Alm
disso, cada aluno recebe na universidade um
nmero nico. Os cursos tm nome e cdigo
(nico). Os alunos se matriculam em disciplinas, das
quais sabe-se sigla, nome, nmero de crditos e
livros recomendados. As disciplinas so ministradas
por professores, sendo que uma disciplina pode ter
apenas um professor. Para cada disciplina que
ministra, o professor pode adotar um mtodo de
ensino especfico. Cada professor vinculado a
uma rea de pesquisa, e possui uma sala onde
realiza seu trabalho. As salas comportam um
professor apenas, e so localizadas de acordo com
um nmero, o campus e o bloco onde esto. Alm
disso, a universidade possui um programa de
auxlio em que um aluno pode ser adotado por
um (e somente um) estudante veterano, mas o
veterano pode adotar vrios alunos.

Referncias
!

!
ELMASRI, Ramez; NAVATHE, Shamkant B.
Sistemas de banco de dados. 4. ed. So Paulo:
Pearson Addison Wesley, 2005.
!
Sousa, E. P. M. Notas de aula SCC240. ICMCUSP.

72

IF64A-Banco de Dados 1

pbugatti@utfpr.edu.br

Prof. Dr. Pedro Henrique Bugatti

You might also like