BANCO DE DADOS
P R O G R A M A Ç Ã O C O M A C E S S O
JOELDSON COSTA DAMASCENO
Joeldson.damasceno@ifrn.edu.brModelo E-R
Projetando um Banco de Dados
OBJETIVOS
• O modelo E-R
• Normalização de uma tabela
• O que é o modelo E-R?
• Como analisar um modelo E-R
– 1º Caso: Relacionamento um-para-um
– 2º Caso: Relacionamento um-para-muitos
– 3º Caso: Relacionamento muitos-para-muitos
– Questões
Projetando um Banco de Dados
OBJETIVOS
• Normalizado uma tabela
– Questões
• Passos para projetar um Banco de Dados
• Resumo
E - R
Usaremos um modelo de análise chamado...
MODELO E - R
MODELO E - R
No modelo E-R, analisa-se o mundo real utilizando-se os conceitos de
entidade e relacionamento.
Modelos de Banco de Dados
É uma descrição dos tipos de informações que estão armazenadas em um banco de dados.
• Para construir um modelo de dados usa-se uma linguagem de modelagem de dados;
• A linguagem de modelagem pode ser textual ou gráfica;
• Existem linguagens de modelagem para descrever modelos de dados em diferentes níveis de
abstração e objetivos;
• Cada representação de um modelo de dados recebe a denominação de esquema de banco de
dados;
• Para um projeto de banco de dados, normalmente são considerados dois níveis de abstração de
modelos de dados;
– Modelo conceitual; e
– Modelo lógico.
Modelo Conceitual
É uma descrição do banco de dados de forma independente de
implementação em um SGBD. O modelo conceitual registra que dados
podem aparecer no banco de dados, mas não registra como estes dados
estão armazenados a nível de SGBD.
Preço
Tipo de
produto
Descrição
código
preço
código
Descrição
n 1
Modelo Lógico
É uma descrição de um banco de dados no nível de abstração
visto pelo usuário do SGBD. Desta forma, o modelo lógico é
dependente do tipo particular de SGBD que está sendo usado.
CodTipoProd DescrTipoProd
1 Computador
2 Impressora
TipoDeProduto
Vamos entender
• Entidade
• Relacionamento
• Atributo
• Generalização
• Entidade Associativa
Entidade
Definição 1: Entidade é um objeto que se pode identificar no
mundo real.
Definição 2: Conjunto de objetos da realidade modelada sobre os
quais deseja-se manter informações o banco de dados.
PESSOA DEPARTAMENTO
FRUTA PAISES
Entidade
Exemplos
• Sistema bancário
+ Cliente
+ Conta corrente
+ Conta poupança
+ Agência
Entidade
Exemplos
• Sistema de Controle de Produção de Industria
+ Produto
+ Empregado
+ Departamento
+ Estoque
+ ...
Relacionamento
Raciocine comigo!
Fruta
Destino de
exportação
VENDAS
Frutas e destinos de
exportação estão
relacionados porque
vendem-se frutas para
esses destinos
Então podemos
considerar VENDAS como
um relacionamento?
SIM! :D
Relacionamento
Frutas
Países
vendas
Cardinalidade de Relacionamento
É o número (mínimo, máximo) de ocorrências de entidade associadas a uma
ocorrência da entidade em questão através do relacionamento.
• Classificação de relacionamentos binários:
– 1:1 (um-para-um);
– 1:N (um-para-muitos);
– N:N (muitos-para-muitos);
• Cardinalidade mínima.
1º - Relacionamento um-para-um
Destino de
exportação
Histórico de
exportação
Gerenciamento
1
1
• Relacionamento Binário 1:1
• Um destino de exportação gerencia uma
unidade de histórico de exportação.
Esse relacionamento é chamado de um-
para-um.
2º - Relacionamento um-para-muitos
Princesa
Serviçais
SERVEM
1
n
• Relacionamento Binário 1:N
• Vários serviçais servem uma princesa.
• Os serviçais não servem outra princesa
3º - Relacionamento muitos-para-muitos
Frutas
Países
vendas
n
n
• Relacionamento Binário N:N
• Frutas são exportadas para diversos
países.
• Os países importam diversos tipos de
fruta.
4º Cardinalidade Mínima
Empregado
Dependente
(1,1)
(0,n)
Atributo
• Dado que é associado a cada ocorrência de uma entidade ou
de um relacionamento.
Projeto
tipo
código
nome
cliente
telefone
código
nome
Atributo
FRUTA
DESTINO DE
EXPORTAÇÃO
Código do Produto
Nome do Produto
Preço Unitário
Cód. Dest. De
Exportação
Nome Dest. de
Exportação
Associação de
uma entidade
com suas
propriedades.
• Um identificador é um conjunto de um ou mais atributos (e
possivelmente relacionamentos, como visto abaixo) cujos
valores servem para distinguir uma ocorrência da entidade das
demais ocorrências da mesma entidade.
• Tipo de identificação: Simples ou Composto.
Identificação de Entidade
Pessoa
código
nome
endereço
Prateleira
capacidade
Numero corredor
Número prateleira
Generalização
Filial Cliente
(1,1) (0,n)
código
nome
Pessoa
jurídica
Pessoa
física
CPF CNPJ
Entidade Associativa
Médico PacienteConsulta
n n
Prescrição
Medicamento
Diagramas de Entidade Relacionamento
Entidade
Relacionamento
Atributo
Atributo identificador
Diagramas de Entidade Relacionamento
Entidade associativa
Relacionamento identificador
Generalização/Especialização
? ? ?

Modelo E-R

  • 1.
    BANCO DE DADOS PR O G R A M A Ç Ã O C O M A C E S S O JOELDSON COSTA DAMASCENO Joeldson.damasceno@ifrn.edu.brModelo E-R
  • 2.
    Projetando um Bancode Dados OBJETIVOS • O modelo E-R • Normalização de uma tabela • O que é o modelo E-R? • Como analisar um modelo E-R – 1º Caso: Relacionamento um-para-um – 2º Caso: Relacionamento um-para-muitos – 3º Caso: Relacionamento muitos-para-muitos – Questões
  • 3.
    Projetando um Bancode Dados OBJETIVOS • Normalizado uma tabela – Questões • Passos para projetar um Banco de Dados • Resumo
  • 4.
    E - R Usaremosum modelo de análise chamado... MODELO E - R
  • 5.
    MODELO E -R No modelo E-R, analisa-se o mundo real utilizando-se os conceitos de entidade e relacionamento.
  • 6.
    Modelos de Bancode Dados É uma descrição dos tipos de informações que estão armazenadas em um banco de dados. • Para construir um modelo de dados usa-se uma linguagem de modelagem de dados; • A linguagem de modelagem pode ser textual ou gráfica; • Existem linguagens de modelagem para descrever modelos de dados em diferentes níveis de abstração e objetivos; • Cada representação de um modelo de dados recebe a denominação de esquema de banco de dados; • Para um projeto de banco de dados, normalmente são considerados dois níveis de abstração de modelos de dados; – Modelo conceitual; e – Modelo lógico.
  • 7.
    Modelo Conceitual É umadescrição do banco de dados de forma independente de implementação em um SGBD. O modelo conceitual registra que dados podem aparecer no banco de dados, mas não registra como estes dados estão armazenados a nível de SGBD. Preço Tipo de produto Descrição código preço código Descrição n 1
  • 8.
    Modelo Lógico É umadescrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. Desta forma, o modelo lógico é dependente do tipo particular de SGBD que está sendo usado. CodTipoProd DescrTipoProd 1 Computador 2 Impressora TipoDeProduto
  • 9.
    Vamos entender • Entidade •Relacionamento • Atributo • Generalização • Entidade Associativa
  • 10.
    Entidade Definição 1: Entidadeé um objeto que se pode identificar no mundo real. Definição 2: Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações o banco de dados. PESSOA DEPARTAMENTO FRUTA PAISES
  • 11.
    Entidade Exemplos • Sistema bancário +Cliente + Conta corrente + Conta poupança + Agência
  • 12.
    Entidade Exemplos • Sistema deControle de Produção de Industria + Produto + Empregado + Departamento + Estoque + ...
  • 13.
    Relacionamento Raciocine comigo! Fruta Destino de exportação VENDAS Frutase destinos de exportação estão relacionados porque vendem-se frutas para esses destinos Então podemos considerar VENDAS como um relacionamento? SIM! :D
  • 14.
  • 15.
    Cardinalidade de Relacionamento Éo número (mínimo, máximo) de ocorrências de entidade associadas a uma ocorrência da entidade em questão através do relacionamento. • Classificação de relacionamentos binários: – 1:1 (um-para-um); – 1:N (um-para-muitos); – N:N (muitos-para-muitos); • Cardinalidade mínima.
  • 16.
    1º - Relacionamentoum-para-um Destino de exportação Histórico de exportação Gerenciamento 1 1 • Relacionamento Binário 1:1 • Um destino de exportação gerencia uma unidade de histórico de exportação. Esse relacionamento é chamado de um- para-um.
  • 17.
    2º - Relacionamentoum-para-muitos Princesa Serviçais SERVEM 1 n • Relacionamento Binário 1:N • Vários serviçais servem uma princesa. • Os serviçais não servem outra princesa
  • 18.
    3º - Relacionamentomuitos-para-muitos Frutas Países vendas n n • Relacionamento Binário N:N • Frutas são exportadas para diversos países. • Os países importam diversos tipos de fruta.
  • 19.
  • 20.
    Atributo • Dado queé associado a cada ocorrência de uma entidade ou de um relacionamento. Projeto tipo código nome cliente telefone código nome
  • 21.
    Atributo FRUTA DESTINO DE EXPORTAÇÃO Código doProduto Nome do Produto Preço Unitário Cód. Dest. De Exportação Nome Dest. de Exportação Associação de uma entidade com suas propriedades.
  • 22.
    • Um identificadoré um conjunto de um ou mais atributos (e possivelmente relacionamentos, como visto abaixo) cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade. • Tipo de identificação: Simples ou Composto. Identificação de Entidade Pessoa código nome endereço Prateleira capacidade Numero corredor Número prateleira
  • 23.
  • 24.
  • 25.
    Diagramas de EntidadeRelacionamento Entidade Relacionamento Atributo Atributo identificador
  • 26.
    Diagramas de EntidadeRelacionamento Entidade associativa Relacionamento identificador Generalização/Especialização
  • 27.