autor do original
GERALDO HENRIQUE NETO
1 edio
SESES
rio de janeiro 2015
Conselho editorial fernando fukuda, simone markenson, jeferson ferreira fagundes
Diagramao fabrico
Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida
por quaisquer meios (eletrnico ou mecnico, incluindo fotocpia e gravao) ou arquivada em
qualquer sistema ou banco de dados sem permisso escrita da Editora. Copyright seses, 2015.
Prefcio 7
Modelo Entidade-Relacionamento 53
As Principais Caracteristicas do MER 57
Modelo Entidade-Relacionamento Estendido 65
Diagrama Entidade-Relacionamento (DER) 74
Modelando o negcio 80
5. Normalizao 122
Normalizao 123
Prefcio
Prezados(as) alunos (as)
Bons estudos
7
1
Viso Geral: Banco de
Dados e os Sistemas
de Gerenciamento
de Banco de Dados
(SGBD)
1 Viso Geral: Banco de Dados e os
Sistemas de Gerenciamento de Banco de
Dados (SGBD)
Previamente, antes de iniciarmos o estudo acerca da Modelagem de Dados, deve-
mos constituir uma base slida de conhecimentos triviais que sero imprescin-
dveis para elucidar os contedos futuros, permitindo, dessa forma, uma melhor
abstrao de outros conceitos gerais no que se refere Modelagem de Dados.
Acreditamos que voc desperte sua curiosidade e se prepare para comear os
estudos desta disciplina, estes, sem dvida, sero de grande relevncia para sua
formao profissional.
Voc se encontra preparado para conhecer os objetivos deste captulo?!
OBJETIVOS
Nesse primeiro captulo, exploramos os aspectos histricos relacionados aos bancos de da-
dos, sobretudo, sobre a sua evoluo desde o incio do seu surgimento at a atualidade. Co-
nhecer os Sistemas Gerenciadores de Banco de Dados (SGBD), realizando uma breve com-
parao sobre os SGBD e Sistemas de Gerenciamento de Arquivos. Estudaremos tambm
os principais usurios no nvel de banco de dados e, por fim, estudaremos as particularidades
do SGBD e suas principais funcionalidades.
Exploraremos, de maneira superficial, aspectos histricos, para que voc compreenda como
ocorreu a evoluo dos Sistemas de Gerenciamento de Banco de Dados, bem como, sua
necessidade, sendo assim, estudaremos as primeiras maneiras de administrao de dados,
por meio de arquivos e sistemas de arquivos, apresentando suas vantagens e desvantagens.
REFLEXO
Voc j deve ter ouvido falar muito em bancos de dados em diversos momentos de sua vida.
Mas o que so bancos de dados? De forma geral, arquivo em que se armazene dados pode
de alguma forma entrar nessa categoria. No entanto, de forma especfica, h formas eficientes
de se armazenar, gerenciar e acessar atravs de softwares e formatos de dados especficos.
Se voc nunca lidou com bancos de dados, deve estar se perguntando: Por onde comeo?.
10 captulo 1
1.1 Viso geral: Banco de dados
Ser que voc consegue identificar quais foram os motivos que levaram os a re-
alizao de investimentos macios nos estudos destinados ao armazenamento
de dados em meios mais acessveis e eficazes?
H tempos atrs, organizaes empresariais de pequeno, mdio e grande
porte gastavam cifras significantes de recursos financeiros na contratao de
um nmero expressivo de pessoas para trabalhar no processo de armazena-
mento e organizao de vrios arquivos, mencionar, arquivos referente as in-
formaes de clientes, produtos, funcionrios, produo industrial, etc.
Em meados da dcada de 70, a empresa intitulada de IBM, juntamente com
seu colaborador chamado de Ted Codd, considerado pioneiro na publicao de
um artigo cientfico, o qual discorria sobre banco de dados relacionais, sugeriu
o uso de clculo e lgebra relacional. Esses dois temas permitia aos usurios
finais a manipulao de informaes.
O objetivo principal de Codd era implementar um sistema onde fosse poss-
vel o usurio manipular as informaes, essas armazenadas em tabelas (relao),
esse o motivo do termo relacional, por meio do uso de instrues especficas.
Diversas pessoas consideraram no adequadas aplicar as notaes mate-
mticas de Codd na manipulao de informaes provenientes de tabelas, no
despertando assim, o interesse da maioria das pessoas. Entretanto, ningum
imaginava que as teorias propostas por Codd se tornaria conceitos triviais na
evoluo no que tange o armazenamento e recuperao de informaes.
Nesse mesmo perodo, a IBM criou o System R, o qual promoveu subsdios para
a elaborao de um prottipo de banco de dados relacional, conduzindo mais
adiante, a criao da linguagem SQL (Structured Query Language) e do conhecido
DB2. No restam dvidas que, na rea de banco de dados, a linguagem SQL con-
siderada um padro para os principais fabricantes de bancos de dados relacional.
Inoportunamente, a IBM deixou o System R em segundo plano por um gran-
de perodo (diversos anos). O interesse da IBM era em um sistema de banco de
dados com credibilidade que utilizava tecnologia de ponta, conduzindo, no ano
de 1968, o IMS. Assim, a IBM no mediu esforos em publicar os resultados dos
trabalhos cientficos produzidos pela sua equipe, ora responsvel pelo System
R. Posteriormente, o criador de uma pequena e singela empresa, Larry Ellison,
se deparou com o artigo publicado pela equipe da IBM, e, imediatamente, deu
incio ao processo de contratao dos desenvolvedores do System R e da Univer-
captulo 1 11
sidade da Califrnia. No ano de 1979, graas ao perfil empreendedor de Larry,
um novo banco de dados relacional com base na linguagem SQL foi lanado no
mercado, bem antes da conservadora IBM.
Uma verso de banco de dados intitulada de Oracle, em 1983, foi criada pela
empresa de Ellison, incrementando o faturamento anual em 5 milhes de dlares.
12 captulo 1
um dado em sua forma bruta. Porm, nesse exemplo, 43 no est vinculado a
nenhuma informao, ou seja, no possui significado algum, ao menos que,
seu contexto seja evidenciado, como: Esse valor representa a temperatura da
cidade de Ribeiro Preto em plena primavera? Ou, esse valor de temperatura
a mdia de temperatura trimestral da regio metropolitana de So Paulo?
Dessa forma, correto dizer, que os dados constituem os pilares para que
alcancemos as informaes, tornando-se quesito extremamente importante
na tomada de deciso empresarial, independentemente da rea de atuao e
porte, sejam empresas governamentais, privadas e ou de prestao de servio.
Retomando nosso exemplo inicial, os dados provenientes das questes do
formulrio on-line, podem identificar os principais pontos favorveis ou no
favorveis do mdulo responsvel pela gerao de relatrios analticos, condu-
zindo a uma melhor tomada de deciso a fim de atender os principais aponta-
mentos de seus usurios.
captulo 1 13
Na sequncia, apresentaremos outro tipo de classificao, essa considera a
localizao do banco de dados:
Banco de Dados Centralizado: realiza a centralizao dos dados em um
nico local fisicamente existente, realizando o devido suporte ao mesmo;
Banco de Dados Distribudo: nesse tipo de banco de dados o suporte
destinado a distribuio dos dados por diversos locais, esses, normal-
mente, residente em locais fisicamente distintos.
14 captulo 1
Banco de Dados Meteorolgico: pela sua prpria nomenclatura, refere-
se a um tipo de banco de dados que armazena dados sobre o tempo (tem-
peratura, umidade do ar, velocidade do vento, etc.);
Banco de Dados Multimdia: so normalmente direcionados ao arma-
zenamento e manipulao de dados considerados no convencionais,
como, imagens, vdeos, msicas, etc.;
Banco de Dados Especialista: voc poder encontrar, em algumas litera-
turas, um outro nome aplicado a esse tipo de banco de dados (banco de
dados/sistemas baseados em conhecimento). Esse tipo de banco mistu-
ra raciocnio e inferncia, por meio do uso de inteligncia artificial.
ainda possvel classificarmos os bancos de dados levando em considera-
o como os dados esto estruturados. Um dado no estruturado considerado
como sendo um dado em sua forma original, isto , em sua forma bruta, sem
nenhum tipo de lapidao/tratamento. Para tanto, esse tipo de dado no permi-
te que realizemos o devido processamento para alcanarmos a valiosa informa-
o agregada nele. Ao contrrio, dado estruturado pode ser considerado como
o resultado de um processo que utilizou dados no estruturados, atendendo a
uma pr-formatao, criando facilitadores no que se refere ao armazenamento,
a manipulao e obteno de informao.
Em ambientes empresariais, certamente voc ir se deparar com o armaze-
namento e manipulao de dados semiestruturados, ou seja, um tipo de dado
parcialmente processado. Atualmente, existe uma demanda considervel para
armazenar e gerenciar dados no estruturados e semi-estruturados, conduzin-
do ao surgimento de mais uma nova vertente de banco de dados, os intitulados
de Banco de Dados XML (Extensible Markup Language).
Para encerrar esse tpico, devemos deixar explcito que os termos banco de da-
dos e base de dados no podem ser considerados como sinnimos, isso porque,
uma base de dados, normalmente, gerenciado por ferramentas de suporte a de-
ciso empresarial, como exemplo, podemos mencionar, o sistema ERP (Enterprise
Resource Planning). Entretanto, o gerenciamento de um banco de dados ou um
conjunto de banco de dados promovido pelo uso de um sistema de gerenciamen-
to de banco de dados (SGBD).
captulo 1 15
1.4 Sistemas de Arquivos
Voc j se deparou com as siglas FAT, FAT32, NTFS? Algo familiar para voc?
Bem, pois fique voc sabendo que essas siglas tm um propsito em comum, e,
ser que voc saberia me responder?
Os sistemas de arquivos, ora relacionados acima por meio das siglas FAT,
FAT32, NTFS, por exemplo, possuem como objetivo comum realizar a organi-
zao e armazenamento de dados em sistemas de informao computacionais,
formando dessa maneira, os dois principais sistemas para gerenciamento e
controle de informao, a citar, o prprio sistema de arquivos e o sistema de
gerenciamento de banco de dados (SGBD).
Sistemas de arquivos o mecanismo utilizado para organizar e armazenar da-
dos por meio de uma estrutura lgica, essa responsvel pela alocao fsica dos ar-
quivos em dispositivos de armazenamento (disco rgido, memria flash, CD-ROM,
DVD-ROM, dentre outros.). Bem, para que voc possa abstrair ainda mais esse con-
ceito, considere um sistema de arquivos como sendo uma estrutura responsvel
por delimitar como os arquivos sero efetivamente gravados e armazenados em
qualquer dispositivo de armazenamento.
Um detalhe tambm considerado importante para o conceito ora exposto,
que todo esse controle destinado ao acesso aos dispositivos de armazenamento
promovido pelos sistemas operacionais, a citar, MS-DOS, Windows, Linux e
Unix. Basicamente, a maioria dos sistemas de arquivos faz uso dos recursos de
armazenamento de dados os quais utilizam vrios blocos nomeados de setores,
esses com tamanhos j pr-definidos.
No temos dvidas que voc, eventualmente, utiliza um desses sistemas de
arquivos FAT (File Allocation Table), FAT32 e NTFS (New Technology File Sys-
tem), da famlia dos sistemas operacionais da Microsoft. E da? Voc quer saber
qual realmente a diferena existente entre esses sistemas de arquivos? Nosso
objetivo no esmiuar esses detalhes, e sim, promover uma viso resumida, isto
, a principal diferena ente esses sistemas de arquivos est relacionada s limita-
es da tecnologia que por sua vez, foram evoluindo com o transcorrer do tempo,
bem como a inevitvel melhoria da segurana e capacidade de armazenamento.
16 captulo 1
Bem, agora imagine que voc tenha a necessidade de gravar um vdeo (filme
de DVD) em uma mdia de armazenamento especfica, para exemplificar, o seu
prprio Pen-Drive. Voc tem ideia de como o sistema de arquivo ir trabalhar?
Antes de qualquer coisa, necessrio conhecer o funcionamento de um sistema
de arquivo, que utiliza um tipo de tabela para armazenar todos os detalhes da lo-
calizao dos dados de cada arquivo. Por exemplo, o sistema de arquivo FAT frag-
menta a rea do dispositivo de armazenamento em pequenos blocos, permitin-
do assim que um nico arquivo possa ocupar diversas posies distintas, onde,
esses blocos, necessariamente, no necessitam estar alocados continuamente.
Podemos considerar que os sistemas de arquivos foram os pioneiros no que
se refere aos sistemas de armazenamento e manipulao de dados. Tais siste-
mas sofreram melhorias ao longo de dcadas, cujo objetivo era acompanhar a
evoluo tecnolgica. Entretanto, infelizmente, alguns problemas podem ser
caracterizados, a citar:
A estrutura de arquivos definida pelo prprio cdigo-fonte do sistema
computacional, prejudicando consideravelmente sua manuteno;
O controle de acesso desses arquivos apresentam grandes obstculos
quando mencionamos o compartilhamento;
A falta de compatibilidade entre os sistemas computacionais prejudica
consideravelmente a funcionalidade dos sistemas, pelo simples fato de
criar arquivos e sistemas voltados a um nico e exclusivo sistema ope-
racional, e que, na maioria das vezes so realizados por diversos desen-
volvedores distintos que utilizam linguagens de programao dspares;
Sistemas computacionais com dados distintos conduz a inconsistncia
dos mesmos;
O uso de formatos especficos acarreta o isolamento de dados;
A duplicidade no supervisionada dos dados leva a redundncia dos
mesmos;
O fcil acesso aos dados direciona a srios problemas de segurana;
A falta de controle de acesso concorrente promovido por diversos usu-
rios acessando o mesmo dado.
captulo 1 17
A Figura 1.1 abaixo apresenta um exemplo do armazenamento de dados por
meio de sistemas de arquivos. Verifique que, toda a segurana e controle de
acesso aos dados so de responsabilidade da aplicao.
Uma dvida que pode ter surgido em voc, diz respeito se a utilizao de sis-
temas de arquivos no gerenciamento e manipulao dos dados uma boa alter-
nativa, nos dias de hoje? Para que voc possa contextualizar ainda mais os pro-
blemas provenientes do uso de sistemas de arquivos, principalmente, o que se
refere inconsistncia e controle de acesso, suponha que dois clientes estejam
buscando produtos ora disponveis para comercializao em um e-commerce
qualquer. Ainda para agravar a situao, o e-commerce possui apenas uma ni-
ca unidade de um DVD, e, prontamente, o sistema apresenta essa informao
para ambos os clientes. Ao mesmo tempo, os dois clientes escolhem o mesmo
DVD para aquisio. Percebe-se que essa simples transao acarretar em pro-
blema no sistema, promovendo a inconsistncia dos dados. Esse problema que
gerou a inconsistncia foi produzido devido ausncia de bloqueio da compra
de um dos clientes, e a exibio de uma mensagem informando que no existe
mais o produto em estoque.
Dessa maneira, percebe-se que o armazenamento e manipulao de dados
por meio do uso de sistemas de arquivos podem levar a diversos dissabores. Esse
mesmo exemplo hipottico pode ser ampliado para outros tipos de sistemas, tais
como, sistemas bancrios, sistemas de hotelaria, sistemas hospitalares, etc..
Devido a alguns problemas apresentados pelo uso de sistemas de arquivos
para o armazenamento de dados, e, pela necessidade de utilizar novas estrutu-
ras de armazenamento nesses sistemas computacionais, como tambm, o alto
custo aplicado na manuteno para solucionar esses dissabores, criou-se a evo-
luo dos sistemas de arquivos, os extraordinrios sistemas de gerenciamento
de banco de dados (SGBD), que utilizam novas estruturas para o armazenamen-
18 captulo 1
to e gerenciamento dos dados.
A seguir, iniciaremos um estudo detalhado acerca dos sistemas de gerencia-
mento de banco de dados, apresentando suas principais vantagens em relao
aos sistemas de arquivos.
CONEXO
SGBD uma coleo de aplicativos computacionais responsveis pelo gerenciamento de
uma conjunto de banco de dados. (Rob et al., 2011).
captulo 1 19
Tais aplicativos, normalmente, so desenvolvidos por uma equipe de desen-
volvedores atravs da utilizado de uma linguagem de programao especfica,
como podemos mencionar: Java, PHP, C/C++, Pascal, C#, etc. ou, esporadica-
mente, constitudos a partir do uso de mdulos proprietrios de um SGBD,
como exemplo, podemos evidenciar o Forms e Reports da prpria Oracle.
Voc j deve ter percebido que os dados so caracterizados como sendo a
matria bruta e imprescindvel para que alcancemos qualquer tipo de informa-
o, impulsionando ainda mais a necessidade de utilizarmos mtodos eficien-
tes e eficazes para manipula-los.
Algumas vantagens na utilizao de um sistema de gerenciamento de banco
de dados associados aos aplicativos computacionais podem ser evidenciados,
a citar, o SGBD, diferentemente do sistema de arquivo, possibilita, de maneira
facilitadora, o compartilhamento dos dados para diversos sistemas e usurios;
tambm permite a integrao das vrias vises de dados de cada usurio em um
nico repositrio de dados; fornece tambm modelos capazes de incrementar
de maneira significativa a privacidade e segurana dos dados e por fim, auxilia
na reduo de eventuais inconsistncias dos dados.
Informaes de qualidade so, normalmente, oriundas de um processo de
manipulao e gerenciamento de dados bem sucedidos, que por sua vez, criam
subsdios para uma melhor tarefa de tomada de deciso empresarial. Essas
vantagens elucidadas acima, no que tange a utilizao de um SGBD no se li-
mitam a apenas esses fatores. No temos dvida que ao longo do processo de
aprendizagem, como tambm, de sua via profissional, voc ir se deparar com
diversas outras vantagens ao esmiuar os detalhes dos bancos de dados, sobre-
tudo, na escolha de um projeto adequado na aquisio do mesmo.
CONEXO
Leia sobre a relao: Dados-Informao-Conhecimento em: http://www.ime.usp.br/~vwset-
zer/dado-info-Folha.html
Este outro artigo trata sobre Inteligncia Competitiva das Organizaes, pautando-se na re-
lao que estudamos:
20 captulo 1
Os usurios dos SGBDs sejam eles, usurios finais, programadores e admi-
nistradores de banco de dados, em sua rotina diria, necessitam de extrair co-
nhecimento e pleno controle dos recursos disponveis para usufruir totalmente
de todos os seus benefcios, tais como, podemos evidenciar:
Maior velocidade em produzir acesso aos dados;
Solucionar problemas provenientes da ausncia de integridade e redun-
dncia de dados;
Simplicidade na criao e gerenciamento de bancos de dados;
Certificar-se se os dados esto disponveis para a distribuio fsica.
ATENO
Vimos que dado e informao no so sinnimos, e que a informao resultante de um
processamento aplicado no dado bruto, considerando um determinado contexto, ou seja, a
informao o dado atribudo a um determinado significado, assim temos:
Informao = (dado + significado).
captulo 1 21
1.6 Os Usurios de Banco de Dados
22 captulo 1
Usurios Avanados: so denominados de usurios avanados aqueles que
escrevem aplicaes voltadas a banco de dados especializados, ou seja,
aplicativos que normalmente no se acopla a estrutura de processamento
de dados convencional. Como exemplo desses aplicativos, podemos citar:
sistemas de base de conhecimentos, sistemas especialistas, sistemas que
armazenam e manipulam dados com tipos de dados considerados com-
plexos (som, vdeo e imagem) e sistemas de modelagem de ambiente.
Acredito que voc deve ter reparado que havamos comentado sobre quatro
tipos principais de usurios de banco de dados, e, correlacionamos acima apenas
trs tipos deles. No se preocupe, o ltimo usurio, intitulado de Administrador
de Banco de Dados merece uma nfase maior, se compararmos com os demais.
Um dos objetivos principais de utilizarmos um SGBD obtermos controle total
sobre os dados e os aplicativos que promovem o acesso aos mesmos. Um usurio
responsvel por promover esse controle sobre o SGBD chamado de administra-
dor de banco de dados (DBA). A seguir, apresentaremos suas principais atribuies:
Por meio do uso de um conjunto de instrues de definio de dados
(DDL), o DBA capaz de criar um esquema de banco de dados qualquer;
Estabelecer a estrutura de armazenamento, bem como definir mecanis-
mos de acesso aos dados;
Para melhorar o desempenho do banco de dados, o DBA poder reali-
zar mudanas no esquema e na organizao fsica, como tambm, para
atender eventuais necessidades especficas da empresa;
O administrador de banco de dados promove o controle de objetos ora
armazenados no banco de dados que os diversos usurios podem aces-
sar, concedendo distintos tipos de autorizao. Essas autorizaes, nor-
malmente so armazenadas e mantidas em uma estrutura especial a
qual o SGBD consulta sempre que algum usurio tenta acessar os dados;
Considerada como fundamentais, as atribuies de manuteno do banco
de dados, desempenhada pelo DBA so cruciais para promover a continui-
dade do sistema de banco de dados, a citar: realizao de cpias de seguran-
a (backups) periodicamente, independentemente dos dispositivos de ar-
mazenamento, ou at mesmo em servidores secundrios, a fim de prevenir
perda de dados em caso de anomalias, catstrofes, etc. Certificar a existn-
cia de espao suficiente em disco para desempenhar operaes convencio-
nais e, caso seja necessrio, incrementar o espao em disco. Para finalizar,
o DBA tambm dever monitorar tarefas processadas no banco de dados e
captulo 1 23
garantir que o desempenho no seja afetado por outras tarefas sobrecarre-
gadas emitidas por alguns usurios.
24 captulo 1
Logo abaixo, podemos resumir algumas das arquiteturas triviais dos SGBDs:
Centralizada: essa arquitetura tem como caracterstica a existncia de
um computador com expressivo poder de processamento, que lhe pro-
porciona a centralizao dos processos do SGBD, como tambm, permite
funcionar como emulador para n aplicativos. Sua principal vantagem
possibilitar que diversos usurios manipulem significativas quantida-
des de dados e, como sua principal desvantagem, podemos citar, seu alto
custo de aquisio, sobretudo por exigir cenrio especial para mainfra-
mes e solues centralizadas;
Computador Pessoal (PC): essa outra arquitetura permite que computa-
dores pessoais trabalhem em sistema stand-alone, isso significa que, es-
ses PCs realizam seus prprios processamentos de maneira autnoma.
Bem no incio a adoo dessa arquitetura, o processamento era consi-
derado limitado, entretanto, com o transcorrer do tempo, paralelamen-
te com a evoluo substancial do hardware, atualmente possumos PCs
com larga escala de processamento. Como vantagem dessa arquitetura,
podemos considerar sua simplicidade;
Cliente-Servidor: j nessa arquitetura, o cliente intitulado de (front-end),
esse responsvel por executar tarefas do aplicativo, fornecendo uma inter-
face para usurio, seja por meio de telas ou processamento de entrada e
sada. O servidor por sua vez, assume o papel de (back-end), por simples-
mente executar as consultas no SGBD e devolve-las como resultado ao
cliente. Essa arquitetura muito popular, se compararmos com as de-
mais, vista at o presente momento. Um dos pontos fortes dessa arquite-
tura a segmentao do processamento por meio do uso de dois sistemas,
reduzindo consideravelmente o trfego de dados na rede de comunicao.
captulo 1 25
A resposta correta sim! As empresas so subsidiadas pelos seus dados e
no processamento dos mesmos. No tenha dvida que o gerenciamento e tra-
tamento correto desses dados iro permitir relevantes tomadas de decises.
Nesse contexto, a informao gerada pelos dados possui um valor imensurvel
e, basicamente, todo esse cenrio computacional gerenciado pelo SGBD, des-
sa forma, tambm correto dizermos que o SGBD o corao para a grande
maioria das empresas. Para melhor abstrairmos todo esse conceito, podemos
visualizar por meio da Figura 1.3, como efetivamente o SGBD funciona:
Figura 1.3 Sistema de Gerenciamento de Banco de Dados. Extrado de: Rob, 2005 p. 8
Podemos visualizar na Figura 1.3 acima que o SGBD o eixo central que promo-
ve acessos dos diversos tipos de usurios e ou aplicativos computacionais aos da-
dos. Isso o SGBD recebe diversas solicitaes dos aplicativos e converte em opera-
es mais elaboradas para o acesso aos dados. Assim, a complexidade de acesso as
fontes nativas dos dados so encapsuladas pelo prprio SGBD, reduzindo esforos
no que se refere a implementao dessas funcionalidades na aplicao do cliente.
totalmente indicada a adoo do uso de um SGBD em qualquer cenrio
empresarial que necessita de manipular dados de maneira correta e em sua to-
talidade. A seguir apresentaremos as principais vantagens do uso de um SGBD:
Compartilhamento de Dados: o SGBD fornece mecanismos os quais per-
mitem que os usurios finais consigam acessar os dados facilmente, mes-
mo lidando com um grande volume de dados;
26 captulo 1
Segurana de Dados: em um cenrio que possui uma quantidade expressiva
de usurios que acessam os dados, os riscos do quesito segurana tambm
so aumentados. Com a adoo dos SGBDs torna-se factvel criar um mode-
lo para melhor determinar as polticas de segurana empresarial, promo-
vendo a segurana a nvel de usurio, refletindo em uma maior privacidade
no acesso aos dados. Diversas regras de segurana podem ser elaboradas de-
terminando assim quais usurios podem ou no acessar o banco de dados
e, ainda determinar, quais objetos os mesmos podero acessar;
Centralizao dos Dados: um beneficio importante refere-se a centrali-
zao dos dados, sobretudo por permitir que todos os dados possam ser
integrados a um nico repositrio, minimizando dessa forma as redun-
dncias dos dados;
Flexibilidade: eventualmente, alteraes aplicadas ao banco de dados
so necessrias para contemplar os novos requisitos organizacionais.
Como exemplo, podemos citar que um determinado usurio carece de
uma viso de dados ora no disponvel no banco de dados. Grande parte
dos SGBDs possibilitam que mudanas estruturais possam ser aplicadas
no banco de dados sem ao menos interferir nos aplicativos computacio-
nais existentes;
Compartilhamento de Dados: a maioria dos SGBDs so multiusurio e
precisam promover o controle adequado da concorrncia para garantir
que a transaes simultneas obtenham xito ao seu final;
Mltiplas Interfaces: mediante a existncia de diversos tipos de usu-
rios, os quais possuem distintos nveis de conhecimento tcnico, um
SGBD precisa prover um leque de interfaces para melhor atende-los. A ci-
tar, interfaces para consultas emitidas por eventuais usurios, interfaces
para desenvolvedores de aplicativos, interfaces baseadas em formulrios
destinadas aos usurios finais;
Gerenciamento e Armazenamento de Dados: o SGBD constitui e adminis-
tra as estruturas consideradas complexas utilizadas no armazenamento
de dados, permitindo que o usurio d nfase em suas verdadeiras ne-
cessidades empresariais, evitando assim que o mesmo perda o foco em
procedimentos complexos de armazenamento de dados em baixo nvel;
Gerenciamento de Transaes: uma transao se resume como sendo
um conjunto lgico de trabalho. Toda e qualquer transao possui incio
(BEGIN) e fim (COMMIT e ou ROLLBACK). Dentro desse contexto, todos
captulo 1 27
os registros relacionados a uma determinada transao so inseridos, al-
terados ou removidos ou nada registrado (tudo ou nada), garantindo a
consistncia e integridade dos dados, ora promovido pelo SGBD.
ATENO
Um sistema de banco de dados uma coleo de dados inter-relacionados e um conjunto de pro-
gramas que permitem aos usurios acessar e modificar esses dados (Silberschatz, et al., 2006).
ATIVIDADE
1. Cite pelo menos trs exemplos de Dados e Informaes, num contexto de empresarial
qualquer. Detalhe cada um.
REFLEXO
Atualmente a demanda por informaes, independentemente do segmento organizacional uma
constante expressiva. Para voc ter ideia, no Facebook, diariamente so publicadas 250.000.000
de fotos, 2.000.000.000 de comentrios ou curtio de posts, 900.000.000 atraes como
comunidades e eventos, 800.000.000 de usurios (s no Brasil, 28.000.000). Vimos que as or-
ganizaes empresarias manipulam diariamente um imenso volume de dados cujo propsito
torna-los em algum tipo de informao relevante para o suporte a tomada de deciso.
28 captulo 1
No se esquea de que nunca poderemos considerar que dado e informao so sinnimos.
Estudamos que anteriormente da existncia dos bancos de dados os dados empresariais
os mesmos eram manipulados por sistemas de arquivos, de forma manual. notrio que os
sistemas de arquivos sobreviveram por um grande espao de tempo, onde, muitos problemas
foram identificados.
Na sequncia, estudamos como os sistemas de arquivos e os sistemas de gerenciamento de
banco de dados funcionam, detalhando suas principais caractersticas e benefcios.
Por fim, aprendemos acerca dos principais tipos de usurios (leigos, desenvolvedores, avan-
ados, especialistas e DBAs), que de alguma maneira, utilizam os recursos de um SGBD.
LEITURA
Artigos on-line: para voc aumentar anda mais o seu nvel de aprendizagem envolvendo os
conceitos de Dados e Informao e demais assuntos desta unidade, consulte as sugestes de
links abaixo:
http://www.ime.usp.br/~vwsetzer/dado-info.html
http://gestorescomvisao.blogspot.com.br/2008/11/dado-x-informao.html
REFERNCIAS BIBLIOGRFICAS
ELMASRI, R.; NAVATHE, S.B. Sistemas de bancos de dados. So Paulo: Pearson (Addison
Wesley), 2005.
HEUSER, C. A. Projeto de Bancos de Dados. 2. ed. Porto Alegre: Sagra Luzzatto, 1999.
captulo 1 29
SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. 5. ed. Rio
de Janeiro: Elsevier, 2006.
DATE, C. J.; Introduo a Sistemas de Banco de Dados; 8. Ed.; Trad. Daniel Vieira; Rio de
Janeiro: Elsevier, 2003.
HEUSER, Carlos Alberto. Projeto de Banco de Dados. 4 ed. Instituto de Informtica da UFR-
GS, Sagra DC Luzzatto, 1998.
TEOREY, T.; LIGHTSTONE, S.; NADEAU, T.; JAGADISH, H. V.; Database Modeling and De-
sign Logical Design. 5 ed., Burlington USA: Elsevier, 2011.
NO PRXIMO CAPTULO
No prximo captulo, estudaremos sobre Projeto de Banco de Dados. Ser apresentado os
principais detalhes existente por trs de um projeto de banco de dados bem estruturado,
sobretudo, suas principais fases inerentes a modelagem de dados.
30 captulo 1
2
Projeto de Banco de
Dados
2 Projeto de Banco de Dados
No captulo 1, aprendemos os conceitos de dados e informaes, e como so
importantes e valiosos para as empresas. Aprendemos que a informao con-
siderada o principal ativo das empresas, auxiliando na tomada de deciso e,
consequentemente, se tornando um fator de competitividade empresarial.
Aps abstrairmos a relevncia das informaes no cotidiano empresarial, es-
tudaremos sobre o Projeto de Banco de Dados, que prov mecanismos eficazes
para elaborao e criao de banco de dados organizacionais, permitindo a ma-
nipulao correta de dados.
Atualmente, a grande maioria das organizaes, independentemente do seu
porte (pequeno, mdio e grande), impreterivelmente, utilizam SGBDs para ge-
renciarem suas informaes empresariais de maneira segura, ntegra e, ao mes-
mo tempo, disponibiliza-las para consultas a qualquer momento. Bem, voc
deve estar se perguntando, afinal, qual a importncia real de um Projeto de
Banco de Dados? Quais so suas principais fases? Como projetar um banco de
dados conciso e bem estruturado? No tenha dvida, que nessa unidade voc
conhecer as respostas desses questionamentos. Ento, vamos aos estudos!
OBJETIVOS
Este captulo tem como objetivo expor as principais fases de um projeto de banco de dados.
Estudaremos, de maneira objetiva, os modelos externo, conceitual e externo. Conheceremos
os principais modelos de dados. extremamente importante que exploremos profundamente
o modelo relacional, apresentando suas principais caractersticas e vantagens, se comparar-
mos com os demais modelos de dados presente e disponveis para utilizao.
Prepare-se, pois voc ter um trabalho ardo pela frente, ento dica , dedique-se bastante
a este captulo!
REFLEXO
Voc se lembra de nossa discusso no captulo 1 sobre o conceito de dado e informao?
Se, eventualmente, algum perguntar a diferena entre dado e informao, qual ser a
sua resposta?
32 captulo 2
2.1 Projeto de banco de dados
ATENO
*Um banco de dados pode ser considerado como uma coleo de dados persistentes, onde
esses mesmos dados so manipulados por sua vez por aplicaes empresariais (DATE, 2003).
ATENO
O American National Standards Institute (ANSI) por meio do Standards Planning and Requi-
rements Commitee (SPARC) estabeleceu um padro para o desenvolvimento de tecnologias
de banco de dados, definindo uma arquitetura de 3 nveis independentes, a citar: interno,
conceitual e externo. (Rob, 2005).
captulo 2 33
Viso do usurio final Viso do usurio final
Modelo
Viso do projetista
conceitual
Independncia
lgica
Viso do SGBD Independncia
lgica
Independncia
fsica
Modelo
fsico
Voc pode perceber que a viso do usurio final, isso , do modelo externo,
constitui por sua vez, o modelo conceitual, ou seja, o modelo de dados em que
a grande maioria dos projetistas de dados se baseia para a elaborao de qual-
quer projeto de banco de dados, independentemente de sua complexidade.
importante mencionar que o nvel de abstrao (modelo externo/concei-
tual) independente de hardware e software (SGBD). Entretanto, o prximo n-
vel, o modelo lgico, ao contrario do modelo conceitual, depende do software
(SGBD), todavia, tambm no considera o hardware. Para finalizar, nosso l-
timo modelo, esse intitulado de modelo interno (modelo fsico), depende de
maneira exclusiva do software (SGBD) e hardware.
34 captulo 2
pulao dos dados, obtendo como resultado final a produo de informaes
relevantes para o ambiente empresarial.
Acredito que seja evidente para voc que, a maioria das empresas segmen-
tada em diversos departamentos, como por exemplo: departamento de recursos
humanos, financeiro, vendas, etc. Onde cada departamento dever atender cer-
tas restries e requisitos especficos. Dessa maneira, cada usurio final que de-
sempenha suas atividades nesses diversos departamentos possui uma viso de
apenas um subconjunto de dados, especficos do seu departamento, desprezan-
do os detalhes dos outros departamentos.
(1,1) (0,N)
Aluno Faz Matrcula
(0,50)
feita em
(1,1)
(1,3) (0,N) (0,N) (1,1)
Professor Ensina Turma Gera Disciplina
(1,N) (0,N)
(0,N)
utilizada por
(1,N)
Sala
Pode ministrar
Por meio da Figura 2.2 acima, a qual podemos visualizar o modelo exter-
no pertinente ao controle acadmico de uma universidade fictcia, factvel
abstrairmos o modelo externo citado como exemplo, ser o responsvel em
promover o armazenamento dos dados dos alunos, matrculas, professores,
disciplinas e turmas. Voc pode observar tambm que as vises das diversas
funcionalidades do sistema so, por sua vez, segmentadas entre si, e, cada viso
pode tambm compartilhar um conjunto de dados com a outra (dados dos alu-
nos e cursos sendo compartilhados com a entidade disciplina).
captulo 2 35
CONEXO
Leia um pouco mais sobre a histria e evoluo dos SGBDs e da SQL:
http://pcleon.if.ufrgs.br/~leon/Livro_3_ed/node116.html
http://algol.dcc.ufla.br/~heitor/Artigos/Artigo_008.html
Voc pode ainda observar, por meio da Figura 2.2, que as entidades e seus res-
pectivos relacionamentos nos aapresentam alguns detalhes mencionados a seguir:
Cada disciplina possui, obrigatoriamente, um professor vinculado, e,
por sua vez, um professor pode ministrar vrias disciplinas, at mesmo,
nenhuma;
Voc pode perceber ainda que, apesar dos professores ministrarem v-
rias disciplinas ou nenhuma em uma universidade, dessa forma, o mo-
delo apresenta o uso do que chamamos de cardinalidade mnima entre
PROFESSOR e DISCIPLINA como sendo 0 (zero). Sendo assim, admiti-
mos que pode existir disciplinas sem professores vinculados;
Um aluno pode ou no realizar matrculas, essas vinculadas as turmas,
que por sua vez, dever estar associada a pelo menos 1 disciplina;
Um professor pode ministrar aula para vrias turmas, inclusive nenhu-
ma. De outro lado, uma turma pode possuir no mnimo 1 professor ou
no mximo 3 (trs);
Para finalizar, ainda temos a que uma turma utiliza no mnimo 1 sala de
aula, que, em contrapartida, pode ser utilizada por vrias turmas, inclu-
sive nenhuma.
36 captulo 2
O modelo ER (entidade-relacionamento) considerado um modelo concei-
tual mais empregado pelos projetistas de bancos de dados. Voc no poder se
esquecer de que, o modelo ER representado graficamente por meio do uso
do diagrama de entidade-relacionamento (DER), que por sua vez, representa o
esquema de banco de dados.
O modelo conceitual inclui diversas vantagens, entretanto, algumas delas
devem ser destacadas:
Possibilita uma visualizao global simples do cenrio cujo banco de da-
dos ser implementado;
um modelo independente da tecnologia do SGBD, ora utilizado para a
implementao fsica;
No podemos deixar de destacar que esse modelo tambm no depende
do hardware do servidor de banco de dados, sendo assim, as alteraes
oriundas do hardware e software no afetar o modelo conceitual.
CONEXO
Recomendamos a leitura deste artigo, para melhor compreenso do Projeto de Banco de Dados:
www.dpi.ufv.br/~jugurta/papers/tesejug.pdf
captulo 2 37
liberada
(0,n)
Departamentos Responsvel Disciplina
(1,1) (0,n) Pr_Requis
(0,n) (0,n)
create table departamentos
id_departamento interger, liberadadora
nome varchar(40),
create table disciplina
PRIMARY KEY(id_departamento)); Disc_Curso id_disciplina interger,
nome varchar(40),
pr_requisito interger,
(0,n) id_departamento interger,
(0,n) (1,1) PRIMARY KEY(id_disciplina),
Aluno Inscrio Curso FOREIGN KEY(pr_requisito)
REFERENCES disciplina,
FOREIGN KEY(id_departamento)
REFERENCES departamentos);
Apenas para enfatizar novamente, voc j deve ter percebido que o mode-
lo interno est ligado diretamente com a tecnologia do SGBD a ser utilizado,
ou seja, existe uma dependncia em nvel de software, por exemplo, qualquer
alterao, por mais sucinta que ela seja, realizada no SGBD demandar que o
modelo interno tambm reflita algum tipo de alterao para que seja possvel
contemplar certos requisitos/restries. Eventualmente, chegamos ao ponto
de alterarmos o modelo interno sem resvalar no modelo conceitual, caracteri-
zando o que chamamos de independncia lgica.
Esse modelo conhecido por trabalhar com o nvel mais baixo de abstrao,
apresentando de maneira detalhada como os dados so efetivamente gravados
em um dispositivo de armazenamento qualquer (disco rgido, fitas magnticas,
etc.). O modelo fsico depende exclusivamente do SGBD (software) e do hardwa-
re, sobretudo por precisar conhecer previamente os dispositivos fsicos que se-
ro utilizados para o armazenamento dos dados, principalmente, os mtodos
que provero acesso aos mesmos.
38 captulo 2
ATENO
Tuning SQL (otimizao de consulta) um processo de selecionar o plano de avaliao de
consulta mais eficiente dentre as muitas estratgias normalmente possveis para o proces-
samento de determinada consulta (Silberschatz, A. et al, 2006).
O modelo de dados pode ser conceituado como sendo uma representao sim-
ples que, normalmente, simboliza graficamente as estruturas dos dados. Pode-
mos dizer que o modelo de dados uma abstrao de um ambiente real, cujo
objetivo subsidiar o compreendimento adequado dos requisitos, sejam esses
simples ou complexos, inclusos em cenrios empresariais.
O projetista de dados dever utilizar o bom senso para que seja possvel a
obteno de modelos de dados bem estruturados e aceitveis. O processo re-
lacionado elaborao de um modelo de dados no uma tarefa considerada
nada fcil, e, certamente uma verso satisfatrio do modelo de dados ser atin-
gida, posteriormente diversas correes e adaptaes.
Para exemplificar, e garantir seu entendimento pleno acerca do conceito do
modelo de dados, utilizaremos a turma da disciplina de Modelagem de Dados,
a qual dever ser divida em trs grupos distintos, onde cada grupo se responsa-
bilizar em elaborar um modelo de dados para contemplar as necessidades de
armazenamento de dados de uma locadora de automveis (regra de negcio).
Voc poder perceber que cada grupo apresentar uma verso de modelo de
dados, cujo o propsito basicamente o mesmo, ou seja, atender os requisitos
fundamentais da regra de negcio de uma locadora de automveis. Agora, qual
modelo realmente estar correto? Voc pode concluir que no existe uma res-
captulo 2 39
posta nica e exclusiva para esse questionamento. O mais adequado seria res-
ponder que: o melhor modelo de dados aquele que atende em sua plenitude
todos os requisitos da regra de negcio e, certamente, podemos chegar a mais
de uma alternativa considerada correta.
Sumarizando, podemos dizer que os modelos de dados servem como ferramen-
tas de comunicao, fomentando uma abstrao global de como os dados sero es-
truturados e armazenados no novo banco de dados a ser confeccionado.
Analogamente, imagine a abstrao de uma planta baixa de uma residn-
cia qualquer. Voc deve concordar que no conseguirmos morar na planta, ok!
Sendo assim, um modelo de dados tambm pode ser considerado como uma
abstrao, isto , no possvel realizar qualquer tipo de manipulao de infor-
mao a partir de um modelo de dados. Resumidamente, no podemos levan-
tar uma residncia bem estruturada e confivel abdicando-se do uso de uma
planta baixa, isso poder ser aplicado para o banco de dados sem nenhuma res-
trio, sobretudo por ser imprescindvel para a criao de qualquer banco de
dados a realizao prvia de um modelo de dados.
Os modelos de dados so constitudos pelo emprego de entidades, atribu-
tos, relacionamentos e eventuais restries de domnio ou referencial. Se voc
estiver confuso, principalmente por ainda no termos elucidado os conceitos
acerca de entidade, atributo e relacionamento, no se preocupe, detalharemos
na sequncia o significado de cada conceito.
Consideramos como entidade, algo que desejamos armazenar no banco de
dados, a citar: um carro, uma pessoa, etc., que por sua vez, representa um deter-
minado tipo de objeto abstrado do mundo real (mini-mundo). Dessa maneira,
conclusse que cada ocorrncia dessa mesma entidade considerada nica e
exclusiva. Como exemplo, podemos tomar como base a criao de uma enti-
dade, ora intitulada de FUNCIONARIO. Certamente teramos n ocorrncias
de funcionrios nicos, como exemplo tomamos os seguintes nomes de fun-
cionrios: Geraldo Alckmin, Acio Neves, Dilma Rousseff, etc. As entidades po-
dem constituir objetos fsicos reais (funcionrios, clientes, alunos, professores,
etc.), como tambm uma forma de abstrao, a citar como exemplo, os horrios
de uma determinada ponte-area Rio de Janeiro-So Paulo ou uma exibio de
uma filme especfico no cinema.
Por outro lado, um atributo conceituado como uma caracterstica particular
de uma entidade, ou at mesmo de um relacionamento especfico. Isso mesmo!
Podemos associar um atributo a um relacionamento, no apenas vincula-lo em
uma entidade. Para exemplificar o uso de um atributo, suponha que caracteriza-
40 captulo 2
mos a entidade FUNCIONARIO com os seguintes atributos: nmero do funcio-
nrio, nome, sobrenome, endereo e salrio.
Um relacionamento tem como propsito descrever um vnculo (associao)
entre uma ou vrias entidades. Podemos tomar como exemplo a existncia de
um relacionamento que por sua vez, associa/vincula as entidades FUNCIONA-
RIO e CLIENTE que pode ser interpretada da seguinte maneira: um funcionrio
pode atender n clientes, todavia, cada cliente pode ser atendido por somente
um funcionrio. A fim de representar adequadamente esses vnculos, o modelo
de dados faz uso de trs tipos bsicos de relacionamento (o que tambm cha-
mamos de cardinalidade): um para muitos (1:M ou 1..*), muitos para muitos
(M:N ou *..*) e um para um (1:1 ou 1..1).
Ao mencionarmos restrio aplicada ao modelo de dados, podemos enten-
der como sendo uma limitao imposta aos dados. Para aplicar a integridade
de dados, torna-se crucial a utilizao de restries. O uso de restries em um
modelo de dados considerado de suma importncia. Para exemplificar o uso
de restries aplicada em um domnio qualquer, considere os detalhes a seguir:
Um funcionrio dever possuir um salrio entre o intervalo de R$ 780,00
e R$ 7.500,00;
Um funcionrio dever possuir como mdia de venda, um valor superior
a 30% de seu salrio atual;
Cada exemplar em uma biblioteca dever possuir no mnimo 5 livros
para realizao de emprstimos.
captulo 2 41
Agora que j desmitificamos o conceito de regra de negcio, podemos apre-
sentar os diversos modelos de dados, ora constitudos para promover o melhor
gerenciamento dos dados, que tiveram como objetivo solucionar eventuais falhas
provenientes dos antigos sistemas de arquivos. Constitumos uma tabela, essa in-
titulada de Tabela 2.1, a fim de demonstrar resumidamente os modelos de dados
mais habituais, considerando a evoluo do tempo:
Usado na manipulao
Orientado a
1980 PostgreSQL, de dados considerados
objetos
at o Versant, Cach, complexos.
Relacional
presente FastObjects.Net Disseminao de banco
estendido
de dados na web
Objectivity/DB,
DB/2 UDB, Permite a manipulao e
Do pre- dbXML, Tamino, gerenciamento de dados
sente ao XML DB2 UDB, semiestruturados.
futuro Oracle 10g, MS Suporte a documentos
SQL Server, no formato XML
PostgreSQL
42 captulo 2
2.6.1 modelo hierrquico
VOO
voo_cod voo_data voo_hora
ESCALA BILHETE
voo_cod cid_cod esc_horacheg esc_horasaid esc_estatus bil_cod voo_cod cli_cod bil_valor
RESERVA
res_cod voo_cod res_ticket res_data res_cliente
CIDADE CLIENTE
cid_cod cid_nome cid_estado cli_cod cli_nome cli_cpf
captulo 2 43
parao ao armazenamento de dados por meio do uso de sistema de arquivo,
esse modelo apresentava limitaes relevantes, as quais, podemos mencionar
como principais a ausncia de independncia estrutural, dificuldade em geren-
ciar e manipular os registros, e, a maioria dos relacionamentos de dados no
conseguiam se adaptar cardinalidade (multiplicidade) 1:M.
BILHETE ESCALA
bil_cod voo_cod cli_cod bil_valor voo_cod cid_cod esc_horacheg esc_horasaid esc_estatus
RESERVA
res_cod voo_cod res_ticket res_data res_cliente
44 captulo 2
macia de linhas de cdigo-fonte para fornecer um simples relatrio era
considerada uma das grandes desvantagens desse modelo de dados. A fal-
ta de independncia de dados tambm era considerada um de seus pontos
negativos, pois, caso fosse necessrio realizar qualquer tipo de modificao
que atingisse a estrutura dos dados, por mais sucinta que fosse correramos
o risco de destruir os aplicativos que utilizassem o banco de dados para a
manipulao dos dados.
Devido essas inmeras desvantagens correlacionadas anteriormente, ora
apresentadas pelo modelo hierrquico e em rede, por volta da dcada de 80,
surgiu o modelo de dados, esse intitulado de modelo relacional, que acabou
por substitui-los.
captulo 2 45
Tabela: Funcionrio
ID_ SOBRE-
NOME SEXO CPF RG
FUNC NOME
Tabela: Cliente
SOBRE- ID_
ID_CLI NOME SEXO CPF RG
NOME FUNC
46 captulo 2
mesmo que os dados dos clientes estejam armazenados em uma relao e, os
dados dos funcionrios, por sua vez, armazenados em outra, possvel traba-
lharmos com essa integridade referencial.
O exemplo exposto acima suficiente para o seu aprendizado no que se refe-
re ao modelo relacional? Ainda lhe resta dvida? Bem, vamos estudar um pou-
co mais! Podemos vincular os clientes Geraldo Alckmin, Marina Silva e Dbora
Santos com seu respectivo vendedor, o funcionrio chamado Wagner Moura,
esse identificado exclusivamente pelo nmero 112. Voc pode identificar ainda
que, na tabela CLIENTE, o atributo rotulado de ID_FUNC por sua vez uma
chave estrangeira, a qual associa os clientes com seus respectivos vendedores.
Dessa forma, conclusse que o modelo relacional, na trajetria da evoluo dos
modelos de dados, foi considerado imprescindvel, principalmente por incorporar
a linguagem SQL (Structured Query Language), que por si s nos proporciona total
transparncia na manipulao de dados e confeco de relatrios gerenciais.
ATIVIDADE
4. Descreva detalhadamente o conceito de Entidade e Relacionamento. Cite pelo menos trs
exemplos onde podemos utilizar ambos.
captulo 2 47
REFLEXO
Finalizamos mais um captulo!
Neste captulo aprendemos sobre as fases que constituem o projeto de banco de dados.
Aprendemos que o modelo externo considera o cenrio de dados utilizado pelos usurios finais.
Estudamos tambm sobre o modelo conceitual, um dos modelos de dados mais utilizado
pelos projetistas de banco de dados (ou DBAs), na elaborao de esquema de banco de
dados, o qual representado graficamente por meio do uso do diagrama de entidade-rela-
cionamento (DER).
Verificamos tambm que o modelo relacional baseasse no conceito matemtico relao
considerando uma tabela (relao) como sendo uma matriz bidimensional constituda por
linhas e colunas.
LEITURA
Artigos on-line: para voc incrementar mais o seu nvel de aprendizagem relativo ao Projeto
de Banco de Dados:
http://juliobattisti.com.br/artigos/office/modelorelacional_p5.asp
http://www.dicasdeprogramacao.com.br/como-criar-um-projeto-de-banco-de-dados/
http://www.devmedia.com.br/dbdesigner-modelagem-e-implementacao-de-banco-de-
dados/30897
Livro: Introduo a Sistemas de Banco de Dados; 8. Ed., DATE, C. J, voc encontrar mais
conceitos acerca de SGBDs, sua utilizao e vantagens. Estude mais sobre a arquitetura dos
SGBDs, este livro faz uma abordagem bastante densa e completa do assunto. Aprofunde
seus conhecimentos!
REFERNCIAS BIBLIOGRFICAS
ELMASRI, R.; NAVATHE, S.B. Sistemas de bancos de dados. So Paulo: Pearson (Addison
Wesley), 2005.
48 captulo 2
HEUSER, C. A. Projeto de Bancos de Dados. 2. ed. Porto Alegre: Sagra Luzzatto, 1999.
SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. 5. ed. Rio
de Janeiro: Elsevier, 2006.
DATE, C. J.; Introduo a Sistemas de Banco de Dados; 8. Ed.; Trad. Daniel Vieira; Rio de
Janeiro: Elsevier, 2003.
HEUSER, Carlos Alberto. Projeto de Banco de Dados. 4 ed. Instituto de Informtica da UFR-
GS, Sagra DC Luzzatto, 1998.
TEOREY, T.; LIGHTSTONE, S.; NADEAU, T.; JAGADISH, H. V.; Database Modeling and De-
sign Logical Design. 5 ed., Burlington USA: Elsevier, 2011.
NO PRXIMO CAPTULO
No prximo captulo, estudaremos com detalhes o modelo entidade-relacionamento. Estuda-
remos a importncia de constituirmos um modelo conceitual bem estruturado. Para elaborar
um bom projeto de banco de dados, devemos aprender as caractersticas relevantes do Mo-
delo Entidade-Relacionamento.
captulo 2 49
3
Modelo Entidade
-Relacionamento
3 Modelo Entidade-Relacionamento
No captulo anterior, estudamos acerca dos conceitos pertinentes ao projeto de
banco de dados, discorrendo sobre seus principais nveis de abstrao (modelo ex-
terno, conceitual e interno). Aprendemos o que efetivamente realizado no mode-
lo fsico e quais so os modelos de dados mais habituais (modelo hierrquico, em
rede e relacional).
Espero que voc esteja alinhado com todos esses conceitos apresentados at o pre-
sente momento, caso esteja com alguma dvida, sugerimos que voc realize uma
reviso das unidades anteriores!
Nesse captulo, estudaremos conceitos triviais para que possamos elaborar um
banco de dados utilizando-se o modelo entidade-relacionamento.
Antes de introduzirmos os novos conceitos referentes ao modelo entidade-rela-
cionamento torna-se importante e de grande relevncia aprendermos adequa-
damente sobre as fases constituintes de um projeto de banco de dados, sobre-
tudo, o que e, para que utilizamos um modelo de banco de dados.
Voc est pronto?! Vamos dar incio aos nossos objetos de aprendizagem suge-
ridos neste captulo 3?
OBJETIVOS
Este captulo tem como objetivo aprofundar os conceitos pertinentes as principais caracters-
ticas do Modelo Conceitual; apresentar o Modelo Entidade-Relacionamento, evidenciando as
entidades, relacionamentos, cardinalidade, atributos, dentre outros conceitos; entender como o
Modelo de Entidade-Relacionamento representado graficamente pelo emprego de um Dia-
grama Entidade-Relacionamento. Compreender como identificar corretamente o grau de um
determinado relacionamento seja esse relacionamento unrio, binrio, ternrio e ou nrio.
REFLEXO
Voc se lembra dos conceitos estudados na Unidade 2, onde discutimos sobre o Projeto de
Banco de Dados e os principais modelos de dados, e os principais tipos de relacionamentos?
Voc seria capaz de definir as principais caractersticas de um modelo interno de dados?
Voc se encontra confortvel em distinguir adequadamente os conceitos acerca dos Mode-
los de Dados: Hierrquico, em Rede e Relacional?
52 captulo 3
3.1 Modelo Entidade-Relacionamento
ATENO
O processo de modelagem de dados pode ser considerado como sendo um processo que
emprega diversas etapas, normalmente iterativo e progressivo. D incio atravs de uma abs-
trao simples de um determinado problema, o qual desejamos solucionar, e conforme o nvel
de abstrao do problema incrementado, o nvel de detalhes que a modelagem compreen-
de tambm aumenta (Heuser, 2004).
captulo 3 53
Voc imagina qual seria o tipo de problema que a modelagem de dados se
prope a solucionar?
Para exemplificar, imagine a necessidade de realizar a categorizao de um
conjunto de produtos. Dizemos que processo de categorizar esse conjunto de
produtos seja o nosso problema! Para que posamos promover uma modelagem
de dados coerente e concisa, devemos realizar criteriosamente o levantamento
de todos os detalhes e, eventuais relaes que isto implicaria dentro de uma
regra de negcio especfica.
ATENO
Um esquema de banco de dados nada mais do que uma representao de um modelo de dados
por meio do uso de um conceito de modelagem de dados (DATE, 2003).
54 captulo 3
Um modelo de dados tem como principal caracterstica ser simples no que
se refere ao entendimento de como os dados sero organizados e manipulados
em um banco de dados, mesmo para aqueles usurios desprovidos de conheci-
mentos computacionais especficos.
Ao iniciarmos a elaborao de um projeto de banco de dados, aconselhvel
que tenhamos pelo menos dois nveis de abstrao, esses, respectivamente, nome-
ados de modelo conceitual (projeto conceitual) e modelo lgico (projeto lgico).
(1,n) (1,n)
Mdico atende Paciente
CRM Cdigo
Nome Nome
Especialidade Sobrenome
captulo 3 55
vez, para cada paciente, sero armazenados seu cdigo identificador, nome e
sobrenome. Ainda podemos identificar a existncia de uma associao (rela-
cionamento) ora aplicada para descrever os atendimentos mdicos.
CONEXO
Leia mais sobre modelo de dados:
http://www.linhadecodigo.com.br/artigo/332/planeje-o-seu-modelo-de-dados.aspx
56 captulo 3
Finalizando o projeto de banco de dados, a terceira fase trata do projeto f-
sico. Esse tem como objetivo definir corretamente as estruturas de armazena-
mento interno, como podemos mencionar, as tabelas, os ndices, dentre outros
objetos, ainda sim, definir outras atividades associadas paralelamente, ao de-
senvolvimento de aplicativos computacionais.
3.2.1 Entidade
captulo 3 57
como sendo uma entidade, pelo simples fato de permitir identificar exclusiva-
mente um determinado funcionrio em comparao com os demais. Destaca-
se ainda que uma entidade possa assumir duas caractersticas, isso ser con-
creta (uma pessoa funcionrio) e ou abstrata (uma instituio acadmica).
Dessa maneira, voc pode perceber que um conjunto de entidades por sua vez,
forma um agrupamento de entidade de um mesmo tipo. Esses conceitos lhe dei-
xaram confuso? No se preocupe, tentaremos explica-los para a sua melhor apren-
dizagem. Suponha um conjunto de funcionrios de uma empresa qualquer, por
exemplo, a Oracle, sendo assim, permitido definirmos esse conjunto de funcion-
rios como um conjunto de entidades, essas intituladas de FUNCIONARIO.
A Figura 3.2 a seguir, representamos graficamente suas entidades por meio
do uso de um diagrama entidade-relacionamento (DER):
Funcionrio Empresa
CONEXO
Leia mais sobre Diagrama Entidade-Relacionamento (DER):
http://imasters.com.br/artigo/8568/banco-de-dados/documentacao-de-projetos-web-der/
58 captulo 3
Eventualmente, em casos pontuais, uma entidade fraca pode vir a ser subs-
tituda pelo uso de atributos multivalorados.
Na Figura 3.3, voc poder visualizar um exemplo de entidade caracterizada
como fraca. A entidade identificada como DEPENDENTE a nossa entidade
fraca, sobretudo por depender da existncia de um FUNCIONARIO. Repare que
at a representao grfica torna-se distinta (retngulo com linhas duplas e ou
linha responsvel pela conexo com o relacionamento possui mais espes-
sa), a fim de destacarmos a entidade fraca em um DER:
(1,n) (1,1)
Funcionrio possui Dependente
Cdigo Nome
Nome Sexo
Sobrenome Data_Nascimento
3.2.2 Relacionamento
ATENO
Uma entidade pode ser considerada como sendo um objeto do mundo real ora podendo ser iden-
tificado de maneira unvoca. Esse objeto pode ser um elemento concreto, um evento, um ser, uma
especializao, uma funcionalidade ou qualquer outro elemento, tangvel ou no, do ambiente a
ser analisado (CASTRO, E. B. 2012).
captulo 3 59
No diagrama entidade-relacionamento, um relacionamento representa-
do graficamente atravs do uso de um losango, ora conectado por meio de li-
nhas as entidades (retngulos). A Figura 3.4 a seguir nos permite visualizar um
exemplo de relacionamento, ora identificado de trabalha, representando o
vinculo existente entre as entidades FUNCIONARIO e EMPRESA.
gerente
Funcionrio gerencia
gerenciado
60 captulo 3
O uso de papel em uma entidade vinculada em um auto-relacionamento
tem como objetivo promover a identificao correta de uma instncia da enti-
dade dentro de uma instncia do relacionamento, ou seja, uma ocorrncia de
funcionrio poder desempenhar o papel de gerente e a outra ocorrncia de
funcionrio, por sua vez, poder assumir o papel de gerenciado.
3.2.3 cardinalidade
N 2
Funcionrio trabalha Empresa
captulo 3 61
(1,1) (0,2)
Funcionrio coordena Projeto
1 1
Funcionrio gerencia Departamento
N 1
Funcionrio gerencia Departamento
62 captulo 3
J o terceiro tipo de cardinalidade a ser estudada, refere-se a muitos-para-
-muitos, como exemplo, considere que um empregado gerencia muitos depar-
tamentos, e que, por sua vez, um departamento pode ser gerenciado por muitos
empregados. Esse exemplo pode ser visualizado por meio da Figura 3.10:
N N
Funcionrio gerencia Departamento
(1,n) (0,1)
Cidade distribuio Distribuidor
(0,n)
Produto
captulo 3 63
Bem, para clarear ainda mais esse conceito, quando nos depararmos com
relacionamentos de duas (binrio), trs (ternrio), ou n (nrio) entidades, a
cardinalidade a ser aplicada trabalha de maneira anloga a cardinalidade apli-
cada em relacionamentos binrios, isso , torna-se necessrio trabalharmos
com pares de entidades.
No exemplo da Figura 3.11, dizemos que as ocorrncias provenientes das
entidades CIDADE e PRODUTO esto associadas a , no mximo uma ocorrncia
de DISTRIBUIDOR.
3.2.4 Atributo
64 captulo 3
Atributo Derivado: o atributo derivado armazena um dado proveniente
de um processamento especfico. Por exemplo, o atributo idade de uma
pessoa qualquer pode ser obtido a partir do processamento da data de
nascimento e data atual do aplicativo computacional;
Atributo Identificador: tipo de atributo imprescindvel em uma entidade.
Esse atributo permite que identifiquemos exclusivamente uma ocorrncia
de entidade. O atributo identificador aplicado a uma entidade qualquer
pode ser um atributo simples ou composto. Para exemplificar, suponha a
existncia de uma entidade chamada de Pessoa. Voc consegue imaginar
os possveis atributos identificadores que poderamos utilizar para essa en-
tidade? Como possveis respostas, teramos o nmero do CPF, RG ou um
nmero identificador produzido automaticamente pelo banco de dados.
captulo 3 65
Com o objetivo de exemplificar esse conceito de entidade especializada,
considere a entidade FUNCIONARIO que por sua vez tem como propsito des-
crever o tipo (atributos e relacionamento) de cada entidade de funcionrio em
um banco de dados qualquer. Normalmente, esse tipo de entidade pode vin-
cular diversos subgrupos ou subtipos de suas entidades que expressam algum
tipo de relevncia e carecem de ser representados de maneira correta.
No exemplo apresentado pela Figura 3.12, ser que voc consegue identifi-
car os tipos de entidade FUNCIONARIO existente? Vamos l! Considere que a
entidade do tipo funcionrio representada ora pelas entidades nomeadas de
secretria, engenheiro e tcnico. possvel interpretar que esse conjunto
de entidades esto por sua vez vinculadas ao um conjunto de entidades fun-
cionrio, isso , cada entidade considerada tambm membro de qualquer
um desses subtipos de funcionrio.
Sendo assim, o tipo de entidade nomeada de FUNCIONARIO considerado
superclasse (genrica) ou supertipo de cada uma das subclasses (especializadas).
CPF
data_nascimento
Funcionrio endereo
nome
CREA
velocidade_digitao Secretaria Tcnico Engenheiro
tipo_engenheiro
grau_tcnico
66 captulo 3
Nesse contexto, o conjunto de entidades secretaria, inclui alm do atributo
especfico velocidade_digitao, os atributos CPF, nome, data_nascimento e
endereo, esses herdados da entidade FUNCIONARIOS.
Repare tambm que a uma instncia de secretria, por exemplo, tambm
considerada como uma instncia de funcionrio, ou seja, um determinado
membro da subclasse tambm se torna membro da superclasse, todavia, exer-
cendo funcionalidades distintas.
Outro quesito relevante refere-se a possibilidade de existir vrias especia-
lizaes do mesmo tipo de entidade, considerando apenas as propriedades
particulares, a citar como exemplo, outra especializao vinculada a entidade
funcionrio, que poderia refletir na criao de duas novas subclasses, essas no-
meadas respectivamente de FUNCIONARIO_MENSAL e FUNCIONARIO_HO-
RISTA, onde, evidentemente, a forma de realizar o pagamento ir diferenciar
os tipos de funcionrios.
Em uma extenso do Modelo ER, se cada entidade do conjunto de entida-
de genrica tiver que aparecer obrigatoriamente em um dos subconjuntos de
entidade especializada, considera-se que a especializao/generalizao sendo
como TOTAL.
Assumindo uma caracterstica oposta, uma especializao/generalizao
dita como PARCIAL quando uma entidade do conjunto de entidade genrica
no possuir a obrigatoriedade de aparecer como uma entidade de um dos sub-
conjuntos de entidade especializada.
Graficamente, o DER representa uma especializao/generalizao TOTAL
incluindo simplesmente a letra t em minsculo do lado superior direito do
tringulo utilizado para especificar as entidades especializadas. Entretanto, a
representao de uma especializao/generalizao PARCIAL dada pelo uso
da letra p, tambm em minsculo, do lado superior direito do tringulo.
Para exemplificar o uso de uma especializao/generalizao considerada
TOTAL, visualize a Figura 3.13 onde um determinado funcionrio poder ser
exclusivamente, secretria, tcnico e ou engenheiro. Nesse exemplo, no con-
sidere que um funcionrio no seja pelo menos uma secretria, um tcnico e
um engenheiro. Esse detalhe referente s possveis especializaes dos funcio-
nrios a serem aplicadas no projeto de banco de dados reportada no ato da
entrevista. Ainda assim, possvel nos depararmos com a possibilidade do pro-
jetista de dados especificar que um conjunto de entidade genrica dever ser
representada em mais de um conjunto de entidades especializadas.
captulo 3 67
CPF
data_nascimento
Funcionrio endereo
nome
CREA
velocidade_digitao Secretaria Tcnico Engenheiro
tipo_engenheiro
grau_tcnico
68 captulo 3
CPF
data_nascimento
Funcionrio endereo
nome
t,c
CREA
Tcnico Engenheiro
tipo_engenheiro
grau_tcnico
captulo 3 69
Placa
Cdigo_veculo
Velocidade_mxima
Carro Preo
Nmero_passageiros
ID_veculo
Placa
Nmero_eixos
Caminho Preo
Capacidade_peso
Cdigo_Veculo
Placa
Veculo Preo
t,c
Nmero_eixos Velocidade_mxima
Caminho Carro
Capacidade_peso nmero_passageiros
70 captulo 3
Conclumos mais um tpico importante da disciplina de Modelagem de
Dados, explorando corretamente o recurso de herana, que permite que uma
subclasse herde as propriedades consideradas comuns da superclasse.
(0,n) (0,n)
Mdico consulta Paciente
captulo 3 71
Caso, eventualmente, fosse necessrio controlar os medicamentos pres-
critos por um determinado mdico aps a realizao de uma consulta, seria
necessrio vincular a entidade MEDICAMENTO com uma ocorrncia de uma
consulta, associando a entidade MEDICAMENTO com o relacionamento CON-
SULTA. provvel que voc esteja achando isso tudo muito estranho. De fato
voc tem razo, pois essa manobra no permitida. No se deve realizar esse
vnculo dessa maneira, a fim de solucionar o problema exposto, aconselhado
que o relacionamento CONSULTA torne-se uma entidade associativa, ora re-
presentada graficamente atravs de um retngulo envolto do relacionamento.
A Figura 3.18 apresenta um exemplo do uso de uma entidade-associativa que
envolveu por sua vez as entidades MDICO e PACIENTE, essas intituladas a
partir do processo associativo de CONSULTA.
(0,n) (0,n)
Mdico consulta Paciente
prescreve
(0,n)
Medicamento
72 captulo 3
Esse processo tambm denominado de agregao, isso , um conjunto de
relacionamentos e suas respectivas entidades so agregadas em uma nova enti-
dade. Dessa forma, o exemplo exposto pela Figura 3.18 agrega o relacionamen-
to CONSULTA juntamente com as entidades MDICO e PACIENTE, constituin-
do uma nova entidade ora chamada de CONSULTA. Em algumas ocasies, no
necessrio estabelecer um nome para a nova entidade criada aps o processo
de agregao.
Na prxima Figura 3.19 possvel visualizar um exemplo de agregao apli-
cada no DER ora representado graficamente por um retngulo que por sua vez
engloba as entidades e o relacionamento envolvido no processo. Ainda nos
permitido aplicar cardinalidades mnima e mxima no conjunto de relaciona-
mentos constituintes da agregao. Para exemplificar, considere que uma de-
terminada consulta pode ou no ter a prescrio de medicamentos.
(0,n) (0,n)
Mdico consulta Paciente
prescreve
(0,n)
Medicamento
captulo 3 73
3.4 Diagrama Entidade-Relacionamento (DER)
Nmero
Pnome Snome
Nome Localizao
Nome Endereo N 1
TRABALHA PARA
Sexo Salrio
Nss consulta
DataNasc
1 1 1
supervisor GERENCIA
supervisiona SUPERVISIONA
1 N Horas
SUPERVISIONA
N
M N
1 TRABALHA EM PROJETO
DEPENDENTE DE Nome
Localizao
N Nmero
DEPENDENTE
74 captulo 3
entidades participantes do modelo de dados ora proposto, a fim de atender as
necessidades de uma regra de negcio especfica. Os atributos (propriedades das
entidades) so representados graficamente por meio do uso de elipses conecta-
das as entidades e ou, eventualmente, vinculadas aos relacionamentos. Existe
ainda uma forma de representar atributos compostos, onde esses tambm so
representados graficamente pelo uso de elipses, todavia, so associados aos atri-
butos o qual depende, por exemplo, o atributo NOME composto pelos atributos
PNOME (primeiro nome) e SNOME (sobrenome). Outro detalhe que podemos
abstrair diz respeito aos atributos multivalorados. Sua denotao dada por
meio de elipses circundada por linhas duplas, para exemplificar, repare o atri-
buto LOCALIZAO da entidade DEPARTAMENTO. Os atributos identificadores
(atributos-chaves e ou chave-primria) so identificados por sua vez na forma su-
blinhada, dentro da elipse. Como o prprio nome sugere, os atributos derivados
so simbolizados pelo uso de elipse circundada de linhas tracejadas, a citar como
exemplo, considere o atributo ora intitulado de NmeroDeEmpregado perten-
cente a entidade DEPARTAMENTO. Em algumas literaturas voc pode encontrar
o conceito de que esse tipo de atributo (derivado) tambm chamado de atributo
processado, isso , o valor atrelado a esse tipo de atributo estar sempre associa-
do a algum tipo de processamento computacional.
J a identificao de entidades e relacionamentos considerados fracos im-
posta pelo uso de retngulos e losangos circundados com linhas duplas. Em
nosso exemplo (Figura 3.12), podemos destacar esse conceito, ora representa-
do pela entidade-fraca, identificada de DEPENDENTE e seu respectivo relacio-
namento, esse nomeado de DEPENDENTE_DE.
Esmiuando ainda mais nosso exemplo de DER, apresentado pela Figura
3.12, possvel obter informaes acerca das cardinalidades (multiplicidade)
aplicada para cada relacionamento de grau 2 (relacionamento binrio). Como
exemplo, podemos citar a cardinalidade 1:1 existente entre o relacionamento
GERENCIA que associa as entidades DEPARTAMENTO e EMPREGADO. A inter-
pretao dessa cardinalidade seria: um empregado gerencia no mximo um de-
partamento e, por sua vez, um departamento gerenciado por no mximo um
empregado. Outra cardinalidade digna de exemplo a cardinalidade referente
ao relacionamento TRABALHA_PARA que vincula as entidades DEPARTAMEN-
TO e EMPREGADO, essa cardinalidade dita como 1:N (um para muitos)
e M:N (muitos para muitos) para o relacionamento TRABALHA_EM. Com
relao a representao grfica utilizada para sinalizar uma restrio de parti-
captulo 3 75
cipao parcial, utiliza-se o emprego de linhas simples, todavia, quando neces-
sitamos de representar graficamente no DER uma dependncia existente entre
entidades, utilizamos linhas paralelas.
Outro detalhe considerado relevando que devemos prestar muita ateno,
discorre sobre a existncia de um auto-relacionamento. Vimos anteriormente
que, quando existe um auto-relacionamento em um DER qualquer, funda-
mental o uso de papis a fim de identificar adequadamente qual o tipo de
relacionamento desempenhado em um determinado instante. Como exemplo,
considere ainda o nosso DER da Figura 3.12, o auto-relacionamento nomeado
de SUPERVISIONA assume o uso de dois papis dspares, ou seja, ora o empre-
gado assume o papel de SUPERVISOR ora o papel de SUPERVISIONADO.
Quantidade
Cdigo Nome
Cdigo Nome
Nmero Pea
76 captulo 3
A Figura 3.14 nos demonstra um DER a fim de exemplificar um relaciona-
mento binrio. Repare que o relacionamento intitulado de CURSO emprega
apenas dias entidades (ALUNO e DISCIPLINA).
RA Nome
Cdigo Nome
A Figura 3.15 nos apresenta outro exemplo, onde possvel identificarmos que
o grau do relacionamento CASAMENTO unrio (grau um), simplesmente por
existir uma nica entidade, essa chamada de PESSOA. Voc no deve se esquecer
de que, quando fazemos uso de um relacionamento unrio, imprescindvel o em-
prego de papis. Nesse tipo de relacionamento, os papis possui um importante
objetivo, o qual representar corretamente uma associao entre ocorrncias de
uma mesma entidade (isso , ora pessoa assume o papel homem ora pessoa as-
sume o papel mulher).
CPF Nome
Homem
Pessoa casamento
Mulher
captulo 3 77
Finalizando o tpico que discorre sobre o grau dos relacionamentos, pos-
svel visualizarmos por meio da Figura 3.16, um exemplo de relacionamento
nrio, ou seja, possvel abstrair uma associao entre n (diversas) ocor-
rncias de entidades.
Quantidade
CPF CNPJ Nome
Nome
Depto/Data
Departamento Data
78 captulo 3
NOTAO (SIMBOLOGIA) DESCRIO
Entidade
Entidade-Fraca
Relacionamento
Relacionamento Identificador
Atributo
Atributo-chave (identificador)
Atributo Multivalorado
captulo 3 79
NOTAO (SIMBOLOGIA) DESCRIO
Atributo Composto
Atributo Derivado
Bem, agora que voc j aprendeu basicamente todos os conceitos sobre o dia-
grama entidade-relacionamento, chegou o momento de coloca-los em prtica.
A descrio dos requisitos a seguir, permite que utilizemos uma entidade-fraca.
Sendo assim, vamos elaborar a partir desses requisitos o DER que completa em sua
totalidade, as regras do negcio, ora representado por uma universidade fictcia.
Uma universidade deseja implantar um Sistema de Informao para realizar
o gerenciamento da quantidade de carteiras por sala de aulas existentes nos seus
vrios Campus. Hoje, essa universidade possui 5 campus, localizados em regies
(cidades) distintas. Em cada campus existe blocos de salas. Cada campus possui
um nmero sequencial utilizado para identificao e cada bloco de salas, por sua
vez, identificado por uma letra. As salas so numeradas de forma sequencial
dentro de cada bloco. desejvel que o sistema de informao disponibilize al-
gumas informaes, como por exemplo: nome e endereo de cada um dos Cam-
pus; para cada campus, quais so os blocos de sala de aula e para cada bloco qual
o nmero de salas que possui, juntamente com a quantidade de andares; para
cada sala de aula, importante conhecer o nmero de carteiras, seu tamanho
(rea) e quais so as carteiras existente em cada sala (nmero do patrimnio da
carteira e se o brao de apoio est localizado do lado direito ou esquerdo).
Aps abstrairmos os requisitos necessrios, podemos confeccionar uma
verso preliminar do DER, o qual deve atender de forma adequada todas as fun-
80 captulo 3
cionalidades expostas na descrio do Sistema de Informao a ser criado pela
Universidade. A Figura 3.17 apresenta um exemplo de DER que teve como pro-
psito atender os requisitos triviais do Sistema de Informao da Universidade.
Voc pode identificar a utilizao de duas entidades-fracas, uma chamada de
bloco e outra de sala de aula. Visualize os detalhes pertinentes a essas enti-
dades-fracas no box cinza.
QtdeSalas
(1,1) (0,n)
Campus possui Bloco TotalAndares
IdentBloco
(0,n)
EndCampus Campus x Bloco:
NomeCampus cada instncia desse conjunto
IdentCampus ser identificada por
(IdentCampus + IdentBloco)
localizada
(0,n)
NroSala
(0,n) (1,1)
Carteira alocado Sala de aula MetragemSala
QtdCarteirasSala
ATIVIDADE
9. Conceitue adequadamente um atributo, e discorra sobre os seus principais tipos. Na
sequncia, d pelo menos um exemplo de cada tipo.
11. Imagine um contexto acadmico, o qual, poderamos considerar uma sala de aula. Qual
seria a cardinalidade mxima de um professor em relao aos alunos, como tambm,
dos alunos em relao ao professor?
captulo 3 81
REFLEXO
Parabns! Voc finalizou mais um captulo, essa sem dvida foi uma densa unidade de estu-
dos! Foi possvel aprendermos acerca das principais caractersticas do Modelo Entidade-Re-
lacionamento, e como esse modelo se torna imprescindvel para a criao de um bom projeto
de banco de dados.
Acreditamos que voc tenha maximizado seu conhecimento referente ao MER, como seus
principais componentes, a citar: tipos de entidades, relacionamentos, cardinalidade (um-para-
-um; um-para-muitos e muitos-para-muitos), tipos de atributos (simples, composto, multiva-
lorado, derivado e identificador).
Foi possvel ainda estudarmos acerca da representao grfica do MER, essa imposta pelo
uso do que chamamos de diagrama entidade-relacionamento (DER), sobretudo interpretar-
mos corretamente o grau dos relacionamentos existentes nele.
Voc consegue lembrar-se dos principais graus que podemos abstrair de um determinado
relacionamento?
O grau de um relacionamento factvel de ser abstrado levando em considerao o nmero
de entidades participantes (unrio, binrio, ternrio, quaternrio e nrio).
LEITURA
Artigos on-line: para voc aumentar ainda mais o seu nvel de conhecimento sobre os
MER e DER:
http://www.devmedia.com.br/projeto-de-bd-tatico-para-informacoes-da-concorrencia/31392
http://imasters.com.br/artigo/8568/banco-de-dados/documentacao-de-projetos-web-der/
Livros:
Modelagem Lgica de Dados: construo bsica e simplificada, de Eduardo Bernardes Castro.
Banco de Dados: Implementao em SQL, PL/SQL e Oracle 11g, Sandra Puga, Edson Frana
e Milton Goyga;
Nestes livros voc encontra um bom contedo para complementar os estudos apresentados
pela apostila. Aprofunde seus conhecimentos!
82 captulo 3
REFERNCIAS BIBLIOGRFICAS
ELMASRI, R.; NAVATHE, S.B. Sistemas de bancos de dados. So Paulo: Pearson (Addison
Wesley), 2005.
HEUSER, C. A. Projeto de Bancos de Dados. 2. ed. Porto Alegre: Sagra Luzzatto, 1999.
SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. 5. ed. Rio
de Janeiro: Elsevier, 2006.
DATE, C. J.; Introduo a Sistemas de Banco de Dados; 8. Ed.; Trad. Daniel Vieira; Rio de
Janeiro: Elsevier, 2003.
HEUSER, Carlos Alberto. Projeto de Banco de Dados. 4 ed. Instituto de Informtica da UFR-
GS, Sagra DC Luzzatto, 1998.
TEOREY, T.; LIGHTSTONE, S.; NADEAU, T.; JAGADISH, H. V.; Database Modeling and De-
sign Logical Design. 5 ed., Burlington USA: Elsevier, 2011.
CASTRO, E. B.; Modelagem Lgica de Dados: construo bsica e simplificada; Rio de Ja-
neiro: Editora Cincia Moderna, 2012.
PUGA, S.; FRANA, E.; GOYA, M.; Banco de Dados Implementao em SQL, PL/SQL e
Oracle 11g; So Paulo: Pearson Education do Brasil, 2013.
captulo 3 83
NO PRXIMO CAPTULO
No prximo captulo iremos esmiuar o modelo de dados relacional! Pratique exaustivamente
modelagem de dados, os tipos de relacionamentos e os seus principais conceitos.
84 captulo 3
4
Modelo de Dados
Relacional
4 Modelo de Dados Relacional
No captulo anterior estudamos acerca dos modelos de dados, com sua evoluo e
a importncia de compreend-los para que seja possvel a elaborao de um proje-
to de banco de dados bem estruturado.
Caso voc tenha alguma dvida sobre algum conceito, retorne a unidade anterior e
realize uma reviso dos principais conceitos!
Estudamos profundamente sobre os principais modelos de dados, vamos a partir
de agora dar nfase no modelo relacional, o qual considerado um modelo clssi-
co, e amplamente adotado pela grande parte dos SGBDs. Estudaremos os concei-
tos e princpios relevantes, como os atributos identificadores, restries de integri-
dade, mapeamento do MER para o modelo relacional, dentre outros.
No perca o foco neste contedo!
OBJETIVOS
Este captulo tem como objetivo permitir um estudo detalhado referente aos aspectos perti-
nentes ao modelo de dados relacional, onde, seus principias conceitos podem ser encontra-
dos nos principais SGBDs comerciais. Esperamos que ao final desta unidade voc seja capaz
de compreender o funcionamento do uso de chave primria e estrangeira, como as regras de
integridade de entidade e referencial so imprescindveis para promover a integridade dos
dados, alm de, estudarmos atravs de exemplos prticos a tarefa do mapeamento do MER
para o modelo de dados relacional.
REFLEXO
Voc se lembra dos conceitos estudados na unidade anterior?
Quanto aos principais graus aplicados aos relacionamentos?
Voc se sente confortvel em discorrer sobre os principais componentes de um DER?
Voc se encontra confortvel em distinguir adequadamente os conceitos acerca dos Mode-
los de Dados: Hierrquico, em Rede e Relacional?
86 captulo 4
4.1 Modelo De Dados Relacional
O Modelo de Dados Relacional foi criado por Codd na dcada de 70. Esse mo-
delo de dados caracterizado por ser o mais simples dos modelos de dados
disponveis para implementao de banco de dados. Tal modelo possui como
objetivo a apresentao dos dados similar a um conjunto de relaes. Dessa
maneira, podemos comparar uma relao como sendo uma possvel tabela, ou,
simplesmente, um simples arquivo contendo n registros.
O Modelo de Dados Relacional calcado no conceito de matrizes. Podemos
considerar que as linhas em uma matriz como sendo os registros e as colunas, seus
respectivos campos. Os identificadores das tabelas (relao) e dos campos so de
extrema relevncia para seu entendimento entre o que voc est armazenando,
onde est armazenando e qual a relao existente entre os dados armazenados.
Como exemplo, tomamos a Figura 4.1, que estrutura os dados por meio do
uso de um modelo de dados relacional.
Departa-
Cdigo Nome Crditos
mento
Banco de
C124 4 Computao
Dados
captulo 4 87
Cdigo Pr_requisito
C124 C324
tb_pr_requisito
C124 M098
C324 C123
88 captulo 4
RA Cdigo_Seo Nvel
192 155 B
192 139 B
324 124 A
324 52 A
324 45 B
As relaes apresentadas pela Figura 4.1 podem ser vistas tambm como
tabelas. Em uma tabela, uma linha representa um registro (tupla), isso uma
coleo de valores relacionados. Nesse contexto, esses valores referem-se a um
fato de uma entidade especfica, ou at mesmo uma instncia de um relacio-
namento qualquer. Vimos no incio do tpico que o nome da tabela com os no-
mes das respectivas colunas so cruciais para que seja possvel interpretarmos
o correto sentido dos valores em cada linha (tupla) existente em uma tabela.
Bem, voc conseguiu entender esse conceito? No se preocupe! Vamos agora
interpretar as relaes pertinentes a Figura 4.1. factvel identificarmos que a
tabela ora nomeada de tb_aluno, cada linha (tupla) diz respeito a um fato espe-
cfico ora armazenado nessa tabela. Suas colunas, essas identificadas como RA
(registro acadmico), nome, sala e departamento possibilitam que realizemos
a devida interpretao dos valores vinculados para cada linha (tupla). Conside-
re que, para cada coluna, todos os valores associados a mesma, dever, obriga-
toriamente, manipular o mesmo tipo de dado.
captulo 4 89
Na maioria das literaturas que discorre sobre o tema Modelo Relacional,
uma linha caracterizada como sendo uma tupla, uma coluna como um atri-
buto e uma tabela de relao. Ainda tomando como referncia o modelo rela-
cional, o conceito de domnio refere-se ao tipo de dados que ser armazenado
em uma coluna qualquer. O grau de uma relao interpretado pelo nmero de
atributos existentes nela.
A fim de esclarecer o grau de uma relao, considere a relao ora apresen-
tada abaixo, que por sua vez, apresenta informaes referentes aos alunos de
uma universidade qualquer:
90 captulo 4
Mdia
RA Nome Endereo Telefone Celular Idade
Ponderada
3412-
123 Alice Martins Rua Piau, 87 null 21 6,5
0909
3634-
21 Murilo Henrique Rua Javari, 23 null 20 4,8
0987
captulo 4
}
91
ATENO
Um domnio descreve os tipos de dados que cada campo (atributo) pode armazenar. (Heuser,
2004)
CONEXO
Como sugesto, aconselhamos a leitura deste artigo, para aprofundar seus conhecimentos
no que diz respeito ao modelo relacional:
http://imasters.com.br/artigo/2419/banco-de-dados/o-modelo-relacional-de-dados-parte-01/
http://imasters.com.br/artigo/5403/banco-de-dados/modelagem-de-dados-parte-
05-transformacao-entre-modelos/
92 captulo 4
no dever, em hiptese alguma, ser escolhido como atributo-chave, sobretudo
por, no possuirmos garantia da no existncia de nomes idnticos.
Na maioria das vezes, em uma relao poder existir mais de um atributo-chave.
Para atender essas particularidades, cada chave referenciada como chave-candi-
data. Voltamos ao exemplo ora apresentado pela Figura 4.2, em algumas ocasies,
seria permitido adicionar um atributo chamado de CODIGO_ALUNO (surrogate
key) para identificar exclusivamente um determinado aluno por meio de um cdi-
go interno. Nessa circunstncia, a relao ALUNO teria duas chaves-candidatas, o
atributo RA e CODIGO_ALUNO. Esse recurso considerado normal, isso , relati-
vamente comum escolhermos duas chaves-candidatas como chave-primria (atri-
buto-chave) de uma relao. No modelo de dados relacional, representamos uma
chave-primria, simplesmente sublinhando os atributos que formam a chave-can-
didata. Se, eventualmente, uma relao possuir vrias chaves-candidatas, a escolha
da chave mais adequada se torna facultativa, porm, a seleo da chave-primria
com o menor nmero de atributos sempre desejvel.
ATENO
Uma chave-candidata uma chave que apresenta obrigatoriamente as duas caractersticas
a seguir:
1)Unicidade: No h duas linhas (tuplas) distintas na tabela com o mesmo valor para os atri-
butos da chave (isso j era garantido na chave e foi explicado na seo anterior);
2)Irredutibilidade: No existe um subconjunto de atributos da chave que apresentem a ca-
racterstica de Unicidade.
(Date, 2004)
captulo 4 93
No redundante: no caso da chave-primria ser composta, no poder
ser adicionado mais atributos do que os mnimos necessrios para iden-
tificar os registros de forma unvoca.
94 captulo 4
XIV. Anulao: se ocorrer uma excluso ou uma alterao de uma tupla (t)
de R2, dessa maneira para toda tupla de R1 tal que a chave-estrangeira
referencie a chave-primria de (t) dever configurar o valor da chave-es-
trangeira para nulo.
Empregado
Departamento
Depto_Localizao
Cd.Depto Depto.Localizao
Projeto
Trabalho_Projeto
captulo 4 95
Dependente
Cd
Cd Data-
Depen- Nome Sexo Relao
Empregado Nasc
dente
96 captulo 4
referenciar a uma tupla existente naquela mesma relao. A Figura 4.4, fac-
tvel observar que o atributo chamado de CdDepto da relao EMPREGADO
referencia um nmero de departamento em que cada empregado realiza suas
atividades. Ou seja, todos os valores associados coluna CdDepto da relao
EMPREGADO devero pertencer ao conjunto de valores da coluna CdDepto da
relao DEPARTAMENTO.
Empregado
09/01 Rua
101 Joaquim Mendes M R$3.500,00 15
/1995 A, 1
08/12 Rua B,
102 Elton da Cruz M R$2.350,00 15
/1965 234
19/07 Av C,
103 Juliano Batista M R$1.775,00 24
1965 78
30/06 Rua D,
104 Vanda da Silva F R$4.565,00 24
1961 98
16/09 Rua E,
105 Emersom Frota M R$9.100,00 15
/1968 21
31/07 Av J,
106 Fabrcio dos Santos M R$8.100,00 15
/1986 1347
captulo 4 97
Empregado
30/03 Av H,
107 Michelle Pavereli F R$2.450,00 24
/1989 76
02/11 Rua T,
108 Venilton Jos M R$8.899,00 11
/1965 76
Departamento
Cd
CdGe-
Dep- Nome Datal Inico Gerente
rente
to
Depto_Localizao
CdDepto DeptoLocalizao
11 Sertzinho
15 Mococa
24 RibeiroPreto
Projeto
11 Matriz Sertzinho 11
12 Alpha Sertzinho 11
13 Genexus RibeiroPreto 24
98 captulo 4
20 IRPF 2013 Mococa 15
30 ERP RibeiroPreto 24
40 SAP RibeiroPreto 24
Trabalho_Projeto
101 11 40
101 11 55
108 40 67
103 30 90
105 20 120
108 13 8
102 12 30
104 30 24
106 40 18
107 11 8
Dependente
Cd Cd
Empre- Depen- Nome Sexo DataNasc Relao
gado dente
captulo 4 99
Dependente
Guilher-
107 6 M 09/09/2008 Filho
me
100 captulo 4
tupla referente ao empregado Venilton Jos se encontra vinculado ao atribu-
to CdDepto da relao DEPARTAMENTO, evidenciando que o Venilton Jos
est associado ao departamento, ora intitulado de Recursos Humanos.
possvel ainda abstrair que uma chave-estrangeira pode referenciar sua
mesma relao, descrevendo o que denominamos de uma chave-estrangeira
recursiva. A fim de exemplificar graficamente o emprego das restries de in-
tegridade referencial, visualize a Figura 4.5, a qual nos apresenta um esquema
relacional com inmeras restries de integridade referencial, ora representa-
das pelo uso de setas direcionais.
Empregado
CdEmp Nome Sobrenome DataNasc Endereo Sexo Salrio CdDepto
Departamento
CdDepto Nome CdGerente DataInicioGerente
Depto_Localizao
CdDepto DeptoLocalizao
Projeto
CdProjeto Nome ProjLocalizao CdDepto
Trabalha_Projeto
CdEmpregado CdProjeto Horas
Dependente
CdEmpregado CdDependente Nome Sexo DataNasc Relao
Para que seja possvel estabelecer a validade das restries para o banco de
dados, essas restries de integridade devem ser implementadas em um es-
quema de banco de dados relacional. Sendo assim, torna-se imprescindvel o
emprego de um Sistema Gerenciador de Banco de Dados Relacional (SGBD-R),
sobretudo o uso da linguagem de definio de dados (DDL Data Definition
Language), que por sua vez, promove recursos para a definio dos variados ti-
pos de restries, assegurando que essa verificao seja realizada pelo SGBD-R
de forma automtica.
captulo 4 101
Estudamos at aqui apenas as restries de integridade de entidade e refe-
rencial, porm, outras restries, a citar, restries de integridade semntica,
tambm podem ser aplicadas em um banco de dados relacional. Para exem-
plificar o uso de restrio de integridade semntica, suponha que o salrio de
um empregado no pode ser superior ao salrio do seu diretor e, ou, o nmero
mximo de horas dirias trabalhadas no pode exceder 8 horas.
Para finalizar esse tpico, importante mencionar a existncia de trs ope-
raes triviais (insero, alterao e remoo) empregadas em um esquema de
banco de dados relacional qualquer. A primeira operao discorre sobre a in-
sero, a qual responsvel por inserir novas tuplas em uma relao. A segunda
operao a de alterao, onde os valores de um ou mais atributos so altera-
dos, e, por fim, a terceira operao, essa nomeada de remoo, como o prprio
nome sugere, realiza a remoo das tuplas. Dessa forma, independente do tipo
de operao aplicada em um esquema relacional, as restries devem ser aten-
didas a fim de evitar eventuais inconsistncias indesejveis.
ATENO
O MER foi criado para dar subsdio ao processo de modelagem de dados que possui como
objetivo realizar a construo de bancos de dados (ROB, 2005).
102 captulo 4
3. Mapeamento de relacionamentos e seus atributos
Para exemplificar, considere a Figura 4.6, ora representada por uma enti-
dade chamada de EMPREGADOS, que por sua vez, incorpora os atributos RG
(atributo identificador) nome e idade. Repare que o processo de mapeamento
para esse exemplo bem simples e objetivo e que, o atributo identificador (cha-
ve-primria) representado pelo uso de um sublinhado no nome do atributo.
RG
Empregados Nome
Idade
CP Chave Primria
Nmero
CE Chave Estrangeira
captulo 4 103
J o exemplo apresentado pela Figura 4.8, realizado o mapeamento dos
atributos (obrigatrio, opcional e composto):
PlanoSade (0,1)
Telefone (1,n)
Rua RG
Nmero Endereo Empregados Nome
Cidade Idade
PlanoSade (0,1)
Telefone (1,3)
Rua RG
Nmero Endereo Empregados Nome
Cidade Idade
104 captulo 4
Agora, a respeito do mapeamento de entidades especializadas, deve-se con-
siderar trs opes:
1. Opo: considerar uma nica tabela para a entidade considerada gen-
rica e suas especializaes;
2. Opo: considerar o uso de tabelas para entidade genrica e para as en-
tidades especializadas;
3. Opo: considerar o uso de tabelas apenas para as entidades especiali-
zadas.
No prximo exemplo, a 1 opo adotada. Repare na Figura 4.10 que foi rea-
lizado o mapeamento da entidade genrica e suas respectivas entidades especia-
lizadas, mesclando tudo em uma nica tabela. Dessa maneira, o atributo tipo
pode armazenar mais de um valor apenas se, a especializao for no-exclusiva.
CPF
SERVIDORES
Nome
Funo Titulao
FUNCIONRIOS PROFESSORES
Categoria
captulo 4 105
CPF
SERVIDORES
Nome
Titulao
Funo FUNCIONRIOS PROFESSORES
Categoria
CPF
SERVIDORES
Nome
Funo Titulao
FUNCIONRIOS PROFESSORES
Categoria
106 captulo 4
O mapeamento dos relacionamentos considera uma anlise aplicada na
cardinalidade existente nos relacionamentos. Aps essa anlise, diversas alter-
nativas de mapeamento podem ser escolhidas, a citar: as entidades ora rela-
cionadas podem ser fundidas em uma nica tabela; outras tabelas podem ser
criadas para acolher os relacionamentos, e, como ltima alternativa, eventuais
chaves-estrangeiras podem ser constitudas nas tabelas para estabelecer cor-
retamente o relacionamento. A Figura 4.13 apresenta um exemplo de mapea-
mento de um relacionamento, cujo cardinalidade 1:1 (um-para-um), ou seja,
obrigatrio em ambos os sentidos.
Nome DataInstalao
Sigla
captulo 4 107
Opcional: cardinalidade(mnima, mxima)
(1,1) (0,1)
PESSOAS Posse CARTEIRAS_MOTORISTA
Existe ainda uma outra alternativa para esse caso, apresentado pela Figura
4.15 que promove tambm o mapeamento do mesmo MER (opcional em um dos
sentidos), todavia, utiliza duas tabelas (PESSOAS e CARTEIRAS_MOTORISTA).
(1,1) (0,1)
PESSOAS Posse CARTEIRAS_MOTORISTA
108 captulo 4
Opcional em ambos os lados
(0,1) (0,1)
HOMENS Casamento MULHERES
A segunda alternativa para o mesmo MER, representado pela Figura 4.17 con-
sidera o mesmo relacionamento anterior, ou seja, opcional em ambos os sentidos,
porm realiza o mapeamento apenas das entidades envolvidas.
Opcional em ambos os lados
(0,1) (0,1)
HOMENS Casamento MULHERES
captulo 4 109
Obrigatrio/Opcional do lado n
(1,n)
(1,1)
EMPREGADOS Lotao DEPARTAMENTOS
(0,n)
Nome Data Nome
Cdigo Cdigo
Opcional no lado 1
(1,n)
(0,1)
AUTOMVEIS Posse PESSOAS
(0,n)
Ano DataCompra Nome
Modelo RG
Chassi
110 captulo 4
Como segunda opo para o mapeamento do MER apresentado pela Figura
4.19, utilizado a Figura 4.20, onde possvel notar que foi utilizado duas tabe-
las para realizar o mapeamento do relacionamento caracterizado de 1:N, isso ,
simplesmente foi criado uma tabela para mapear a entidade PESSOAS e outra
tabela para mapear a entidade AUTOMOVEIS. Repare ainda que inserimos o
atributo RG da entidade PESSOAS, que por sua vez uma chave-estrangeira,
com o atributo DataCompra, esse de propriedade do relacionamento POSSE.
Opcional no lado 1
(1,n)
(0,1)
AUTOMVEIS Posse PESSOAS
(0,n)
Ano DataCompra Nome
Modelo RG
Chassi
captulo 4 111
Obrigatrio/Opcional em ambos os sentidos
(1,n) (1,n)
EMPREGADOS Participao PROJETOS
(0,n) (0,n)
Figura 4.21 Mapeando um relacionamento N:N (obrigatrio e ou opcional nos dois sentidos).
gerente
(0,1)
EMPREGADOS Gerncia
(0,n) subordinado
Idade
Nome
RG
1 Alternativa:
112 captulo 4
Em relao ao processo de mapeamento de uma entidade associativa, pode-
se utilizar as mesmas recomendaes estudadas at o momento. Apenas uma
ressalva, importante identificar corretamente a entidade associativa junto ao
MER. A Figura 4.23 exemplifica o mapeamento de entidades associativas.
EMPRSTIMOS
(0,n) (0,1)
LIVROS Emprstimo CLIENTES
DataDevoluo
(0,n)
(1,1)
Cadastro BIBLIOTECRIAS
captulo 4 113
DataIncio
DataIncio
(1,n) (0,n)
INSTITUIES Pesquisa
(1,n) (0,n) PROJETOS
INSTITUIES Pesquisa PROJETOS
Sigla Nmero
Sigla (1,n) Nmero
(1,n)
PESQUISADORES RG
PESQUISADORES RG
Caso: N:N:N
114 captulo 4
(0,n) (0,n)
PRODUTOS Distribuio CIDADES
(0,n) (0,n)
PRODUTOS Distribuio CIDADES
Cdigo Cdigo
Cdigo (0,1) Cdigo
(0,1)
DISTRIBUIDORES RG
DISTRIBUIDORES RG
Caso: 1:N:N
captulo 4 115
(0,n) (0,n)
CORRESPONDNCIAS Entrega BAIRROS
Peso Cdigo
(0,1)
Cdigo
CARTEIROS RG
Caso: 1:1:N
BAIRROS(Cdigo, ...)
CARTEIROS (RG, ...)
CORRESPONDNCIAS (CdCarta, Peso, CdBairro, RG, ...)
Para concluir esse tpico, que tratou acerca do mapeamento MER para o
modelo de dados relacional, o ltimo exemplo de mapeamento apresentado
pela Figura 4.27, que apresenta um relacionamento ternrio 1:1:1. Repare que
quando lidamos com esse tipo de relacionamento, o resultado do processo de
mapeamento inclui apenas uma tabela, essa responsvel por incorporar todos
os atributos das entidades envolvidas no relacionamento. Para esse exemplo,
foi gerado uma tabela nomeada de VEICULO, que por sua vez, incluiu os atribu-
tos Cdigo, PesoPainel, CdMotor, FabrMotor, CdLataria e ModLataria.
116 captulo 4
(1,1) (1,1)
PAINIS Veculo MOTORES
Peso Fabricante
(1,1)
Cdigo Cdigo
LATARIAS
Modelo
Cdigo
Caso: 1:1:1
ATIVIDADE
1. Conceitue chave-primria simples e composta. D pelo menos trs exemplo de cada tipo
de chave-primria.
2. Utilize suas prprias palavras para discorrer sobre os conceitos de Restrio de Integridade
de Entidade (RIE) e Restrio de Integridade Referencial (RIR). Cite exemplos para ambos
os conceitos.
3. Analise os requisitos a seguir e constitua sua modelagem relacional que atenda algumas
necessidades de informao, a citar: Qual o cdigo e a descrio de cada projeto desem-
penhado na empresa? Qual o nmero da matrcula e nome de cada funcionrio? Quais
so as possveis funes desempenhadas na empresa?
Imagine que uma empresa os funcionrios trabalham em projetos, onde em cada projeto
um funcionrio poder exercer diversas funes de acordo com as regras expostas abaixo:
Os funcionrios podem realizar distintas funes em diversos projetos;
Eventualmente, um funcionrio pode exercer em um mesmo projeto distintas funes;
captulo 4 117
Em um determinado projeto podemos ter uma mesma funo (atribuio) exercida por
distintos funcionrios;
Por outro lado, um funcionrio poder realizar a mesma funo em distintos projetos;
REFLEXO
Parabns! Finalizamos mais um captulo de estudo!
Neste captulo, trabalhamos muito, sobretudo por abordamos assuntos mais ridos. Espera-
mos que tenha compreendido os contedos.
Neste captulo estudamos o modelo de dados relacional e seus componentes, como por
exemplo, como as chaves funcionam e qual a sua relevncia como atributos identificadores,
e ainda, seu principal objetivo na identificao nica de instncias de entidades.
Na sequncia, estudamos algumas restries de integridade, consideradas primordiais para
impor a consistncia dos dados em qualquer esquema de banco de dados.
A partir de agora, fortemente indicado realizao dos exerccios sugeridos, e, se possvel,
realize pesquisas alm do contedo da apostila para incrementar seus conhecimentos. Caso,
eventualmente, voc se deparar com alguma dvida, volte aos tpicos e refaa a leitura com
bastante concentrao..
LEITURA
Artigos on-line: para que voc possa aumentar ainda mais o seu nvel de aprendizagem refe-
rente ao modelo de dados relacional:
http://imasters.com.br/artigo/2419/banco-de-dados/o-modelo-relacional-de-dados-parte-01/
http://imasters.com.br/artigo/2419/banco-de-dados/o-modelo-relacional-de-dados-parte-02/
http://imasters.com.br/artigo/2419/banco-de-dados/o-modelo-relacional-de-dados-parte-03/
Livros:
Sistemas de Banco de Dados: Projeto, Implementao e Administrao. ROB e CORONEL.
Sistemas de Bancos de Dados. Elmasri e Navathe;
Nesses dois livros possvel encontrar com detalhes todo o contedo explorado nesta unida-
de. fortemente recomendado que voc maximize seus conhecimentos nestas bibliografias.
118 captulo 4
REFERNCIAS BIBLIOGRFICAS
ELMASRI, R.; NAVATHE, S.B. Sistemas de bancos de dados. So Paulo: Pearson (Addison
Wesley), 2005.
HEUSER, C. A. Projeto de Bancos de Dados. 2. ed. Porto Alegre: Sagra Luzzatto, 1999.
SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. 5. ed. Rio
de Janeiro: Elsevier, 2006.
DATE, C. J.; Introduo a Sistemas de Banco de Dados; 8. Ed.; Trad. Daniel Vieira; Rio de
Janeiro: Elsevier, 2003.
HEUSER, Carlos Alberto. Projeto de Banco de Dados. 4 ed. Instituto de Informtica da UFR-
GS, Sagra DC Luzzatto, 1998.
TEOREY, T.; LIGHTSTONE, S.; NADEAU, T.; JAGADISH, H. V.; Database Modeling and De-
sign Logical Design. 5 ed., Burlington USA: Elsevier, 2011.
CASTRO, E. B.; Modelagem Lgica de Dados: construo bsica e simplificada; Rio de Ja-
neiro: Editora Cincia Moderna, 2012.
PUGA, S.; FRANA, E.; GOYA, M.; Banco de Dados Implementao em SQL, PL/SQL e
Oracle 11g; So Paulo: Pearson Education do Brasil, 2013.
captulo 4 119
NO PRXIMO CAPTULO
No prximo captulo, estudaremos sobre o processo de normalizao, conceito tambm con-
siderado importantssimo para obtermos projetos de banco de dados ntegros e concisos!
120 captulo 4
5
Normalizao
5 Normalizao
No captulo anterior, aprendemos sobre o modelo de dados relacional, regras
de integridade de entidade e referencial. Vamos agora aumentar nossos conhe-
cimentos num assunto de extrema relevncia para a criao de projetos de ban-
co de dados bem estruturados.
Uma vez abstrados os principais conceitos relacionados ao modelo de dados
relacional, voc no deve ter se surpreendido pelo fato desse modelo ser ampla-
mente adotado, sendo considerado um clssico na maioria das literaturas que
discorrem sobre o assunto.
Neste captulo, estudaremos sobre a normalizao, o que , e para que aplica-
-la. Explicar o que uma tabela aninhada e aprender sobre as principais depen-
dncias funcionais.
Para fechar a unidade, estudaremos com exemplos prticos as cinco formas
normais (1FN, 2FN, 3FN, 4FN e 5FN), enfatizando as trs primeiras, essas con-
sideradas como inevitveis.
Para que seja possvel estudarmos de forma real todas as fases que envolvem o
processo de normalizao, devemos abstrair corretamente quando e como as de-
pendncias funcionais ocorrem. Para isso, a partir de agora, fique atendo quando
abordamos conceitos sobre dependncias funcionais.
OBJETIVOS
O propsito dessa unidade estudarmos o processo de normalizao de dados, de modo a
compreendermos suas principais fases. A partir desse conceito, deveremos estar aptos para
representar tabelas livres de redundncias e ou qualquer tipo de inconsistncias.
REFLEXO
Voc se lembra de nossa discusso no captulo 4 sobre os conceitos do modelo de dados
relacional?
Estudamos nos captulos anteriores sobre os nveis de abstrao, voc ainda se lembra?
Em relao s chaves-primrias, estrangeiras e regras de integridade, voc capaz de defini-los?
122 captulo 5
5.1 Normalizao
captulo 5 123
(2FN), logo aps, deve-se conduzir a terceira forma-normal (3FN), posterior-
mente, a quarta forma-normal (4FN) e, para finalizar o processo, deve-se aplicar
a quinta forma-normal (5FN). Conceitualmente, a forma normal mais elevada
possui melhor eficincia se comparamos com sua antecessora, isto , a 5FN
mais eficaz que a 4FN, que por sua vez, melhor que a 3FN, e assim, sucessiva-
mente. importante mencionar que, apesar do processo de normalizao de
dados ser constitudo por cinco formas normais, normalmente, em cenrios
empresarias convencionais, realizamos a aplicao das trs primeiras regras de
normalizao de dados, ou seja, 1FN, 2FN e 3FN, resultando em um esquema
de banco de dados considerado aceitvel. As regras que constituem a 4FN e 5FN
tornam-se aconselhvel apenas em estrutura de banco de dados que realmente
carecem da aplicao de tais regras.
ATENO
Regras de Normalizao: as regras de normalizao podem ser consideradas como sendo uma
formalizao dos bons princpios para o projeto de bancos de dados ou ainda como regras de
conduta na definio de registros em um projeto de banco de dados. (CASTRO, 2012).
Uma tabela dita como aninhada quando possui grupo de dados redun-
dantes, colunas multivaloradas, colunas no atmicas, isso , no possui dados
atmicos, e sim, tabelas inclusas dentro de outras. Para apresentar um exem-
plo de tabela aninhada (no normalizada) considere a Figura 5.1.
124 captulo 5
Empregado
CdProjeto Tipo Descrio Cd
Nome Categoria Salrio Data incio Tempo
Empregado
6124 Victor Nunes A1 2 11/01/2001 48
Fbio
5134 A2 2 10/02/2001 48
Cardoso
Desenvol- Jos
Sistema 4211 C1 4 10/03/2002 36
PSI001 vimento de Ribeiro
ERP
Solfware Carlos da
6162 A2 2 10/04/2002 36
Silva
Sonia
1189 A1 2 11/01/2002 24
Purcini
Sonia
1189 A1 2 05/01/2003 24
Sistema Purcini
Manuten-
PSI034 Apoio Jos
o 4211 C1 2 01/04/2001 48
Deciso Ribeiro
2141 Joo de Freitas A2 4 11/01/2002 24
Figura 5.1 Exemplo de aninhamento de tabelas
captulo 5
125
Pode-se identificar a existncia de aninhamento entre tabelas, sobretudo
por ser fcil de identificar duas tabelas aninhadas, ou seja, uma tabela com
os dados referente aos empregados e outra tabela ora armazenando os dados
acerca dos projetos desempenhados por esses mesmos empregados. Caso seja
aplicado o processo de mapeamento da tabela utilizada como exemplo (Figura
5.1), seria obtido como resultado final o esquema de dados abaixo:
Tabela
Aninhada
Esquema
na 1FN
Esquema
na 2FN
Esquema
na 3FN
126 captulo 5
5.1.2 Regra: Primeira forma normal (1FN)
1FN (1 Alternativa):
PROJETOS (CdProjeto, Tipo, Descrio, CdEmpregado, Nome,
Categoria, Salrio, DataIncio, Tempo)
captulo 5 127
J a segunda alternativa para a aplicao da 1FN na tabela aninhada utili-
zada como exemplo, cria-se uma tabela para a prpria tabela que est sendo
normalizada e uma tabela para representar cada tabela considerada aninhada.
1FN (2 Alternativa)
PROJETOS (CdProjeto, Tipo, Descrio).
128 captulo 5
1 Fase: a chave-primria da tabela na 1FN basicamente igual chave-
-primria da tabela aninhada (no normalizada).
Tabela No-Normalizada (Aninhada):
(CdProjeto, Tipo, Descrio,(CdEmpregado, Nome, Categoria, Salrio,
DataIncio, Tempo)).
1FN:
1FN:
(CdProjeto, Tipo, Descrio) (CdProjeto, CdEmpregado, Nome, Catego-
ria, Salrio, DataIncio, Tempo)).
captulo 5 129
3 Fase: estabelecer, na 1FN, as chaves-primrias das tabelas correspon-
dentes tabela aninhada. Nessa fase ento, para a tabela externa, sim-
plesmente transcrevemos a chave-primria para a tabela na 1FN.
1FN:
(CdProjeto, Tipo, Descrio) (CdProjeto, CdEmpregado, Nome, Catego-
ria, Salrio, DataIncio, Tempo)).
Agora possvel analisar o resultado final produzido pela 3 fase. Voc deve
estar se questionando: Em relao a chave-primria, qual seria a opo consi-
derada ideal para tabela PROJETOS_EMPREGADOS? Para escolhermos uma
chave-primria adequadamente, torna-se necessrio identificar com qual fre-
quncia os valores vinculados ao atributo CdEmpregado aparece na tabela
considerada aninhada. Apenas uma vez ou vrias vezes? Retorne na Figura 5.1
e obtenha essa informao.
No necessrio muito trabalho para certificar que um empregado, even-
tualmente, pode trabalhar em diversos projetos. Para exemplificar, os empre-
gados Sonia Purcini e Jos Ribeiro, esto alocados em dois projetos, esses des-
critos como Sistema ERP e Sistema de Apoio Deciso. Dessa forma, os valores
associados coluna CdEmpregado (chave-primria da tabela aninhada), de
forma inoportuna, se apresenta diversas vezes na tabela aninhada.
Sendo assim, torna-se necessrio a associao entre as colunas CdEm-
pregado e CdProjeto para identificar exclusivamente as diversas ocorrncias,
constituindo dessa maneira, o que denominamos de chave-primria composta.
1FN:
(CdProjeto, Tipo, Descrio) (CdProjeto, CdEmpregado, Nome, Catego-
ria, Salrio, DataIncio, Tempo))
130 captulo 5
CdProjeto Tipo Descrio
Desenvolvimento de
PSI001 Sistema ERP
Solfware
Empregado
CdPro- Cd Cate-
Nome Salrio Data incio Tempo
jeto Empregado goria
Fbio
PIS001 5134 A2 2 10/02/2001 48
Cardoso
Jos
PIS001 4211 C1 4 10/03/2002 36
Ribeiro
Carlos da
PIS001 6162 A2 2 10/04/2002 36
Silva
Sonia
PIS001 1189 A1 2 11/01/2002 24
Purcini
Sonia
PSI034 1189 A1 2 05/01/2003 24
Purcini
Jos
PSI034 4211 C1 2 01/04/2001 48
Ribeiro
Joo de
PSI034z 2141 A2 4 11/01/2002 24
Freitas
captulo 5 131
5.1.3 Regra: Segunda Forma Normal (2FN)
Para que seja possvel estudarmos as regras pertinentes a 2FN e 3FN, torna-se cru-
cial o entendimento adequado do conceito de dependncia funcional. Considere
uma tabela relacional qualquer, dizemos que uma coluna C2 depende funcional-
mente de uma coluna C1, isso , uma coluna C1 por sua vez, determinada C2, ou
ainda, para todas as tuplas da tabela, para cada valor de C1 presente na tabela,
aparece o mesmo valor de C2. A Figura 5.4 demonstra um exemplo de dependn-
cia funcional existente entre as colunas Cdigo e Salrio. A interpretao para
essa dependncia funcional seria: salrio depende funcionalmente de cdigo.
Cdigo Salrio
Figura 5.4 Dependncia funcional entre as colunas Salrio e Cdigo
A B C D
B 5 2 20
C 4 2 15
132 captulo 5
B 6 7 20
B 5 2 20
C 2 2 15
C 4 2 15
A 10 5 18
A 12 3 18
A 10 5 18
B 5 2 20
C 4 2 15
A 10 5 18
C 4 2 15
A B C D
B 5 2 20
C 4 2 15
B 6 7 20
B 5 2 20
C 2 2 15
C 4 2 15
A 10 5 18
captulo 5 133
A 12 3 18
A 10 5 18
B 5 2 20
C 4 2 15
A 10 5 18
C 4 2 15
(A, B) C
Empregado
Cd Cate-
CdProjeto Nome Salrio Data incio Tempo
Empregado goria
Fbio
PIS001 5134 A2 2 10/02/2001 48
Cardoso
Jos
PIS001 4211 C1 4 10/03/2002 36
Ribeiro
134 captulo 5
Carlos da
PIS001 6162 A2 2 10/04/2002 36
Silva
Sonia
PIS001 1189 A1 2 11/01/2002 24
Purcini
Sonia
PSI034 1189 A1 2 05/01/2003 24
Purcini
Jos
PSI034 4211 C1 2 01/04/2001 48
Ribeiro
Joo de
2141 A2 4 11/01/2002 24
Freitas
Uma tabela dita na 2FN, quando, alm de se enquadrar na 1FN, deve estar
livre de dependncia funcional parcial.
Bem, voc deve estar se perguntando. Afinal, o que uma dependncia fun-
cional parcial? Uma dependncia funcional parcial formada quando uma de-
terminada coluna depende apenas de parte de uma chave-primria composta.
Por meio do esquema a seguir, factvel a identificao de uma dependncia
funcional parcial.
1FN:
Note que as colunas nome, categoria e salrio dependem por sua vez apenas
de parte da chave-primria composta, isso , apenas da coluna CdEmpregado,
no tornando necessrio a associao entre as duas colunas (CdProjeto e C-
dEmpregado) para identificar exclusivamente os valores pertinentes as colunas
nome, categoria e salrio.
Com o propsito de distinguir uma dependncia funcional parcial de uma
dependncia funcional no parcial, considere o esquema utilizado acima, en-
tretanto, verifique que destacamos apenas as colunas que dependem de toda a
chave-primria composta.
captulo 5 135
Projetos_Empregados (CdProjeto, CdEmpregado, Nome, Categoria, Salrio, DataIncio, Tempo)
1FN:
(CdProjeto, Tipo, Descrio) (CdProjeto, CdEmpregado, Nome, Catego-
ria, Salrio, DataIncio, Tempo)
2FN:
(CdProjeto, Tipo, Descrio)
1FN:
Projetos_Empregados (CdProjeto, CdEmpregado, Nome, Categoria, Sal-
rio, DataIncio, Tempo)
136 captulo 5
parte dela? ou, para identificar exclusivamente um valor da coluna necessrio
o uso de toda a chave-primria ou apenas de parte dela?
Posteriormente essa verificao, colunas identificadas como dependentes
de toda a chave-primria composta devem permanecer na tabela original, con-
forme apresentado no esquema a seguir:
1FN:
2FN:
Projetos_Empregados (CdProjeto, CdEmpregado, DataIncio, Tempo)
2FN:
Projetos (CdProjeto, Tipo, Descrio)
Projetos_Empregados (CdProjeto, CdEmpregado, DataIncio, Tempo)
captulo 5 137
Projetos
Desenvolvimento de
PSI001 Sistema ERP
Solfware
Tabela: Projetos_empregados
Cd
CdProjeto Data incio Tempo
Empregado
Tabela: Empregados
Cd
Nome Categoria Salrio
Empregado
138 captulo 5
1189 Sonia Purcini A1 2
As regras referente 3FN tem como objetivo solucionar um outro tipo de redun-
dncia, conforme apresentado pelo esquema abaixo:
2FN:
Empregados (CdEmpregado, Nome, Categoria, Salrio)
Tabela: Empregados
Cd
Nome Categoria Salrio
Empregado
captulo 5 139
1189 Sonia Purcini A1 2
2FN:
3FN:
Empregados (CdEmpregado, Nome, Categoria)
140 captulo 5
Dessa maneira, as colunas que dependem de uma coluna que no cha-
ve-primria devem constituir uma nova tabela, conforme apresentado pelo es-
quema abaixo, onde criamos uma nova tabela intitulada de Categoria com os
atributos CdCategoria e Salrio.
3FN:
Categorias (CdCategoria, Salrio )
3FN:
Projetos (CdProjeto, Tipo, Descrio)
Projetos_Empregados (CdProjeto, CdEmpregado, DataIncio, Tempo)
Empregados (CdEmpregado, Nome, Categoria)
Desenvolvimento de
PSI001 Sistema ERP
Solfware
Tabela: Projetos_empregados
Cd
CdProjeto Data incio Tempo
Empregado
captulo 5 141
PIS001 6162 10/04/2002 36
Tabela: Empregados
Cd
Nome Categoria
Empregado
Tabela: Categorias
CdCategoria Salrios
A1 2
A2 2
C1 4
142 captulo 5
5.1.5 Regra: Quarta Forma Normal (4FN)
Cdigo Cdigo
PROJETO EQUIPAMENTO
Nome Nome
Utilizao
Cdigo
EMPREGADO
Nome
captulo 5 143
Tabela: Utilizao
1 1 1
1 2 1
1 3 1
1 1 2
1 2 2
1 3 2
2 2 2
2 2 4
3 3 1
3 4 1
3 3 3
3 4 3
3 3 5
3 4 5
4 2 5
144 captulo 5
se tipo de dependncia funcional. Note que a sua notao diferente das de-
mais dependncias funcionais estudadas at o presente momento.
Para que uma tabela atenda as regras da 4FN, alm de atender as regras da
3FN, no poder existir mais de uma dependncia funcional multivalorada.
Para adequarmos a relao UTILIZAO para a 4FN, devemos realizar a seguin-
te modificao:
3FN:
Utilizao (CdProjeto, CdEmpregado, CdEquipamento )
4FN:
Projetos_Empregados (CdProjeto, CdEmpregado)
Projetos_Equipamentos (CdProjeto, CdEquipamento)
Dessa forma, podemos concluir que as tabelas Projetos_Empregados e Pro-
jetos_Equipamentos presentes no esquema anterior contemplam as regras
pertinentes a 4FN.
captulo 5 145
Uma dependncia funcional cclica ocorre quando as seguintes dependn-
cias esto presentes em uma tabela:
A B; B C; C A
Ou seja, B depende funcionalmente de A, C depende funcionalmente de B e,
por sua vez, A depende funcionalmente de C, fechando um ciclo, caracterizan-
do uma dependncia funcional cclica.
ATENO
Comparando as regras da 3FN e BCNF, factvel de identificar a existncia de vantagens
para a 3FN, na medida em que sabemos que sempre possvel obter um projeto que atenda
as regras da 3FN sem sacrificar a preservao de dependncia ou da ausncia de perda.
(Silberschatz, et Al, 2006).
Tabela: Professor
Professor Disciplina
Banco de Dados 1
Jos Ribeiro
Bancos de Dados 2
Engenharia de Software
Fernando Feliciano
Anlise de Projeto de Sistemas
146 captulo 5
Tabela: Professor_Apostila
Professor Apostila
Tabela: Disciplina_Apostila
Disciplina Apostila
Banco de Dados 1
Banco de Dados 1 e 2
Bancos de Dados 2
Engenharia de Solfware
Engenharia de Solfware
Anlise e Projeto de Sistemas
captulo 5 147
CONEXO
Leia mais sobre normalizao de dados em: <http://imasters.com.br/artigo/7020/banco-
de-dados/modelagem-de-dados-final-normalizacao/>
ATIVIDADE
5. Conceitue adequadamente o processo de normalizao de dados. Cite suar principais
formas.
REFLEXO
Parabns! Voc est se tornando um especialista em modelagem de dados!
Neste captulo estudamos as principais regras utilizadas para realizar a normalizao de da-
148 captulo 5
dos. A normalizao de dados um processo trivial em um projeto de banco de dados. Por
meio da normalizao eliminamos as anomalias de insero, alterao e remoo.
Alm de compreendermos os principais tipos de dependncias funcionais, agora seremos
capazes de identifica-las e ao mesmo tempo, elimina-las a fim de estruturarmos adequada-
mente nossa relao.
Vimos tambm que a utilizao das regras pertinentes a 4FN e 5FN torna-se necessrio
apenas em esquemas de banco de dados bem especficos, sobretudo por no ser habitual
encontrarmos dependncias funcionais multivaloradas e cclicas.
LEITURA
Artigos on-line: para voc incrementar mais o seu nvel de aprendizagem do processo de nor-
malizao de dados:
http://www.devmedia.com.br/normalizacao-de-banco-de-dados/29555
http://www.devmedia.com.br/passo-a-passo-para-modelagem-de-dados/28326
Livro: Sistema de Banco de Dados, Silberschatz, A., Korth, H. F., Sudarshan, S. Neste livro voc
encontrar um contedo especfico de normalizao de dados, muito desta unidade foi basea-
da nos conceitos deste livro. Vale a pena sua consulta. Dedique-se bastante sobre o processo
de normalizao de dados, conhecer as principais regras de normalizao de grande impor-
tncia para manipularmos dados de forma integra e concisa.
REFERNCIAS BIBLIOGRFICAS
ELMASRI, R.; NAVATHE, S.B. Sistemas de bancos de dados. So Paulo: Pearson (Addison
Wesley), 2005.
HEUSER, C. A. Projeto de Bancos de Dados. 2. ed. Porto Alegre: Sagra Luzzatto, 1999.
captulo 5 149
ROB, P.; CORONEL, C. Sistemas de Banco de Dados: Projeto, Implementao e Administra-
o. 8. Ed. So Paulo: Cengage Learning, 2011.
SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. 5. ed. Rio
de Janeiro: Elsevier, 2006.
DATE, C. J.; Introduo a Sistemas de Banco de Dados; 8. Ed.; Trad. Daniel Vieira; Rio de
Janeiro: Elsevier, 2003.
HEUSER, Carlos Alberto. Projeto de Banco de Dados. 4 ed. Instituto de Informtica da UFR-
GS, Sagra DC Luzzatto, 1998.
TEOREY, T.; LIGHTSTONE, S.; NADEAU, T.; JAGADISH, H. V.; Database Modeling and De-
sign Logical Design. 5 ed., Burlington USA: Elsevier, 2011.
EXERCCIO RESOLVIDO
Captulo 1
1. Cite pelo menos trs exemplos de Dados e Informaes, num contexto de empresarial
qualquer. Detalhe cada um.
Sugesto de Resposta: Podemos exemplificar dados e informaes da seguinte maneira.
Imagine respectivamente que voc encontre esses trs dados em um e-mail existente
em sua caixa de mensagens: R$ 2.567,00, Rafael Carvalho e Elizabeth Mendes da Cos-
ta. Bem, voc pode concordar que esses dados no evidenciam nenhuma informao,
por simplesmente desconhecermos o contexto o qual os mesmos esto inseridos. Agora,
suponha que o primeiro dado (R$ 2.567,00) esteja associado ao contexto de uma conta
bancria, assim, poderamos subtender que esse dado agora seria a informao do saldo
atual dessa mesma conta. Por sua vez, o segundo dado se encontra incluso no contexto
acadmico, sendo assim, Rafael Carvalho se trataria do nome do aluno que foi aprovado
em uma determinada disciplina. E, por fim, o dado Elizabeth Mendes da Costa, esteja asso-
ciado ao contexto hospitalar, gerando a informao de que esse dado diz respeito
150 captulo 5
ao nome de uma paciente qualquer. Dessa maneira, podemos concluir de que o dado ni-
co e exclusivamente sozinho no nos gera nenhuma informao, tornando-se imprescin-
dvel conhecermos o contexto (regra de negcio) o qual o mesmo se encontra associado.
Captulo 2
captulo 5 151
rias entidades. Como primeiro exemplo, suponha a existncia de um relacionamento o
qual associa as entidades Funcionrio e Cliente essa nomeada de atende, que pode
ser interpretado da seguinte maneira: um funcionrio atende um ou vrios clientes. Um
cliente atendido por nenhuma, ou no mximo um funcionrio. Para o segundo exemplo,
considere um relacionamento nomeado de trabalha que associa as entidades Departa-
mento e Funcionrio. A interpretao desse relacionamento seria algo similar a: em um
departamento pode trabalhar nenhum ou vrios funcionrios, por outo lado, um
funcionrio pode trabalhar em no mximo um departamento. E para finaliza os exemplos
de relacionamentos, suponha a existncia das entidades Professor e Disciplina, um
relacionamento sugestivo seria ministra. Sua interpretao poderia ser algo como: um
professor ministra um ou vrias disciplinas, e pode sua vez, uma disciplina pode ser minis-
trada por um ou vrios professores.
CNPJ Nmero_Sala
Razo_Social Tamanho
Endereo Andar
(1,1)
contm
(0,n)
152 captulo 5
visualizao das suas respectivas ramificaes. Como principais desvantagens, comparan-
do-se com o modelo de rede, podemos citar: representao exclusiva do relacionamento
um para muitos (1:M) existente entre o segmento pai e seus respectivos filhos, isto , cada
segmento pai possui diversos segmentos filhos, porm, cada segmento filho, por sua vez,
possui apenas vinculado a ele um segmento pai; ausncia de independncia estrutural e a
dificuldade em gerenciar e manipular registros.
Captulo 3
captulo 5 153
pelo nmero de entidades participantes do mesmo relacionamento. A citar unrio (grau
um), binrio (grau dois), ternrio (grau trs) e nrio (faz uso de mais de trs entidades).
3. Imagine um contexto acadmico, o qual, poderamos considerar uma sala de aula. Qual seria
a cardinalidade mxima de um professor em relao aos alunos, como tambm, dos alunos
em relao ao professor?
Sugesto de Resposta:
(1,n) (0,n)
Professor possui Aluno
Captulo 4
1. Conceitue chave-primria simples e composta. D pelo menos trs exemplo de cada tipo de
chave-primria.
Sugesto de Resposta: uma chave-primria possui algumas caractersticas relevantes, a
citar: os atributos definidos para constituir a chave-primria, por definio, tm que pos-
suir valores nicos para cada registro na relao; nenhum dos atributos que constituem
a chave-primria poder, em hiptese alguma, possuir valores nulos em nenhum registro
e no caso da chave-primria ser composta, no poder ser adicionado mais atributos do
que os mnimos necessrios para identificar os registros de forma unvoca. Uma chave-
-primria simples necessita de apenas um atributo para identificar exclusivamente uma
ocorrncia de uma entidade qualquer, todavia, uma chave-primria composta, precisa de
mais de um atributo para identificar uma ocorrncia de endidade.
2. Utilize suas prprias palavras para discorrer sobre os conceitos de Restrio de Integridade
de Entidade (RIE) e Restrio de Integridade Referencial (RIR). Cite exemplos para ambos
os conceitos.
Sugesto de Resposta: A restrio de integridade de entidade (RIE) tem como propsito
garantir o acesso aos dados sem nenhuma ambiguidade. Para exemplificar o emprego da
RIE, considere uma tupla qualquer, ora existente na relao R, dizemos que o valor de cada
atributo que constitui a chave-primria de (t) deve ser
diferente de nulo e, ainda, no poder haver outra tupla (t) na relao (R) com o mesmo
154 captulo 5
valor de chaveprimria de (t). J a restrio de integridade referencial, poder ser exem-
plificada considerando uma tupla (t) qualquer e um chave-estrangeira em (t), o valor de
chave-estrangeira pode ser nulo se e somente se os atributos de chave-estrangeira no
formarem a chave-primria de (t), e ainda, o valor da chave-estrangeira poder ser diferen-
te de nulo apenas se existir uma tupla (t) na relao referenciada tal que a chave-primria
de (t) possuir o mesmo valor da chave-estrangeira de (t).
3. Analise os requisitos a seguir e constitua sua modelagem relacional que atenda algumas
necessidades de informao, a citar: Qual o cdigo e a descrio de cada projeto desempe-
nhado na empresa? Qual o nmero da matrcula e nome de cada funcionrio? Quais so
as possveis funes desempenhadas na empresa?
Sugesto de Resposta:
(0,n)
desempenha
(1,n)
Funo
4. Imagine que uma empresa os funcionrios trabalham em projetos, onde em cada projeto um
funcionrio poder exercer diversas funes de acordo com as regras expostas abaixo:
Os funcionrios podem realizar distintas funes em diversos projetos;
Eventualmente, um funcionrio pode exercer em um mesmo projeto distintas funes;
Em um determinado projeto podemos ter uma mesma funo (atribuio) exercida
por distintos
funcionrios;
Por outro lado, um funcionrio poder realizar a mesma funo em distintos projetos.
Sugesto de Resposta: (similar ao DER anterior, porm, agora incrementamos as cardina-
lidades a fim de atender as regras).
captulo 5 155
5. Quais caractersticas so desejveis para uma chave-candidata?
Sugesto de Resposta: Uma chave-candidata uma chave que apresenta obrigatoria-
mente as duas caractersticas a seguir: (1) unicidade: no h duas linhas (tuplas) distintas
na tabela com o mesmo valor para os atributos da chave; (2) irredutibilidade: no existe um
subconjunto de atributos da chave que apresentem a caracterstica de unicidade.
Captulo 5
156 captulo 5
4. Define adequadamente as dependncias funcionais existentes em uma tabela que no
contempla as regras da 4FN e 5FN.
Sugesto de Resposta: Uma tabela para contemplar as regras pertinentes a 4FN e
5FN devem respectivamente eliminar o que denominamos de dependncia funcional
multivalorada e transitiva
captulo 5 157