08 modelo conceitual_fisico_logico_er
DESCRIPTION
TRANSCRIPT
![Page 1: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/1.jpg)
AULA 11-12Modelo Conceitual, Lógico e Físico, Modelo Conceitual, Lógico e Físico,
Entidade-Relacionamento
Curso: Técnico em Informática (Integrado)Disciplina: Banco de Dados
Prof. Abrahão [email protected]
![Page 2: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/2.jpg)
Modelos de banco de dados
� Modelo de banco de dados é uma descrição dos tipos de informações que estão armazenadas em um banco de dados.
� Por exemplo, pode informar que o banco armazena � Por exemplo, pode informar que o banco armazena informações sobre produtos e que, para cada produto, são armazenados seu código, preço e descrição.
� O modelo não informa QUAIS produtos estão armazenados, apenas que tipo de informações contém.
![Page 3: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/3.jpg)
Modelos de banco de dados
� Para construir um modelo de dados, usa-se uma linguagem de modelagem de dados.
� Existem linguagens textuais e linguagens gráficas.
� É possível descrever os modelos em diferentes níveis de abstração e com diferentes objetivos.
� Cada descrição recebe o nome de esquema de banco de dados.
![Page 4: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/4.jpg)
Modelo Conceitual
� É uma descrição de banco de dados de forma independente de implementação num sistema de gerenciamento.
Registra QUE dados podem aparecer no banco, mas � Registra QUE dados podem aparecer no banco, mas não registra COMO estes dados estão armazenados no SGBD.
![Page 5: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/5.jpg)
Modelo Conceitual
� Exemplo de um modelo conceitual textual:
1) Cadastro de Clientes
Dados necessários: nome completo, tipo de pessoa (física ou jurídida), endereço, bairro, cidade, estado, telefone, ou jurídida), endereço, bairro, cidade, estado, telefone, email, nome de contato.
2) Pedido
Dados necessários: código do produto, quantidade, código do cliente, código do vendedor.
![Page 6: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/6.jpg)
Exercício
� Descreva um modelo conceitual para armazenar os dados de livros.
Resposta (provável):
Cadastro de Livros: Titulo, subtítulo, autor, editora, número de páginas, preço de compra, já foi lido, ISBN, número de páginas, ano de publicação, número da edição...
![Page 7: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/7.jpg)
Modelo Lógico
� Compreende uma descrição das estruturas que serão armazenadas no banco e que resulta numa representação gráfica dos dados de uma maneira lógica, inclusive nomeando os componentes e ações que exercem uns sobre os outros.que exercem uns sobre os outros.
![Page 8: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/8.jpg)
Modelo Lógico
� Exemplo de um modelo lógico
preço descrição
Produto Tipo de produtoÉ do Tipo
descrição
código
código
![Page 9: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/9.jpg)
Modelo Lógico
� O modelo lógico também pode ser representado assim:
TipoDeProduto (CodTipoProd, DescrTipoProd)
Produto (CodProd, DescrProd, PrecoProd, CodTipoProd)
CodTipoProd referencia TipoDeProduto
![Page 10: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/10.jpg)
Modelo Lógico
� A técnica de modelagem mais difundida é a abordagem entidade-relacionamento (ER). Nesta técnica, um modelo conceitual é usualmente representado através de um diagrama, chamado diagrama entidade-relacionamento (DER).diagrama entidade-relacionamento (DER).
� Por enquanto iremos estudar apenas o modelo relacional, no qual os dados estão organizados em forma de tabelas.
![Page 11: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/11.jpg)
Modelo Físico
� É uma descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. Assim, esse modelo depende do SGBD que está sendo usado.
Aqui são detalhados os componentes da estrutura � Aqui são detalhados os componentes da estrutura física do banco, como tabelas, campos, tipos de valores, índices, etc.
� Nesse estágio estamos prontos para criar o banco de dados propriamente dito, usando o SGBD preferido.
![Page 12: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/12.jpg)
Modelo Físico
� Exemplo de tabelas em um BD Relacional.
Código Descrição
1 Computador
2 Impressora
Tipo de produto
2 Impressora
Produto
Código Descrição Preço CódigoDoTipo
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
![Page 13: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/13.jpg)
Modelo Físico
� Detalhamento de uma tabela
Nome do campo Tipo de Dado Tamanho do campo
Código do Paciente Numérico 5 dígitos
Cadastro de Paciente
Nome do Paciente Alfanumérico 50 caracteres
Endereço Alfanumérico 50 caracteres
Bairro Alfanumérico 40 caracteres
Cidade Alfanumérico 40 caracteres
Estado Alfanumérico 2 caracteres
CEP Alfanumérico 9 caracteres
Data de Nascimento Data 10 caracteres
![Page 14: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/14.jpg)
Modelo Entidade-Relacionamento
� Entidade – é um objeto ou evento do mundo real sobre o qual desejamos manter um registro. Ex.: Aluno, Carro, Produto, Vendedor, etc.
![Page 15: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/15.jpg)
Modelo Entidade-Relacionamento
� Atributo – é uma propriedade ou característica que descreve uma entidade. Também é chamado de campo. Ex.: Atributos da entidade ALUNO: nome, data de nascimento, telefone, endereço, etc.
•João Silva
•Homem
•28 anos
•Vendedor
•Pedro Santos
•Homem
•53 anos
•Professor
![Page 16: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/16.jpg)
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.: Matrícula, CPF, código, Renavam, Chassi...
� Diferenciamos um atributo chave dos demais atributos colocando um * (asterisco) antes do nome do atributo ou sublinhando este.
![Page 17: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/17.jpg)
Modelo Entidade-Relacionamento
� Representamos uma entidade nos diagramas E-R através de um retângulo.
ouProduto
preço
ou *código
descrição
preçoProduto
descrição
código
![Page 18: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/18.jpg)
Relacionamentos
� No mundo real as entidades nunca estão sozinhas; normalmente estão associadas entre si.
� Reconhecer e registrar as associações entre entidades fornece uma descrição muito mais rica do ambiente.fornece uma descrição muito mais rica do ambiente.
![Page 19: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/19.jpg)
Relacionamentos
� Relacionamento – é uma relação entre uma, duas ou várias entidades. Geralmente associamos através da ação (verbo) entre as entidades.
Ex.: Pai – possui – FilhoEx.: Pai – possui – FilhoCliente – realiza – PedidoVendedor – vende – Produto
![Page 20: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/20.jpg)
Grau do Relacionamento
� Grau do relacionamento – é a quantidade de entidades que estão ligadas ao relacionamento.
� Relacionamento unário (grau 1) – uma entidade se relaciona com ela mesma.se relaciona com ela mesma.
Funcionário Gerencia Pessoa Casamento
![Page 21: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/21.jpg)
Grau do Relacionamento
� Relacionamento binário (grau 2) – é um relacionamento que liga dois tipos diferentes de entidades. É o mais comum dos tipos de relacionamentos.
Vendedor ProdutoVende
Aluno DisciplinaCursa
![Page 22: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/22.jpg)
Grau do Relacionamento
� Relacionamento ternário (grau 3) – é um relacionamento em que três entidades estão interligadas por um mesmo relacionamento.
Cliente VendedorPedido
Tipo de Pagamento
![Page 23: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/23.jpg)
Grau do Relacionamento
� Outros graus de relacionamentos também podem ser usados (quaternário, grau 5, etc...).
![Page 24: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/24.jpg)
Cardinalidade
� Cardinalidade (máxima) – define a quantidade de ocorrências 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 três?
� Um produto pode ser vendido por apenas um vendedor, ou por todos?
![Page 25: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/25.jpg)
Cardinalidade
� Relacionamento binário Um-para-Um (1:1) -Indica que uma ocorrência da entidade A pode se relacionar exclusivamente com uma ocorrência da entidade B e vice versa.
� Ex.: Um vendedor ocupa um único escritório e um escritório pode ser ocupado por um único vendedor.
![Page 26: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/26.jpg)
Cardinalidade
� Relacionamento binário Um-para-Muitos(1:n) – uma ocorrência da entidade A pode se relacionar com várias ocorrências da entidade B, porém o inverso não é permitido.
� Ex. Um vendedor atende muitos clientes. Porém, cada cliente tem um vendedor específico.
n1
![Page 27: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/27.jpg)
Cardinalidade
� Rel. binário Muitos-para-Muitos (n:m) – uma ocorrência da entidade A pode se relacionar com muitas ocorrências 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.
![Page 28: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/28.jpg)
Cardinalidade
� Na prática, o relacionamento n:m é dividido em duas relações 1:n e uma nova entidade é criada para representar o relacionamento.
nn
![Page 29: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/29.jpg)
Cardinalidade
� Cardinalidade (mínima) – define o número mínimo de ocorrências de entidade que precisam estar associadas a outra entidade (em caráter obrigatório).
� Só consideramos duas cardinalidades mínimas: 0 e 1.
� Escreve-se: 0..1 1..1 0..n 1..n 0..* 1..* etc...
![Page 30: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/30.jpg)
Cardinalidade
� Ex.: Um vendedor ocupa um único escritório, porém é obrigatório que ele tenha um escritório. (Lê-se no mínimo Um, no máximo Um).
� Um escritório pode ser ocupado por um único vendedor, � Um escritório pode ser ocupado por um único vendedor, porém pode ser que a sala esteja vazia, ainda sem vendedor. (Lê-se no minimo Zero, no máximo Um).
0..1 1..1
![Page 31: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/31.jpg)
Formas de representação
� Existe uma variedade enorme de representações gráficas para o modelo entidade relacionamento.
CLÁSSICO
PÉ DE GALINHA
![Page 32: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/32.jpg)
Formas de representação
COLUNASCONECTADAS
� E diversas outras. Escolha a forma que preferir.
UML
![Page 33: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/33.jpg)
MySQLWorkbench
� Ferramenta gratuita para modelagem e manipulação de bancos de dados MySQL (e compatíveis).
![Page 34: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/34.jpg)
MySQLWorkbench
� Usaremos a ferramenta de modelagem ER para criar nosso primeiro projeto.
� Duplo clique em Add Diagrampara abrir a tela de edição depara abrir a tela de edição dediagramas.
� As setas na cor cinza abremou fecham outras opções quenão usaremos por enquanto.
![Page 35: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/35.jpg)
MySQLWorkbench
� O ambiente de modelagem de diagramas.
![Page 36: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/36.jpg)
MySQLWorkbench
� As ferramentas
SELEÇÃO INSERIR CAMADA / ÁREA
MOVER TELA
APAGAR
INSERIR NOTA DE TEXTO
INSERIR IMAGEM
![Page 37: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/37.jpg)
MySQLWorkbench
� As ferramentas
NOVA TABELA
REL. 1:1 SEM IDENTIFICAÇÃO
REL 1:N SEM IDENTIFICAÇÃO
REL 1:1 IDENTIFICADONOVA VISÃO
GRUPO DE ROTINAS
REL 1:1 IDENTIFICADO
REL 1:N IDENTIFICADO
REL N:M IDENTIFICADO
REL USANDO COLS. EXISTENTES
![Page 38: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/38.jpg)
MySQLWorkbench
� As ferramentas
� Novo, Abrir, Salvar, Salvar Como, Desfazer, Refazer, � Novo, Abrir, Salvar, Salvar Como, Desfazer, Refazer,
� Exibir grade, Encaixar na grade
![Page 39: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/39.jpg)
MySQLWorkbench
� As ferramentas
Busca de objetos (texto), abrir console, ocultar barra lateral
� Visualização/ navegação (mova o navegação (mova o quadro)
� Zoom
![Page 40: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/40.jpg)
Exercícios
� Crie o modelo conceitual para um sistema de biblioteca com as seguintes entidades: Usuário, Livro, Autor, Editora.
Crie um modelo lógico para os dados da questão � Crie um modelo lógico para os dados da questão anterior. Usando o MySQLWorkbench.
![Page 41: 08 modelo conceitual_fisico_logico_er](https://reader034.vdocuments.com.br/reader034/viewer/2022051514/54c2fb2c4a7959ec0f8b46d6/html5/thumbnails/41.jpg)
Referências
� ALVES, W. P. Fundamentos de Bancos de Dados. Érica, 2004
� GILLENSON, Mark L. Fundamentos de Sistemas de Gerência 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.