Você está na página 1de 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
descrio

preo

Produto

do Tipo

Tipo de produto

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 1 2 Descrio Computador Impressora Produto Cdigo Descrio 10 20 30 40 Desktop Laptop Impr. Jato Tinta Impr. Laser Preo 1.200,00 1.800,00 300,00 500,00 CdigoDoTipo 1 1 2 2

Modelo Fsico
Detalhamento de uma tabela
Cadastro de Paciente Nome do campo Cdigo do Paciente Nome do Paciente Endereo Bairro Cidade Estado CEP Data de Nascimento Tipo de Dado Numrico Alfanumrico Alfanumrico Alfanumrico Alfanumrico Alfanumrico Alfanumrico Data Tamanho do campo 5 dgitos 50 caracteres 50 caracteres 40 caracteres 40 caracteres 2 caracteres 9 caracteres 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.
preo Produto

ou
Produto

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

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.