Buscar

Apostila Banco De Dados

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 105 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 105 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 105 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Fábio Barreto 1
Banco de Dados I
Prof. Fábio Barreto
Banco Dados I 2
Introdução: Dados X Informação
Ö “Dados são os fatos em sua forma primária, como por exemplo um nome de um empregado e o 
número de horas trabalhadas em uma semana, números de peças em estoque ou pedidos de 
vendas.” (Stair, 1996)
Ö “Quando este fatos estão organizados ou 
arranjados de uma maneira significativa, eles se tornam uma informação. Informação, 
portanto, é um conjunto de fatos organizados de tal forma que adquirem um valor adicional 
além do valor do fato em si. Por exemplo, um certo gerente pode achar que o conhecimento 
do total de vendas mensais é mais adequado ao seu propósito, ou seja, tem mais valor, do 
que as vendas de cada representante de vendas individualmente.” (Stair, 1996)
Banco Dados I 3
Introdução: Dados X Informação
Ö “A transformação de dados em informação é um processo, ou uma série de tarefas logicamente relacionadas, executadas para atingir um resultado definido.” (Stair, 1996). Por exemplo: com os dados de peças em estoque, pedidos e vendedores pode-se obter informações tão diferentes quanto: lista de peças que estão em falta no estoque, a média de venda por peça, os melhores e piores vendedores da companhia, e ainda relacionar os piores e melhores vendedores com as horas trabalhadas por cada um deles.
Ö Os dados relevantes e que devem ser manipulados por um determinado negócio se mantém estáveis mesmo que o negócio em questão modifique radicalmente sua forma de operação, ou seja, seus processos. Logo, os dados são mais estáveis que os processos. Por esta razão muitos autores acreditam que o banco de dados é uma das partes mais valiosas e importantes de um sistema de informação.
Banco Dados I 4
Introdução: Dados X Informação
Ö “É uma coleção de dados relacionados. Dados, por sua vez são uma coleção de fatos que podem ser guardados e que tem um significado implícito. Como exemplo, considere o nome, o endereço e o telefone das pessoas que você conhece. Você pode guardar esses dados num caderno de telefone, ou pode guardar num disquete usando um software como ACCESS ou EXCEL. Isto é uma coleção de dados relacionados com significado explicito” (Navathe, 1994)
Ö “É uma coleção organizada de fatos e informações”(Stair, 1996)
Ö “É uma coleção de fatos registrados que refletem o estado de certos aspectos de interesse do mundo real. “(Machado e Abreu, 1995)
Banco Dados I 5
Introdução: Definições
“um banco de dados é uma coleção de arquivos com 
dados operacionais armazenados, usados pelos 
sistemas de aplicações de uma empresa 
específica.” Permite portanto:
• acrescentar novos arquivos ao BD;
• inserir dados em arquivos existentes;
• buscar dados de arquivos existentes;
• excluir dados de arquivos existentes;
• alterar dados de arquivos existentes;
• remover arquivos existentes no BD.
• “sistema de banco de dados, basicamente, é um 
sistema computadorizado de manutenção de 
registros, ou seja, um sistema cujo objetivo 
global é manter os dados e torná-los 
disponíveis quando solicitados.”
Banco Dados I 6
Introdução: Definições
• dados: designam os valores fisicamente registrados no banco de dados;
informações: designam o significados destes valores para um usuário específico;
os dados apresentam 2 características:
- são integrados: entende-se com sendo a união de diversos arquivos, que de outra forma estariam dispersos;
- são compartilhados: os dados são compartilhados por diversos usuários, podendo estes acessarem o mesmo conjunto de dados para usá-los com objetivos diferentes.
Usados para armazenar os dados.
• o software a camada de software entre os usuários e os dados armazenados denomina-se sistema gerenciador de banco de dados (DBMS). O DBMS isola os usuários do BD, dos detalhes a nível de hardware e admite operações de usuários.
Banco Dados I 7
Introdução: Definições
• os usuários são os atores que são responsáveis 
pela administração do banco, carregamento dos 
dados, consulta, criação de aplicações, entre 
outras tarefas. Dividem-se em:
- programadores de aplicações: interagem com o 
SGBD, por meio de requisições
embutidas em programas nas mais diversas 
linguagens.
- usuários finais: acessam o banco de dados 
interativamente, via aplicações ou interface
do próprio SGBD.
- administrador: pessoa responsável por fazer o 
controle, de modo centralizado, dos dados e 
dos programas que acessam o banco de dados. 
Suas principais funções são:
Banco Dados I 8
Introdução: Definições
* deve entender dos dados e da importância destes para a 
empresa;
* decidir quais dados devem ser armazenados no BD;
* estabelecer normas para manter e tratar esses dados;
* criar os bancos de dados;
* gerar um conjunto de tabelas armazenadas no banco de dados;
* implementar os controles para pôr em prática as normas 
tomadas;
* assegurar o desempenho adequado do sistema e monitorá-lo;
* definição da estrutura de dados e método de acesso;
* criação e modificação na organização física;
* implementar autorização de acesso ao sistema;
* especificar de regras de integridade;
* servir de elo de ligação com os usuários;
* definir a estratégia de backup e recuperação: após erros 
humanos, falhas no hardware ou no sistema operacional é
necessário retornar o BD o mais breve possível e com as 
menores conseqüências ao sistema
Banco Dados I 9
Introdução: Definições
• programas utilitários para auxiliar:
- ferramentas de carga: criar uma versão inicial do BD a partir de um ou mais arquivos;
- ferramentas de backup/restore
(gravação/recuperação);
- ferramentas de reorganização: ajustar o banco de dados de forma a aprimorar o seu desempenho –agrupamento dos dados ou regeneração de espaço de dados obsoletos;
- ferramentas estatísticas: para computar diversos desempenhos estatísticos, tamanhos de arquivos, gráficos, etc;
- ferramentas analíticas: analisa as estatísticas geradas;
- dicionário de dados ou catálogo do sistema ou banco 
de dados do sistema: são “dados sobre dados”(metadados), ou seja, descrição dos objetos do sistema.
Banco Dados I 10
Introdução: Definições
Por que usar um banco de dados ?
Comparando-se ao trabalho manual de armazenar dados:
- densidade: não há necessidade de volume de 
papéis;
- velocidade: recuperação e modificação dos 
dados é realizada de maneira muito rápida;
- menos trabalho monótono: troca o trabalho manual pelo trabalho mecânico;
- atualidade: informações precisas e atualizadas 
estão disponíveis a qualquer momento;
- proteção: os dados podem ficar melhor 
protegidos a perdas não intencionais e acesso ilegal.
Banco Dados I 11
Introdução: Definições
- controle centralizado dos dados operacionais:
* redundância dos dados evitada -> desperdício de espaço evitado;
* inconsistência evitada -> informações 
incorretas evitadas, através da remoção de redundâncias ou da redundância controlada 
(propagação de atualizações);
* compartilhamento dos dados por várias 
aplicações;
* permite a aplicação de restrições de segurança;
* mantém a integridade dos dados, através da 
geração de regras de integridade;
* suporte a transações (unidade lógica de 
trabalho)
Banco Dados I 12
Definição
do BD
(Meta-dados)
BD
armazenado
Consultas / Programas de Aplicação
Software para processar
consultas / programas
Software para acessar
dados armazenados
Usuários / Programadores
Sistema de BD
SGBD
Introdução: Sistemas de Banco de 
Dados
Banco Dados I 13
Definições de Sistema Gerenciador de 
Banco de Dados (SGBD)
Ö “é uma coleção de programas que permite ao usuário criar e manter um 
banco de dados. ” (Navathe, 1994)
Ö “é um sistema computadorizado de armazenamento de dados , ou seja, 
um sistema cujo objetivo geral é manter informações e fazer com que estas 
informações estejam disponíveis quandosolicitado” (Date, 1987)
Ö “é um conjunto de programas desenhado para desempenhar 
determinadas funções a fim de atingir objetivos específicos envolvendo a 
formação e utilização de banco de dados”(Yong, 1990)
Ö “é uma coleção de programas e utilitários para organizar, armazenar, 
atualizar e recuperar dados.”(Hackathorn, 1993)
Banco Dados I 14
SGBD X Sistemas de Arquivos
) Um arquivo (tabela) é definido uma única vez e atende a várias 
aplicações
) Armazena-se junto com os dados toda as informações referentes à
forma como foram estruturados os dados e onde eles estão 
armazenados fisicamente. Essas informações estão armazenadas em 
um catálogo que é chamado de meta-data.
) Há separação entre programas e dados. No SGBD os acessos são 
escritos no banco de dados e os programas enviam comandos 
solicitando o acesso aos dados. Esse conceito é chamado de 
abstração de dados, que caracteriza-se por uma independência 
entre programas e dados e entre programas e operações de 
manipulação de dados.
) São permitidas visões diferenciadas sobre a mesma base de dados 
para aplicações diferentes.
) É permitido acesso simultâneo de vários usuários ao mesmo dado. 
Essa simultaneidade é tratada através do gerenciamento da 
concorrência.
Banco Dados I 15
SGBD X Sistemas de Arquivos
†† com com ServidorServidor de de BancosBancos de Dadosde Dados
Servidor
de Arquivos
Servidor
de Impressão
Programa
Servidor de
Banco de Dados
SGBD
Programa
cabo da rede
Banco Dados I 16
Usuários de BD
Ö Administrador de dados (AD): responsáveis por identificar os dados a serem
armazenados no BD e por escolher as estruturas apropriadas para
representar e armazenar esses dados. Comunicação c/ usuários p/ 
identificação de visões (esquemas conceituais), desenvolve e mantém o 
dicionário de dados, garante as necessidade corporativas de dados
Ö Administradores do BD (ABD) : desenvolve os esquemas internos através 
da construção das tabelas, índices, etc., autoriza o acesso ao banco de 
dados, de modo a coordenar e monitorar seu uso, garante a segurança dos 
dados, bem como seu backup e recuperação em caso de falhas, garante a 
performance do banco de dados e desenvolve visões que atendam ao
esquema externo
Ö Analistas de sistemas : determinam os requisitos dos usuários finais e 
desenvolvem especificações de transações que satisfaçam esses requisitos.
Banco Dados I 17
Usuários de BD
Ö Programadores de aplicação : implementam as especificações das 
transações como programas, testando-os, corrigindo-os e documentando-os. 
Ö Usuários finais: utilizam os sistemas projetados pelo analista de sistemas 
cuja base de dados é mantida e monitorada pelo DBA e cuja integração com 
o conjunto da corporação é garantido pelo esquema conceitual mantido 
pelo AD.
Ö Pessoal de suporte
Banco Dados I 18
Funcionalidades de um SGBD
† Principais Características do SGBD
† Porque BD?
† Quando não usar BDs
† Arquitetura de três esquemas
† Persistência
† Cumprimento das restrições de integridade
Banco Dados I 19
Principais características de um SGBD
Ö Principais características que um SGBD deve prover:
) Independência de Dados
) Controle de Redundância
) Compartilhamento de Dados
) Restrições de Acesso
) Restrições de Integridade
) Mecanismos de Backup e Recuperação
) Múltiplas Interfaces
Banco Dados I 20
Principais características de um SGBD
Ö Independência de Dados
“Consiste na capacidade de permitir que haja evolução na descrição dos 
dados da empresa, sem que os sistemas ou aplicações tenhas que ser 
alterados”
“Imunidade das aplicações às mudanças na estrutura de armazenagem e 
estratégias de acesso”
A independência dos dados em relação a aplicação representa o um avanço 
no sentido de tornar qualquer modificação das estruturas dos arquivos 
imperceptível para os programas. Desta forma, as mudanças na 
organização dos dados não gera qualquer necessidade de alteração dos 
programas que o manipulam.
) Exemplo: Inclusão de um novo campo (atributo) em um arquivo 
(tabela) é feita sem que sejam alterados os programas, pois nos programas 
não estão definidos as estruturas dos arquivos.
Banco Dados I 21
ÖControle de Redundância
“Redundância é armazenar o mesmo dado várias vezes para atender diversas 
aplicações. Para manter a consistência do banco de dados, deve-se armazenar o dado 
uma única vez e em apenas um lugar no banco de dados. Isto permite manter a 
consistência, economizar espaço de armazenamento.” Em alguns caso, a redundância 
é necessária, porém ela deve ser controlada pelo sistema de gerenciamento de banco
de dados. “ (Elmasri & Navathe, 1994)
“É um conceito representado pelo controle centralizado dos dados compartilhados por 
diversas aplicações, reduzindo a repetição de dados a um mínimo justificável e aceita 
apenas por questão de desempenho.” (Cerícola, 1991)
Problemas da redundância de dados:
• duplicação de esforço para manter os dados atualizados;
• desperdício de espaço de armazenamento;
• possibilidade de inconsistência dos dados.
Principais características de um SGBD
Banco Dados I 22
Ö Compartilhamento de Dados
Permitir a usuário diferentes a utilização simultânea de um mesmo 
dado.
) Exemplos:
As informações sobre clientes podem ser acessadas pelo sistema de 
vendas, de contas a receber e faturamento simultaneamente.
A mesma base de dados sobre empregados pode ser usada 
simultaneamente pelo sistema de recursos humanos e pelo sistema 
de vendas. No primeiro caso os dados serão utilizados no processo 
de pagamento e no segundo no processo de alocação dos 
vendedores às áreas de atendimento a cliente.
Principais características de um 
SGBD
Banco Dados I 23
Ö Restrições de Acesso
“Um SGBD deve prover controles de segurança e autorização, que são utilizados 
para criar contas e seus respectivos direitos de acesso quando múltiplos usuários 
compartilham um banco de dados.” (Navathe,1994)
“ Os controles de segurança abrangem conceitos tais como: procedimentos de 
validação e controle, garantia de integridade e controle de acesso, que visam 
resguardar o banco de dados de uma possível perda ou destruição de dados seja 
por falha de programa ou por falha de equipamento” (Cerícola, 1991)
) Exemplos:
O sistema de pagamento poderá atualizar o cargo ocupado pelo empregado 
enquanto o sistema de vendas poderá apensa consultar qual o cargo de um 
determinado empregado.
O sistema de controle de material poderá incluir um novo material no cadastro 
existente enquanto a área de compras consultará as informações sobre os 
materiais necessários para o processo de produção.
Principais características de um 
SGBD
Banco Dados I 24
Principais características de um SGBD
Ö Restrições de Acesso (cont)
) Segurança e autorização
• senhas para usuários e para grupos de usuários;
• restrição de acesso a parte do banco de dados;
• proibição de executar certas operações;
• acesso restrito apenas a transações “enlatadas”;
• proibição de uso de software privilegiado, como o software de 
criação de contas.
Banco Dados I 25
Ö Restrições de Integridade
“A maioria dos SGBD provem certas restrições de integridade que 
devem ser aplicadas aos dados. O SGBD deve ter mecanismos para 
possibilitar a definição das restrições e assegurar o respeito a estas. 
Um exemplo de restrição de integridade é a definição de um tipo de 
dado (data type) para cada item de dado.
) Exemplo:
Ao definir o tipo cores como: azul, vermelho, amarelo e verde. E em 
seguida definir um atributo cor_parede como do tipo cores. O SGBD 
aceitará apenas os tipos definidos ou seja azul, vermelho, amarelo e 
verde como válidos para este atributo.
Pergunta: o que aconteceria se o usuário informasse a cor brancopara 
o atributo cor_parede?
Principais características de um 
SGBD
Banco Dados I 26
Ö Mecanismos de Backup e Recuperação
“Um SGBD deve prover facilidades para recuperação de falhas do 
hardware ou software.
Estes mecanismos evitam que cada aplicação tenha que projetar e 
desenvolver seus próprios controles contra a perda de dados.
) Exemplo:
Se o sistema falha no meio de um programa de alteração complexo, o 
mecanismo de recuperação é responsável por assegurar que o banco 
de dados será restaurado para o estágio que ele se encontrava antes 
do início da execução do programa.
Principais características de um 
SGBD
Banco Dados I 27
Múltiplas Interfaces
• Linguagens de consulta para usuários casuais;
• Linguagens de programação para programadores de 
aplicações;
• Interfaces gráficas com formulários (telas) e menus para
usuários paramétricos;
• Interfaces para administração do banco de dados;
Principais características de um 
SGBD
Banco Dados I 28
Benefícios adicionais dos bancos de 
dados
) Potencial para o estabelecimento e o cumprimento
de padrões
) Flexibilidade de mudanças
) Redução no tempo de desenvolvimento de novas 
aplicações
) Disponibilidade de informação atualizada
Banco Dados I 29
Bancos de dados NÃO são sempre a 
solução!!!
Ö Sobrecustos
) Alto investimento inicial
) Custo da generalidade do SGBD
) “Overhead” de processamento
Ö Quando NÃO usar bancos de dados
) Volume de dados pequeno, aplicações simples, bem
definidas. Mudanças não são esperadas.
) Requisitos estritos de tempo real.
) Acessos múltiplos e concorrentes não são necessários. 
Banco Dados I 30
MODELAGEM DE DADOS
•Engenharia da Informação
• Metodologia utilizada para o Desenvolvimento de 
Sistemas cujo enfoque principal é o DADO. 
• Baseia-se no Princípio da Independência dos Dados, ou 
seja, os dados possuem estruturas e características 
inerentes a si mesmos, independentes dos processos que 
os utilizam ou venham a utilizar.
• A idéia principal é levantar as estruturas de dados que 
vão dar origem aos Bancos de Dados, provendo um fácil 
acesso aos mesmos. Os dados são estáveis, não são 
voláteis como os processos.
• O suporte desta metodologia está baseado na técnica de 
Modelagem de Dados e seus relacionamentos, 
desenvolvida inicialmente por Peter Chen (1976).
Banco Dados I 31
MODELAGEM DE DADOS
•Modelo
• É a representação abstrata e simplificada de um 
sistema real, com a qual se pode explicar ou testar 
o seu comportamento, em seu todo, ou em partes.
ex. Planta baixa de um apartamento
Aeromodelo
Manequim
• O Modelo tem como referência o objeto observado, 
objeto este que pode ser uma empresa, um 
departamento, uma função da empresa, um 
sistema , etc.
Banco Dados I 32
MODELAGEM DE DADOS
Modelagem de Dados
Consiste no processo de levantamento de dados, 
investigação e análise dos dados e seus relacionamentos, 
enfocando quais informações são necessárias para o 
funcionamento do objeto observado, independentemente de 
como ele funciona. É utilizada como meio para obtenção das 
estruturas de dados que nos levam ao projeto de banco de 
dados.
Ao longo do processo de modelagem temos 3 tipos distintos 
de modelos de dados:
• Modelo Conceitual
• Modelo Lógico de Dados
• Modelo Físico de Dados
Banco Dados I 33
MODELAGEM DE DADOS
Modelo Conceitual
• Representa e/ou descreve a realidade do ambiente, constituindo uma visão 
global dos principais dados e relacionamentos (estruturas de informação). 
Descreve as informações contidas em uma realidade, as quais irão estar 
armazenadas em um B.D.
• Os objetos(dados), suas características e relacionamentos tem a representação 
fiel ao ambiente observado, independente de quaisquer considerações físicas e 
operacionais;
• Representa o objeto observado e suas necessidades presente e futura de 
informação;
• A partir do Modelo Conceitual deverá ser possível “derivar” diferentes 
estruturas de implementação, sem haver necessidade de se alterar o Modelo 
Conceitual;
• Esse modelo está ligado às fases de análise e nunca às fases de projeto;
• Para representar esse modelo utilizamos como técnica a abordagem Entidade-
Relacionamento(E-R) que se destina basicamente ao projeto de Banco de Dados.
Banco Dados I 34
MODELAGEM DE DADOS
Modelo Lógico de Dados
• Descreve as estruturas que estarão contidas no banco de 
dados, sem considerar nenhuma característica específica de 
um Sistema Gerenciador de Banco de Dados (SGBD), 
resultando em um esquema lógico de dados. Tem seu início a 
partir do Modelo Conceitual
• Os objetos, suas características e relacionamentos tem a 
representação de acordo com as regras de implementação e 
limitações imposta por algum tipo de tecnologia. Depende do 
modelo físico da implementação (abordagem relacional / 
rede / hierárquica);
• Utilizam-se conceitos tais como: chaves de acesso, controle 
de chaves duplicadas, normalização, integridade referencial, 
etc;
• Esse modelo está ligado à fase de projeto.
Banco Dados I 35
MODELAGEM DE DADOS
Modelo Físico de Dados
• Utiliza as características físicas de implementação 
em função do Banco de Dados utilizado;
• Deve obedecer aos requisitos de desempenho do 
sistema (tempo de resposta, I/O, espaço em disco, 
etc.);
• Descreve as estruturas físicas de armazenamento 
dos dados tais como: tamanho dos campos, índices, 
nomenclaturas, tipo de preenchimento dos campos, 
etc. Tem origem no Modelo Lógico e detalha o 
estudo dos métodos de acesso ao SGBD
Banco Dados I 36
Percepção do mundo real: 
elementos de abstração
† Minimundo: Porção específica da realidade, captada pelo 
analista, objeto de observação detalhada. Caso a análise 
do minimundo torne-se muito complexa, o analista pode 
subdividi-lo em pontos menores, chamados de “visões”.
† Banco de Dados: Coleção de fatos registrados que 
refletem certos aspectos de interesse do mundo real. Cada 
mudança em algum item do banco de dados reflete uma 
mudança ocorrida na realidade.
Banco Dados I 37
Percepção do mundo real
† Toda realidade é sempre, em princípio, bastante nebulosa e informal. Através da
observação podemos extrair desta realidade fatos que nos levam a conhecê-la de 
uma forma mais organizada.
† Em um negócio, existem fatos que, observados e modelados, dizem algo a respeito 
do funcionamento deste negócio. Estes fatos estão ligados diretamente ao 
funcionamento da realidade, a qual temos interesse em compreender e manter. 
† Para que possamos retratar estes fatos e que os mesmos possam nos levar a 
futuras decisões e ações, se faz necessário então registrá-los. Este registro é feito 
através da criação de um MODELO, isto é, algo que nos mostre como as 
informações estão relacionadas.
† Ao coletar e relacionar os fatos relevantes, devemos identificar os elementos 
geradores de informação, as leis que regem esta realidade, bem como as 
operações que incidem sobre os elementos básicos (dados).
† O que se quer criar é uma ABSTRAÇÃO da realidade, que seja capaz de 
registrar os acontecimentos da mesma, de modo que se possa implementar um 
sistema automatizado que atenda às reais necessidades de informação.
Banco Dados I 38
Percepção do mundo real: Níveis 
de Abstração
Modelo
Conceitual
Modelo
Logico
Modelo
Fisico
BD
MINIMUNDO
Realidade 
Nebulosa
Realidade 
Nebulosa
observa
Analista
Organiza ideias
descreve
Desenvolver um projeto de sistema de 
informação consiste em traduzir um 
“problema” do mundo real numa “solução” que 
envolve a organização, pessoas e tecnologia 
(hardware e software).
Banco Dados I 39
PROJETO (DESIGN) DE BANCOS DE 
DADOS
Requisitos de Dados
Projeto Conceitual
Projeto Lógico
Projeto FísicoEsquema Conceitual
Esquema Físico
Esquema Lógico
Coleta e Análise
de Requisitos
Mini-Mundo
Independente
de SGBD
Específico para
um SGBD
Foco : dados
Banco Dados I 40
VisõesVisões
ExemploExemplo: : Empresa aérea
1- Funcionários
(Nome, CPF, DataNasc, Telefone, DataAdmissão)
2- Equipamentos
(NumAvião, Marca, Tipo, Capacidade,
NumTripulação, DataRevisão)
3- Funções
(NomeFunção, Salário, Qualificação,
TipoEquipam)
4- Vôo
(NumVôo, Linha, Equipamento, NumHoras, 
ServiçoBordo, HorárioSaída)
Aplicações:
• Folha pagamento
(1,3)
• Equipe tripulação
(1,2,3)
• Manutenção equip
(1, 2, 3)
• Reserva vôo
(2,4)
• Escala manutenção
(1,2,3)
Banco Dados I 41
Programa de
aplicação de BDSGBD Programa deaplicação de BDPrograma deaplicação
dados
SISTEMA DE INFORMAÇÃO
Banco Dados I 42
Requisitos
de Dados
Projeto Conceitual
Projeto Lógico
Projeto Físico
Coleta/Especificação
de Requisitos Requisitos
Funcionais
Análise Funcional
Projeto Funcional
Programação
Programa de
aplicação de BDSGBD
Programa de
aplicação de BD
Programa de
aplicação
dados
Mundo
Real
Banco Dados I 43
p j
† Todo projeto de um sistema de aplicação para banco de dados necessita de um coração, 
um centro nervoso do mesmo. A modelagem de um sistema através da abordagem 
Entidades-Relacionamentos representa este ponto central no projeto conceitual de 
um sistema.
† O objetivo da Modelagem de Dados é transmitir e apresentar uma representação 
única, não redundante e resumida, dos dados de uma aplicação. Em projetos conceituais 
de aplicação em banco de dados o Modelo Entidades-Relacionamentos é o mais 
largamente utilizado para representação e entendimento dos dados que compõe um 
sistema.
† Desenvolvida na década de 70 e possui paternidade discutível: Charles Bachman, James 
Martin, Peter Chen e outros. É de Peter Chen o rótulo MER (Modelo Entidades-
Relacionamentos) que se transformou em, praticamente, sinônimo da técnica de 
Modelagem de Dados.
† Um Modelo de Dados é uma forma de representação gráfica do conhecimento que se 
tem sobre um ambiente qualquer. Mostra uma visão das informações de interesse e dos 
vínculos existentes entre elas, em um determinado momento.
O projeto de Banco de Dados
Banco Dados I 44
Modelo Entidades-Relacionamentos
† Quando Peter Chen formulou a proposta do Modelo Entidades-
Relacionamentos , baseou-se na compreensão da realidade em que se 
situava o problema. Como iremos projetar um sistema se não 
entendemos o negócio para o qual será realizado?
† Chen dedicou-se a destacar a importância de reconhecer os objetos que 
compõem este negócio, independentemente das formas de tratamento 
das informações, procedimentos, programas, etc... Estes objetos que 
desejamos conhecer e modelar foram classificados em dois grupos:
Entidades e Relacionamentos.
† A figura seguinte representa um fato comum que pode ser representado 
através dos elementos básicos que compõem o Modelo Entidades-
Relacionamentos
Banco Dados I 45
Objetos conceituais
CLIENTE
PEDIDO
PRODUTO
faz contem
Banco Dados I 46
Entidades
Define-se Entidade como aquele objeto que existe no mundo real, 
com identificação distinta e com um significado próprio.
† São as “coisas” que existem no negócio, ou ainda, descrevem o 
negócio em si.
† A representação de uma entidade no MER é feita através de um 
retângulo, com o nome da entidade em seu interior.
CLIENTE PRODUTO
Banco Dados I 47
† Todo objeto para ser uma entidade possui propriedades que são descritas por 
atributos e valores. Estes atributos e valores, juntos, descrevem as instâncias de 
uma entidade.
„ O que descreve CLIENTE ? Cliente é descrito por um código de identificação, nome, 
endereço, telefone de contato, CGC ou CPF, etc.... 
† A representação de um atributo no MER é feita através de uma elipse, com o nome 
do atributo em seu interior.
CPFCPFNOMENOME
CÓDIGOCÓDIGO
Atributos
Banco Dados I 48
Mais sobre Entidades ...
„ Entidades podem ser tangíveis
† Pessoas
† Edifícios
„ Entidades podem ser intangíveis
† órgão (dentro de uma empresa)
† reserva em um vôo
„ Entidade Fraca
não existe se não estiver relacionada a outra, isto é, ela é logicamente 
dependente da outra. 
Banco Dados I 49
Mais sobre Atributos ...
† Atributos Compostos (Grupo de Atributos): Combinação ou agregação de 
atributos relacionados
Exemplo: Endereço é formado pelos atributos: rua, bairro, cidade, estado, CEP. 
† Atributos Simples ou Atômicos: Atributos que não são divisíveis em 
unidades dados mais simples.
Exemplo: DataNascimento, NumeroFatura, ValorTotalVenda
† Atributos Derivados: Atributo pode ser derivado dos valores de outros atributos 
(atributos base) ou entidades. 
Exemplo: Idade, empréstimos _mantidos
„ Domínio de um atributo: descrição de possíveis valores permitidos para um 
atributo. 
Exemplo: domínio do atributo CorPeça: azul, amarelo, verde, vermelho, branco
„ Valores nulos: atributo sem valor
† Desconhecido
† Não aplicável 
† Omisso
Banco Dados I 50
Relacionamento
† Um relacionamento é uma associação entre duas ou mais entidades cujo significado seja de 
interesse para a realidade analisada.
† Os relacionamentos estão intimamente ligados às ações realizadas pelos processos sobre os 
dados e representam os caminhos de navegação ou rotas de acesso do Modelo de Dados.
† Existem várias formas de se representar graficamente um relacionamento, Por exemplo, Peter 
Chen utiliza um retângulo para desenhar uma associação entre entidades, outros autores a 
representam através de um traço unindo as entidades.
CLIENTE pede PRODUTO
CLIENTE PRODUTO
Banco Dados I 51
Modelando o Negócio
† Num primeiro contato com um negócio para o qual se efetuará um 
sistema de aplicação, podemos não possuir conhecimento especializado 
no mesmo, logo, devemos procurar conhecer seus objetos principais.
† Ao descrevermos textualmente a realidade analisada, as entidades podem 
ser identificadas por similaridade com a análise sintática nas linguagens 
naturais.
† Nesse caso, algumas regras podem ser aplicadas:
„ o sujeito e o objeto da sentença são, provavelmente, entidades;
„ os verbos sugerem relacionamentos;
† “Um país participa das Olimpíadas”:
„ A frase sugere de imediato a garimpagem de PAÍS e OLIMPÍADAS como 
entidades e o verbo “PARTICIPA” como o relacionamento entre elas. 
Banco Dados I 52
Identificação de Relacionamento
Relacionamento entre objetos de diferentes tipos:
Nesse tipo de relacionamento associamos instâncias de um objeto de um tipo a outras de 
outro tipo. 
Exemplo: o relacionamento entre PESSOA e VEICULO com a finalidade de expressar o conceito 
de propriedade.
Assim, se desejamos ter, conceitualmente, representado um ambiente observado onde “João 
é proprietário de um jipe amarelo”, poderemos nos valer da seguinte estratégia:
1- Identificar os objetos envolvidos
PESSOA, com a instância “João”
VEICULO, com a instância “jipe”
2 - Caracterizar os objetos
PESSOA, caracterizado por: nome, data de nascimento, sexo, CPF
VEICULO, caracterizado por: marca cor, ano de fabricação, número do 
chassis
Banco Dados I 53
Identificação de Relacionamento
3 - Representar os objetos:
4- Identificar o relacionamento entre os objetos 
PESSOA é proprietária de VEICULO
5 - Caracterizar o relacionamento entre os objetos
Nem toda PESSOA é proprietária de um VEICULO
Um VEICULO pode pertencer a uma PESSOA ou não
Algumas PESSOA possuem mais de um VEICULO
Se um VEICULO pertence a uma PESSOA, ele não pertence a mais ninguém
PESSOA VEICULO
Banco Dados I 54
Identificação de Relacionamento
6 - Representar o relacionamento
Este processo pode ser utilizado para mapear qualquerrelacionamento entre dois, ou mais, 
tipos de objetos e, também, entre os mesmos objetos.
Assim, se necessitamos expandir nosso modelo representando também as observações:
- um VEICULO é de propriedade de uma PESSOA mas pode ser utilizado por diversas 
PESSOAS para locomoção 
- uma PESSOA utiliza um IMOVEL para morar
Teríamos que repetir os passos de 1 a 6 para cada nova observação.
PESSOA VEICULO
é
proprietario
de
Banco Dados I 55
Identificação de Relacionamento
1 - Identificar os objetos envolvidos
PESSOA
VEICULO
IMOVEL
2 - Caracterizar os objetos
PESSOA, caracterizado por: nome, data de nascimento, sexo, CPF
VEICULO, caracterizado por: marca cor, ano de fabricação, número do chassis
IMOVEL, caracterizado por: numero do registro, endereço, metragem, tipo de edificação
3 - Representar os objetos:
PESSOA VEICULO IMOVEL
Banco Dados I 56
Identificação de Relacionamento
4- Identificar os novos relacionamentos entre os objetos 
PESSOA utiliza VEICULO
PESSOA utiliza IMOVEL
5 - Caracterizar o relacionamento entre os objetos
Nem toda PESSOA utiliza um VEICULO
Um VEICULO pode ser utilizado por mais de uma PESSOA
Algumas PESSOA utilizam mais de um VEICULO
Um VEICULO sempre será utilizado por, pelo menos, uma PESSOA
Toda PESSOA utiliza um, e somente um, IMOVEL para morar
Um IMOVEL pode ser utilizado por uma ou mais PESSOA
Um IMOVEL nem sempre é utilizado por uma PESSOA
Banco Dados I
Identificação de Relacionamento
6 - Representar novos relacionamentos
PESSOA VEICULO
é
proprietario
de
utiliza
utiliza
IMOVEL
Banco Dados I 58
Exercício
Construa o Modelo Entidades-Relacionamentos para o mini-mundo 
descrito a seguir:
Suponha que estamos fazendo a análise de dados da área de Recursos Humanos 
da empresa ABC e tenhamos obtido as seguintes informações:
“Cada funcionário é lotado em um departamento e tem um cargo de carreira. 
Para o cadastramento do funcionário são registrados: nome, endereço, telefone, 
cargo, departamento, salário, horário, filiação, idade, CPF, identidade e 
nacionalidade. Para cada dependente do funcionário são registrados: nome, 
idade, parentesco e sexo. Para cada departamento deseja-se saber: nome, sigla, 
nome do chefe, número de funcionários. Para cada cargo deseja-se saber: nome, 
sigla e salário base.
Sabemos também que não é armazenado o histórico de cargos dos funcionários e 
que nem todos os funcionários possuem dependentes e que, também, caso um 
funcionário seja casado com outro funcionário, o dependente oficialmente 
pertencerá a apenas um deles. Podemos ter departamentos momentaneamente 
sem nenhum funcionário.”
Banco Dados I 59
Cardinalidade
† Uma relação entre duas entidades pode ser descrita em termos da sua 
cardinalidade
† Como expressar a cardinalidade
„ Um para Um 1:1 
† Um empregado pode ser atribuído a um carro.
„ Um para Muitos 1:N 
† Um cliente pode tomar emprestado várias fitas de vídeo.
„ Muitos para Muitos N:M
† Um estudante pode fazer várias disciplinas e uma disciplina pode ser cursada 
por vários estudantes
) A cardinalidade é determinada pelas “regras de negócio” criadas 
pela organização. Os usuários e a documentação da organização 
dirão qual a cardinalidade existente entre entidades e atributos
Banco Dados I 60
CarroPossuiEmpregado
1 1
Jipe
Golf
João
Manuel
Pedro
Maria
Vicente
Fusca
Vectra
Renault
Cardinalidade um para um
Banco Dados I 61
Cardinalidade um para muitos
VideoAlugaCliente
1 N
Melhor é Impossível
Laura
João
André
Pedro
Carol
Central do Brasil
Gladiador
A Vida é Bela
Bossa Nova
Operação Marte
Naufrago
Mar em Fúria
Tomates Verdes Fritos
Banco Dados I 62
Cardinalidade muitos muitos
Curso Matricula Aluno
N M
Compõe Disciplina
Informática
Engenharia
ENG 602
INF 351
INF 404
ENG 606
Rita
Coelho
Maria
Josefina
Getúlio
Mike
Jordão
Valter
Luis
Barbara
N1
INF 303
Banco Dados I 63
Mais sobre Relacionamentos ...
PedidoPedido-ClienteCliente
PedidoFazCliente
EmpréstimoObtémCliente
EmpréstimoEmp-ClienteCliente
Relações podem ser nomeados usando verbos ou palavras agregadas
Banco Dados I 64
As relações podem ter limites mínimos e máximos
† Um professor pode ensinar de 0 a 4 disciplinas (limite inferior é 0 e limite 
superior é 4) e um uma disciplina pode ser ministrada por 0 a 1 
professor (limite inferior é 0 e o limite superior é 1)
Professor Ministra Disciplina
0:1 0:4
Limite 
Inferior
Limite 
Superior Limite 
Inferior
Limite 
Superior
Mais sobre Relacionamentos ...
) Quando o limite inferior da cardinalidade for 0, o relacionamento é definido como 
“opcional”
) Quando o limite inferior da cardinalidade for 1, o relacionamento é definido como 
“obrigatório”
Banco Dados I 65
Relações recursivas
† Ocorre quando uma entidade 
possui um relacionamento com 
ela mesma
† Os relacionamentos recursivos 
podem também ter limites 
inferiores e superiores
† Exemplo: Um organização 
possui uma entidade 
“Empregado”e que guardar a 
informação sobre quais 
empregados são casados entre 
si. Esse é um relacionamento 
recursivo 1:1 onde a entidade 
“Empregado” se relaciona 
consigo mesmo.
Mais sobre Relacionamentos ...
Rita
Carla
Maria
Josefina
Getúlio
Marta
Jordão
Valter
Luis
Barbara
Manuel
Joaquim
Banco Dados I 66
Relacionamentos recursivos um para um
Casado
Com
Empregado
1
1
Pode ser visto como a entidade relacionando-se com ela mesma
Mais sobre Relacionamentos ...
Casado
Com
Empregado
1 1
Empregado
Banco Dados I 67
Limites inferiores e superiores em um relacionamento 1:1 
recursivo
Casado 
Com
Empregado
1 : 1
0 : 1
Limite inferior
Limite superior
Limite inferior Limite superior
Mais sobre Relacionamentos ...
Banco Dados I 68
Mais sobre Relacionamentos ...
Atributos de Relacionamentos
Os atributos de relacionamento são possíveis quando o grau do relacionamento
for N : M ( muitos para muitos )
Professor Ministra Disciplina
N M
PROFESSOR: Matrícula, Nome
DISCIPLINA: Código, Nome
MINISTRA: Data de Início
Banco Dados I 69
Mais sobre Relacionamentos ...
Banco Dados I 70
Mais sobre Relacionamentos ...
Relacionamentos Ternários
No caso de relacionamentos de grau maior que dois, o conceito de 
cardinalidade de relacionamento é uma extensão não trivial do conceito de 
cardinalidade em relacionamentos binários. Lembre-se que, em um 
relacionamento binário R entre duas entidades A e B, a cardinalidade máxima
de A em R indica quantas ocorrências de B podem estar associadas a cada
ocorrência de A. No caso de um relacionamento ternário, a cardinalidade
refere-se a pares de entidades. Em um relacionamento R entre três entidades
A, B e C, a cardinalidade máxima de A e B dentro de R indica quantas
ocorrências de C podem estar associadas a um par de ocorrências de A e B.
Cada ocorrência do relacionamento DISTRIBUIÇÃO associa três 
ocorrências de entidade: um produto a ser distribuído, uma cidade na qual é
feita a distribuição e um distribuidor.
Banco Dados I 71
Mais sobre Relacionamentos ...
Relacionamentos Ternários
Banco Dados I 72
Mais sobre Relacionamentos ...
Relacionamentos Ternários
Exemplificando, na Figura, o “1” na linha que liga o retângulo 
representativo da entidade DISTRIBUIDOR ao losango 
representativo do relacionamento expressa que cada par de 
ocorrências (cidade, produto) está associado a no máximo um 
distribuidor. Em outros termos, não há concorrência pela 
distribuição de um produto em uma cidade. Já os dois “n”
expressam que:
•A um par (cidade, distribuidor) podem estar associados muitos 
produtos, ou em outros termos, um distribuidorpode distribuir em 
uma cidade muitos produtos.
•A um par (produto, distribuidor) podem estar associadas muitas 
cidades, ou em outros termos um distribuidor pode distribuir um 
produto em muitas cidades.
Banco Dados I 73
Modelo Relacional
Atributo Identificador: 
A atributo ou conjunto de atributos que será utilizado para identificar 
instâncias de uma entidade. Faz parte do modelo conceitual.
Chave:
designa o conceito de item de busca, isto é, um atributo ou conjunto de 
atributos que será utilizado nas consultas à base de dados.
É um conceito lógico da aplicação.
Índice:
É um recurso físico que visa otimizar a recuperação de uma informação, via 
um método de acesso. Seu objetivo principal está relacionado com a 
performance de uma aplicação.
) Uma chave pode ser utilizada como índice, mas um índice não é, 
necessariamente, uma chave
Banco Dados I 74
)Super Chave
é um conjunto de um ou mais atributos que, tomados coletivamente, permitem identificar 
unicamente uma instância de entidade
)Chave Candidata
–Deve ser única, ou seja, nenhuma instância de uma entidade pode ter o mesmo valor para o 
atributo escolhido como chave candidata
–Deve ser irredutível, nenhum subconjunto da chave candidata pode ter sozinho a 
propriedade de ser único.
) Chave primária 
–É um caso especial da chave candidata. É a escolhida entre as candidatas para identificar 
unicamente uma tupla.
) Chave estrangeira
– É quando um atributo de uma relação é chave primária em outra.
–Constitui um conceito de vital importância no modelo relacional: é o elo de ligação lógica 
entre as tabelas (relacionamentos) 
–Através das operações com as chaves estrangeiras que se garante a INTEGRIDADE 
REFERENCIAL do banco de dados:
Modelo Relacional
Banco Dados I 75
z Regras de Integridade : Regras que devem ser obedecidas em todos os estados válidos da base de dados 
(podem envolver uma ou mais linhas de uma ou mais tabelas)
z Integridade da Entidade
Ö O valor da chave não pode ser vazio
Ö A chave primária serve como representante na base de dados de uma entidade – se a chave primária for 
vazia, alinha não corresponde a nenhuma entidade 
z Integridade de Chave Primária
Ö O chave primária tem que ser única
z Integridade Referencial
Ö As chaves estrangeiras tem que ser respeitadas, ou seja, se existe um determinado valor para o atributo 
na tabela onde ele é chave estrangeira este valor deve existir na tabela onde ele é chave primária 
z Restrições de Integridades Semânticas
Ö Todas as demais regras que devem ser obedecidas por todos os estados válidos da base de dados
Modelo Relacional
Banco Dados I 76
z Regras de Integridade : Regras que devem ser obedecidas em todos os estados válidos da base de dados 
(podem envolver uma ou mais linhas de uma ou mais tabelas)
z Integridade da Entidade
Ö O valor da chave não pode ser vazio
Ö A chave primária serve como representante na base de dados de uma entidade – se a chave primária for 
vazia, alinha não corresponde a nenhuma entidade 
z Integridade de Chave Primária
Ö O chave primária tem que ser única
z Integridade Referencial
Ö As chaves estrangeiras tem que ser respeitadas, ou seja, se existe um determinado valor para o atributo 
na tabela onde ele é chave estrangeira este valor deve existir na tabela onde ele é chave primária 
z Restrições de Integridades Semânticas
Ö Todas as demais regras que devem ser obedecidas por todos os estados válidos da base de dados
Modelo Relacional
Banco Dados I 77
zGeneralização/Especialização :
Além de relacionamentos e atributos, 
propriedades podem ser atribuídas a entidades através do 
conceito de generalização/especialização. Através deste 
conceito é possível atribuir propriedades particulares a um 
subconjunto das ocorrências (especializadas) de uma entidade 
genérica. O símbolo para representar 
generalização/especialização é um triângulo isósceles.
Modelo Relacional: Recursos estendidos
Banco Dados I 78
Modelo Relacional: Recursos estendidos
Banco Dados I 79
Modelo Relacional: Recursos estendidos
Banco Dados I 80
zEntidade Associativa :
Um relacionamento é uma associação entre 
entidades. Na modelagem ER não foi prevista a 
possibilidade de associar uma entidade com um 
relacionamento ou então de associar dois 
relacionamentos entre si. Na prática, quando está-
se construindo um novo DER ou modificando um 
DER existente, surgem situações em que é
desejável permitir a associação de uma entidade a 
um relacionamento.
Modelo Relacional: Recursos estendidos
Banco Dados I 81
Modelo Relacional: Recursos estendidos
Banco Dados I 82
Modelo Relacional: Recursos estendidos
Banco Dados I 83
Modelo Relacional: Recursos estendidos
Banco Dados I 84
†Um modelo ER é um modelo formal:
Um DER é um modelo formal, preciso, não ambíguo. Isto 
significa que diferentes leitores de um mesmo DER devem 
sempre entender exatamente o mesmo. Tanto é assim, que um 
DER pode ser usado como entrada a uma ferramenta CASE4 na 
geração de um banco de dados relacional.
†Abordagem ER têm poder de expressão limitado:
Neste contexto, o DER nada mais é do que uma descrição 
abstrata das estruturas do banco de dados (das tabelas, no caso 
de um banco de dados relacional). Construções artificiais, isto é, 
construções incluídas no modelo apenas para satisfazer 
determinadas restrições de integridade são indesejáveis, pois 
distorcem os objetivos que se tem ao construir o DER.
Modelo Relacional: Propriedades do 
Modelo ER
Banco Dados I 85
†Diferentes modelos podem ser 
equivalentes:
Às vezes, discussões são absolutamente supérfluas, pois 
os diferentes modelos ER, em qualquer das opções defendidas 
pelos diferentes analistas, geram o mesmo banco de dados. 
Assim, para analisar se dois modelos são equivalentes, é
necessário considerar um conjunto de regras de tradução de 
modelos ER para modelos lógicos de BD.
Modelo Relacional: Propriedades do 
Modelo ER
Banco Dados I 86
†Atributo versus entidades 
relacionada:
Critérios para decisão:
„ Caso o objeto cuja modelagem está em discussão esteja vinculado 
a outros objetos (atributos, relacionamentos, entidades genéricas ou 
especializadas), o objeto deve ser modelado como entidade, já que um 
atributo não pode ter atributos, nem estar relacionado a outras 
entidades, nem ser generalizado ou especializado. Caso contrário, o 
objeto pode ser modelado como atributo.
„ Quando o conjunto de valores de um determinado objeto é fixo 
durante toda a vida do sistema ele pode ser modelado como atributo, 
visto que o domínio de valores de um atributo é imutável.
Modelo Relacional: Identificando 
Construções
Banco Dados I 87
†Atributo versus 
generalização/especificação
Uma especialização deve ser usada quando sabe-se que as classes 
especializadas de entidades possuem propriedades (atributos, relacionamentos, 
generalizações, especializações) particulares. Assim, no caso do exemplo abaixo, 
faz sentido especializar a entidade empregado de acordo com a categoria 
funcional, no caso de as classes particulares possuírem atributos ou 
relacionamentos próprios (um exemplo é o caso da Figura 3.5).
Modelo Relacional: Identificando 
Construções
Banco Dados I 88
Modelo Relacional: Identificando 
Construções
Banco Dados I 89
†Atributos opcionais e multi-
valorados
No processo de modelagem é aconselhável tentar restringir-se ao uso de 
atributos obrigatórios.
„ Atributo opcional:
O DER a Figura abaixo apresenta uma entidade com diversos atributos 
opcionais. Segundo este DER, nem todo empregado possui um registro no CREA 
(Conselho Regional de Engenharia e Arquitetura), nem todo empregado possui um 
registro no CRM (Conselho Regional de Medicina), etc. Entretanto,o modelo não 
representa que combinações de atributos são válidas. Será que um empregado 
pode possuir atributos CREA, CRM, data de expiração da carteira de habilitação 
mas não possuir o número da carteira?
Neste modelo fica claro quais os atributos de cada um dos subconjuntos 
particulares de EMPREGADO. Assim, toda vez que aparecer um atributo opcional é
aconselhável verificar se a modelagem através de entidades especializadas não é
mais conveniente.
Modelo Relacional: Identificando 
Construções
Banco Dados I 90
Modelo Relacional: Identificando 
Construções
Banco Dados I 91
Atributos multi-valorados
Atributos multi-valorados são indesejáveis por duas razões:
† Nos SGBD relacionais que seguem o padrão SQL/2, atributos multi-
valorados não possuem implementação direta. Não existe em um SGBD 
relacional uma construção como os “arrays” de Pascal. Assim, caso esteja 
sendo projetada um banco de dados relacional, é aconselhável usar 
apenas atributos mono-valorados.
† O Atributos multi-valorados podem induzir a um erro, que é o de 
ocultar entidades e relacionamentos em atributos multi-valorados. A 
abaixo mostra um DER em que são modelados empregados. Como 
atributos de EMPREGADO aparecem o nome do empregado, seus 
dependentes e os lançamentos de pagamento que compõem seu 
contracheque. Entretanto, ao considerar a entidade EMPREGADO mais 
detalhadamente, observa-se que tanto dependentes, quanto os 
lançamentos possuem propriedades particulares. Cada dependente possui 
um nome e uma data de nascimento. Já um lançamento de pagamento 
possui um valor e um tipo de lançamento, sobre o qual também nos 
interessa manter informações, como o código do tipo e sua descrição.
Modelo Relacional: Identificando 
Construções
Banco Dados I 92
O modelo de ser correto
Um modelo está correto quando não contém erros de 
modelagem, isto é, quando os conceitos de modelagem ER são 
corretamente empregados para modelar a realidade em 
questão.
Os erros são: 
- Sintáticos ocorrem quando o modelo não respeita as regras 
de construção de um modelo ER. Ex.: Associar atributos a atributos, 
o de associar relacionamentos a atributos, o de associar 
relacionamentos através de outros relacionamentos ou de 
especializar relacionamentos ou atributos. 
Modelo Relacional: Verificação do 
modelo
Banco Dados I 93
O modelo de ser correto
- Semânticos ocorrem quando o modelo, apesar de obedecer as regras 
de construção de modelos ER (estar sintaticamente correto) reflete a realidade 
de forma inconsistente. Alguns exemplos de erros semânticos praticados 
freqüentemente são:
„ Estabelecer associações incorretas.
Um exemplo é associar a uma entidade um atributo que na realidade 
pertence a outra entidade. Por exemplo, em um modelo com entidades CLIENTE 
e FILIAL, associar a CLIENTE o nome da filial com o qual o cliente trabalha 
usualmente (nome de filial é um atributo de FILIAL).
„Usar uma entidade do modelo como atributo de outra entidade.
Um exemplo seria ter, em um modelo, uma entidade BANCO e usar 
banco como atributo de uma outra entidade CLIENTE. Cada objeto da realidade 
modelada deve aparecer uma única vez no modelo ER.
„Usar o número incorreto de entidades em um relacionamento.
Um exemplo é o de fundir em um único relacionamento ternário dois 
relacionamentos binários independentes. As regras de normalização de bases 
de dados relacionais servem também para verificar a correção de modelos ER
Modelo Relacional: Verificação do 
modelo
Banco Dados I 94
O modelo de ser correto
- Semânticos ocorrem quando o modelo, apesar de obedecer as regras 
de construção de modelos ER (estar sintaticamente correto) reflete a realidade 
de forma inconsistente. Alguns exemplos de erros semânticos praticados 
freqüentemente são:
„ Estabelecer associações incorretas.
Um exemplo é associar a uma entidade um atributo que na realidade 
pertence a outra entidade. Por exemplo, em um modelo com entidades CLIENTE 
e FILIAL, associar a CLIENTE o nome da filial com o qual o cliente trabalha 
usualmente (nome de filial é um atributo de FILIAL).
„Usar uma entidade do modelo como atributo de outra entidade.
Um exemplo seria ter, em um modelo, uma entidade BANCO e usar 
banco como atributo de uma outra entidade CLIENTE. Cada objeto da realidade 
modelada deve aparecer uma única vez no modelo ER.
„Usar o número incorreto de entidades em um relacionamento.
Um exemplo é o de fundir em um único relacionamento ternário dois 
relacionamentos binários independentes. As regras de normalização de bases 
de dados relacionais servem também para verificar a correção de modelos ER
Modelo Relacional: Verificação do 
modelo
Banco Dados I 95
O modelo de ser completo
Um modelo completo deve fixar todas propriedades 
desejáveis do banco de dados. Isso obviamente somente pode ser 
verificado por alguém que conhece profundamente o sistema a ser 
implementado. Uma boa forma de verificar se o modelo é completo é
verificar se todos os dados que devem ser obtidos do 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.
Este requisito é aparentemente conflitante com a falta de 
poder de expressão de modelos ER. Quando dizemos que um modelo 
deve ser completo, estamos exigindo que todas propriedades 
expressáveis com modelos ER apareçam no modelo.
Modelo Relacional: Verificação do 
modelo
Banco Dados I 96
O modelo de ser livre de redundância 
Um modelo completo deve fixar todas propriedades 
desejáveis do banco de dados. Isso obviamente somente pode ser 
verificado por alguém que conhece profundamente o sistema a ser 
implementado. Uma boa forma de verificar se o modelo é completo é
verificar se todos os dados que devem ser obtidos do 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.
Este requisito é aparentemente conflitante com a falta de 
poder de expressão de modelos ER. Quando dizemos que um modelo 
deve ser completo, estamos exigindo que todas propriedades 
expressáveis com modelos ER apareçam no modelo.
Modelo Relacional: Verificação do 
modelo
Banco Dados I 97
O modelo deve refletir o aspecto temporal
É necessário lembrar que assim como informações são 
incluídas no banco de dados, elas também podem ter que ser 
eliminadas do banco de dados.
Um banco de dados não pode crescer indefinidamente. 
Informações ultrapassadas ou desnecessárias podem ser 
eliminadas. Portanto, é necessário considerar o aspecto temporal 
na modelagem de dados. Não há regras gerais de como proceder 
neste caso, mas é possível identificar alguns padrões que 
repetem-se freqüentemente na prática:
Modelo Relacional: Verificação do 
modelo
Banco Dados I 98
O modelo deve refletir o aspecto temporal
„Atributos cujos valores modificam ao longo 
do tempo
„Relacionamento que modificam ao longo do 
tempo
„Consulta de dados referentes ao passado
Modelo Relacional: Verificação do 
modelo
Banco Dados I 99
O modelo deve refletir o aspecto temporal
„ Atributos cujos valores modificam ao longo 
do tempo
Alguns atributos de uma entidade, normalmente aqueles que 
não são identificadores da entidade, podem ter seus valores 
alterados ao longo do tempo (por exemplo, o endereço de um 
cliente pode ser modificado). Algumas vezes, por questões de 
necessidades futuras de informações, ou até mesmo por questões 
legais, o banco de dados deve manter um registro histórico das 
informações.
Um exemplo é o valor do salário de um empregado. Num 
sistema de pagamento, não interessa saber apenas o estado atual,
mas também o salário durante os últimos meses.
Modelo Relacional: Verificação do 
modelo
Banco Dados I 100
O modelo deve refletir o aspectotemporal
„ Atributos cujos valores modificam ao longo 
do tempo
Modelo Relacional: Verificação do 
modelo
Banco Dados I 101
O modelo deve refletir o aspecto temporal
„ Relacionamento que modificam ao longo do 
tempo
Assim como atributos podem ter seus valores 
modificados ao longo do tempo, também relacionamentos 
podem ser modificados e também neste caso pode ser 
requerido que o banco de dados mantenha um registro 
histórico das alterações. Em geral, relacionamentos que, ao 
considerar apenas o estado atual do banco de dados, 
possuem cardinalidade 1:1 ou 1:n são transformados em 
cardinalidade n:n, quando é considerada a história das 
alterações de relacionamento.
Modelo Relacional: Verificação do 
modelo
Banco Dados I 102
O modelo deve refletir o aspecto temporal
„ Relacionamento que modificam ao longo do 
tempo
Modelo Relacional: Verificação do 
modelo
Banco Dados I 103
O modelo deve refletir o aspecto temporal
„ Consulta de dados referentes ao passado
Muitas vezes, para evitar o crescimento desmedido do banco 
de dados, informações referentes ao passado são eliminadas. 
Entretanto, estas informações podem ser necessárias no futuro, por 
exemplo, por motivos legais, para realização de auditorias ou para 
tomada de decisões. Portanto, é necessário planejar desde a 
modelagem, por quanto tempo as informações ficarão armazenadas 
no banco de dados. Caso informações antigas fiquem no banco de 
dados, podem ser necessários atributos para indicar o status da 
informação, se atual ou antiga.
† Planejar o arquivamento de informações antigas
† Planejar informações estatísticas
Modelo Relacional: Verificação do 
modelo
Banco Dados I 104
O modelo deve refletir o aspecto temporal
„Consulta de dados referentes ao passado
† Planejar o arquivamento de informações antigas
Para as informações que serão retiradas do banco de dados e armazenadas 
em arquivos convencionais, é necessário fazer um planejamento de como estas 
informações serão acessadas no futuro, caso venham a ser necessárias.
Uma solução que poderia ser considerada, é a de reincluir as informações 
no banco de dados, quando elas forem necessárias no futuro. Isso permite que, 
para buscar as informações passadas, sejam usados os mesmos procedimentos 
que são usados para acessar as informações atuais. Entretanto, é necessário 
considerar que as informações em um banco de dados estão normalmente 
relacionadas a outras. Caso as ocorrências de entidade que se deseja devolver 
à base de dados estejam relacionadas a outras ocorrências, é necessário que 
estas estejam presentes. 
Modelo Relacional: Verificação do 
modelo
Banco Dados I 105
O modelo deve refletir o aspecto temporal
„Consulta de dados referentes ao passado
† Planejar informações estatísticas
Em alguns casos, informações antigas são necessárias apenas 
para tomada de decisões. Neste caso, muitas vezes deseja-se apenas 
dados resultantes de cálculos ou estatísticas sobre as informações, 
como totais, contagens, médias,…. Assim pode ser conveniente 
manter no banco de dados estas informações compiladas e eliminar 
as informações usadas na compilação.
Modelo Relacional: Verificação do 
modelo

Outros materiais