Você está na página 1de 41

AULA 11-12

Modelo Conceitual, Lgico e Fsico, 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 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 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, 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. que exercem uns sobre os outros.
Modelo Lgico
Exemplo de um modelo lgico
preo
descrio
Produto
Tipo de produto
do
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). 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 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.
Cdigo Descrio
1 Computador
2 Impressora
Tipo de produto
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
Nome do campo Tipo de Dado Tamanho do campo
Cdigo do Paciente Numrico 5 dgitos
Cadastro de Paciente
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
Homem
28 anos
Vendedor
Pedro Santos
Homem
53 anos
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.
ou
Produto
preo
ou
*cdigo
descrio
preo
Produto
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. 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 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. 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
Produto
Vende
Aluno
Disciplina
Cursa
Grau do Relacionamento
Relacionamento ternrio (grau 3) um
relacionamento em que trs entidades esto
interligadas por um mesmo relacionamento.
Cliente Vendedor Pedido
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 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.
n 1
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 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, 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
E diversas outras. Escolha a forma que preferir.
UML
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 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
APAGAR
INSERIR NOTA DE TEXTO
INSERIR IMAGEM
MySQL Workbench
As ferramentas
NOVA TABELA
REL. 1:1 SEM IDENTIFICAO
REL 1:N SEM IDENTIFICAO
REL 1:1 IDENTIFICADO
NOVA VISO
GRUPO DE ROTINAS
REL 1:1 IDENTIFICADO
REL 1:N IDENTIFICADO
REL N:M IDENTIFICADO
REL USANDO COLS. EXISTENTES
MySQL Workbench
As ferramentas
Novo, Abrir, Salvar, Salvar Como, Desfazer, Refazer, 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 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 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.

Você também pode gostar