You are on page 1of 41

AULA 11-12

Modelo Conceitual, Lgico e Fsico,


Entidade-Relacionamento

Curso: Tcnico em Informtica (Integrado)


Disciplina: Banco de Dados
Prof. Abraho Lopes
abrahao.lopes@ifrn.edu.br
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.

 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.
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 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.
Modelo Lgico

 Exemplo de um modelo lgico

preo descrio

Produto
do Tipo de produto
Tipo

descrio cdigo

cdigo
Modelo Lgico

 O modelo lgico tambm pode ser representado


assim:

TipoDeProduto (CodTipoProd, DescrTipoProd)

Produto (CodProd, DescrProd, PrecoProd, CodTipoProd)


CodTipoProd referencia TipoDeProduto
Modelo Lgico

 A tcnica de modelagem mais difundida a


abordagem entidade-relacionamento (ER). Nesta
tcnica, um modelo conceitual usualmente
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.

 Nesse estgio estamos prontos para criar o banco de


dados propriamente dito, usando o SGBD preferido.
Modelo Fsico

 Exemplo de tabelas em um BD Relacional.


Tipo de produto
Cdigo Descrio
1 Computador
2 Impressora
Produto

Cdigo Descrio Preo CdigoDoTipo


10 Desktop 1.200,00 1
20 Laptop 1.800,00 1
30 Impr. Jato Tinta 300,00 2
40 Impr. Laser 500,00 2
Modelo Fsico

 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
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.

Joo Silva Pedro Santos


Homem Homem
28 anos 53 anos
Vendedor Professor
Modelo Entidade-Relacionamento

 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...

 Diferenciamos um atributo chave dos demais


atributos colocando um * (asterisco) antes do nome
do atributo ou sublinhando este.
Modelo Entidade-Relacionamento

 Representamos uma entidade nos diagramas E-R


atravs de um retngulo.

preo
Produto

ou *cdigo
Produto descrio
preo

descrio

cdigo
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.
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
Grau do 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
entidades. o mais comum dos tipos de
relacionamentos.

Vendedor Vende Produto

Aluno Cursa Disciplina


Grau do Relacionamento

 Relacionamento ternrio (grau 3) um


relacionamento em que trs entidades esto
interligadas por um mesmo relacionamento.

Cliente Pedido Vendedor

Tipo de
Pagamento
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.

1 n
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.

n n
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
Formas de representao

 Existe uma variedade enorme de representaes


grficas para o modelo entidade relacionamento.

CLSSICO

P DE GALINHA
Formas de representao

COLUNAS
CONECTADAS

UML

 E diversas outras. Escolha a forma que preferir.


MySQL Workbench

 Ferramenta gratuita para modelagem e manipulao


de bancos de dados MySQL (e compatveis).
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

 As ferramentas

SELEO INSERIR CAMADA / REA

MOVER TELA INSERIR NOTA DE TEXTO

APAGAR INSERIR IMAGEM


MySQL Workbench

 As ferramentas
REL. 1:1 SEM IDENTIFICAO
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


MySQL Workbench

 As ferramentas

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

 Exibir grade, Encaixar na grade


MySQL Workbench

 As ferramentas
Busca de objetos (texto), abrir console, ocultar barra
lateral
 Visualizao/
navegao (mova o
quadro)

 Zoom
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.

You might also like