Vous êtes sur la page 1sur 49

Modelo Conceitual, Lgico e Fsico,

Entidade-Relacionamento

Modelos de banco de dados


Modelo de banco de dados uma descrio dos tipos de
informaes que esto armazenadas em um banco de
dados.

Por exemplo, pode informar que o banco armazena


informaes sobre produtos e que, para cada produto, so
armazenados seu cdigo, preo e descrio.
O modelo no informa QUAIS produtos esto
armazenados, apenas que tipo de informaes contm.

Modelos de banco de dados


Para construir um modelo de dados, usa-se uma
linguagem de modelagem de dados.

MySQL Workbench
Existem linguagens textuais e linguagens grficas.
possvel descrever os modelos em diferentes nveis
de abstrao e com diferentes objetivos.
Cada descrio recebe o nome de esquema de banco
de dados.

Modelo Conceitual
uma descrio de banco de dados de forma
independente de implementao num sistema de
gerenciamento.
Registra QUE dados podem aparecer no banco, mas
no registra COMO estes dados esto armazenados
no SGBD.

MySQL Workbench
Modelo Conceitual
Exemplo de um modelo conceitual textual:
1) Cadastro de Clientes
Dados necessrios: nome completo, tipo de pessoa (fsica
ou jurdida), endereo, bairro, cidade, estado, telefone,
email, nome de contato.
2) Pedido

Dados necessrios: cdigo do produto, quantidade,


cdigo do cliente, cdigo do vendedor.

Exerccio
Descreva um modelo conceitual para armazenar os
dados de livros.
Resposta (provvel):
Cadastro de Livros: Titulo, subttulo, autor,
editora, nmero de pginas, preo de compra, j foi

MySQL Workbench
lido, ISBN, nmero de pginas, ano de publicao,
nmero da edio...

Modelo Lgico
Compreende uma descrio das estruturas que
sero armazenadas no banco e que resulta numa
representao grfica dos dados de uma maneira
lgica, inclusive nomeando os componentes e aes
que exercem uns sobre os outros.
Exemplo de um modelo lgico

Modelo Lgico
descrio

preo

do
Tipo

Produto

descrio

Tipo de produto

cdigo

cdigo

O modelo lgico tambm pode ser representado


assim:

Modelo Lgico
TipoDeProduto (CodTipoProd, DescrTipoProd)

Produto (CodProd, DescrProd, PrecoProd, CodTipoProd)


CodTipoProd referencia TipoDeProduto

A tcnica de modelagem mais difundida a


abordagem entidade-relacionamento (ER). Nesta
tcnica, um modelo conceitual usualmente

Modelo Lgico
representado atravs de um diagrama, chamado
diagrama entidade-relacionamento (DER).
Por enquanto iremos estudar apenas o modelo
relacional, no qual os dados esto organizados em
forma de tabelas.

Modelo Fsico
uma descrio de um banco de dados no nvel de
abstrao visto pelo usurio do SGBD. Assim, esse
modelo depende do SGBD que est sendo usado.
Aqui so detalhados os componentes da estrutura
fsica do banco, como tabelas, campos, tipos de
valores, ndices, etc.

Modelo Fsico
Nesse estgio estamos prontos para criar o banco de
dados propriamente dito, usando o SGBD preferido.
Exemplo de tabelas em um BD Relacional.
Tipo de produto
Cdigo

Descrio

Computador

Impressora
Produto
Cdigo Descrio

Preo

CdigoDoTipo

Modelo Fsico
10

Desktop

1.200,00

20

Laptop

1.800,0
0

30

Impr. Jato Tinta

300,00

40

Impr. Laser

500,00

Detalhamento de uma tabela


Cadastro de Paciente
Nome do campo

Tipo de Dado

Tamanho do campo

Cdigo do Paciente

Numrico

5 dgitos

Nome do Paciente

Alfanumrico

50 caracteres

Modelo Fsico
Endereo

Alfanumrico

50 caracteres

Bairro

Alfanumrico

40 caracteres

Cidade

Alfanumrico

40 caracteres

Estado

Alfanumrico

2 caracteres

CEP

Alfanumrico

9 caracteres

Data de Nascimento

Data

10 caracteres

Modelo Entidade-Relacionamento
Entidade um objeto ou evento do mundo real
sobre o qual desejamos manter um registro.
Ex.: Aluno, Carro, Produto, Vendedor, etc.

Modelo Entidade-Relacionamento
Atributo uma propriedade ou caracterstica que
descreve uma entidade. Tambm chamado de
campo. Ex.: Atributos da entidade ALUNO: nome,
data de nascimento, telefone, endereo, etc.

Modelo Entidade-Relacionamento

Joo Silva

Homem
28 anos
Vendedor

Pedro Santos

Home
m
53

Modelo Entidade-Relacionamento
anos
Profess
or

Atributo Chave um atributo que deve possuir


um valor nico em todo o conjunto de entidades.
Este atributo usado para identificar unicamente
um registro da tabela.
Ex.: Matrcula, CPF, cdigo, Renavam, Chassi...

Modelo Entidade-Relacionamento
Diferenciamos um atributo chave dos demais
atributos colocando um * (asterisco) antes do nome
do atributo ou sublinhando este.
Representamos uma entidade nos diagramas E-R
atravs de um retngulo.

Modelo Entidade-Relacionamento
preo
Produto

ou

Produto

*cdigo

descrio
preo
descrio

cdigo

Modelo Entidade-Relacionamento
Relacionamentos
No mundo real as entidades nunca esto sozinhas;
normalmente esto associadas entre si.
Reconhecer e registrar as associaes entre
entidades fornece uma descrio muito mais rica
do ambiente.

Modelo Entidade-Relacionamento
Relacionamentos
Relacionamento uma relao entre uma,
duas ou vrias entidades. Geralmente associamos
atravs da ao (verbo) entre as entidades.
Ex.:

Pai possui Filho


Cliente realiza Pedido
Vendedor vende Produto

Modelo Entidade-Relacionamento
Grau do relacionamento a quantidade de
entidades que esto ligadas ao relacionamento.
Relacionamento unrio (grau 1) uma
entidade se relaciona com ela mesma.

Funcionrio

Gerencia

Pessoa

Casamento

Grau do Relacionamento
Relacionamento binrio (grau 2) um
relacionamento que liga dois tipos diferentes de

Grau do Relacionamento
entidades. o mais comum dos tipos de
relacionamentos.

Vendedor

Aluno

Vende

Produto

Cursa

Disciplina

Grau do Relacionamento
Relacionamento ternrio (grau 3) um
relacionamento em que trs entidades esto
interligadas por um mesmo relacionamento.

Cliente

Pedido

Tipo de
Pagamento

Vendedor

Grau do Relacionamento
Outros graus de relacionamentos tambm podem
ser usados (quaternrio, grau 5, etc...).

Cardinalidade
Cardinalidade (mxima) define a quantidade
de ocorrncias de uma entidade que poder estar
associada a outra entidade.
Ex.: Um vendedor pode vender apenas um tipo de
produto? Ou dois? Ou trs?
Um produto pode ser vendido por apenas um
vendedor, ou por todos?

Cardinalidade
Relacionamento binrio Um-para-Um (1:1) Indica que uma ocorrncia da entidade A pode se
relacionar exclusivamente com uma ocorrncia da
entidade B e vice versa.
Ex.: Um vendedor ocupa um nico escritrio e um
escritrio pode ser ocupado por um nico vendedor.

Cardinalidade
Relacionamento binrio Um-para-Muitos
(1:n) uma ocorrncia da entidade A pode se
relacionar com vrias ocorrncias da entidade B,
porm o inverso no permitido.
Ex. Um vendedor atende muitos clientes. Porm,
cada cliente tem um vendedor especfico.

Cardinalidade

Rel. binrio Muitos-para-Muitos (n:m) uma


ocorrncia da entidade A pode se relacionar com
muitas ocorrncias da unidade B e vice versa.
Ex.: Um vendedor atende muitos clientes, e um
cliente pode ser atendido por diversos vendedores.

Cardinalidade
Na prtica, o relacionamento n:m dividido em
duas relaes 1:n e uma nova entidade
criada para representar o relacionamento.

Cardinalidade
Cardinalidade (mnima) define o nmero
mnimo de ocorrncias de entidade que precisam
estar associadas a outra entidade (em carter
obrigatrio).
S consideramos duas cardinalidades mnimas: 0 e
1.
Escreve-se: 0..1 1..1 0..n 1..n 0..* 1..* etc...

Cardinalidade
Ex.: Um vendedor ocupa um nico escritrio, porm
obrigatrio que ele tenha um escritrio. (L-se no mnimo
Um, no mximo Um).
Um escritrio pode ser ocupado por um nico vendedor,
porm pode ser que a sala esteja vazia, ainda sem vendedor.
(L-se no minimo Zero, no mximo Um).
0..1

1..1

Cardinalidade
Formas de representao
Existe uma variedade enorme de representaes
grficas para o modelo entidade relacionamento.
CLSSICO

Cardinalidade

P DE GALINHA

Formas de representao

COLUNAS

Cardinalidade
CONECTADAS

UML

E diversas outras. Escolha a forma que preferir.

Cardinalidade
Ferramenta gratuita para modelagem e
manipulao de bancos de dados MySQL (e
compatveis).

Cardinalidade

MySQL Workbench
Usaremos a ferramenta de modelagem ER para criar
nosso primeiro projeto.
Duplo clique em Add
Diagram para abrir a tela de
edio de diagramas.
As setas na cor cinza abrem
ou fecham outras opes que
no usaremos por enquanto.

MySQL Workbench
O ambiente de modelagem de diagramas.

MySQL Workbench

MySQL Workbench
As ferramentas
SELEOINSERIR

CAMADA / REA

MOVER TELAINSERIR

NOTA DE TEXTO

APAGARINSERIR
IMAGEM

As
ferramentas
REL.

1:1 SEM IDENTIFICAO

MySQL Workbench
NOVA TABELA
REL 1:N SEM IDENTIFICAO
REL 1:1 IDENTIFICADO
NOVA VISO
REL 1:N IDENTIFICADO
GRUPO DE ROTINAS
REL N:M IDENTIFICADO

REL USANDO COLS. EXISTENTES

As ferramentas

MySQL Workbench

Novo, Abrir, Salvar, Salvar Como, Desfazer, Refazer,

Exibir grade, Encaixar na grade


As ferramentas
Busca de objetos (texto), abrir console, ocultar barra

MySQL Workbench

Exerccios
Crie o modelo conceitual para um sistema de
biblioteca com as seguintes entidades: Usurio,
Livro, Autor, Editora.
Crie um modelo lgico para os dados da questo
anterior. Usando o MySQL Workbench.

Referncias
ALVES, W. P. Fundamentos de Bancos de Dados.
rica, 2004
GILLENSON, Mark L. Fundamentos de Sistemas
de Gerncia de Banco de Dados. LTC, 2006.
HEUSER, Carlos Alberto. Projeto de Banco de
Dados. Sagra Luzzatto, 2004.
TEOREY, Toby J. Projeto e modelagem de banco
de dados. Elsevier, 2007.

Vous aimerez peut-être aussi