Buscar

Apostila - Sistemas de 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 146 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 146 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 146 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

Brasília-DF. 
SiStemaS de Banco de dadoS
Elaboração
Taylor Montedo Machado
Produção
Equipe Técnica de Avaliação, Revisão Linguística e Editoração
Sumário
APRESENTAÇÃO ................................................................................................................................. 5
ORGANIZAÇÃO DO CADERNO DE ESTUDOS E PESQUISA .................................................................... 6
INTRODUÇÃO.................................................................................................................................... 8
UNIDADE I
INTRODUÇÃO À MODELAGEM CONCEITUAL .......................................................................................... 9
CAPÍTULO 1
BANCOS DE DADOS E SEUS USUÁRIOS ...................................................................................... 9
CAPÍTULO 2
CONCEITOS E ARQUITETURAS DE UM SGBD ............................................................................ 18
CAPÍTULO 3
MODELAGEM DE DADOS UTILIZANDO O MER ......................................................................... 33
UNIDADE II
SISTEMAS DE BANCO DE DADOS: CONCEITOS E ARQUITETURAS ........................................................... 49
CAPÍTULO 1
MODELO DE DADOS RELACIONAL ......................................................................................... 49
CAPÍTULO 2
PROJETO DE BANCO DE DADOS RELACIONAL UTILIZANDO O MER .......................................... 57
CAPÍTULO 3
SQL – STRUCTURED QUERY LANGUAGE ................................................................................ 61
UNIDADE III
TEORIA E METODOLOGIA DO PROJETO DE BANCO DE DADOS ......................................................... 95
CAPÍTULO 1
DEPENDÊNCIA FUNCIONAL E NORMALIZAÇÃO ....................................................................... 95
CAPÍTULO 2
METODOLOGIA PARA PROJETO PRÁTICO DE BANCO DE DADOS .......................................... 108
UNIDADE IV
ARMAZENAMENTO DE DADOS, INDEXAÇÃO, PROCESSAMENTO DE CONSULTAS E PROJETO FÍSICO .... 111
CAPÍTULO 1
ALGORITMOS PARA PROCESSAMENTO E OTIMIZAÇÃO DE CONSULTAS .................................. 111
CAPÍTULO 2
TÉCNICAS DE CONTROLE DE CONCORRÊNCIA .................................................................... 116
CAPÍTULO 3
TÉCNICAS DE RECUPERAÇÃO DE DADOS ............................................................................. 127
PARA (NÃO) FINALIZAR ................................................................................................................... 145
REFERÊNCIAS ................................................................................................................................ 146
5
Apresentação
Caro aluno
A proposta editorial deste Caderno de Estudos e Pesquisa reúne elementos que se entendem 
necessários para o desenvolvimento do estudo com segurança e qualidade. Caracteriza-se pela 
atualidade, dinâmica e pertinência de seu conteúdo, bem como pela interatividade e modernidade 
de sua estrutura formal, adequadas à metodologia da Educação a Distância – EaD.
Pretende-se, com este material, levá-lo à reflexão e à compreensão da pluralidade dos conhecimentos 
a serem oferecidos, possibilitando-lhe ampliar conceitos específicos da área e atuar de forma 
competente e conscienciosa, como convém ao profissional que busca a formação continuada para 
vencer os desafios que a evolução científico-tecnológica impõe ao mundo contemporâneo.
Elaborou-se a presente publicação com a intenção de torná-la subsídio valioso, de modo a facilitar 
sua caminhada na trajetória a ser percorrida tanto na vida pessoal quanto na profissional. Utilize-a 
como instrumento para seu sucesso na carreira.
Conselho Editorial
6
Organização do Caderno 
de Estudos e Pesquisa
Para facilitar seu estudo, os conteúdos são organizados em unidades, subdivididas em capítulos, de 
forma didática, objetiva e coerente. Eles serão abordados por meio de textos básicos, com questões 
para reflexão, entre outros recursos editoriais que visam a tornar sua leitura mais agradável. Ao 
final, serão indicadas, também, fontes de consulta, para aprofundar os estudos com leituras e 
pesquisas complementares.
A seguir, uma breve descrição dos ícones utilizados na organização dos Cadernos de Estudos 
e Pesquisa.
Provocação
Textos que buscam instigar o aluno a refletir sobre determinado assunto antes 
mesmo de iniciar sua leitura ou após algum trecho pertinente para o autor 
conteudista.
Para refletir
Questões inseridas no decorrer do estudo a fim de que o aluno faça uma pausa e reflita 
sobre o conteúdo estudado ou temas que o ajudem em seu raciocínio. É importante 
que ele verifique seus conhecimentos, suas experiências e seus sentimentos. As 
reflexões são o ponto de partida para a construção de suas conclusões.
Sugestão de estudo complementar
Sugestões de leituras adicionais, filmes e sites para aprofundamento do estudo, 
discussões em fóruns ou encontros presenciais quando for o caso.
Praticando
Sugestão de atividades, no decorrer das leituras, com o objetivo didático de fortalecer 
o processo de aprendizagem do aluno.
Atenção
Chamadas para alertar detalhes/tópicos importantes que contribuam para a 
síntese/conclusão do assunto abordado.
7
Saiba mais
Informações complementares para elucidar a construção das sínteses/conclusões 
sobre o assunto abordado.
Sintetizando
Trecho que busca resumir informações relevantes do conteúdo, facilitando o 
entendimento pelo aluno sobre trechos mais complexos.
Exercício de fixação
Atividades que buscam reforçar a assimilação e fixação dos períodos que o autor/
conteudista achar mais relevante em relação a aprendizagem de seu módulo (não 
há registro de menção).
Avaliação Final
Questionário com 10 questões objetivas, baseadas nos objetivos do curso, 
que visam verificar a aprendizagem do curso (há registro de menção). É a única 
atividade do curso que vale nota, ou seja, é a atividade que o aluno fará para saber 
se pode ou não receber a certificação.
Para (não) finalizar
Texto integrador, ao final do módulo, que motiva o aluno a continuar a aprendizagem 
ou estimula ponderações complementares sobre o módulo estudado.
8
Introdução
Ao olharmos para os processos modernos que nos prestam serviços ou mesmo nos que somos 
os próprios prestadores de serviços, é possível inferir que existem gigantescas bases de dados 
que dão suporte ou até mesmo gerenciam nossas vidas. Questões como a nossa conta bancária. 
As instituições bancárias mantêm bancos de dados que permitem o gerenciamento de todas as 
transações financeiras realizados. São esses registros que permitem que seja possível acompanhar 
saldos, aplicações, saques e manter todo histórico de cada conta de cada cliente.
Processos como a apuração das eleições ou mesmo o processamento da declaração do imposto de 
renda também são suportados por bancos de dados mantidos pelo governo e que permitem que seja 
possível, como no caso deste último, acompanhar o histórico de cada cidadão.
Objetivos
 » Contribuir para a capacitação do participante quanto à análise, planejamento, 
estruturação e implementação de sistemas de gerenciamento de banco de dados.
 » Apresentar aos participantes os principais conceitos sobre modelagem, projeto, 
implementação de sistemas de gerenciamento de banco de dados.
 » Estimular a conscientização das potencialidades e restrições inerentes aos sistemas 
de gerenciamento de banco de dados.
9
UNIDADE I
INTRODUÇÃO 
À MODELAGEM 
CONCEITUAL
CAPÍTULO 1
Bancos de dados e seus usuários
Hoje em dia o termo banco de dados é bastante popular em diversas áreas de 
atuação. Com o aumento da utilização de computadores na manipulação de dados 
que envolvem diversas aplicações, os bancos de dados estão sendo desenvolvidos 
e aplicados nas diferentes áreas que envolvem o comércio, a indústria, a pesquisa 
acadêmica, entre outras.
Introdução
Segundo Silberschatz (2006), um banco de dadosé um conjunto de dados inter-relacionados. 
Podemos afirmar que esses bancos possuem informações que representam o dia a dia de uma 
empresa, de uma loja, de uma locadora de vídeo, enfim, de qualquer ambiente que possa ter suas 
informações coletadas e representadas de uma forma organizada. Tais bancos de dados, além de 
manter todo esse volume de dados organizado, também devem permitir atualizações, inclusões e 
exclusões de dados, sem nunca perder a consistência. E, além disso, é necessário considerar que 
muitas vezes estaremos lidando com vários acessos simultâneos e concorrentes em várias partes 
diferentes de nosso banco de dados.
Heuser (2001) define dado como sendo um fato do mundo real que está registrado e possui um 
significado implícito no contexto de um domínio de aplicação. Um banco de dados possui as 
seguintes propriedades:
 » é uma coleção lógica coerente de dados com um significado inerente; uma disposição 
desordenada dos dados não pode ser referenciada como um banco de dados;
 » é projetado, construído e populado com dados para um propósito específico; um 
banco de dados possui um conjunto pré-definido de usuários e aplicações;
 » é representado por algum aspecto do mundo real, o qual é chamado de minimundo; 
qualquer alteração efetuada no minimundo é automaticamente refletida no banco 
de dados.
10
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
Um banco de dados pode ser criado e mantido por um conjunto de aplicações desenvolvidas 
especialmente para a tarefa, denominada Sistema de Gerenciamento de Banco de Dados 
(SGBD). Um SGBD permite aos usuários criar e manipular bancos de dados de propósitos gerais. 
Silberschatz (2006) define SGBD como sendo uma coleção de dados inter-relacionados e um 
conjunto de programas para acessar esses dados. 
Metadados
Uma característica importante da abordagem Banco de Dados é que o SGBD mantém não somente 
os dados, mas também a forma como esses são armazenados, uma vez que contém uma descrição 
completa do banco de dados. 
Essas informações são armazenadas no catálogo do SGBD, o qual contém informações como a 
estrutura de cada arquivo, o tipo e o formato de armazenamento de cada tipo de dado, restrições. 
Segundo Heuser (2001), o conjunto de informações armazenadas no catálogo de dados é 
denominado Metadados. 
No processamento tradicional de arquivos, o programa que irá manipular os dados deve conter 
este tipo de informação, ficando limitado a manipular as informações que ele conhece. Por outro 
lado, utilizando a abordagem banco de dados, a aplicação pode manipular diversas bases de dados 
diferentes.
Programas versus dados
O processamento tradicional de arquivos pressupõe que a estrutura de dados está incorporada 
ao próprio programa de acesso. Assim sendo, uma alteração na estrutura de arquivos resulta na 
alteração do código fonte de todos os programas. Porém, a abordagem de banco de dados permite 
que as alterações sejam efetuadas apenas no catálogo de dados, sem necessitar alterações nos 
programas de acesso.
Abstração de dados
Uma das funções de um SGBD é fornecer aos usuários uma representação conceitual dos dados sem 
que, para tanto, necessite fornecer muitos detalhes de como os dados estão armazenados.
Um Modelo de Dados é uma forma de abstração dos dados que é utilizada para fornecer essa 
representação conceitual, utilizando conceitos lógicos como objetos, suas propriedades e seus 
relacionamentos (ALVES, 2004). 
Os níveis de abstração têm como função, inclusive, ocultar a complexidade e simplificar o processo 
de interação com os usuários. Sob esse ponto de vista, podemos classificar a abstração em três níveis 
(SILBERSCHATZ, 2006).
11
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
 » Físico: é o nível de abstração mais baixo e descreve como os dados são realmente 
armazenados no banco de dados. Nesse nível, um registro de dado pode ser descrito 
como um bloco consecutivo de memória.
 » Lógico: é nível de abstração intermediário, que descreve que os dados estão 
armazenados no banco de dados e quais são as relações existentes entre eles. 
Nesse nível, um registro de dado é descrito por um tipo definido (como um tipo em 
linguagem de programação) e as inter-relações entre dados são definidas.
 » Visualização: é o nível de abstração mais alto, que descreve a parte do banco de 
dados de maior interesse para o usuário final. Nesse nível, podemos dizer que 
se trata de subconjunto de dados que podem existir apenas durante a execução de 
uma operação.
Múltiplas visões de dados
Uma vez que um banco de dados deve permitir o acesso de um conjunto diverso de usuários a todo 
o seu conteúdo, é possível inferir que cada usuário, ou grupo de usuários, pode ter uma necessidade 
específica. Desse modo, é necessário que cada conjunto de usuário tenha a possibilidade de ter 
visões diferentes da base de dados.
Assim, uma visão é definida como um subconjunto de uma base de dados, formando desse modo, 
um conjunto virtual de informações (SILBERSCHATZ, 2006).
Usuários
Em todo grande banco de dados existe um grande número de pessoas envolvidas que varia desde 
sua concepção e seu projeto até sua manutenção.
Administrador de Banco de Dados (DBA)
Um ambiente de banco de dados envolve vários recursos que vão desde o banco de dados em si 
até o SGBD e outros softwares. Cabe ao Administrador de Banco de Dados (DBA) o seu 
gerenciamento, envolvendo tarefas como a autorização de acesso a ele, a sua coordenação e a 
monitoração de seu uso.
Projetista de banco de dados
Cabe ao Projetista de Banco de Dados a identificação dos dados que devem ser armazenados, 
bem como a definição da estrutura adequada para representá-los e armazená-los. É função do 
projetista também avaliar as necessidades de cada grupo de usuários para definir as visões que 
12
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
serão necessárias, integrando-as, fazendo com que o banco de dados seja capaz de atender a todas 
as necessidades dos usuários.
Usuários finais
Os usuários finais são as pessoas que utilizam o banco de dados fazendo consultas, atualizações e 
gerando documentos. Podemos agrupar esses usuários em três categorias:
 » casuais: acessam o banco de dados casualmente, mas podem necessitar de 
diferentes informações a cada acesso; utilizam sofisticadas linguagens de consulta 
para especificar suas necessidades;
 » novatos ou paramétricos: utilizam porções predefinidas do banco de dados, 
valendo-se de consultas preestabelecidas que já foram exaustivamente testadas;
 » usuários avançados: são usuários que estão familiarizados com o SGBD e 
realizam consultas complexas.
Analistas de sistemas e programadores de 
aplicações
Os Analistas de Sistemas são responsáveis pela determinação dos requisitos dos usuários finais 
e pelo desenvolvimento das especificações para atender aos requisitos mapeados. Por sua vez, os 
Programadores são responsáveis pela implementação das especificações definidas na forma de 
programas, testando, depurando, documentando e dando manutenção.
Esquemas de dados
Segundo Silberschatz (2006), os esquemas de dados dizem respeito ao projeto geral do banco de 
dados e é um aspecto que raramente é modificado. 
Um esquema de base de dados é especificado durante o projeto da base de dados e a forma de 
visualização de um esquema é chamada Diagrama do Esquema. 
Os SGBDs possuem vários esquemas de banco de dados que variam em função do nível de abstração 
dos dados: 
 » esquema físico: tem como objetivo descrever o projeto do banco de dados no 
nível físico;
 » esquema lógico: diz respeito à descrição do banco de dados no nível lógico;
 » subesquema de visualização: diz respeito à descrição das visualizações possíveis 
para um banco de dados.
13
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
Muitos modelos de dados têm certas convenções para, diagramaticamente, mostrar esquemas 
especificados neles. 
Alguns autores defendem que uma das maiores contribuições dos primeiros SGBDs foi introduzir a 
separaçãoentre os dados armazenados e a descrição da estrutura dos dados, o esquema de dados. 
Vantagens e desvantagens do uso de um SGBD
Como toda e qualquer ferramenta, o uso de banco de dados apresenta um conjunto de vantagens e 
desvantagens quanto ao seu uso.
Desvantagens
Altos custos
As organizações têm se tornado cada vez mais complexas e os processos de negócio, por sua vez, 
refletem a necessidade da disponibilidade de dados de forma rápida, precisa e flexível. Como 
consequência, os bancos de dados acabam por se tornar cada vez mais complexos, volumosos e 
onerosos.
Apesar dos custos relativos ao armazenamento de dados estarem sendo reduzidos em ritmo 
acelerado, juntamente com a popularização do hardware necessário, aspectos como a concepção, 
o gerenciamento e a manutenção de bancos de dados cada vez mais pesam no orçamento de seu 
projeto. Por vezes, os custos podem se tornar um empecilho para a adoção de um banco de dados.
Gerenciamento e manutenção
A par e passo com a evolução da necessidade de informações, os bancos de dados também 
necessitam de manutenção evolutiva e/ou corretiva. Uma vez que um processo na organização, que 
é suportado por um banco de dados, sofre alguma mudança, a necessidade de informações para 
geri-lo adequadamente também muda. Além disso, a evolução tecnológica dos SGBDs imprime a 
necessidade de ajustes de versão de software e/ou upgrades para que seja possível usufruir dos 
benefícios que estes sistemas oferecem.
Desse modo, a necessidade de uma estrutura para gerenciar o banco de dados, bem como a 
necessidade de mantê-lo, gera custos que podem tornar o seu uso proibitivo.
14
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
Vantagens
Controle de redundância
No processamento tradicional de tratamento de arquivos, é necessário que cada grupo de usuários 
mantenha seu próprio conjunto de arquivos e dados, o que pode fazer com que acabe ocorrendo 
redundâncias que prejudiquem o sistema com problemas como:
 » toda vez que for necessário atualizar um arquivo de um grupo, todos os grupos 
devem ser atualizados para manter a integridade dos dados no ambiente como um 
todo;
 » a redundância desnecessária de dados leva ao armazenamento excessivo de 
informações, ocupando espaço que poderia estar sendo utilizado com outras 
informações.
Compartilhamento de dados
A utilização de um SGBD permite que múltiplos usuários acessem o banco de dados ao mesmo 
tempo, permitindo que múltiplas aplicações integradas possam acessá-lo.
O SGBD multiusuário necessita manter o controle de acessos simultâneos (concorrência) para 
assegurar a qualidade do resultado de atualizações, bem como fornecer recursos que permitam a 
construção de múltiplas visões.
Restrição a acesso não autorizado
Um SGBD permite que seja criado um subsistema de autorização e segurança, o qual é utilizado pelo 
DBA para criar contas de acesso e especificar as restrições de cada conta, sendo estendido tanto para 
acesso aos dados quanto ao uso de softwares inerentes ao SGBD.
Representação de relacionamentos complexos entre 
dados
Um banco de dados permite que seja catalogada uma variedade de dados que estão inter-relacionados 
de várias formas. Por sua vez, um SGBD fornece uma série de recursos para representar uma grande 
variedade de relacionamentos entre os dados, bem como recuperá-los e atualizá-los de maneira 
prática e eficiente.
Padronização
A abordagem de base de dados permite que o DBA defina e obrigue a padronização entre os usuários 
da base de dados em grandes organizações. Isso facilita a comunicação e a cooperação entre 
15
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
vários departamentos, projetos e usuários. Padrões podem ser definidos para formatos de nomes, 
elementos de dados, telas, relatórios, terminologias.
É possível utilizar esse recurso, com maior facilidade, em um ambiente de base de dados centralizado, 
em comparação com um ambiente onde cada usuário ou grupo tem o controle de seus próprios 
arquivos e programas de aplicação.
Flexibilidade
Mudanças nos requisitos podem acarretar a necessidade de modificações na estrutura de um banco 
de dados. Por exemplo, um novo grupo de usuários pode surgir com necessidade de informações 
adicionais, ainda não disponíveis na base de dados. Alguns SGBDs permitem que tais mudanças 
na estrutura da base de dados sejam realizadas sem afetar a maioria dos programas de aplicações 
existentes.
Redução do tempo de desenvolvimento de aplicações
Uma das características mais significativas da abordagem de base de dados é o tempo reduzido para 
o desenvolvimento de novas aplicações, como a recuperação de certos dados da base de dados para 
a impressão de novos relatórios. 
Projetar e implementar uma nova base de dados pode tomar mais tempo do que escrever uma 
simples aplicação especializada de arquivos. Porém, uma vez que a base de dados esteja em uso, 
geralmente é bastante reduzidoo tempo para se criar novas aplicações, usando-se os recursos de 
um SGBD. O tempo para se desenvolver uma nova aplicação em um SGBD é estimado em 1/4 a 
1/6 do tempo de desenvolvimento, usando-se apenas o sistema de arquivos tradicional, devido às 
facilidades de interfaces disponíveis em um SGBD.
Disponibilidade de informações atualizadas
A abordagem de banco de dados permite que tão logo um usuário modifique uma base de dados, 
todos os outros usuários podem usufruir imediatamente dessa modificação. Essa disponibilidade 
de informações atualizadas é essencial para muitas aplicações, tais como sistemas de reservas de 
passagens aéreas ou bases de dados bancárias.
Economia de escala
A abordagem de banco de dados permite a consolidação de dados e de aplicações, reduzindo-se, 
desse modo, o desperdício em atividades redundantes de processamento em diferentes projetos ou 
departamentos. 
16
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
Quando não utilizar um SGBD
Não raro, o uso de um SGBD pode representar um acréscimo desnecessário de custos, se comparado 
à abordagem de processamento tradicional de arquivos. Exemplificando, podemos ter:
 » alto investimento inicial na compra de software e hardware adicionais;
 » generalidade que um SGBD fornece na definição e processamento de dados;
 » sobrecarga na provisão de controle de segurança, de controle de concorrência, na 
recuperação e na integração de funções.
É necessário reconhecer que problemas adicionais podem ocorrer como da resultado especificação 
inadequada do projeto e/ou da implementação das aplicações de forma não apropriada. Caso o 
DBA não administre o banco de dados de forma adequada, tanto a segurança quanto a integridade 
dos sistemas podem ser comprometidas. A sobrecarga causada pelo uso de um SGBD e a má 
administração justificam a utilização da abordagem de processamento tradicional de arquivos em 
casos como:
 » o banco de dados e as aplicações sejam simples, bem-definidos e não sejam esperadas 
mudanças no projeto;
 » sejá necessário processamento em tempo real de certas aplicações, que são 
terrivelmente prejudicadas pela sobrecarga causada pelo uso de um SGBD;
 » não haja múltiplo acesso ao banco de dados.
Um breve histórico da aplicação de banco de dados
Entre a década de 1950 e o início dos anos 1960, as fitas magnéticas eram utilizadas para o 
armazenamento de dados e as tarefas de processamento de dados eram efetuadas quase que de 
forma mecanizada. Os registros também podiam ser alimentados por decks de cartão perfurado e 
necessitavam que fossem carregados sequencialmente, na mesma ordem em que estavam gravados 
nas fitas magnéticas.
No final dos anos 1960, a tecnologia de armazenamento em discos rígidos levou a uma mudança 
radical no cenário do processamento de dados, pois permitiam o acesso direto aos dados, 
independentemente de sua posição no disco.
Entre as décadas de 1960 e 1970, várias pesquisas foram desenvolvidas no sentido de desenvolver 
tecnologias que permitissem a simplificação dos processos de escritório que conduziram à automação.Tarefas como armazenar e organizar arquivos, que dependiam única e exclusivamente de mão de 
obra intensiva, poderiam ser simplificadas com o uso de soluções mecânicas mais eficientes e mais 
baratas. Desse modo, muitas pesquisas foram desenvolvidas e resultaram na criação dos modelos 
hierárquicos, de rede e relacionais.
17
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
Nesse cenário, empresas, como a IBM, tomaram a dianteira e, em 1970, um pesquisador daquela 
empresa, Ted Codd, publicou o primeiro artigo sobre bancos de dados relacionais, que tratava 
de um método que permitia que usuários não técnicos pudessem armazenar e recuperar grande 
quantidade de dados, a partir da utilização de comandos que manipulassem dados armazenados 
em tabelas.
Na década de 1980, com base nesse estudom, a IBM montou um grupo de pesquisa conhecido 
como Sistema R (System R) que objetivava a criação de um banco de dados relacional que tivesse 
viabilidade comercial. O primeiro sistema comercial baseado no conceito desenvolvido pela IBM, 
foi lançado em 1976 pela Honeywell Information Systems Inc. No entanto, o primeiro SGBD 
construído nos padrões SQL só começou a surgir no mercado a partir do início da década de 1980 
com o Oracle 2, da empresa Oracle, e, posteriormente, com o SQL/DS, da IBM.
No início da década de 1990, um dos produtos do Sistema R foi a criação de uma linguagem 
denominada SQL – Structured Query Language (Linguagem de Consulta Estruturada). 
A linguagem SQL tornou-se um padrão na indústria para bancos de dados relacionais e hoje 
em dia, é um padrão ISO (International Organization for Standardization1), o que permitiu o 
desenvolvimento e refinamento de softwares de banco de dados relacionais. Outros aspectos 
relevantes que contribuíram para o refinamento e popularização dos bancos de dados relacionais 
foram: o retorno que os usuários desses sistemas davam para o aprimoramento da linguagem, o 
desenvolvimento de sistemas para novas indústrias e aumento do uso de computadores pessoais e 
sistemas distribuídos. O padrão SQL passou da IBM para a ANSI (American National Standards 
Institute) – Instituto Nacional Americano para Padrões que, juntamente com a ISO, formaram um 
grupo de trabalho para continuar o desenvolvimento. Este desenvolvimento ainda acontece com 
outras novas versões dos padrões definidos até os dias atuais.
O final da década de 1990 foi marcado pela massificação do uso da World Wide Web (WWW), 
fazendo com que os sistemas de banco de dados tivessem de trabalhar com taxas de processamento 
de transação cada vez maiores e disponibilidade de 24x7, ou seja, disponibilidade 24 horas por dia, 
7 dias por semana.
Em meados de 2000, surge a Linguagem Extensível de Formatação ou Extended Markup 
Language (XML) como uma nova tecnologia de banco de dados. O XML é uma especificação 
técnica desenvolvida pela W3C – World Wide Web Consortium2.
 
1 A ISO é a organização internacional de padronização responsável pelos padrões técnicos internacionais
2 A W3C é a entidade responsável pela definição da área gráfica da internet. (http://www.w3.org).
18
CAPÍTULO 2
Conceitos e arquiteturas de um SGBD
Tenha certeza da completa compreensão das informações organizacionais durante o 
estudo de Modelagem Conceitual, pois inseguranças durante os estágios posteriores 
da disciplina podem ser extremamente caras, prejudicando a aprendizagem.
Modelos de dados, esquemas e instâncias
Esquemas e instâncias
Uma distinção importante para qualquer modelo de dados é a que deve ser feita entre a descrição 
do banco de dados e o próprio banco. A descrição de um banco de dados é chamada de esquema 
de um banco de dados e é especificada durante o projeto do banco de dados. Geralmente, poucas 
mudanças ocorrem no esquema do banco de dados. 
Uma instância3 do banco de dados diz respeito à coleção de dados armazenados em um banco de 
dados em um determinado momento (SILBERSCHATZ, 2006). A instância modifica toda vez que 
uma alteração no banco de dados é feita. O SGBD é responsável por garantir que toda instância 
do banco de dados satisfaça o seu esquema do banco de dados, respeitando sua estrutura e suas 
restrições. 
O esquema de um banco de dados também pode ser chamado de intensão de um banco de dados e 
a instância, de extensão de um banco de dados. 
A diferenciação entre esquema e instância de um banco de dados pode ser melhor compreendida 
fazendo uma analogia com um programa, conforme ilustrado na Figura 1.
Figura 1. Analogia entre um Programa e um Banco de Dados
Declaração da 
Variável
Esquema do Banco de 
Dados
PROGRAMA BANCO DE DADOS
Valor da 
Variável
Instância do Banco de 
Dados
3 Também pode ser chamada de ocorrência ou estado de um banco de dados
19
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
Modelos de dados
Uma das vantagens mais relevantes de um banco de dados é a possibilidade de fornecer alguns níveis 
de abstração de dados para o usuário final, omitindo os detalhes de como estes são armazenados.
Segundo Silberschatz, um Modelo de Dados é uma coleção de ferramentas conceituais para 
descrever dados, relações de dados, semântica de dados e restrições de consistência. Um modelo 
de dados permite descrever a estrutura4 de um banco de dados de forma lógica e física. Além 
disso, vários Modelos de Dados também definem um conjunto de operações para especificar 
como recuperar e modificar a base de dados.
Desse modo, podemos dizer que o Modelo de Dados é a principal ferramenta que fornece a 
abstração a um BD. 
Os modelos de dados podem ser basicamente de dois tipos:
 » alto nível: ou modelo conceitual de dados, que fornece uma visão mais próxima do 
modo como os usuários realmente visualizam os dados;
 » baixo nível: ou modelo físico de dados, que fornece uma visão mais detalhada do 
modo como os dados estão realmente armazenados no computador.
Modelo de dados hierárquico
O primeiro modelo de dados a ser reconhecido foi o modelo hierárquico, que só pôde ser desenvolvido 
devido à consolidação dos discos de armazenamento endereçáveis. Esses discos possibilitaram a 
exploração de sua estrutura de endereçamento físico para viabilizar a representação hierárquica das 
informações. 
No modelo hierárquico, os dados são estruturados em hierarquias ou árvores. Os nós das hierarquias 
contêm ocorrências de registros, onde cada registro é uma coleção de campos (atributos), cada um 
contendo apenas uma informação.
O registro-pai é o registro da hierarquia que precede a outros, sendo esses outros denominados 
registros-filhos. Uma ligação é uma associação entre dois registros. Possui cardinalidade 1:N o 
relacionamento entre um registro-pai e vários registros-filhos.
Organizando os dados segundo o modelo hierárquico, esses podem ser acessados por meio de uma 
sequência hierárquica com uma navegação do topo para as folhas e da esquerda para a direita. Um 
registro pode estar associado a vários registros diferentes, desde que seja replicado. 
O Information Management System da IBM Corp (IMS) foi o sistema comercial mais divulgado no 
modelo hierárquico. Uma boa parte das restrições e consistências de dados estava contida dentro 
dos programas escritos para as aplicações Para acessar o banco de dados, era necessário escrever os 
programas na ordem.
4 Por estrutura podemos compreender o tipo dos dados, os relacionamentos e as restrições que podem recair sobre os dados.
20
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
O esquema de um banco de dados hierárquico é descrito por meio de um diagrama de estrutura de 
árvore. Tal diagrama consiste em dois componentes básicos: Caixas, as quais correspondem aos 
tipos de registros, e Linhas, que correspondem às ligações entre os tipos de registros. Como exemplo 
do modelo hierárquico, considere a Figura 2.
Figura 2. Diagrama de Estrutura de Árvore Cliente-Conta Corrente
Nome Rua Cidade
No Conta Corrente Saldo
João R121 Brasília
51935 100,00 61893 500,00
 
Pedro R231 Guará
Fonte: Adaptadode Silberschatz (2006).
O Modelo Hierárquico apresenta algumas restrições devido a:
 » complexidade dos diagramas de estrutura de árvore;
 » não permitir ciclos no gráfico básico de um diagrama de estrutura de árvore;
 » existência de restrições à cardinalidade dos links (de muitos para muitos (N:M) e de 
muitos para um (N:1));
 » ausência de facilidades de consultas declarativas;
 » necessidade de navegação por ponteiros para acesso à informações; 
 » alta complexidade das consultas.
Além disso, a replicação possui duas grandes desvantagens: pode causar inconsistência de dados, 
quando houver atualização, e o desperdício de espaço é inevitável. 
Modelo de dados de rede
O surgimento do modelo de rede deu-se como uma extensão ao modelo hierárquico; dessa forma, 
foi eliminando o conceito de hierarquia e permitindo que um mesmo registro estivesse envolvido 
em várias associações.
Os registros, no modelo em rede, são organizados em grafos onde aparece um único tipo de 
associação (set) que define uma relação 1:N entre 2 tipos de registros: proprietário e membro. Nesse 
sentido, é possível construir um relacionamento M:N entre A e D, dados dois relacionamentos 1:N 
entre os registros A e D e entre os registros C e D.
Com linguagem própria para definição e manipulação de dados, o gerenciador Data Base Task 
Group (DBTG) da CODASYL (Committee on Data Systems and Languages) estabeleceu uma norma 
21
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
para esse modelo de banco de dados. Como os dados tinham uma forma limitada de independência 
física, a única garantia era que o sistema deveria recuperar os dados para as aplicações como se eles 
estivessem armazenados na maneira indicada nos esquemas. 
Concorrência e segurança foram definidas, pelos geradores de relatórios da CODASYL, como dois 
aspectos chaves dos sistemas gerenciadores de dados. Para cada um desses aspectos foram definidas 
sintaxes. O mecanismo de segurança fornecia uma facilidade em que parte do banco de dados (ou 
área) pudesse ser bloqueada para prevenir acessos simultâneos, quando necessário. A sintaxe da 
segurança permitia que uma senha fosse associada a cada objeto descrito no esquema. 
Ao contrário do modelo hierárquico, o modelo em rede possibilita acesso a qualquer nó da rede 
sem passar pela raiz. O CAIDMS da Computer Associates é o sistema comercial mais divulgado 
do modelo em rede. O diagrama para representar os conceitos do modelo em redes consiste em 
dois componentes básicos: Caixas, que correspondem aos registros, e Linhas, que correspondem às 
associações. A Figura 3 ilustra um exemplo de diagrama do modelo em rede.
Figura 3. Diagrama Esquemático da Estrutura de Dados Cliente-Conta Corrente
Cliente Conta
Nome Rua Cidade No Conta Corrente Saldo
Cliente Conta
Pedro R231 Guará 61893 500,00
João R121 Brasília 51935 100,00
R_Link
R_Link
Fonte: Adaptado de Silberschatz (2006).
O Modelo de Rede apresenta algumas restrições devido:
 » forte dependência da implementação;
 » necessidade de criação de registros artificiais para implementar relacionamentos 
muitos para muitos;
 » alta complexidade das consultas, pois o programador é forçado a pensar em termos 
de links e como percorrê-los para obter as informações necessárias (manipulação 
de dados navegacional).
Modelo de dados relacional
O modelo relacional surgiu devido às necessidades de aumentar a independência de dados nos 
sistemas gerenciadores de banco de dados; de prover um conjunto de funções apoiadas em álgebra 
22
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
relacional para armazenamento e recuperação de dados, de permitir o processamento ad hoc1. Esse 
modelo, tendo por base a teoria dos conjuntos e a álgebra relacional, foi resultado de um estudo 
teórico realizado por CODD[1]2. 
Esse modelo foi o que revelou ser o mais flexível e adequado ao solucionar os vários problemas que 
se colocam no nível da concepção e implementação da base de dados. Sua estrutura fundamental é a 
relação (tabela). Uma relação é constituída por um ou mais atributos (campos) que traduzem o tipo 
de dados a armazenar. Tupla (registro) é o nome dado a cada instância do esquema (linha).
O modelo relacional não tem caminhos pré-definidos para se fazer acesso aos dados como nos 
modelos que o precederam e implementa estruturas de dados, organizadas em relações. 
Figura 4. Diagrama de Estrutura Relacional Cliente-Conta Corrente
Cód_Cliente Nome Rua Cidade
1 João R121 Brasília
2 Pedro R231 Guará
Cód_Cliente No Conta Corrente
1 61893
2 51935
No Conta Corrente Saldo
61893 500,00
51935 100,00
Cód_Cliente Nome Rua Cidade
Cód_Cliente No Conta Corrente
No Conta Corrente Saldo
Fonte: Adaptado de Silberschatz (2006).
Algumas restrições devem ser impostas para que se trabalhe com essas tabelas e evitar aspectos 
indesejáveis como: repetição de informação, incapacidade de representar parte da informação e 
perda de informação. Essas restrições são: integridade referencial, chaves e integridade de junções de 
relações. A Figura 4 traz exemplos de tabelas sob o modelo relacional.
Modelo de dados orientado a objetos
Em meados de 1980, começaram a se tornar comercialmente viáveis os bancos de dados orientados 
a objeto. Seu surgimento foi motivado em função dos limites de armazenamento e representação 
semântica impostas no modelo relacional. Os sistemas de informações geográficas (SIG), os sistemas 
CAD e CAM, que são mais facilmente construídos usando tipos complexos de dados, são alguns dos 
exemplos que podem ser citados.
Uma característica das linguagens de programação orientadas a objetos é a habilidade para criar 
os tipos de dados necessários. Contudo, esses sistemas necessitam guardar representações das 
estruturas de dados que utilizam no armazenamento permanente. 
23
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
O ODMG (Object Database Management Group) foi quem criou a estrutura padrão para os bancos 
de dados orientados a objetos. Esse grupo é formado por representantes dos principais fabricantes 
desses bancos disponíveis comercialmente. Os membros do grupo têm o compromisso de incorporar 
o padrão em seus produtos.
Modelo Orientado a Objetos é um termo usado para documentar o padrão que contém a descrição 
geral das facilidades de um conjunto de linguagens de programação orientadas a objetos e a 
biblioteca de classes que pode formar a base para o Sistema de Banco de Dados. Algumas das falhas 
perceptíveis do modelo relacional pareceram ter sido solucionadas quando os bancos de dados 
orientados a objetos foram introduzidos e acreditava-se que tais bancos de dados ganhariam grande 
parcela do mercado. 
Acredita-se que nos dias atuais, enquanto os sistemas relacionais continuarão a sustentar os 
negócios tradicionais, onde as estruturas de dados baseadas em relações são suficientes, os Bancos 
de Dados Orientados a Objetos serão usados em aplicações especializadas. 
O diagrama de classes UML serve geralmente como o esquema para o modelo de dados orientado a 
objetos. Observe o exemplo da Figura 5. e compare as diferenças com o modelo anterior.
Figura 5. Diagrama UML Cliente-Conta Corrente
Cliente
Nome: String
Rua: String
Cidade: String
Conta
No Conta Corrente: Inteiro
Saldo: Real
1..* 1..*
Fonte: Adaptado de Silberschatz (2006).
Modelo de dados para sistemas objeto-relacionais
Os sistemas relacionais convencionais têm dificuldade de representar e manipular dados complexos, 
visando ser mais representativos em semântica e construções de modelagens; com isso, a área de 
atuação dos sistemas Objeto-Relacional tenta suprir essas dificuldades. A solução proposta é a 
adição de facilidades para manusear tais dados utilizando-se das facilidades SQL (Structured Query 
Language) existentes. Para isso, foi necessário adicionar: extensões dos tipos básicos no contexto 
SQL; representações para objetos complexos no contexto SQL; herança no contexto SQL e sistema 
para produção de regras.
A arquitetura três esquemas
O principal objetivoda arquitetura três esquemas é permitir a separação das aplicações do usuário 
do banco de dados físico. Uma representação gráfica da arquitetura três esquemas é apresentada na 
Figura 6. Com base nessa arquitetura, é possível classificar os esquemas:
 » nível interno: ou esquema interno, que descreve a estrutura de armazenamento 
físico do banco de dados; utiliza um modelo de dados e descreve detalhadamente os 
dados armazenados e os caminhos de acesso ao banco de dados;
24
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
 » nível conceitual: ou esquema conceitual, que descreve a estrutura do banco de 
dados como um todo; é uma descrição global do banco de dados, que não fornece 
detalhes do modo como os dados estão fisicamente armazenados;
 » nível externo: ou esquema de visão, que descreve as visões do banco de dados 
para um grupo de usuários; cada visão descreve as porções do banco de dados às 
quais um grupo de usuários terá acesso.
Independência de dados
Segundo Oppel (2004), é possível definir a independência de dados como a capacidade de se 
alterar um esquema em um nível em um banco de dados sem ter que alterar um nível superior. É 
possível classificar a independência de dados em dois tipos:
 » independência de dados lógica: é a capacidade de alterar o esquema conceitual 
sem ter que alterar o esquema externo ou as aplicações do usuário;
 » independência de dados física: é a capacidade de alterar o esquema interno sem 
ter que alterar o esquema conceitual, o esquema externo ou as aplicações do usuário.
Figura 6. Arquitetura Três Esquemas
Visão Externa 1 Visão Externa n
Usuários Finais
Esquema Conceitual
Esquema Interno
NÍVEL EXTERNO
NÍVEL CONCEITUAL
NÍVEL INTERNO
Banco de Dados Armazenado
...
Mapeamento 
Conceitual Externo
Mapeamento 
Conceitual Externo
25
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
Linguagens de banco de dados
Cada camada e/ou função de um banco de dados necessita de um tipo de linguagem específica, 
conforme podemos ver.
Linguagem de definição de dados
A Linguagem de Definição de Dados ou Data Definition Language (DDL) é a linguagem 
utilizada pelo DBA e pelos projetistas de banco de dados para definir seus esquemas. O SGBD, 
por sua vez, possui um compilador para processar descrições em DDL e construir a descrição do 
esquema armazenado no catálogo. 
Linguagem de manipulação de dados
A Linguagem de Manipulação de Dados ou Data Manipulation Language (DML) é a 
linguagem pela qual os usuários manipulam os dados em um SGBD. Manipulações comuns como 
recuperação, inserção, remoção e modificação de dados são realizadas pela DML. 
Linguagem de definição de armazenamento
Em situações onde a separação entre os níveis conceitual e interno de um SGBD é bem clara, utiliza-
se a Linguagem de Definição de Armazenamento ou Storage Definition Language (SDL) 
para a especificação do esquema interno, sendo que a especificação do esquema conceitual fica por 
conta da DDL.
Linguagem de definição de visões
Sistemas de Banco de Dados que utilizam a arquitetura três esquemas necessitam de uma linguagem 
para a definição de visões, a Linguagem de Definição de Visões ou Vision Definition 
Language (VDL). 
O ambiente de sistemas de banco de dados
O Ambiente dos Sistemas de Banco de Dados diz respeito ao conjunto de elementos necessário 
para que ocorram as transações relativas ao armazenamento, processamento e recuperação de 
dados, conforme representado pela Figura 7.
26
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
Componentes de um sistema gerenciador de 
banco de dados
Processamento de consultas
O componente de processamento de consultas é composto pelos seguintes elementos:
 » Compilador DML: é o elemento que traduz os comandos DML em instruções 
de baixo nível, entendidos pelo componente de execução de consultas. Também é 
responsável pela otimização de solicitações do usuário.
 » Pré-compilador para comandos DML inseridos em programas de 
aplicação: são os elementos que convertem comandos DML em chamadas de 
procedimentos normais da linguagem hospedeira. Também interagem com o 
compilador DML de modo a gerar o código apropriado.
 » Interpretador DDL: é o elemento que interpreta os comandos DDL e os registra 
no dicionário de dados.
 » Componente de execução de consultas: é o elemento que executa instruções 
de baixo nível geradas pelo compilador DML.
Figura 7. Um ambiente de Sistema de Banco de Dados
Ge
re
nc
ia
do
r d
e 
M
em
ór
ia
Usuários
Interface
Usuários 
Navegadores
Usuários 
Avançados
Administradores 
de BD
Programadores de 
Aplicações
Interface com 
Aplicações
Programas de 
Aplicações
Esquema de 
Banco de Dados
Consultas 
(Queries)
Programas de 
Aplicações em 
Código Objeto
Pré-compilador de 
Comandos DML
Interpretador DDLCompilador DML
Componente 
de Execução de 
Consultas
Gerenciador de 
Buffer
Pr
oc
es
sa
do
r d
e 
Co
ns
ul
ta
s
Gerenciador de 
Arquivos
Gerenciador de 
Transações
Arquivos de 
Dados
Índices
Dicionário de 
Dados
Dados Estatísticos
Banco de Dados
Si
st
em
a 
Ge
re
nc
ia
do
r d
e 
 B
an
co
 d
e 
Da
do
s
Am
bi
en
te
 d
o 
Si
st
em
a 
Ge
re
nc
ia
do
r d
e 
Ba
nd
o 
de
 D
ad
os
Fonte: Adaptado de Silberschatz (2006).
27
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
Gerenciador de memória
O componente Gerenciador de Memória é o responsável por traduzir os diversos comandos DML 
em comandos de baixo nível de sistemas de arquivos, o que lhe confere especial importância uma 
vez que um dos principais objetivos de um SGBD é simplificar e otimizar o acesso aos dados. Visto 
que esse componente é responsável por fazer a interface entre o armazenamento de dados em um 
nível mais baixo e as consultas e programas de aplicações submetidos ao sistema, é possível afirmar 
que o Gerenciador de Memória é um dos principais elementos de um SGBD.
O componente de gerenciamento de memória é composto pelos seguintes elementos:
 » Gerenciamento de Autorizações e Integridade: são os elementos que testam 
o cumprimento das regras de integridade e a permissão ao usuário no acesso ao 
dado.
 » Gerenciamento de Transações: são os elementos responsáveis pela execução 
das transações.
 » Administração de Buffer5: é o elemento responsável pela intermediação de 
dados do disco para a memória principal e pela decisão de quais dados alocar em 
memória auxiliar.
 » Administração de Arquivos: é o elemento que gerencia a alocação de espaço no 
armazenamento em disco e as estruturas de dados usadas para representar essas 
informações armazenadas.
Módulo banco de dados
O Módulo Banco de Dados não se limita apenas a armazenar dados, uma vez que também contém 
definições e descrições sobre a estrutura que forma o Banco de Dados (metadados). Os metadados, 
por sua vez, contêm definições da estrutura de cada arquivo, o tipo e formato de armazenamento de 
cada item de dados e as restrições dos dados. Todas essas definições ficam armazenadas no Catálogo 
de Dados (dicionário de dados) do Banco de Dados e são utilizadas pelo SGBD.
O Módulo Banco de Dados é composto por:
 » Arquivo de Dados: é o elemento que armazena os dados (o banco de dados 
propriamente dito).
 » Dicionário de Dados: é o elemento que armazena os metadados.
 » Índices: é o elemento estrutural que otimiza o acesso aos itens de dados.
 » Estatística de Dados: é o elemento que armazena informações estatísticas 
relativas aos dados contidos no banco de dados. Essas informações são usadas 
pelo processador de consultas para seleção de meios eficientes para execução de 
consultas.
5 Unidade de armazenamento temporária (relativo a computador). Fonte: http://www.merriam-webster.com/dictionary
28
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
Arquiteturas de banco de dados
Os mainframes eram utilizados pelas primeiras arquiteturas para executar o processamento 
principal e de todas as funções do sistema, incluindo os programas aplicativos, programas de 
interface com o usuário, bem como a funcionalidadedos SGBDs. Essa é a razão pela qual a maioria 
dos usuários fazia acesso aos sistemas via terminais que não possuíam poder de processamento, mas, 
somente a capacidade de visualização. Apenas as informações a serem visualizadas e os controles 
eram enviados do mainframe para os terminais de visualização e todos os processamentos eram 
feitos remotamente, conectados a ele por redes de comunicação. 
Muitos usuários trocaram seus terminais por Computadores Pessoais (PC) e estações de trabalho 
devido à queda dos preços do hardware. No começo, os SGBDs usavam esses computadores da 
mesma maneira que usavam os terminais. O SGBD era centralizado e toda sua funcionalidade, 
execução de programas aplicativos e processamento da interface do usuário eram executados em 
apenas uma máquina.
Os SGBDs, gradualmente, começaram a explorar a disponibilidade do poder de processamento no 
lado do usuário, o que levou à arquitetura cliente-servidor. Essa arquitetura foi desenvolvida para 
dividir ambientes de computação onde um grande número de PCs, estações de trabalho, servidores 
de arquivos, impressoras, servidores de banco de dados e outros equipamentos são conectados 
juntos por uma rede. 
A idéia era definir servidores especializados, tais como servidor de arquivos, que mantém os arquivos 
de máquinas clientes, ou servidores de impressão que podem estar conectados a várias impressoras; 
assim, quando se desejar imprimir algo, todas as requisições de impressão são enviadas a esse 
servidor. As máquinas clientes disponibilizam para o usuário as interfaces apropriadas para utilizar 
esses servidores, bem como o poder de processamento para executar aplicações locais. 
A arquitetura cliente-servidor se tornou muito popular por causa da facilidade de implementação 
dada à clara separação das funcionalidades e dos servidores; pelo servidor ser inteligentemente 
utilizado porque as tarefas mais simples são delegadas às máquinas-clientes mais baratas e também 
porque o usuário pode executar uma interface gráfica que lhe é familiar, ao invés de usar a interface 
do servidor. 
Aos SGBDs comerciais, foi incorporada a arquitetura cliente-servidor e diferentes técnicas foram 
propostas para se implementar essa arquitetura, sendo que a mais adotada pelos Sistemas 
Gerenciadores de Banco de Dados Relacionais (SGBDRs) comerciais é a inclusão da funcionalidade 
de um SGBD centralizado no lado do servidor. Permanecem no servidor de consulta ou servidor de 
transação as consultas e a funcionalidade transacional. É assim que um servidor SQL é fornecido 
aos clientes.
Os clientes têm que formular suas consultas SQL, prover a interface do usuário e as funções de 
interface usando uma linguagem de programação. Podem também se referir a um dicionário de 
dados, que inclui informações sobre a distribuição dos dados em vários servidores SQL, bem como 
sobre os módulos para a decomposição de uma consulta global em um número de consultas locais 
que podem ser executadas em vários sítios. 
29
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
O servidor SQL também é chamado de back-end machine e o cliente de front-end machine. Como 
SQL provê uma linguagem padrão para o SGBDRs, esta criou o ponto de divisão lógica entre o 
cliente e o servidor.
Atualmente, existem várias tendências para arquitetura de Banco de Dados, nas mais diversas 
direções.
As principais arquiteturas de SGBDs são:
 » Plataformas centralizadas: nessa arquitetura existe um computador com grande 
capacidade de processamento, sendo esse o hospedeiro do SGBD e emulador para 
os vários aplicativos. Sua principal vantagem é a de permitir que muitos usuários 
manipulem grande volume de dados e sua principal desvantagem está no seu alto 
custo, pois exige ambiente especial para mainframes e soluções centralizadas.
 » Sistemas de Computador Pessoal: fazem seus processamentos sozinhos 
e, com isso, trabalham em sistema stand-alone. No começo esse processamento 
era bastante limitado, porém, com a evolução do hardware, tem-se hoje PCs com 
grande capacidade de processamento. Utilizam o padrão Xbase e, em se tratando de 
SGBDs, funcionam como hospedeiros e terminais. Desta forma, possuem um único 
aplicativo a ser executado na máquina e sua principal vantagem é a simplicidade.
 » Banco de Dados Cliente-Servidor: nessa arquitetura, o cliente (front_
end) executa as tarefas do aplicativo fornecendo a interface do usuário (tela e 
processamento de entrada e saída). O servidor (back_end) executa as consultas no 
DBMS e retorna os resultados ao cliente. Embora sendo uma arquitetura bastante 
popular, são necessárias soluções sofisticadas de software que possibilitem: o 
tratamento de transações, as confirmações de transações (commits), desfazer 
transações (rollbacks), linguagens de consultas (stored procedures) e gatilhos 
(triggers). A principal vantagem dessa arquitetura é a divisão do processamento 
entre dois sistemas, o que reduz o tráfego de dados na rede. (Ver Figura 8)
 » Banco de Dados Distribuídos (N camadas): como se pode observar na Figura 
9, a informação, nessa arquitetura, está distribuída em diversos servidores. Cada 
servidor atua como no sistema cliente-servidor, porém as consultas oriundas dos 
aplicativos são feitas para qualquer servidor indistintamente. Caso a informação 
solicitada seja mantida por outro servidor ou servidores, o sistema encarrega-se 
de obter a informação necessária, de maneira transparente para o aplicativo, que 
passa a atuar consultando a rede, independente de conhecer seus servidores. As 
bases de dados corporativas, em que o volume de informação é muito grande e, 
por isso, deve ser distribuído em diversos servidores são exemplos típicos. Porém, 
não é dependente de aspectos lógicos de carga de acesso aos dados, ou de base de 
dados fracamente acopladas, em que uma informação solicitada vai sendo coletada 
numa propagação da consulta numa cadeia de servidores. A existência de diversos 
programas aplicativos consultando a rede para acessar os dados necessários é a 
característica básica, porém, sem o conhecimento explícito de quais servidores 
dispõem desses dados.
30
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
Figura 8. Arquitetura Cliente-Servidor
Fonte: Produzido pelo autor.
Figura 9. Arquitetura Distribuída N Camadas
Fonte: Adaptado de Silberschatz (2006)
Classificação dos SGBDs
O principal critério utilizado para classificar um SGBD é o modelo de dados no qual é baseado. A 
grande maioria dos SGBDs atuais são baseados no modelo relacional, alguns em modelos conceituais 
e outros em modelos orientados a objetos. Outras classificações possíveis.
 » Quanto aos usuários: um SGBD pode ser monousuário, comumente utilizado 
em computadores pessoais ou multi-usuários, utilizado em estações de trabalho, 
minicomputadores e máquinas de grande porte.
 » Quanto à localização: um SGBD pode ser localizado ou distribuído; se ele for 
localizado, então todos os dados estarão em uma só máquina (ou em um único 
31
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
disco); se distribuído, os dados estarão distribuídos por diversas máquinas (ou 
diversos discos).
 » Quanto ao ambiente: ambiente homogêneo é o ambiente composto por um único 
SGBD e um ambiente heterogêneo é o ambiente composto por diferentes SGBDs.
Exemplos de sistemas gerenciadores de banco de 
dados
Existem, atualmente no mercado, vários aplicativos que exercem a função de Sistemas Gerenciadores 
de Banco de Dados. A seguir, apresentamos alguns exemplos.
 » dBASE: é um aplicativo lançado pela Ashton-Tate e posteriormente adquirido 
pela Borland. Teve versões para DOS e Windows, trabalhava com gerenciamento 
de arquivos planos baseados em listas invertidas e possuía uma linguagem de 
programação própria para desenvolvimento de aplicações. A partir da versão 7, os 
direitos foram vendidos pela Borland.
 » Paradox: teve versões para DOS e hoje possui apenas versões para Windows. 
Possui ambiente integrado de desenvolvimento para criação de aplicativos eseus 
direitos de produção foram vendidos para a Corel.
 » DataFlex: teve versões para DOS e Windows e é popular para ambiente Unix. 
Hoje é comercializado com o nome de Visual Data Flex e possui ambiente integrado 
para o desenvolvimento de aplicações. 
 » FoxBase/FoxPro: é um aplicativo concorrente do dBase, com total compatibilidade 
em termos de arquivos e programas-fontes. Possui recursos adicionais como a 
capacidade de pré-compilação dos códigos-fontes para melhorar o desempenho. 
Hoje, se chama Visual FoxPro após a aquisição pela Microsoft da Fox Software 
(produtora original).
 » Access: é um aplicativo que, por possuir ambiente integrado, permite a criação 
e gerenciamento do banco de dados, desenvolvimento de aplicações e geração 
de relatórios. Sua linguagem de programação deriva do Visual Basic. Para 
microcomputadores do ambiente Windows é padrão em banco de dados.
 » Oracle: é o primeiro em Banco de Dados Corporativos (cliente/servidor) possuindo 
grande variedade de distribuições (para Macintosh, Windows, Linux, FreeBSD, 
Unix) e para computadores de grande porte. É padrão SQL com uma linguagem 
própria para desenvolvimento de aplicações.
 » Interbase: teve uma versão liberada como Open Source e foi incluído, pela Borland, 
nas suas ferramentas de desenvolvimento (Delphi, C++Builder, JBuider).
32
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
 » MS-SQL Server: as versões atuais são independentes e operam exclusivamente 
sobre Windows. Foi produzido pela Microsoft. Inicialmente era uma versão especial 
do Sybase.
 » Sybase SQL Anywhere: as aplicações para esse banco de dados são desenvolvidas 
com o PowerBuilder. No mercado, seu concorrente corporativo é o Oracle.
 » MySQL: além de gratuito, possui versões para Windows, Solaris, Unix, FreeBSD, 
Linux. Usado principalmente para desenvolvimento WEB como servidor de dados 
para comércio eletrônico.
 » PostgreSQL: além de ser gratuito, tem boa aceitação. Foi concebido para rodar 
em Linux e possui versões para Windows. É, principalmente, usado para comércio 
eletrônico, juntamente com a linguagem PHP.
 » Informix: aplicativo comercializado pela IBM. Possui boa escalabilidade e 
desempenho.
 » BD2: aplicativo produzido pela IBM, nasceu nos ambientes de grande porte, sendo 
posteriormente portado para plataformas mais simples (microcomputadores).
 » Firebird: aplicativo nascido de uma iniciativa da Borland em abrir o código do 
InterBase 6. Este sistema é open source e esbanja versatilidade e robustez. Possui 
recursos de trigger, store procedures e transações concorrentes.
33
CAPÍTULO 3
Modelagem de dados utilizando o MER
Uma entidade dever ter atributos que necessitam ser conhecidos do ponto de vista 
dos negócios ou então não é uma entidade no escopo dos requisitos do negócio.
O Modelo Entidade-Relacionamento (MER)
O Modelo Entidade-Relacionamento (MER) foi definido por Peter Chen,, em 1976, e teve como base 
a teoria relacional criada por E.F.Codd (1970). Segundo Chen, a visão de uma dada realidade baseia-
se no relacionamento entre entidades, que retratam os fatos que governam essa mesma realidade, e 
que cada um (entidade ou relacionamento) pode possuir atributos (qualificadores dessa realidade).
É um modelo de dados conceitual de alto nível, cujos conceitos foram projetados para estar o mais 
próximo possível da visão que o usuário tem dos dados, não se preocupando em representar como 
esses dados estarão realmente armazenados. Baseia-se na percepção de um mundo real que consiste 
em uma coleção de objetos básicos, denominados entidades, e de relações entre esses objetos.
O MER é utilizado principalmente durante o processo de projeto de banco de dados e é, atualmente, 
a técnica mais difundida, chegando a confundir-se com a própria modelagem de dados.
A Figura 10 faz uma descrição simplificada do processo de projeto de um banco de dados.
Características do MER
O modelo ER apresenta as seguintes características.
 » Expressividade: suporta relacionamentos n-ários; inclui os três mecanismos de 
abstração: classificação, agregação e generalização.
 » Simplicidade: possui uma riqueza de conceitos e com isso se torna uma poderosa 
ferramenta para a descrição da realidade. Não é um modelo muito simples, 
especialmente no que diz respeito aos conceitos de cardinalidade, cobertura de 
generalização e identificação. Uma solução é produzir diagramas ER em diferentes 
níveis de detalhe.
 » Minimalidade: nenhum conceito do modelo pode ser descrito em termos dos 
demais, com exceção dos atributos compostos. O fato de a mesma realidade poder 
ser modelada de diferentes maneiras não invalida a minimalidade do modelo. 
34
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
 » Formalidade: possui o necessário grau de formalidade, uma vez que cada um de 
seus conceitos possui uma interpretação única, precisa e bem-definida. 
 » Representação gráfica: todos os seus conceitos possuem um símbolo gráfico 
associado, por isso, é um modelo graficamente completo. Os diagramas ER são 
fáceis de serem entendidos pelos usuários.
Uma aplicação
A Figura 10 descreve uma base de dados COMPANHIA, que será utilizada para ilustrar o processo 
de projeto de base de dados. São listados os requisitos da base de dados e criado o seu esquema 
conceitual passo a passo ao mesmo tempo em que são introduzidos os conceitos de modelagem 
usando o MER. 
A base de dados COMPANHIA armazena os dados dos empregados, departamentos e projetos. 
Supõe-se que após a Obtenção e Análise dos Requisitos, os projetistas da base de dados produziram 
a seguinte descrição do minimundo – parte da companhia a ser representada na base de dados.
 » A companhia é organizada em departamentos. Cada departamento tem um nome, 
um número e um empregado que o gerencia. Armazena-se a data de início em que 
o empregado começou a gerenciar o departamento. Um departamento pode ter 
diversas localizações.
 » Um departamento controla inúmeros projetos, sendo que cada um tem um nome, 
um número e uma localização.
 » Do empregado armazena-se o nome, número do seguro social, endereço, salário, 
sexo e a data de nascimento. Todo empregado é associado a um departamento, mas 
pode trabalhar em diversos projetos, que não são necessariamente controlados pelo 
mesmo departamento. Armazena-se, também, o número de horas que o empregado 
trabalha em cada projeto. Mantém-se, ainda, a indicação do supervisor direto de 
cada projeto.
 » Os dependentes de cada empregado são armazenados com o propósito de garantir 
os benefícios do seguro. Para cada dependente será armazenado o nome, sexo, data 
de nascimento e o relacionamento com o empregado.
35
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
Figura 10: Esquematização da Modelagem de Dados usando o MER
Obtenção e Análise Requisitos
Projeto Conceitual
Projeto Físico
Mini-Mundo
Requisitos da Base de Dados
Modelo Conceitual (Alto-Nível)
Esquema Conceitual (SGBD específico)
Esquema Interno
Banco de Dados
Co
m
um
 a
 to
do
s 
os
 ti
po
s 
de
 S
GB
D
Co
nf
or
m
e 
o 
SG
BD
 
Mapeamento do Modelo de Dados
Fonte: Adaptado de Silberschatz (2006).
Entidades e atributos
O objeto básico tratado pelo modelo ER é a entidade, que pode ser definida como um objeto do 
mundo real, concreto ou abstrato e que possui existência independente. 
Cada entidade possui um conjunto particular de propriedades que a descreve, denominado 
atributos. Para cada atributo existe um conjunto de valores permitidos, que é chamado de 
domínio desse atributo. Um atributo pode ser dividido em diversas partes menores com significado 
independente entre si, recebendo o nome de atributo composto. Um atributo que não pode ser 
subdividido é chamado de atributo simples ou atômico.
O atributo que pode assumir apenas um determinado valor em uma determinada instância é 
denominado atributo simplesmente valorado, enquanto que um atributo que pode assumir diversos 
valores em uma mesma instância é denominado multivalorado. Um atributoque é gerado a partir 
de outro é chamado de atributo derivado.
36
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
Tipos entidade, conjunto de valores, atributo chave
Um banco de dados costuma conter grupos de entidades que são similares, possuindo os mesmos 
atributos, porém, cada entidade conta com seus próprios valores para cada atributo. Esse conjunto 
de entidades similares forma tipo entidade. Cada tipo entidade é identificado por seu nome 
e pelo conjunto de atributos que definem suas propriedades. A descrição do tipo entidade é 
chamada de esquema do tipo entidade, onde são especificados o nome do tipo entidade, o nome 
de cada um de seus atributos e qualquer restrição que incida sobre as entidades. 
Relacionamentos
Tipos de relacionamento
Um tipo relacionamento R entre n entidades E1, E2, ..., En é um conjunto de associações possíveis 
entre entidades desse tipo. Em outras palavras, cada instância de relacionamento r1 em R é 
uma associação de entidades. Isso significa que essas entidades estão relacionadas de alguma forma 
no minimundo. 
A Figura 11 mostra um exemplo entre dois tipos entidade (empregado e departamento) e o 
relacionamento entre eles (trabalha para). Repare que para cada relacionamento participa 
apenas uma entidade de cada tipo entidade, porém, uma entidade pode participar de mais de um 
relacionamento.
Figura 11. Exemplo de um Relacionamento Binário
R1
R2
R3
R4
R5
R6
Trabalha ParaEmpregado
E
1
E
2
E
3
E
4
E
5
E
6
Departamento
D1
D2
D3
37
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
Grau de um relacionamento
O grau de um tipo relacionamento é o número de tipos entidade que participam do tipo relacionamento. 
No exemplo da Figura 11, temos um relacionamento binário. O grau de um relacionamento é 
ilimitado, porém, a partir do grau 3, a compreensão e a dificuldade de se desenvolver a relação 
corretamente se tornam extremamente complexas.
Um exemplo de um tipo de relacionamento ternário é Fornece para, ilustrado na Figura 12. Cada 
instância de relacionamento R1 associa três entidades – um fornecedor F, uma peça E e um projeto 
P – onde o fornecedor F fornece a peça E para o projeto P. Podem existir tipos de relacionamento de 
qualquer grau, porém é mais frequente encontrar o tipo de relacionamento de grau dois.
Relacionamentos como atributos
Algumas vezes é conveniente pensar em um relacionamento como um atributo. Considere o exemplo 
da Figura 11. Podemos pensar departamento como sendo um atributo da entidade empregado, ou 
empregado, como um atributo multivalorado da entidade departamento. Se uma entidade não 
possuir existência muito bem definida, talvez seja mais interessante para a coesão do modelo lógico 
que ela seja representada como um atributo.
Figura 12. Exemplo de um Relacionamento Ternário
R1
R2
R3
R4
R5
R6
Fornecer para
Peças
E
1
E
2
E
3
E
4
E
5
E
6
Projeto
P
1
P
2
P
3
Fornecedor
F
1
F
2
Nomes de papéis e relacionamentos recursivos
Cada tipo entidade que participa de um tipo relacionamento desempenha um papel particular 
no relacionamento. O nome do papel representa o papel que uma entidade de um tipo entidade 
38
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
participante desempenha no relacionamento. No exemplo da Figura 11, nós temos o papel empregado 
ou trabalhador para o tipo entidade EMPREGADO e o papel departamento ou empregador para a 
entidade DEPARTAMENTO. 
Nomes de papéis não são necessariamente importantes quando todas as entidades participantes 
desempenham papéis diferentes. Algumas vezes, o papel torna-se essencial para distinguir o 
significado de cada participação. Isso é muito comum em “relacionamentos recursivos”.
Um relacionamento recursivo é um relacionamento entre entidades do mesmo tipo entidade, 
conforme ilustrado na Figura 13.
Na Figura 13, temos um relacionamento entre o tipo entidade EMPREGADO, onde um empregado 
pode supervisionar outro empregado e um empregado pode ser supervisionado por outro empregado.
Figura 13. Um Relacionamento Recursivo
Supervisiona
R1
R2
R3
R4
R5
R6
Empregado
E
1
E
2
E
3
E
4
E
5
E
6
Supervisiona
Supervisionando
Refinando o projeto de entidade-relacionamento
Tipos entidades fracas
Em alguns casos, alguns tipos entidade podem não ter um atributo chave por si só. Isso implica que 
não poderemos distinguir algumas entidades porque as combinações dos valores de seus atributos 
podem ser idênticas. Esses tipos entidade são chamados entidades fracas. As entidades desse 
tipo precisam estar relacionadas com uma entidade pertencente ao tipo entidade proprietária. 
Esse relacionamento é chamado de relacionamento identificador. 
Na Figura 14, o tipo entidade DEPENDENTE é uma entidade fraca uma vez que não possui um 
método de identificar uma entidade única. O EMPREGADO não é uma entidade fraca uma vez que 
possui um atributo para identificação (atributo chave). 
39
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
O número do CPF de um empregado pode identificar um único empregado, porém um dependente 
de 5 anos de idade não possui necessariamente um documento como esse. Dessa forma, essa 
entidade é um tipo entidade fraca. 
Figura 14. Exemplo de um Relacionamento com uma Entidade Fraca
Possui Dependente
R
1
R
2
R
3
Empregado
E
1
E
2
E
3
Dependente
D
1
D
2
D
3
Um tipo entidade fraca possui uma chave parcial que, juntamente com a chave primária da 
entidade proprietária, forma uma chave primária composta.
No exemplo da Figura 14 a chave primária do EMPREGADO pode ser o CPF. A chave parcial 
do DEPENDENTE pode ser o seu nome, pois dois irmãos não podem ter o mesmo nome. Desse 
modo, a chave primária desta entidade fica sendo o CPF do pai ou da mãe mais o nome 
do dependente.
Atributos em tipos de relacionamentos
Os tipos de relacionamento também podem ter atributos da mesma maneira que os tipos de entidades. 
Exemplificando, tomemos a situação representada pela Figura 15 e acrescentemos a necessidade de 
representar a data em que um EMPREGADO começou a gerenciar um DEPARTAMENTO por 
meio de um atributo Data_Início para o tipo de relacionamento GERÊNCIA.
Figura 15. Exemplo de um Relacionamento
Gerência
R
1
R
2
R
3
Departamento
D
1
D
2
D
3
Empregado
E
1
E
2
E
3
E
4
E
5
E
6
Nesse caso, é possível perceber que atributos de tipos de relacionamento 1:1 ou 1:N podem ser 
incluídos como atributos de um dos tipos de entidades participantes. Assim, o atributo Data_
Início para o tipo de relacionamento GERÊNCIA pode ser um atributo tanto de EMPREGADO 
quanto de DEPARTAMENTO embora, conceitualmente, ele pertença ao relacionamento 
40
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
GERÊNCIA. Isso ocorre porque GERÊNCIA é um relacionamento 1:1, uma vez que toda entidade 
DEPARTAMENTO ou EMPREGADO participam em apenas uma instância de relacionamento 
e, dessa forma, o valor do atributo Data_Início pode ser representado em qualquer uma das 
entidades participantes.
No caso de um tipo de relacionamento 1:N, um atributo de relacionamento pode somente ser 
colocado no tipo de entidade que está do lado N do relacionamento. Isso pode ser visto 
na Figura 11, pois se o relacionamento TRABALHA-PARA tiver um atributo Data_Início, 
indicando quando um empregado começou a trabalhar para um DEPARTAMENTO, esse atributo 
pode ser colocado como atributo de EMPREGADO. Isso ocorre porque o relacionamento é 1:N 
de modo que cada entidade EMPREGADO participa apenas uma única vez em uma instância de 
TRABALHA-PARA. 
Uma vez que o valor de um atributo é determinado pela combinação das entidades participantes 
em uma instância de relacionamento, e não apenas por uma das entidades, então o atributo deve 
ser especificado como um atributo de relacionamento. Esse é o caso de atributos de tipos de 
relacionamentos M:N, porque as entidades dos tipos de entidades participantes podem participar 
em inúmeras instâncias de relacionamento. 
Exemplificando, tomemos a situação descrita na Figura 11 e acrescentemos a necessidade de incluiro atributo Horas_Trabalhadas do relacionamento M:N TRABALHA-PARA. O número de 
horas que um empregado trabalha em um projeto é determinado pela combinação empregado-
projeto e não separadamente.
Modelo Entidade-Relacionamento Estendido (ERE)
Os conceitos do modelo Entidade-Relacionamento, discutidos anteriormente, são suficientes para 
representar logicamente a maioria das aplicações de banco de dados. Porém, com o surgimento 
de novas aplicações, surgiu também a necessidade de novas semânticas para a modelagem de 
informações mais complexas. 
O modelo Entidade-Relacionamento Estendido (ERE) visa fornecer esta semântica para 
permitir a representação de informações complexas. É importante frisar que, embora o modelo ERE 
trate classes e subclasses, ele não possui a mesma semântica de um modelo orientado a objetos.
O modelo ERE engloba todos os conceitos do modelo E-R mais os conceitos de subclasse, 
superclasse, generalização, especialização e o de herança de atributos.
Subclasses, Superclasses e Especializações
O primeiro conceito do modelo ERE, que será abordado, é o de subclasse de um tipo entidade. 
Como visto anteriormente, um tipo entidade é utilizado para representar um conjunto de entidades 
do mesmo tipo. Em muitos casos, um tipo entidade possui diversos subgrupos adicionais de entidades 
41
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
que são significativas e precisam ser representadas explicitamente, devido ao seu significado, à 
aplicação de banco de dados. Considere o seguinte exemplo:
Para um banco de dados de uma empresa temos o tipo entidade empregado, o qual possui as seguintes 
características: nome, RG, CPF, número funcional, endereço completo (rua, número, complemento, 
CEP, bairro, cidade), sexo, data de nascimento e telefone (ddd e número); caso o(a) funcionário(a) 
seja um(a) engenheiro(a), então deseja-se armazenar as seguintes informações: número do CREA e 
especialidade (Civil, Mecânico, Eletrônico); caso o(a) funcionário(a) seja um(a) secretário(a), então 
se deseja armazenar as seguinte informações: qualificação (bi ou trilíngue) e os idiomas em que 
possui fluência verbal e escrita.
Se as informações número do CREA, especialidade, tipo e idiomas forem representados diretamente 
no tipo entidade empregado estaremos representando informações de um conjunto limitado de 
entidades empregado para os todos os funcionários da empresa. Nesse caso, podemos criar duas 
subclasses do tipo entidade empregado: engenheiro e secretária, as quais irão conter as informações 
acima citadas. Além disto, engenheiro e secretária podem ter relacionamentos específicos.
Uma entidade não pode existir meramente como componente de uma subclasse. Antes de ser 
componente de uma subclasse, uma entidade deve ser componente de uma superclasse. Isto leva ao 
conceito de herança de atributos; ou seja, a subclasse herda todos os atributos da superclasse. Isso 
porque a entidade de subclasse representa as mesmas características de uma mesma entidade da 
superclasse. Uma subclasse pode herdar atributos de superclasses diferentes. Uma representação 
diagramática do exemplo mencionado é ilustrada na Figura 15.
Figura 15. Representação de Superclasse e Subclasses
Nome
No Funcional
CPF
RG
Dt. Nascimento
Sexo
Endereço
Empregado
Função
d
Engenheiro Engenheiro
No Registro
Especialização
Qualificação
Idiomas
Especialização
Especialização é o processo de definição de um conjunto de classes de um tipo entidade; esse tipo 
entidade é chamado de superclasse da especialização. O conjunto de subclasses é formado com base 
em alguma característica que distinga as entidades entre si.
No exemplo da Figura 15, temos uma especialização, que podemos chamar de função. Veja agora no 
exemplo da Figura 16, temos a entidade empregado e duas especializações.
42
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
Figura 16. Duas Especializações para Empregado: Função e Categoria Salarial
Engenheiro HoristaSecretária Mensalista
Empregado
Função
Categoria Salarial
dd
Como visto anteriormente, uma subclasse pode ter relacionamentos específicos com outras entidades 
ou com a própria entidade, que é a sua superclasse. Veja o exemplo da Figura 17.
Figura 17. Relacionamentos entre Subclasses e Entidades
d
Secretária
Empregado
Engenheiro
Projeto
É desenvolvido por N
N
S
N
É liderado
Lidera
Participa
Função
O processo de especialização nos permite:
 » definir um conjunto de subclasses de um tipo entidade;
 » associar atributos específicos adicionais para cada subclasse;
 » estabelecer tipos relacionamentos específicos entre subclasses e outros tipos 
entidades.
Generalização
A generalização pode ser pensada como um processo de abstração reverso ao da especialização, no 
qual são suprimidas as diferenças entre diversos tipos entidades, identificando suas características 
comuns e generalizando essas entidades em uma superclasse.
43
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
Figura 18. Tipos Entidades Engenheiro e Secretária
Figura 19. Generalização Empregado para os Tipos Entidades Engenheiro e Secretária
É importante destacar que existe diferença semântica entre a especialização e a generalização. Na 
especialização, podemos notar que a ligação entre a superclasse e as subclasses é feita por meio 
de um traço simples, indicando participação parcial por parte da superclasse. Analisando o 
exemplo da Figura 17, é observado que um empregado não é obrigado a ser um engenheiro ou 
uma secretária. Na generalização, podemos notar que a ligação entre a superclasse e as subclasses 
é feita por intermédio de um traço duplo, indicando participação total por parte da superclasse. 
Analisando o exemplo da Figura 18, é observado que um empregado é obrigado a ser um engenheiro 
ou uma secretária.
A letra d dentro do círculo que especifica uma especialização ou uma generalização significa 
disjunção. Uma disjunção em uma especialização ou generalização indica que uma entidade do 
tipo entidade que representa a superclasse pode assumir apenas um papel dentro dela. Analisando 
o exemplo da Figura 19 temos duas especializações para a superclasse Empregado, as quais são 
restringidas por meio de uma disjunção. Nesse caso, um empregado pode ser um engenheiro ou 
uma secretária e ele pode ser horista ou mensalista.
Além da disjunção, podemos ter um overlap, representado pela letra o. No caso do “overlap”, uma 
entidade de uma superclasse pode ser membro de mais que uma subclasse em uma especialização ou 
generalização. Analise a generalização no exemplo da Figura 20. Suponha que uma peça fabricada em 
uma tornearia pode ser manufaturada ou torneada, ou ainda, pode ter sido manufaturada e torneada.
44
UNIDADE I │ INTRODUÇÃO À MODELAGEM CONCEITUAL
Figura 20. Uma Generalização com “Overlap”
“Lattice” ou múltipla herança
Uma subclasse pode ser definida por meio de um “lattice”, ou múltipla herança, ou seja, ela pode 
ter diversas superclasses, herdando características de todas. Tomemos como base a situação de 
que uma construtora possui diversos funcionários, que podem ser engenheiros ou secretárias. Um 
funcionário pode também ser assalariado ou horista. Todo gerente de departamento da construtora 
deve ser um engenheiro e assalariado.
O modelo lógico da expressão acima tem o seguinte formato (Figura 21):
Figura 21. Um “Lattice” com a Subclasse Gerente Compartilhada
Nesse caso, então, um gerente será um funcionário que, além de possuir as características próprias 
de Gerente, herdará as características de Engenheiro e de Mensalista.
45
INTRODUÇÃO À MODELAGEM CONCEITUAL │ UNIDADE I
Diagrama entidade-relacionamento
O Diagrama Entidade-Relacionamento (DER) é composto por um conjunto de objetos 
gráficos que visa representar todos os objetos do modelo Entidade Relacionamento, tais como 
entidades, atributos, atributos chaves, relacionamentos, restrições estruturais etc.
O diagrama ER oferece uma visão lógica do banco de dados, fornecendo um conceito mais 
generalizado de como

Continue navegando