Escolar Documentos
Profissional Documentos
Cultura Documentos
Curso: Tcnico em Informtica (Integrado) Disciplina: Banco de Dados Prof. Abraho Lopes abrahao.lopes@ifrn.edu.br
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.
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
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
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
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
MySQL Workbench
As ferramentas
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.