Buscar

BD-Modelagem

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 154 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 154 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 154 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

1
Centro de Computação e 
Tecnologia da Informação
Modelagem de Banco de Dados
Daniel L. Notari
Helena G. Ribeiro
Agosto - 2012
2
Conteúdo Programático (1/2)
● Introdução aos Sistemas de Banco de Dados
– Banco de Dados
– Gerência de Dados
– SGBD
– Arquitetura de Banco de Dados
● Modelagem Entidade-Relacionamento
● Modelo Lógico
● Normalização de Banco de Dados
3
Conteúdo Programático (2/2)
● Álgebra Relacional
– Consulta baseada na teoria de conjuntos
● Projeto Físico de Banco de Dados
– SGBD PostgreSQL
– Manipulação de Esquemas
– Manipulação de dados
● Linguagem SQL
– Consultas
– Visões
4
Livro Texto
● HEUSER, Carlos Alberto
● Projeto de Banco de Dados
● Porto Alegre
5
Banco de Dados - Introdução
• INTRODUÇÃO
• Surgimento e Evolução dos Bancos de Dados
 Utilização inicial dos computadores:
• dados numérico
• quantidade limitada
• processamento serial
• poucos recursos de programação
• ênfase em algoritmos
• dados cativos dos programas (segundo plano)
6
Banco de Dados - Exemplo
Planilha Eletrônica
GC D250 D500 D1000 P3 Nome S250 S500 S1000
0.404301 1.550346 2.178267 0.962607 1.527230E-06 -0.0158915 1.441921 1.532032 0.732808
0.593780 1.862869 2.534370 1.236893 3.845661E-06 -0.0246687 1.371953 1.387472 0.719663
0.592820 1.813819 2.426378 1.208882 3.520418E-06 -0.0231381 1.301741 1.349404 0.710608
0.497647 1.834696 2.427979 0.920974 1.168649E-06 -0.011112 1.430074 1.318752 0.797506
0.434774 2.190121 3.044996 1.196388 1.169521E-06 -0.0224146 1.499050 1.504284 0.700958
0.651216 1.374920 1.530161 0.658361 6.219282E-06 -0.029948 1.253902 1.277639 0.790516
0.353771 1.088610 1.350399 0.580717 1.950687E-06 -0.0163845 1.248574 1.276289 0.654815
Sn
Acine.fasta
Agro-tumefaciens.fasta
Agro-tume-linear.fasta
Ana-marginale.fasta
Aqui-aeolicus.fasta
Azoarcus.fasta
Bacillus-anthracis.fasta
1danielM1
2mauriciaF1
3luisaF1
4rafaelM1
5leandroM2
6lucianoM4
7danielM3
8lucianaF4
9danielaF3
Arquivo com 
Registros
7
Banco de Dados - Exemplo
Banco de Dados Biológico, parte do 
genoma humano
>gi|50083297|ref|NC_005966.1| Acinetobacter sp. ADP1, complete genome
GATATTTTATCCACAGCATGTGTGAAATCTTATCCACAAGTGGTGTGAATTTAAATTTATTGTGCGAGCG
CTTCCTTTTTAAGCAAAATCAAGTGAATCTTTCATGACAGATGTGGATAACTTGGTTAGAATGGCGACCC
CTTTCATCTGAGGGGGATGTTGTGGACTATTTTTGAATTTAAAACGGACAGGGGATTCACATGCTTTGGA
CAGACTGCTTAACTCGCTTGCGACAAGAGCTATCTGATAACGTCTTTGCGATGTGGATTCGTCCTTTAGT
AGCTGAAGAGACGACAGATAGTCTACGCCTGTATGCGCCGAACCCTTACTGGACGCGTTATATTCAGGAA
CATCATCTTGAGTTGATCTCTATTCTGGTTGAACAACTTTCTGAAGGGCGGATTCGCCAGGTCGAAATTT
TGGTTGACTCGCGTCCTGGTGCAATTTTATCCCCAGCAGAACAGCCAGCGACAACCACTGCTGCTCTGTC
AAGTACACCAGTTGTACCTCAGCGCGTTAAAAAAGAAGTTGTCGAACCAGCAGCTACGCAAAGTAATAAA
ATTTTAAATTCAAAAAAACGTTTACTTAACCCACTGTTTACCTTCTCATTGTTTGTCGAGGGCCGTTCTA
ACCAGATGGCTGCTGAGACTTGCCGAAAAGTTTTAACTCAACTTGGTGCCTCCCAGCACAATCCTTTGTT
TTTATATGGCCCGACAGGTTTAGGTAAAACTCACTTGATGCAGGCTGTGGGTAACGCATTACTTCAAGCC
AAACCAAATGCACGTGTGATGTATATGACGGCAGAAAGTTTTGTACAGGATTTTGTGAGCTCGTTACAAA
AAGGCAAGGTTGAAGAGTTTAAGAAAAACTGTCGTTCACTTGATCTACTTTTGGTCGATGACATTCACTT
GCTGGCGGGTAAAGAAGCCAGTCTGGTCGAATTTTTCTATACCTTTAACGCCCTATTGGATGAATCTAAA
CAGATTATTTTAACTTCAGACCGTTATCCAAAAGAATTAACCGAGCTGGATCCGCGTCTGGTGTCACGTT
8
Banco de Dados - Exemplo
Banco de Dados em formato XML
 <?xml version="1.0" encoding="UTF-8" ?> 
 <!DOCTYPE artigo (View Source for full doctype...)> 
<artigo>
<cabecalho>
 <titulo>Emprestimo FMI</titulo> 
 <autor>Anonimo</autor> 
 </cabecalho>
 <corpo>
 <introducao>O FMI ...</introducao> 
 <paragrafo>Ontem, diversos ...</paragrafo> 
 <paragrafo>O ministro da economia ...</paragrafo> 
 <paragrafo>Alem disso, ...</paragrafo> 
 <conclusao>Enfim, o Brasil ...</conclusao> 
 </corpo>
 </artigo>
9
Banco de Dados - Resumo
● Banco de Dados
– Planilha Eletrônica
– Registro de arquivos
– Banco de Dados Biológico
– XML
● Todos estes formatos de arquivos permitem 
armazenar diferentes tipos de informação.
● Todos são considerados bancos de dados?
● O QUE ELES TEM EM COMUM?
10
Banco de Dados - Introdução
● As informações precisam ser gerenciadas.
● São armazenados em arquivos.
● Realizam operações semelhantes.
● Gerência de Dados:
– Criação e exclusão do arquivo
– Inserção, alteração e exclusão dos dados no 
arquivo
– Consulta sobre os dados
11
Banco de Dados - Introdução
•dados em maior volume
• maior variedade
• meios de maior capacidade
•consultas mais complexas
Evolução no uso e gerência de dados
•Organizações físicas
• índices, hashing, inversões
• Operações próprias dos dados
• consulta, atualização
 Sistema de Arquivos
• Dados ainda cativos dos programas
• Ênfase na economia de tempo e memória
12
Banco de Dados - Introdução
• Conjunto de Dados
• relacionados
• compartilhados
• Usuários on-line, batch
computador
computador
P1
P2
Pn
BANCO DE DADOS
autonomia dos dados com relação aos programas 
13
Banco de Dados - Introdução
RESTRIÇÕES ADVINDAS DO USO
Um banco de dadosbanco de dados é uma coleção de dados relacionados (Navathe, 2005)
Um banco de dados é uma coleção 
de dados logicamente coerentes e 
com algum significado inerente.
Um banco de dados é projetado, 
construído e populado com dados 
para um objetivo específico
Um banco de dados representa 
algum aspecto do mundo real, 
algumas vezes chamado 
minimundo
Pode ser mantido 
manualmente ou por máquina
Um Sistema de Gerência de Banco de Dados (SGBD) é uma coleção de 
programas que permite aos usuários criar e manter um banco de dados
• Definição: especificação dos tipos de dados
• Construção: armazenamento dos dados, controlado pelo SGBD
• Manipulação: consultas, atualização, geração de relatórios
14
Banco de Dados - Introdução
SGBD
• Conjunto de dados associado a conjunto de programas para 
acesso aos dados
•Objetivo do SGBD: proporcionar um ambiente conveniente e 
eficiente para recuperação e armazenamento das informações do 
SGBD
15
Banco de Dados - Introdução
SISTEMA DE BANCO DE DADOSSISTEMA DE BANCO DE DADOS
Usuários / Programadores
Programas de Aplicações e 
Consultas
Software para processar 
consultas e programas
Software para acesso 
aos dados armazenados
SGBD
Definição 
BD BD
Sistema de 
Banco de 
Dados
16
Banco de Dados - Introdução
Enfoque de banco de dados
 Natureza Auto Contida:
• dados + meta-dados (catálogo)
 Isolamento entre Programas e Dados:
• independência de dados e programa
 Abstração de Dados (Modelo de Dados):
• representação conceitual dos dados (nível físico, lógico e de visão)
• não inclui detalhes de armazenamento
 Suporte a Múltiplas Visões (view) dos dados:
• Visão
• subconjunto do banco de dados
• pode conter dados virtuais, derivados dos dados do banco de dados, mas não 
armazenados.
17
Banco de Dados - Introdução
Visão 1 Visão 2 Visão n
......
Nível de visão
Nível lógico
Nível físicoComo os dados estão 
armazenados
Nível lógico
Quais dados estão 
armazenados e os inter-
relacionamentos entre eles
18
Banco de Dados - Introdução
Usuários de um Banco de Dados
 Administrador do Banco de Dados:
• responsável pelos dados, SGBD e programas relacionados
• autorização de acesso, coordenação e monitoração do uso
 Projetista do Banco de Dados (Database Designer):
• identificação de requisitos dos usuários
• visão para cada usuário 
• integração das visões
• escolha de estruturas apropriadas para armazenamento dos dados
 Usuário Final:
• usuários ocasionais
• usuários parametrizados
• usuários sofisticados
 Analistas de Sistemas e Programadores de Aplicações
19
Banco de Dados - Introdução
NOVAS PREOCUPAÇÕESNOVAS PREOCUPAÇÕES
Segurança dos Dados Separação LÓGICO x 
FÍSICO
• Esquema Interno
• EsquemaConceitual
• Esquema Externo
Linguagens de definição e manipulação de dados
Linguagens de Consulta mais 
poderosas, para “usuário final” Serviço Autônomo do BD”
20
Banco de Dados - Introdução
NOVAS PREOCUPAÇÕES (cont.)
 Independência Lógica dos Dados:
• Capacidade de mudar o esquema conceitual sem necessidade de modificar 
programas de aplicação e esquemas externos
• Apenas definição de visões e mapeamentos devem ser alterados
• Exemplo: Acrescentar um campo a um registro, acrescentar uma definição de tipo 
de registro
 Independência Física de Dados:
• Capacidade de mudar o esquema interno sem necessidade de alterar o esquema 
conceitual (ou externos)
• Exemplo: reorganização física de arquivos, criação de estruturas de acesso 
adicionais
21
Banco de Dados - Introdução
• Redundância Controlada
• Compartilhamento de Dados
• Restrições de Acesso
• Múltiplas Interfaces
• Restrições de Integridade
• Reestruturação em caso de falha
NOVAS PREOCUPAÇÕES
FUNÇÕES DE UM SGBDFUNÇÕES DE UM SGBD
22
Arquiteturas de banco de 
dados
 
Arquiteturas de Sistemas de BD
● A arquitetura de sistemas de banco de dados é 
fortemente influenciada pelo sistema operacional 
sobre o qual o BD é executado e pelos aspectos da 
arquitetura de computadores (paralelismo, rede e 
distribuição):
– Sistemas centralizados
– Sistemas cliente-servidor
– Sistemas paralelos
– Sistemas distribuídos
 
Sistemas Centralizados
●Executados sobre um único sistema 
computacional
●Podem ser divididos conforme o modo como os 
computadores são usados:
● Mono-usuário – computadores pessoais (uma única 
CPU, um ou mais discos rígidos, com um sistema 
operacional que pode dar suporte a apenas um 
usuário)
● Multiusuário – (número maior de discos rígidos e 
área de memória podendo ter diversas CPUs e um 
sistema operacional multiusuário). Atende a usuários 
conectados por meio de terminais.
 
Sistemas Cliente-Servidor
●Sistemas centralizados servindo como 
servidores:
● Terminais substituídos por computadores pessoais 
(clientes)
●As funcionalidades de um SGBD podem ser 
superficialmente divididas em duas categorias : 
front-end e back-end:
Interface SQL
com o usuário
Interface para
 o usuário
Gerador de 
relatórios
Interface 
gráfica
back-end
front-end
Suporte a SQL
Interface SQL + API
 
Sistemas Cliente-Servidor
●Podem ser caracterizados como:
● Servidores de transações: Mais usados. Clientes 
enviam pedidos (SQL ou programas de aplicação) e o 
servidor executa a ação.
● Servidores de dados: cliente solicita a leitura e/ou 
atualização de dados. Proporcionam meios para 
indexação de dados. Usados em redes locais de alta 
velocidade entre cliente e servidor. Cliente e servidor 
com poder de processamento compatível. Back-end 
reforçado no cliente.
● Nota: servidores de transação são mais utilizados.
 
Sistemas Paralelos
● Uso de diversas CPU´s e discos (compartilham 
memória e/ou disco)
● Sistemas que necessitam processar milhares de 
transações por segundo 
● BD muito grande da ordem de terabytes
● Operações realizadas simultaneamente
● Granularidade:
●  Grossa = poucos e poderosos processadores
●  Fina = usa milhares de pequenos processadores 
● Reduzem o tempo de resposta das transações 
(requerem SGBDs paralelos)
● Estratégia de paralelismo (1 consulta por processador, 
uma consulta particionada em vários processadores)
 
P
P
P
P
M
a) Memória Compartilhada
P
P
P
P
M
M
M
M
b) Disco Compartilhado
P P
P
P
M M
M
M
P
P
P
P
M P
P
P
P
MP
P
P
P
M
c) Ausência de Compartilhamento d) Hierárquico 
 
Sistemas distribuídos
●BD armazenado em diversos computadores
●Comunicação por rede ou linha telefônica
●Computadores de sistemas distribuídos são conhecidos 
como nós ou sites 
●Distribuição física e geográfica dos dados, 
administração separada e intercomunicação dos sites
●Sites podem acessar uns aos outros
●Esquema global comum (algumas partes em sites)
●Mesmo SGBD
 
Sistemas distribuídos
●Distinção de transações (conjunto de operações que 
tem que ser executadas atômicamente) locais e globais:
● Locais = acessa um único site (no qual ela se inicia)
● Globais = acessa diferentes sites (ou outro diferente 
daquele que se inicia).
●OBS: Sistemas de BD distribuídos heterogêneos 
(compostos por diferentes SGBDs nos sites) Dificuldade 
de gerenciamento de transações globais
Nota: sistemas de banco de dados distribuídos e cliente-servidor estão 
apoiados em redes de comunicação: Rede local – área geográfica restrita, 
processadores distribuídos; Rede de longa distância – grande área geográfica, 
processadores distribuídos.
 
Rede
Comunicação 
via rede
Site A Site B
Site C
Sistema Distribuído
 
Exercícios
1) O que é um banco de dados? Justifique. Cite exemplos.
2) Qual a diferença de um Banco de Dados para um Sistema 
de Arquivos?
3) Qual a diferença de um banco de dados para um sistema 
gerenciador de banco de dados?
4) A Casa de Vinhos XYZ está querendo armazenar os seus 
dados, para isto, defina os principais requisitos e defina o 
conjunto de dados principal envolvido. Agora, defina qual 
será a forma de armazenamento: sistema de arquivos, banco 
de dados ou um sistema gerenciador de banco de dados. 
Explique a sua escolha e o porque de não escolher as outras 
opções.
 
Exercícios
5) Cite um exemplo de software que pode ser utilizado 
para cada um: sistemas centralizados, sistemas cliente-
servidor, sistemas paralelos, sistemas distribuídos.
6) Enumere as principais diferenças entre o 
processamento de dados com arquivos convencionais e 
o processamento de dados com um SGBD.
34
Modelagem de banco de 
dados
 
Banco de Dados = Dados + Modelo de Dados
● Um banco de dados pode ser definido como 
um conjunto de dados que segue um 
determinado modelo de dados. Alguns 
conceitos relacionados são:
● Modelo de Dados – responsável pela descrição 
dos dados
● Esquema do banco de dados – é um gráfico ou 
texto que especifica o modelo de dados (ou seja, 
descreve faz a descrição dos dados)
● Dicionário de dados - conjunto de arquivos que 
armazena o modelo de dados
36
Projeto de um Banco de Dados
● Realizado em duas fases:
– Modelagem conceitual: necessidades de uma 
organização em termos de armazenamento de 
dados (independente da implementação).
– Projeto lógico: transformação do modelo 
conceitual em modelo lógico.
● A seguir o modelo lógico é implementado no 
SGBD específico através de um projeto físico.
37
Modelo de (banco de) dados
Descrição formal da estrutura de um 
banco de dados
(tipos de informações que serão 
armazenadas)
- descrito através de uma linguagem de modelagem de dados
- descrito em diferentes níveis de abstração, para diferentes usuários 
(leigo, técnico, etc):
- modelo conceitual
- modelo lógico
- modelo físico
projeto de banco de dados
38
Modelo conceitual
==
modelo de dados abstrato, que 
descreve a estrutura de um 
banco de dados de forma 
independente de um SGBD 
particular
Ex: modelo ER, modelo UML
Modelo lógico
==
modelo de dados que 
representa a estrutura de dados 
de um banco de dados 
conforme vista pelo usuário do 
SGBD
Modelo físico
==
contém detalhes sobre a 
representação interna das 
informações: 
Ex: modelo relacional, modelo 
a objetos, modelo hierárquico
Ex: estruturas de índices, 
estruturas de arquivos, níveis de 
isolamento (otimização de 
performance)
Modelos de banco de dados
39
Modelo conceitual
● Independente de implementação e SGBD
● Descrição mais abstrata do banco dedados (BD)
● É o ponto de partida para o projeto de um BD
● Técnica mais difundida é a abordagem entidade-
relacionamento (Diagrama ER)
40
Modelo lógico
● Independente do SGBD
● Descrição do BD no nível dos usuários do BD 
(programadores, usuários que tem acesso direto 
aos dados do banco)
● Não apresenta detalhes do armazenamento 
interno das informações (estruturas de arquivo 
índices de acesso)
41
Modelo físico
● Descrição detalhada de como a base de dados 
está armazenada internamente
● Linguagens e notações para o modelo físico 
variam de produto a produto (SGBD)
● Produtos escondem o modelo físico
42
Modelo ER
(Entidade-Relacionamento)
43
O modelo ER
● A abordagem ER foi criada por Peter Chen, em 
1976;
● Modelo baseado na percepção do mundo real, 
representado através de um conjunto de 
objetos básicos chamados entidades e nos 
relacionamentos entre esses objetos;
● Conceitos centrais da abordagem ER:
– Entidade, relacionamento, atributo
– generalização/especialização, entidade associativa
44
Diagramas ER
● Um modelo ER é representado graficamente 
através de um Diagrama ER (DER)
– Notação utilizada é a introduzida por Peter Chen
● Componentes:
– Retângulos: representam entidades
– Losangos: representam relacionamentos
– Elipses ou pequenos círculos: representam 
atributos
– Linhas: ligam atributos a entidades, entidades a 
relacionamentos e atributos a relacionamentos
45
Exemplo diagrama ER
Departamento PessoaLotação
Departamento PessoaLotação
Nome Código Nome Endereço
Cargo
Salário
Nome Código Nome Endereço
Salário
Cargo
46
Entidade
● “Conjunto de objetos da realidade modelada 
sobre os quais desejá-se manter informações 
no banco de dados” (Heuser, 2009)
Atributo
● “Dado que é associado a cada ocorrência de 
uma entidade ou de um relacionamento” 
(Heuser, 2009)
47
Exercício
1) Cite exemplos de entidades para um sistema 
de informação industrial, bem como, possíveis 
atributos.
2) Cite exemplos de entidades para um sistema 
de contas correntes, bem como, possíveis 
atributos.
48
Relacionamento
● “Conjunto de associações entre as entidades” 
(Heuser, 2009)
Departamento Empregado
Vendas Luciano Gigante
Vendas Pedro Pequeno
Compras Felisberto Gigante
Compras Alicene Pequeno
Fincanceiro Alberto Riquissimo
Fincanceiro Pedro Large
49
Relacionamento
● Ocorrência de uma entidade
– Simulação através da atribuição de valores
50
Exercícios
3) Explique a diferença de uma entidade e uma ocorrência de 
uma entidade. Exemplifique.
4) Deseja-se construir um banco de dados para um sistema 
de vendas. Em cada venda são vendidos vários produtos e 
um determinado produto pode aparecer em diferentes 
vendas. Cada venda é efetuada por um vendedor para um 
determinado cliente. Um produto está armazenado um uma 
prateleira. Identifique as possíveis entidades com seus 
atributos, bem como, os relacionamentos. Faça um desenho 
do ER e de um diagrama de ocorrências.
51
Exercícios
5) Administradora de imóveis: 
● A administradora trabalha tanto com administração de 
condomínios, quanto com a administração de aluguéis. 
Uma entrevista com o gerente da administradora resultou 
nas seguintes informações:
– A administradora administra condomínios formados 
por unidades condominiais.
– Cada unidade condominial é de propriedade de 
uma ou mais pessoas. Uma pessoa pode possuir 
diversas unidades. 
52
Exercícios
– Cada unidade pode estar alugada para no 
máximo uma pessoa. Uma pessoa pode alugar 
diversas unidades.
● Identifique as possíveis entidades com seus atributos, 
bem como, os relacionamentos. 
● Faça um desenho do ER.
53
Exemplo diagrama ER
Financeira VendaFinanciamento
Taxa 
de juros
Código Nro 
nota 
fiscal
Vendedor
Nro de 
parcelas
Comissão
Atributos em relacionamentos
54
Exemplo diagrama ER
Pessoa
Casamento
esposa
Nome
Auto-relacionamentos: definir papéis
marido
Empregado
Supervisão
supervisionado
Nome
supervisor
Departamento
Nro da 
certidão
Papel: função que uma instância da entidade cumpre dentro 
de uma instância do relacionamento (HEUSER, 2009)
55
Exercícios
6) O que é o papel de uma entidade em um relacionamento? 
Quando é necessário especificar o papel das entidades no 
relacionamento?
7) Considere a situação de casamento entre um homem e 
uma mulher. A entidade Pessoa representa homens e 
mulheres. Esta entidade possui um auto-relacionamento com 
cardinalidade 1 em ambos os lados e o nome do 
relacionamento é casamento, o nomes dos papéis envolvidos 
é de marido e esposa.
56
Exercícios
● Faça um diagrama de ocorrências.
● Segundo este DER o banco de dados poderia conter um 
casamento em que uma pessoa está casada consigo 
mesma?
● Este DER permite que a mesma pessoa apareça em dois 
casamentos diferentes, uma vez como marido e outra vez 
como esposa?
● Caso uma das situações acima possa ocorrer, como 
deveria ser modificado o DER para impedi-las?
57
Exercícios
8. Faça um diagrama de ocorrências para o DER onde a 
entidade Empregado possui um auto-relacionamento com 
cardinalidade 1 para o papel supervisor e cardinalidade n 
para o papel supervisionado.
● Um empregado pode ser supervisor de si mesmo?
58
Exemplo diagrama ER
DistribuidorCidade
Distribuição
Relacionamento ternário
Produto
59
Exercícios
9) Transforme o relacionamento ternário do DER 
abaixo em relacionamentos binários. Exemplifique 
a sua resposta atribuindo valores para as 
ocorrências das entidades.
60
Exercícios
10) Dê um exemplo de um relacionamento 
ternário. Mostre como a mesma realidade pode 
ser modelada comente com um relacionamento 
binário. Justifique a escolha das cardinalidades 
mínima e máxima.
61
Cardinalidades
Cardinalidade (mínima, máxima) de entidade em 
relacionamento
==
número (mínimo, máximo) de ocorrências de uma 
entidade que podem estar associadas a uma ocorrência 
de outra entidade através de um relacionamento
Tipos de cardinalidade:
● 1:1
● 1:n
● n:n
Com (mínimo, máximo):
● (0,1)
● (1,1)
● (0,n)
● (1,n)
62
Cardinalidades
Empregado MesaAlocação1 1
Aluno CursoInscriçãon 1
Médico PacienteConsultan n
Empregado
Supervisão
supervisionadosupervisor
1 n
63
Cardinalidades
DistribuidorCidade
Distribuição
Relacionamento ternário
Produto
n
n
1
A cardinalidade “1” refere-se 
 a um par Cidade-Produto
64
Cardinalidades
65
Cardinalidades (mínima, máxima)
Empregado MesaAlocação(0,1) (1,1)
Aluno CursoInscrição(1,n) (0,n)
Engenheiro ProjetoAtuação(0,n) (0,n)
Código Nome Função Código Título
66
Exercícios
11) Considere o DER abaixo. Para que a restrição de 
cardinalidade mínima seja obedecida, que ocorrências 
de entidade devem existir no banco de dados quando for 
incluída uma ocorrência de EMPREGADO? E quando for 
incluída uma ocorrência de MESA? Se ajudar, faça o 
diagrama de ocorrências.
67
Exercícios
12) Explique as cardinalidade dos relacionamentos 
entre as entidades do DER abaixo. Modifique as 
cardinalidade mínimas de forma a especificar que:
 a) um curso não pode 
estar vazio, isto é deve 
possuir ao menos uma 
disciplina em seu 
currículo; e, 
b) Um aluno, mesmo 
que não inscrito em 
nenhum curso, deve 
permanecer por algum 
tempo no banco de 
dados.
68
Exercícios
13) Dê um exemplo de um relacionamento 
ternário. Mostre como a mesma realidade pode 
ser modelada comente com um relacionamento 
binário. Justifique a escolha das cardinalidadesmínima e máxima.
69
Exercícios
14) Identifique as entidades, os relacionamentos e as 
respectivas cardinalidades para o seguinte problema: Em 
uma empresa de desenvolvimento de sistemas 
informatizados, pessoas são alocadas a tarefas. No 
momento da alocação da pessoa a tarefa, também lhe é 
alocado um equipamento para resolver a tarefa.
15) Faça a modelagem conceitual para um sistema 
acadêmico de uma universidade envolvendo a grade 
curricular e os professores de um curso. Identifique as 
possíveis entidades com os seus relacionamentos e 
cardinalidades.
70
Exercícios
16) Modifique as cardinalidades mínimas de forma a 
especificar o seguinte do exercício 15:
● Um curso não pode estar vazio, isto é, deve possuir 
ao menos uma disciplina em seu currículo
● Um aluno, mesmo que não inscrito em nenhum curso, 
deve permanecer por algum tempo no banco de 
dados
71
Identificação de entidades
Empregado Nome
Endereço
Código
Nro do corredor
Nro da prateleira
Prateleira Capacidade
Empregado Nome
Endereço
Código
Empregado Nome
Endereço
Código ? Empregado Nome
CIC ?
Departamento
Nome Código
Conjunto de um ou mais atributos e relacionamentos cujos 
valores servem para distinguir uma ocorrência de uma 
entidade das demais ocorrências da mesma entidade 
(HEUSER, 2009)
72
Identificação de relacionamentos
Engenheiro ProjetoAlocaçãon n
data/hora
Neste caso, um relacionamento é identificado pelas 
entidades dele participantes, bem como pelos atributos 
identificadores eventualmente definidos (HEUSER, 2009).
crea codigo
73
Entidade Fraca
Empregado DependenteAlocação(1,1)
(0,n)
código nome
Nro 
sequencia nome
Empregado DependenteAlocação(1,1)
(0,n)
Chave primária da entidade fraca é composta pela 
chave estrangeira da entidade principal concatenada 
a um identificador de si própria
74
Exercícios
17) Considere o DER abaixo com o relacionamento 
EMPREGADO-DEPENDENTE. Considere que um 
dependente de um empregado possa também ser 
empregado. Como o modelo deveria ser modificado para 
evitar o armazenamento redundante das informações das 
pessoas que são tanto dependentes quanto empregados?
75
Extensões e variações do 
modelo ER
76
Generalização/Especialização 
● Atribuir propriedades particulares a um subconjunto 
de ocorrências (especializadas) de uma entidade 
genérica.
● Herança de propriedades,
– ou seja, herdar propriedades significa que cada 
ocorrência da entidade especializada, possui 
além de suas próprias propriedades (atributos 
e relacionamentos), também as propriedades 
da ocorrência da entidade genérica.
(HEUSER, 2009)
77
Generalização/Especialização (total)
Filial ClienteAlocação(1,1)
(0,n)
código nome
Pessoa 
Física
CIC Sexo
Pessoa 
Jurídica
CNPJ Tipo de 
organização
78
Generalização/Especialização parcial
Funcionário
Tipo de 
funcionário
Motorista Secretária
p
- p indica que nem todo 
Funcionário é Motorista ou 
Secretária
79
Generalização/Especialização 
● Total indica que
– Para cada ocorrência da entidade genérica 
existe sempre uma ocorrência de uma das 
entidades especializadas.
● Parcial indica que 
– Nem toda ocorrência da entidade genérica 
possui uma ocorrência correspondente de 
uma entidade especializada.
(HEUSER, 2009)
80
Exercícios
18) O DER apresenta 
um modelo de dados 
para uma farmácia.
a) Descreva em 
português tudo o que 
está representado neste 
diagrama. 
b)Defina, quando 
possível, para cada 
entidade os seus 
atributos e indique os 
atributos identificadores.
81
Agregação
Funcionário ProjetoTrabalhan
n
Utiliza
Máquina
Funcionário
n
- para expressar relacionamentos de relacionamentos: 
relacionamentos são tratados como entidades de nível 
superior
82
Agregação
Funcionário ProjetoTrabalhan
n
Utiliza
Máquina
Funcionário
n
n
83
Agregação (DER Heuser)
Funcionário ProjetoTrabalhan
n
Utiliza
Máquina
Funcionário
n
n
- também chamada de entidade associativa
84
Exercícios
19) O DER (próximo slide) apresenta um modelo de dados para 
um sistema de recursos humanos em uma organização.
a) Descreva em português tudo o que está representado neste 
diagrama.
b) Defina, quando possível, para cada entidade os seus 
atributos e indique os atributos identificadores.
c) Que ações devem ser tomadas ao excluir-se do banco de 
dados uma secretária?
d) De acordo com este DER uma secretária ou um engenheiro 
não podem ser gerentes. Porque? Como o DER deveria ser 
modificado para permitir que tanto uma secretária, quanto um 
engenheiro pudessem também ser gerentes?
85
Exercícios
86
Exercícios
20) Considerar o exercício de vendas. Identificar os atributos, 
considerando que: Para cada cliente é necessário conhecer 
seu código, seu nome, seu endereço (rua, número, 
complemento, CEP, cidade, estado) e seu telefone. Para 
cada vendedor, é necessário conhecer seu código, seu 
nome, seu telefone e sua senha no sistema de vendas. Para 
cada venda é necessário conhecer a data e o número da 
nota fiscal. Para cada produto, é necessário conhecer o seu 
número, seu código de barras e sua descrição. Cada 
prateleira tem um número e uma localização.
87
Exercícios
21) Altere o modelo ER do sistema de vendas para 
incorporar as seguintes informações: Tanto clientes, quanto 
vendedores podem ter vários telefones. Um produto pode ter 
vários preços, cada um com uma data de início e de fim de 
validade. Para cada produto vendido em uma venda, é 
necessário conhecer o número de unidades vendidas e o 
preço de venda.
22) Faça a modelagem conceitual para uma farmácia de 
manipulação, especialmente, para a composição de produtos 
e para a venda.
88
Exercícios
23) Faça a modelagem conceitual para um sistema de 
recursos humanos envolvendo somente a parte de 
detalhamento das informações dos funcionários de uma 
empresa. Não é necessário levar em consideração o 
processo de recrutamento e seleção, nem a folha de 
pagamento.
89
Regras de verificação 
para o 
modelo ER
90
● Modelo ER é um modelo formal, preciso e não-ambíguo. 
➔ Diferentes leitores sempre devem ter o mesmo entendimento para o 
mesmo DER.
➔ Sempre que o DER for utilizado por pessoas que não conhecem a 
modelagem entidade-relacionamento, é recomendado treinar a equipe 
para a leitura correta do diagrama.
● Modelo ER tem poder de expressão limitado, ou seja, conseguimos 
modelar somente algumas propriedades de um banco de dados. 
● Equivalência entre Modelos: 
➔ dois modelos são equivalentes quando expressam o mesmo, ou seja, 
quando modelam a mesma realidade. 
➔ Para fins de projeto de Banco de Dados, dois DER são equivalentes, 
quando ambos geram o mesmo esquema no banco de dados.
➔ Deve-se conhecer as regras de tradução para os modelos lógicos para 
isto.
➔ Uma alteração que pode ser feita no DER é transformar todos os 
relacionamentos n:n em relacionamentos 1:n.
91
● Atributo versus Entidade relacionada: 
➔ uma questão importante que aparece na modelagem de um sistema é 
entre modelar um objeto como sendo um atributo de uma entidade ou como 
sendo uma entidade autônoma relacionada a esta entidade. Por exemplo, a 
cor de um automóvel é um atributo ou uma entidade relacionada? 
➔ Critérios a serem adotados:
a) Se o conjunto de valores de um atributo é fixo durante toda a existência do 
sistema, modela-se como atributo visto que o domínio de valores de um atributo é 
imutável.
b) Se o conjunto de valores de um atributo for modificado por qualquer 
transação, este não deve ser modelado como um atributo. Passa-se a modelarcomo 
uma entidade. Com isto, é possível modificar os valores sem alteração do esquema do 
banco de dados.
c) Se o objeto em discussão estiver vinculado a outros objetos (atributos, 
relacionamentos, entidades genéricas): modela-se como uma entidade, já que um 
atributo não pode ter outros atributos, nem estar relacionado a outras entidades, nem 
ser generalizado ou especializado.
92
● Atributo vesus generalização/especialização: 
➔ um conflito de modelagem muito comum é modelar um determinado objeto 
como atributo (exemplo, a categoria funcional de cada empregado em uma 
empresa) ou como uma especialização (exemplo, categoria funcional 
corresponde a uma especialização da entidade empregado).
➔ Sugestão: uma especialização somente deve ser usada quando sabe-se que as 
classes especializadas de entidades possuem propriedades particulares, ou 
seja, as entidades especializadas possuem atributos que a entidade genérica 
não possui. Se as entidades especializadas não possuírem atributos, sugere-se 
não modela-las.
93
Verificação do Modelo ER
a) Modelo deve ser correto: 
➔ Os conceitos de modelagem do ER devem ser empregados corretamente para 
modelar a realidade em questão. 
➔ Erros sintáticos ocorrem quando o modelo não respeita as regras de 
construção de um modelo ER, por exemplo, associar atributos a atributos, 
associar relacionamentos a atributos, etc. 
➔ Erros semânticos ocorrem quando o modelo, apesar de obedecer as regras 
de construção de modelos ER (sintaticamente correto) reflete a realidade de 
forma inconsistente, por exemplo, estabelecer associações incorretas, usar 
uma entidade do modelo como atributo de outra entidade, usar o número 
incorreto de entidades em um relacionamento, etc.
b) Modelo deve ser completo: 
➔ O modelo deve fixar todas as propriedades desejáveis, e isto, obviamente 
somente pode ser verificado por alguém que conhece profundamente o 
sistema a ser implementado (analistas de negócio, analista de sistema, 
usuário especializado). 
➔ Uma boa maneira de verificar  se o modelo é completo é verificar se todos os 
dados obtidos no banco de dados estão presentes e se todas as transações 
de modificação do banco de dados podem ser executadas sobre o modelo.
94
Verificação do Modelo ER
c) Modelo deve ser livre de redundâncias:  
➔ Relacionamentos redundantes são resultados da combinação de outros 
relacionamentos entre as mesmas entidades.
➔ É possível detectar quando é possível eliminar este relacionamento do DER sem que 
haja perda de informação no banco de dados.
➔ Atributos redundantes são atributos derivados a partir da execução de procedimentos 
de busca de dados e/ou cálculos sobre o banco de dados, por exemplo, atributos 
totalizadores (número total de empregados).
d) Entidade Isolada: 
➔ É uma entidade que não apresenta nenhum relacionamento com outras entidades. Em 
princípio, entidades isoladas não estão incorretas. Mas deve ser verificada se deve 
continuar existindo.
e) Entidade sem atributos: 
➔ Situação que também não está incorreta, mas deve ser investigada.
95
Verificação do Modelo ER
f) Modelo deve refletir o aspecto temporal:  
➔ O primeiro modelo tende a refletir um estado momentâneo do banco de dados. 
➔ Entretanto, é necessário lembrar que assim como as informações são incluídas no 
banco de dados, elas também podem ser eliminadas do banco de dados. 
➔ Um banco de dados não pode crescer indefinidamente. Informações desnecessárias 
ou ultrapassadas podem ser eliminadas. 
➔ Portanto, é necessário considerar o aspecto temporal na modelagem dos dados. Em 
especial:
I)  tentar identificar na modelagem atributos cujos valores modificam ao longo 
do tempo, como por exemplo, o salário de um empregado. Algumas vezes, por questões 
de necessidades futuras de informações (data warehouse, BI, OLAP), ou até mesmo por 
questões legais, o banco de dados deve manter o histórico das informações.
II) relacionamentos que se modificam ao longo do tempo, pode-se ter a 
necessidade de manter este registro no banco de dados.
III) Modelagem do aspecto temporal: incluir data e/ou hora na entidade ou no 
relacionamento.
IV) Projetar consultas a dados referentes ao passado para dados que estão no 
banco de dados e são pouco acessados.
96
Modelo Relacional
 
- modelo conceitual
- modelo lógico
- modelo físico
projeto de banco de dados
Modelo conceitual: ER
Modelo lógico: relacional
Modelo lógico
==
modelo de dados que 
representa a estrutura de dados 
de um banco de dados 
conforme vista pelo usuário do 
SGBD
Ex: modelo relacional, 
modelo a objetos, 
modelo hierárquico
Projeto de Banco de Dados
 
Principais elementos
● Tabela
● linhas (tuplas), colunas (atributos)
● Chaves
● Primária, estrangeira
● Domínios
● Faixa de valores que um atributo pode conter 
● Valores Nulos
● Restrições de integridade:
● Integridade de domínio
● Integridade de vazio
● Integridade de chave (chave primária única)
● Integridade referencial (chave estrangeira)
 
Principais elementos
Contexto Terminologia
Modelo Relacional (Formal)
Relação Tupla Atributo
Modelo Relacional (Informal) Tabela Linha Coluna
Teoria dos Conjuntos Conjunto Lista Nodo
Sistema de Arquivos Arquivo Registro Campo
Orientação a Objetos Classe Objeto Atributo
 
Esquema do banco de dados
 A especificação de um banco de dados 
relacional (esquema do banco de dados) 
deve conter no mínimo:
● Tabelas que compõem o banco de dados;
● Colunas que as tabelas possuem;
● Restrições de integridade
 
Exemplo de esquema 
Notação resumida:
 Aluno (CodAluno, Nome, #CodCurso)
 Curso (CodCurso, Nome)
CodAluno Nome CodCurso
2034 Joaquim 124
3028 Ana 124
1212 Paula 147
CodCurso Nome 
124 Ciência da Computação 
138 Sistemas de Informação 
Aluno Curso
102
Transformação 
ER para Relacional
 
Princípios para definição das regras
● Evitar junções – ter os dados necessários a 
uma consulta em uma única linha;
● Diminuir o número de chaves – quanto mais 
chaves, mais índices;
● Evitar campos opcionais
 
Passos para a transformação
I. Tradução inicial de entidades e respectivos 
atributos;
II. Tradução de relacionamentos (auto, binário, 
ternário, entidade fraca, agregação) e respectivos 
atributos;
III. Tradução de generalizações/especializações e 
respectivos atributos;
 
Tradução de entidades e seus atributos
● Cada entidade é traduzida para uma tabela
● Cada atributo define uma coluna desta tabela
● Nomes de colunas devem ser curtos
● Atributos identificadores compõem a chave 
primária da tabela
● Entidades fracas devem ter, como parte de sua 
chave primária, a chave primária da entidade 
forte
 
Exercícios
Endereço
Empregado Nome
CódigoEmpregado Nome
Código
 
Tradução de relacionamentos e atributos
 1. Para relacionamentos binários:
● Determinada pelas cardinalidades 
mínima e máxima dos relacionamentos:
● Relacionamentos 1:1 – adição de colunas ou fusão 
de tabelas das entidades;
 
Exercícios
 
Tradução de relacionamentos e atributos
● Relacionamentos 1:n – adição de coluna na tabela originada 
da entidade associada à cardinalidade n;
 
Exercícios
 
Exercícios
atributo redundante: totalizador, ou seja, o conteúdo do 
atributo resulta de uma operação que envolve diversas 
entidades do banco de dados. Serve para se ter melhor 
performance do sistema e deve ser atualizado 
frequentemente.
 
Tradução de relacionamentos e atributos
● Relacionamentos n:n – definição de tabela própria contendo 
as chaves primárias das entidades relacionadas.Exercícios
 
Tradução de relacionamentos e atributos
3. Para relacionamentos com entidade fraca:
● Entidades fracas devem ter, como parte de sua chave 
primária, a chave primária da entidade forte.
2. Para relacionamentos ternários:
● Criar uma nova tabela com a adição das colunas 
identificadoras das três tabelas que fazem parte 
do relacionamento.
● A chave primária será composta pelas colunas 
identificadoras com cardinalidade n. 
 
Exercícios
 
Exercícios
 
Tradução de relacionamentos e atributos
5. Para relacionamentos com agregação:
● Criar uma nova tabela com a adição das colunas 
identificadoras das tabelas participantes do 
relacionamento.
● A chave primária será composta por estas 
colunas. 
4. Para auto-relacionamentos:
● Criar uma nova tabela com a adição da coluna 
identificador duas vezes, uma para cada papel 
exercido no relacionamento.
● A chave primária será composta pelas colunas 
com cardinalidade n. 
 
Exercícios
Pessoa
Casamento
esposa
Nome
marido
Empregado
Supervisão
supervisionado
Nome
supervisor
Departamento
Nro da 
certidão
 
Exercícios
Funcionário ProjetoTrabalhan
n
Utiliza
Máquina
Funcionário
n
n
 
Tradução de generalizações/especializações
● Duas abordagens:
● Uso de uma tabela para cada entidade
● Uso de uma única tabela por entidade da hierarquia
 
 
Tradução de generalizações/especializações
● Uso de uma tabela para cada entidade, composta 
de:
 1. chave primária correspondente ao identificador da entidade 
mais genérica (para entidade genérica e especializada);
2. uma coluna tipo (caso não exista), para identificar que tipo 
de entidade especializada está sendo representada por cada 
linha da tabela;
 
Tradução de generalizações/especializações
3.uma coluna para cada atributo da entidade genérica;
4.colunas referentes aos relacionamentos dos quais participa 
a entidade genérica (para relacionamentos implementados 
pela alternativa de adicionar colunas à tabela da entidade 
genérica);
 
Tradução de generalizações/especializações
5. uma coluna para cada atributo da entidade 
especializada (como opcionais, pois só terão valores 
quando a linha for referente à entidade especializada em 
questão;
6. colunas referentes aos relacionamentos dos quais 
participa cada entidade especializada e que sejam 
implementados através da alternativa de adicionar 
colunas à tabela de entidade (colunas definidas como 
opcionais, pis terão valores somente na linha referente à 
entidade especializada em questão)
 
 
Tradução de generalizações/especializações
● Uso de uma única tabela por entidade da 
hierarquia:
1.Tabela referente à entidade generalizada e tabelas referentes 
a cada uma de suas especializações possuem a mesma 
chave primária;
2.Informações referentes a cada especialização estão nas 
tabelas correspondentes às entidades especializadas;
3.Nas tabelas referentes às entidades especializadas, a chave 
primária (da tabela generalizada) é também chave estrangeira 
em relação à tabela da entidade generalizada
 
Exercícios
Fazer a tradução dos DER criados como exercício de 
modelagem conceitual para agenciamento de empregos, 
gerenciar as vendas e para a videolocadora.
 
Normalização
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Normalização
● Processo que permite obter um modelo 
relacional, eliminando redundâncias de dados
● Baseia-se no conceito de forma normal:
– Regra que deve ser obedecida por uma tabela para 
que esta seja considerada “bem projetada”
● As formas normais a serem consideradas 
dependem da necessidade do projeto, e da 
visão do projetista: 1FN, 2FN, 3FN, 4FN, 5FN
 
Exemplo Relatório
 
Tabela não normalizada
CodProj Tipo Descr Emp
CodEmp Nome Cat Sal DataIni TempAlo
LSC001 NovoDesenv Sistema
de
Estoque
2146 Joao A1 4 1/11/91 24
3145 Silvio A2 4 2/10/91 24
6126 Jose B1 9 3/10/92 18
1214 Carlos A2 4 4/10/92 18
8191 Mario A1 4 1/11/92 12
PAG02 Manutencao Sistema
de RH
8191 Mario A1 4 1/05/93 12
4112 Joao A2 4 4/01/91 24
6126 Jose B1 9 1/11/92 12
Proj (CodProj, Tipo, Descr,
 (CodEmp, Nome, Cat, Sal, DataIni, TempAlo))
Tabela aninhada: 
 
1º forma normal (1FN)
● Tabela não contém tabelas aninhadas
● Para transformar uma tabela não normalizada 
em um esquema na 1FN:
– Construir uma única tabela com redundância de 
dados:
–
– Construir uma tabela para cada tabela aninhada:
ProjEmp (CodProj, Tipo, Descr, CodEmp, Nome, Cat, Sal, DataIni, TempAlo)
Proj (CodProj, Tipo, Descr)
ProEmp (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempAlo)
 
2º forma normal (2FN)
● Tabela está na 1FN e não contém 
dependências parciais:
– Dependência parcial = uma coluna da tabela 
depende apenas de parte de uma chave primária 
composta
● Uma tabela que possui apenas uma coluna 
como chave primária não contém 
dependências parciais
ProjEmp (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempAlo)
 
2º forma normal (2FN)
● Para colocar a tabela ProjEmp na 2FN:
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, DataIni, TempAlo)
Emp (CodEmp, Nome, Cat, Sal)
 
3º forma normal (3FN)
● A tabela está na 2FN, e não contém 
dependências transitivas (ou indiretas):
– Dependência transitiva: uma coluna, além de 
depender da chave primária da tabela, depende de 
outra coluna ou conjunto de colunas da tabela
● Para colocar a tabela Emp na 3FN:
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, DataIni, TempAlo)
Emp (CodEmp, Nome, Cat, Sal)
Emp (CodEmp, Nome, Cat)
Cat (Cat, Sal)
2FN
3FN
 
Exercício
● Apresente o modelo lógico para os exercícios 
seguintes mostrando a passagem pelas três 
formas normais. Os exercícios são:
– Relatório de um congresso com artigos
– Estrutura de um registro em pascal
– Tabela no formato de uma planilha eletrônica
 
Exercício
Relação de artigos submetidos ao congresso
Congresso: DB25 - Avanços em Sistemas de Banco de Dados
GT's promotores: GT3.1 Sistemas de Banco de Dados
 GT3.3 Modelo Conceitual de Banco de Dados
Congresso: OO03 - Modelo orientado a objetos
Código 
do artigo
Título do 
artigo
Assunto 
Principal
Código 
do Autor
Nome do 
Autor
1 Aspectos 
temporais 
em 
modelos 
OO
Modelo 
Temporal
2 Wen-
Suan Li
Relação de artigos submetidos ao congresso
Continua
diego
Sticky Note
1. comgreço(cod, descrição, gt, (cod, descrição),artigo(cod, titulo,assunto, Autores(cod, nome))null2. 1FN congresso(cod, desc)nullnullcongressoGT(#codCong, codGT, desc)nullnullcongrssoArtigos(#codCong, codArt, titulo,assunto)nullnullCongressoArtigoAutor(null#codCong, #codArt, codAutor, nome);null3. 2Fn Gt(_cod, desc)nullnullArtigo(_cod, titulo, assunto)nullnullAutor()_cod, nomenull4. 3FN 
 
Código do 
artigo
Título do artigo Assunto 
Principal
Código do 
Autor
Nome do Autor
1 Integração 
Semântica em 
BD 
heterogêneos
Banco de dados 
heterogêneos
2 Wen-Suan Li
2  Segurança 
Dinâmica em 
bancos de 
dados federados
Banco de dados 
heterogêneos
4
21
Chris Clifon 
N.B. Idris
3 Métodos 
eficientes de 
agrupamento 
Banco de dados 
espaciais
7
32
12
W.A. Gray
R.F. 
Chuchhouse
Raymond R. Ng
4  Sintonia de 
Desempenho 
automatizada
Banco de dados 
espaciais
14
36 
Jiawei Han
Kurt. P. Brown
5 Bulk loadind into 
OODB 
Banco de dados 
orientado a 
objetos
1  Janet L. Wiener
Congresso: DB25 - Avanços em Sistemas deBanco de 
Dados
GT's promotores: GT3.1 Sistemas de Banco de Dados
 GT3.3 Modelo Conceitual de Banco de 
Dados
 
Exercício
type reg_aluno= record
cod_al: integer;
nome_al: char_60;
ingressos_cursos_al: array [1..10] of record
           cod_curso: integer;
           semestre_ingresso: integer
end;
disciplinas_cursadas_al: array [0..200] of record
           cod_disc: integer;
           semestres_cursados: array [1..20] of record
                      semestre_disc: integer;
                      nota_disc: integer
                      end
           end
end;
arq_aluno= file of reg_aluno;
diego
Sticky Note
Aluno(codAl, nome,ingresoCurso(CodCurso, SemestreIngres)DisciplinaCursada(CodDis, SemestreCursso(sememestreDisci, notaDisc)))null2. 1fn Aluno(cod-al, nome)nullnullalunoCurso(#cod-al, _cod-curso,semestre)nullnullDisciplinaCursada(#cod0al,cod-disc)nullnullsemestre-cursado(#cod-al, #cod-disc, semestre, nota)null4. 2FN, nao precisou,
 
Exercício
Paciente
Médico Data Hora Valor Especialida
de Médico
Daniel Adriano 12/12/07 12:00 R$ 120,00 Neurologista
Daniel Adriano 12/11/07 11:00 R$ 240,00 Neurologista
Luis Adriano 12/12/07 13:00 R$ 360,00 Neurologista
Luis Valquiria 10/10/07 14:00 R$ 23,00 Clinico Geral
Daniel Valquiria 11/11/07 17:00 R$ 340,00 Clinico Geral
Ana Angélica 10/10/10 14:00 R$ 324,00 Ginecologista
diego
Sticky Note
1.Consulta(codigo, data, hora, valor, Medico(codigo, nome, especialidade), Paciente(nome, codigo))nullnull2. 1fn Consulta(codigo, data, hora, valor)nullnullConsultaMedico(#codconsulta, codigo, nome, especialidade)nullnullConsultaPaciente(#codconsulta, nome, codigo)nullnull3. 2fn Paciente(cod, nome)nullnullMedico(cod, nome, especialidade)nullnull4. 3fn Especialidade(cod, descricao)
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61
	Slide 62
	Slide 63
	Slide 64
	Slide 65
	Slide 66
	Slide 67
	Slide 68
	Slide 69
	Slide 70
	Slide 71
	Slide 72
	Slide 73
	Slide 74
	Slide 75
	Slide 76
	Slide 77
	Slide 78
	Slide 79
	Slide 80
	Slide 81
	Slide 82
	Slide 83
	Slide 84
	Slide 85
	Slide 86
	Slide 87
	Slide 88
	Slide 89
	Slide 90
	Slide 91
	Slide 92
	Slide 93
	Slide 94
	Slide 95
	Slide 96
	Slide 97
	Slide 98
	Slide 99
	Slide 100
	Slide 101
	Slide 102
	Slide 103
	Slide 104
	Slide 105
	Slide 106
	Slide 107
	Slide 108
	Slide 109
	Slide 110
	Slide 111
	Slide 112
	Slide 113
	Slide 114
	Slide 115
	Slide 116
	Slide 117
	Slide 118
	Slide 119
	Slide 120
	Slide 121
	Slide 122
	Slide 123
	Slide 124
	Slide 125
	Slide 126
	Slide 127
	Slide 128
	Slide 129
	Slide 130
	Slide 131
	Slide 132
	Slide 133
	Slide 134
	Slide 135
	Slide 136
	Slide 137
	Slide 138
	Slide 139
	Slide 140
	Slide 141
	Slide 142
	Slide 143
	Slide 144
	Slide 145
	Slide 146
	Slide 147
	Slide 148
	Slide 149
	Slide 150
	Slide 151
	Slide 152
	Slide 153
	Slide 154

Outros materiais