Académique Documents
Professionnel Documents
Culture Documents
Entidade-Relacionamento
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
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
Modelo Lgico
TipoDeProduto (CodTipoProd, DescrTipoProd)
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
300,00
40
Impr. Laser
500,00
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
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.:
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
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
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.
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
As ferramentas
MySQL Workbench
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.