Escolar Documentos
Profissional Documentos
Cultura Documentos
Arquivo e Banco de Dados
Arquivo e Banco de Dados
InstitutodeCinciasExatasICEx
Curso:TecnologiaemProcessamentodeDados
Professor:Eduardo
Aluna:__________________________________
Turma:4PDA
Arquivo
e
BancodeDados
BrasliaDF,Marode1999
1
PROJETODEBANCODEDADOS
PARTEI
INTRODUO ............................................................ 1
CAPTULOICONCEITOSBSICOS
1.Arquivo.................................................................................... 2
2.Registro.................................................................................. 2
3.Campo .................................................................................... 3
4.ChavePrimria ....................................................................... 4
5.ChaveSecundria .................................................................. 5
6.ChaveCandidata.................................................................... 6
CAPTULOIIORGANIZAODEARQUIVOS
1.MtodoDeAcesso ................................................................. 7
2.OrganizaoSeqencial ........................................................ 9
3.OrganizaoSerial ............................................................... 10
4.OrganizaoIndexada ......................................................... 11
CAPTULOIIISGBD
1.SistemaGeranciadordeBancodeDadosSGBD ........... 13
2.BancodeDados ................................................................... 13
3.SistemaemBancodeDados............................................... 13
CAPTULOIVOBJETIVOSDEBANCODEDADOS
1.Independnciadedados ...................................................... 15
2.Compartilhamentodedados ................................................ 16
3.Menorredundncia............................................................... 16
4.Privacidadededados ........................................................... 17
5.Seguranadedados ............................................................ 17
6.Tratamentodeconcorrncia................................................ 18
7.Integridadededados............................................................ 18
CAPTULOVLINGUAGENSDEBD
1.SQL....................................................................................... 19
2.Autocontidas ......................................................................... 22
3.Hospedeiras.......................................................................... 22
4.Visuais .................................................................................. 23
2
CAPTULOVIMODELOHIERRQUICO
1.limitaesdosmodeloshierrquicos ................................... 24
CAPTULOVIIMODELOREDE
1.CaractersticasdosmodelosRedeCODASYL .................... 27
CAPTULOVIIIMODELORELACIONAL
1.TerminologiadoModeloRelaciona...................................... 31
2.Regrasdeintegridade .......................................................... 32
3.OperadoresRelacionais ....................................................... 36
4.PropriedadesRelacionais..................................................... 36
5.VantagensdoModeloRelacional......................................... 38
CAPTULOIXLGEBRARELACIONAL
1.Estudodecaso ..................................................................... 40
2.Generalidades ...................................................................... 42
3.OperadoresdeConjunto...................................................... 43
4.OperadoresRelacionais ....................................................... 47
PARTEII
CAPTULOINORMALIZAO
1.Definio............................................................................... 51
2.AnomaliasdeAtualizao .................................................... 52
3.Terminologia ......................................................................... 53
4.NotaesparadescriodasEstruturasdeDados............. 56
5.EsquemadaNormalizao .................................................. 58
6.RelacesnoNormalizadas................................................ 59
7.PrimeiraFormaNormal(1FN).............................................. 60
8.EscolhadaChavePrimria .................................................. 61
9.SegundaFormaNormal(2FN)............................................. 64
10.TerceiraFormaNormal(3FN) ............................................ 65
EXERCCIOSI.......................................................................... 67
EXERCCIOSII......................................................................... 71
AVALIAO............................................................................ 73
BIBLIOGRAFIA........................................................................ 75
3
PROJETODEBANCODEDADOS
PARTEI
4
INTRODUO
EstetextointroduzateoriadeBANCODEDADOS,apartirdeconceitos
bsicos da teoria de arquivos que perpetuaramse na terminologia de
banco de dados. Na sequencia aborda superficialmente os modelos
HIERRQUICO e REDE (por razes de mercado) e de forma mais
aprofundadaoMODELORELACIONAL,oqualdesignaremosnestetexto
pelasiglaSGBDR.
1
CAPTULOI
CONCEITOSBSICOS
ParacompreendercommaiorfacilidadeosconceitosrelativosaBANCO
DEDADOSdesumaimportnciarevisarmosalgunsconceitosbsicos
referentes teoria e terminologia de arquivos convencionais, hajavista,
que os primeiros SGBD foram criados a partir do aperfeioamento de
sistemas gerenciadores de arquivo, e ainda utilizam muito da base
conceitualedaterminologiadearquivos.
1.ARQUIVO
UmarquivoumacoleodeREGISTROSdomesmotipo,ouseja,
referentes a um mesmo assunto e com o mesmo formato padro
(layout).Constituiocomponentedosistemanoqualsoarmazenados
os dados, que combinados atravs dos programas servem de base
para a gerao da informao desejada pelo usurio, atravs de
relatrioseconsultasonline.
Umsistemadecontroledenotas,porexemplo,podearmazenarseus
dados em diversos arquivos, cada um contendo informaes sobre
um determinado item do sistema: ALUNO, PROFESSOR, MATRIA,
NOTA,etc.
2.REGISTRO
2
3.CAMPO
_Armazenasomentenmeros
NUMBER _Podecontercasasdecimais
_Podeserutilizadoemoperaesmatemticas
CHARou _Podearmazenarletras,nmerosecaracteres
ALFANUMRICO especiais
DATE _Armazenadatasfazendoconsistnciaautomtica
MEMOouLONG _Armazenatextosemformatolivre
AfiguraaseguirsintetizaosconceitosdeARQUIVO,REGISTROeCAMPO:
ARQUIVOALUNO
LAYOUT
CAMPOS MATRICULA NOME ENDEREO DT_NASC
TIPOeTAM. NUMBER(03) CHAR(30) CHAR(50) DATE
001 Jos SQS308... 23/08/78
REGISTROS 002 Maria QND14.... 25/09/70
003 Ana SQN410... 10/08/85
. . . .
. . . .
3
4.CHAVEPRIMRIA(PRIMARYKEYPK)
Emregra,todoarquivodevepossuirumachaveprimria,quepermita
a identificao inequvoca doregistro,especialmente, paradarmaior
consistncia aos processos de incluso, alterao e excluso de
dados.
Naescolhadachaveprimriadeumarquivodevesebuscarcampos
que possuam ESTABILIDADE no valor armazenado. A escolha do
NMERO DO TELEFONE como chave de um cadastro de clientes,
por exemplo, seria inadequada,por que esse valor pode mudar com
freqncia. Sem considerar que o cliente pode ter mais de um
telefone...
DICASPARAESCOLHADACHAVEPRIMRIA:
_Todoarquivodevepossuirumachaveprimria.
_VALORNICOparacadaregistro.
_SIMPLESouCOMPOSTA.
_CamposdePREENCHIMENTOOBRIGATRIO.
_ValorESTVEL.
_NoAMBGUO.
_PEQUENAEXTENSO(menorpossvel).
_DeprefernciaCAMPOSNUMRICOS
4
5.CHAVESECUNDRIA
AfiguraaseguirilustraosconceitosdeCHAVEPRIMRIAe SECUNDRIA
ARQUIVOALUNO
PK
MATRICULA NOME ENDEREO DT_NASC
001 Jos SQS308... 23/08/78
003 Maria QND14.... 25/09/70
002 Ana SQN410... 10/08/85
005 Jos GAMA 05/04/76
. . . .
AcessoviaCHAVESECUNDRIA(NOME)noarquivoALUNO:
PROGRAMAX
INCIO....
.
SENOME=JOS
ENTOIMPRIMIR
.....
.
.
FIM
5
6.CHAVECANDIDATA
AfiguraaseguirmostraumexemplodearquivocomCHAVECANDIDATA
ARQUIVOALUNO
CHAVECANDIDATA
CHAVEPRIMRIA
6
CAPTULOII
ORGANIZAODEARQUIVOS
Otemaorganizaodearquivosrefereseaformacomoosregistros
so armazenados em um arquivo baseado em computador.
Confundese com MTODO DE ACESSO, que consiste na forma
como esses podem ser recuperados. A organizao do arquivo
determina os mtodos de acesso que podem ser utilizados na
recuperaodosregistros,mastratamsedecoisasdistintas.
1.MTODOSDEACESSO
exemplo:
PROGRAMAY
INCIO....
.
Repitaatfim
lerregistro chavesecundria(campochave)
SENOME=JOS argumentodepesquisa
ENTOIMPRIMIR
Fimrepita(voltealer)
.
FIMDOPROGRAMA
7
OmtodoDIRETOconsisteemrecuperaro(s)registro(s)desejado(s),
sem a necessidade de efetuar a leitura dos registros que o(s)
antecede(m), o que pode ser feito atravs de um NDICE (que
abordaremos no item organizao indexada)ou com o auxliodeum
algoritmo de RANDOMIZAO que localiza o registro, calculando a
posio ocupada pelo registro no disco, com base no valor do
argumentodepesquisa,quedeveserumcamponumrico.
exemplo:
PROGRAMAZ
INCIO....
.
.
ABRIRARQUIVOALUNOINDEXADOPORNOME
.
NOME=JOSargumentodepesquisa
LOCALIZARREGISTRO acessodireto(indexado)
SEENCONTROUREGISTRO
ENTOIMPRIMIR
.
.
FIMDOPROGRAMA
8
2.ORGANIZAOSEQENCIAL
chaveprimriachavedeordenao
9
3.ORGANIZAOSERIAL
Nestaformadeorganizaoosregistrossoarmazenadosdeacordo
comaordemdeincluso.oarquivonopossuichavedeordenao,
portanto no existe preocupao com a ordem de armazenamento
dos registros. No entanto, sempre recomendvel o arquivo possua
umachaveprimria.
muitoutilizadaemprocessosdeinclusoderegistrosondenohaja
preocupao em manter a seqncia dos mesmos (pools de
digitao). tambm empregada no arquivo de dados que serve de
baseparaaorganizaoindexada,queestudaremosnoprximoitem.
ARQUIVOALUNO
chaveprimria
10
4.ORGANIZAOINDEXADA
Osregistrosdosarquivosndicesoordenadospeloendereolgico.
Portanto, se utilizarmos um algoritmo de leitura seqencial em um
arquivoindexadopornome,porexemplo,obteremososregistrosem
ordemalfabtica,mesmosendooarquivodedadosumarquivoserial.
Ou seja prevalece a ordem do ndice. Porm nesse exemplo, a
performance a performance do arquivo indexado seria menor, se
comparadaadeumarquivoseqencialpornome.
Semprequeumarquivondiceforreferenciadoporumprograma,ele
ser carregado para memria principal, o que torna desprezvel o
tempodebuscadosregistrosnessearquivo.Almdisso,oalgoritmo
utilizadonabuscaodepesquisabinria,oquereduzaindamaiso
tempo.
11
Em resumo, a organizao indexada formadapela combinao de
pelomenosumarquivodedadoseumoumaisarquivosdendice.
AfiguraaseguirapresentaocenriodaORGANIZAOINDEXADA.
ARQUIVOALUNO
NDICE
PRIMRIO
TRILHA,SETORELADODODISCO
MATR TSL (endereofsico)
001 220
002 321 chaveprimria(endereolgico)
003 231
005 110
.
TSL MATR NOME ENDEREO DT_NASC
110 005 Maria SQS308... 23/08/78
NDICE 231 003 Jos QND14.... 25/09/70
SECUNDRIO
321 002 Ana SQN410... 10/08/85
NOME TSL 220 001 Jos GAMA 05/04/76
Ana 321
Jos 220 331 . . . .
Jos 231
Maria 110
. 331
12
CAPTULOIII
SISTEMAGERENCIADORDEBANCODEDADOSSGBD
Aexpresso BANCODEDADOS,coloquialmenteempregadacomosmaisdiversossignificados,
detalsorteque,aoindagarmosdealgumsobreoBANCODEDADOScom oqualtrabalhaem
suaempresa,poderemosobterasseguintesrespostas:
1.TrabalhocomORACLE,ACCESS,SQLSERVER,SYBASE,etc..
2.TrabalhocomobancodedadosdePESSOAL,MATERIALouFINANAS
3.TrabalhocomoCADASTRODEPESSOAL,SISTEMADEVENDAS,etc.
1.SISTEMAGERENCIADORDEBANCODEDADOSSGBD
Essa expresso estar corretamente empregada, quando utilizada
para designar o SOFTWARE utilizado para criar um BANCO DE
DADOS. Portanto, tratandose de SGBD estaremos nos referindo a
produtos como ACCESS, ORACLE, SYBASE, SQL SERVER,
ADABAS,etc.
2.BANCODEDADOSBD
Esseenunciadorefereseaumconjuntodeinformaesrelacionadas,
quesoarmazenadasnocomputadorerecuperadascomautilizao
dos recursos de um SGBD. Essas informaes devem ser
estruturadas, de tal maneira, que independam de aplicaes
especficas. Ou seja, um BD de PESSOAL, adequadamente
estruturado,podefornecerdados,tantoparaumsistemadeFolhade
Pagamento, quanto para um sistema de Treinamento de Recursos
Humanos.
3.SISTEMAEMBANCODEDADOSSBD
SECRETARIA
TESOURARIA
BDDEALUNOS CONTROLEDE
CADASTRO MENSALIDADES
DEALUNOS
SGBDSQLSERVER
CONTROLE EMPRSTIMOS
DENOTAS DELIVROS
DENOTAS
PEDAGOGA BIBLIOTECA
14
CAPTULOIV
OBJETIVOSDEBANCODEDADOS
Odesenvolvimentodatecnologiadebancodedadostemse pautadoporbuscaralcanar, como
objetivopermanenteoaumentodeprodutividadenasatividadesdedesenvolvimentoemanuteno
desistemas.Nessesentidoos fabricantes deSGBDvem dotandoseusprodutos commecanismos
quefacilitamaadaptaodosBDsnovasnecessidadesquesurgemnodiaadiaequereduzemo
trabalho de programao. Aliado a esses dois fatores existe toda uma filosofia que orienta os
tcnicosnaescolhadomelhorprodutoparaasuaempresaenotrabalhodeprojetodebancode
dados.
Dessafilosofiadestacamos,aseguir,algunsobjetivosdeBD,osquaisumprofissionaldeveterem
menteaolidarcomessatecnologia.
1.INDEPENDNCIADEDADOS
Os SGBD devem ser dotados de recursos que possibilitem a
descrio das estruturas de dados (layout de arquivos e/ou tabelas)
de forma independente dos procedimentos demanipulao (leitura e
gravao) de dados no BD. Esse objetivo visa tornar transparente
paraosprogramasqueacessamoBDasalteraesque,porventura,
venham a ocorrer nas estruturas de dados, como por exemplo o
acrscimo de um novo campo de informao ao banco. Da mesma
forma, alteraes em lgicas de programas que acessam o BD no
devemafetarasestruturasdedados.
Quantomaiorograudeindependnciadedados,menorserotempo
emqueoBDficarforadeoperaoparaatividadesdemanuteno
como,porexemplo,recompilao.
15
2.COMPARTILHAMENTODEDADOS
ConsistenareutilizaodosdadosdoBDpelomaiornmeropossvel
de aplicaes dentro da empresa. Nesse sentido, os dados do BD
devem ser muito bem planejados e estruturados. Portanto, este
objetivodebancodedadosestamaisligadoaatividadedeanlisee
projetodeBD.
Ocompartilhamentodedadosvisadiminuiraredundnciadedados,
considerandoo como um recurso da empresa e no propriedade de
setoresisoladosdaorganizao.
Para implementar o compartilhamento de dados necessrio que a
empresadisponhaderecursosderede,quepermitamcolocaroBD
ao alcance dos diversos usurios. Alm disso, necessrio que o
SGBD possua um competente sistema de segurana, para que se
estabelea a privacidade de dados, atravs de mecanismos de
restriodeacesso.
3.MENORREDUNDNCIADEDADOS
Redundnciadedadosconsistenarepetiodeummesmodadoem
diversosarquivos(tabelas)deumsistema,bancodedados,ambiente
computacional ou empresa. Como exemplo, podese tomar a
ocorrnciadodadoNOMEDOFUNCIONRIO,embasesdedados
no compartilhadas dos sistemas de CADASTRO, FOLHA DE
PAGAMENTOeTREINAMENTOdeumaempresa.
16
4.PRIVACIDADEDEDADOS
O COMPARTILHAMENTO DE DADOS leva um grande nmero de
usurios, com funes diversificadas na empresa, a acessar um
mesmobancodedados.Nessecontexto,o objetivode privacidade
dedadosressaltaapreocupaoqueoprojetistadeBDdeveterem
vedar o acesso de usurios no autorizadosa informaes sigilosas
oudeacessorestrito.
5.SEGURANADEDADOS
AseguranadasinformaesarmazenadasnoBDpodeserencarada
sobdoisprismas:SEGURANALGICAeSEGURANAFSICA.
17
6.TRATAMENTODECONCORRNCIA
ExistemvriosnveisdeLOCK.Asopesvariamconformeoproduto
(SGBD) analisado, sendo que os mais comuns ocorrem a nvel de
tabela,pgina(conjuntoderegistros)elinha(nvelmaisbaixo).
CabelembrarqueonveldebloqueioinfluinaperformancedoSGBD
emambientesdemissocrtica(altosndicesdeacessoconcorrente),
sendoquequantomenoronveldeLOCK,aperformancetendeaser
melhor. Ressaltase que alm desse, existem outros fatores que
influenciamnaperformancedoSGBD.
7.INTEGRIDADEDEDADOS
Aintegridadededadosrefereseamecanismosqueestodisponveis
nosSGBD,quegarantemaconsistnciadosdadosarmazenadosno
SGBD,segundoparmetrosdevalidao,especificadosnomomento
decriaodoBD,emconjuntocomasestruturasdedados.
Esseobjetivossetornoudisponvel,comorecursodoSGBD,como
advento dos modelos Relacionais e consta como prrequisito para
enquadramentodeprodutosnessacategoriadeSGBD.
NocaptulodedicadoaosSGBDrelacionaistrataremosesseassunto
commaiorriquezadedetalhes.
18
CAPTULOV
LINGUAGENSDEBANCODEDADOS
AslinguagensdebancodedadosconsistemnainterfacedousurioparainteragircomoSGBD.
Neste texto destacamos quatro modalidades de linguagens que so mais comunmente utilizadas
nessa interao: SQL, autocontida, hospedeira e visuais. Esta uma classificao meramente
didtica que objetiva apenas demostrar formas diferenciadas de interao com o BD. Outros
autorespossuemdiferentesclassificaes.
1.SQL(STRUCTUREDQUERYLANGUAGE)
AliguagemSQL(anteriormenteescritaSEQUEL)foicriadajuntocomoSistemaR,primeiro
prottipodeSGBDR,desenvolvidode1974a1979noIBMSanJoseResearchLaboratory.A
veso original do SQL foi baseada em uma linguagem anterior chamada SQUARE. As duas
linguagens so essencialmente a mesma, mas a SQUARE usa uma sintaxe bem mais
matemtica,enquantoaSQLmaisparecidacomoingls.
AlinguagemSQLmaisdoquesomenteumalinguagemdeconsulta,semqueistoseoponha
aoquerynoseunome.Elafornecefunesderecuperaoeatualizaodedados,almde
criao,manutenodaestruturadedadosecontroledoambientedoBD.
uma linguagem essencialmente interativa, porm pode ser embutida em outras linguagens
procedurais (que neste texto chamamos linguagem hospedeira) para ser utilizada em
programasbatchouonline,queacessamoBD.Suasprincipaiscaractersticasso:
_Padrodeacesso.TodooacessoaoBDRelacionalfeito emSQL,mesmoqueembutidaem
outralinguagem.
_ Interpretada(nocompilada),caracteristicaqueprovmaiorgraudeindependnciadedados
aos BD relacionais, ou seja, faz com que a aplicao reconhea alteraes nas estruturas de
dados,semnecessidadedeserrecompilada.
_ DDL, DML e DCL. O SQL possui esses trs grupos de comandos, montados conforme a funo do
comando no banco de dados. Esta caracterstica tambm relacionase independncia de dados, uma
vezquepodesedescreverosdados(DCL)deformaindependentedasaplicaes(DML).
_ DDL (Data Definition Languge). Linguagem para definio de dados, que compreende os
seguintescomandosSQL:
_ CREATE Utilizadoparacriarobjetos(tabela,ndice,view,sequence,etc.)noBD.
Exemplo:Criaodatabelafuncionriocomosatributosmatriculaenome.
CREATETABLEfuncionrio
(matriculanumber(05)
nomechar(30)
19
_ ALTER Utilizado para alterar objetos do BD (adicionar colunas, modificar tipo de
dados,adcionarintegridade,etc.).
Exemplo:Adiodaintegridadedechaveprimriatabelafuncionrio.
ALTERTABLEfuncionrio
ADDCONSTRAINTPRIMARYKEY(matricula)
_ DROP ExcluiobjetosdoBD.
Exemplo:ExclusodatabelafuncionriodoBD.
DROPTABLEfuncionrio
20
_ DML (Data ManipulationLanguge). Linguagempara manipulao
dededados,quecompreendeoscomandosparaqueousriointeraja
comosdadosarmazenadosnoBD.
SELECT Comandode leitura,utilizado paraque ousurio possa
efetuar consultas (query) nas tabelas do banco de dados. o
comando mais poderoso do SQL, efetua as sete operaes da
algebra relacional conforme veremosno captulo VIII. Seu formato
bsico SELECTFROMWHERE (leiadeonde). Pode ser
combinado com os demais comandos SQL constituindo sub
queries.OresultadodetodocomandoSELECTumatabela,que
podeconteruma,nenhumaouNlinhas.
Exemplo: Ler da tabela funcionrio matricula e nome, onde o
salriosejamaiordoque500,00.
SELECTmatricula,nome
FROMfuncionrio
WHEREsalrio>500,00
INSERTINTOfuncionrio(matricula,nome)
VALUES(20,MariadoCarmo)
UPDATEfuncionrio
SETsalrio=1200
WHEREmatricula=20
DELETEfuncionrio
WHEREmatricula=20
21
2.LINGUAGEMAUTOCONTIDA
EstamodalidadedelinguagemaextensoproceduraldoSQL,que
nos SGBDR utilizada para desenvolvimento de programas que
ficam residentes no banco de dados (TRIGGERS, STORED
PROCEDURES,FUNCES).AcrescentaaoSQLinterativoestruturas
de deciso (IFTHENELSE) e repetio (LOOP, FOR e/ou DO
WHILE).umalinguagemproprietria(CadaSGBDpossuiasua).Os
programas escritos nessa linguagem geralmente assemelhamse a
programasPASCAL.
3.LINGUAGEMHOSPEDEIRA
So linguagens procedurais de 3 gerao (notadamente o COBOL)
utilizadas como hospedeiras (host) de comandos prprios de banco
dedados.LinguagenshospedeirasforammuitoutilizadasnosSGBD
dos modelos Hierrquicos e Rede, dado que nestas geraes de
SGBD ainda no existia o SQL com toda a sua simplicidade e
potencialidade. Por outro lado, imperava uma forte cultura nas
linguagensCOBOL,PL/1,FORTRAN,etc....quefoiaproveitadapelos
fabricantesdeSGBD,facilitandoaintroduodessanovacultura.
OsSGBDqueutilizamlinguagenshospedeiras.possuemumsoftware
PRCOMPILADOR,queinseridonarotinadecompilaodofonte
do programa hospedeiro, para converter os comandos de BD
(estranhos linguagem HOST) em linguagem objeto ou chamadas
(CALL)derotinasintelegveispelocompiladoralinguagem.
Esquemadecompliaocomlinguagemhospedeira:
PROGRAMA
FONTE
HOSPEDEIRO
PR_
COMPILADOR
PROGRAMA
PR_
COMPILADO
PROCESSO
NORMALDE
COMPILAO
22
4.LINGUAGEMVISUAL
EsquemadeacessoaBDrelacionalcomlinguagemvisual:
SQL SQLPARO
PRGRAMAEM
BDR
LIGUAGEM API
VISUAL
DADOS DADOS
23
CAPTULOVI
MODELOHIERRQUICO
OsprimeirosSGBDlanadosnomercadoforamosdotipoHIERRQUICO.Nessacategoria,o
SOFTWAREdemaioraceitao,nomercadobrasileiro,foio IMSdaIBM.
1.LimitaesdosmodelosHIERRQUICOS
FORNECEDOR FORNECEDOR
1 N
N N
FATURA PRODUTO
24
b. O Banco de dados s pode ter um SEGUIMENTO RAIZ e cada
SEGMENTOFILHOpodeligarseaumnicoSEGUIMENTOPAI.
11 11
NN NN
ALUNOMATRIAS MATRIAS
c.NoimplementamAUTORELACIONAMENTOS.
COMPOSTA
PEA
COMPE
25
d.Nopermitemduplaligaoentreduasentidades:
FORNECEDOR
11
FORNECEFABRICA
NN
PEA
CLIENTE CLIENTE
1 1
N N
FATURA FATURA
26
CAPTULOVII
MODELOREDE
1.CARACTERSTICASDOSMODELOSREDECODASYL
a.OsRELACIONAMENTOSsodotipoBINRIOS(duasentidades),
possuem nome e so IMPLEMENTADOS atravs da criao de
SETs.CadaSETpossuiumaentidadepai(OWNER) eoutrafilho
(MEMBER).
FORNECEDOR OWNER
1 criaodoSETPAGA SETNAMEISpaga
SETPAGA
OWNERISfornecedor
naddldoSGBD
MEMBERISfatura
N
FATURA MEMBER
27
b. Os SETs possuem internamente ponteiros fsicos (FIRST, LAST
NEXT,PRIOR,OWNER)querelacionamosregistrosepermitema
navegaonobancodedadoscomaltaflexibilidade.
OWNER
REGISTROOWNER
OWNER
PRIOR
FIRST REGISTROMEMBER
PRIOR
NEXT
REGISTROMEMBER
LAST
c.Asestruturaspodemserpercorridasnosdoissentidosdepaipara
filho (atravs dos ponteiros NEXT, FIRST e LAST) e no sentido
inverso(atravsdosponteirosPRIOReOWNER).
CLIENTE
1
FIRST PRIOR
NEXT
LAST OWNER
N
FATURA
28
d. Um registro filho (MEMBER) pode relacionarse com mais de um
registro pai (OWNER), caracterizando REDE, que serve como
designao para o modelo de banco de dados em questo. A
estruturaREDEusadanaimplementaodosrelacionamentosdo
tipoM:N,quesotransformadosemdoisrelacionamentosdotipo
1:N,atravsdacriaodeumaENTIDADEASSOCIATIVA.
OWNER1OWNER2
PROFESSOR
PROFESSOR ALUNO
N
11
SET1PROFMATSET2ALUNOMAT
N
N MEMBER N
ALUNO
MATRIAS
ENTIDADEASSOCIATIVA
FORNECEDOR
SET1 11 SET2
FORNECE FABRICA
NN
PEA
29
f. O AUTORELACIONAMENTO transformado em relacionamento
BINRIO simulandose uma entidade OWNER ou MEMBER,
conforme o caso. A entidade simulada deve conter o ATRIBUTO
CHAVEeosPONTEIROSaelainerentes.
GERENCIADO
GERENTE
N
1
FUNCIONRIO GERENCIA
1 N
GERENCIA
FUNCIONRIO
Apesardascaractersticastcnicaspositivasjevidenciadas,osmodelosRedesopoucoflexiveis
no que se refere a alteraes nas estruturas de dados, sua cultura de difcil assimilao pelo
usuriofinaleatmesmoportcnicos.AlmdissoessesSGBDapresentamalgunsproblemasde
desempenhoenamanutenodeponteiros.
30
CAPITULOVIII
BANCODEDADOSRELACIONAL
O Modelo Relacional de Banco de Dados, utiliza a teoria de conjuntos como base conceitual para a
formulaodeseusconceitos.Essepressupostofacilitaoentendimentoporpartedousurioepossibilitaa
representaodomundorealdeformamaisnatural.
OModeloRelacional,comeouaserdivulgadoapartirde1970,porE.F.Codd,umcientistadaIBM,que
utilizouoSISTEMARcomoprodutoexperimentalparaacomprovaodateoriaRelacional,publicadaem
uma srie de artigos, que apresentaram os requisitos desse modelo em doze regras atualmente seguidas
pelosSistemasGerenciadoresdeBancodeDadosRelacionais(SGBDR).
AsdozeregrasdeCodd,foramreeditadaspordiversosautoresqueescreveramsobreomodeloRelacional.
Em nossa pesquisa bibliogrfica para elaborao desse material, notamos que, existem interpretaes
ambiguas e at contraditrias em relao a essas regras. Portanto, para notear o estudo do modelo
Relacional,adotamos a abordagemdeC.J.DATE,que apresentaoModeloRelacionalcomopossuindoas
seguintescaractersticasfundamentais,queodistinguedosdemaismodelos:
_Estruturadedadostabular
_Regrasdeintegridade
_Operadoresrelacionais
_UtilizaodoSQL(StructuredQueryLanguage)
OmodeloRelacional,assimcomoseusantecessores,nasceunoambientedoscomputadoresdegrandeporte
(mainframe). Sofreu resties ao uso, por demandar muita memria principal para alcanar uma
performance(temposderesposta)queotornasse comercialmentevivel.Ganhouforaapartirdoincio a
dcada de 80, com a revoluo tecnolgica provocada pela produo em larga escala dos
microcomputadoresPC,oquepropiciouobarateamentodoharware.
Atualmenteomodelorelacionalumpadroseguido,praticamenteportodososformecedoresdeSGBDdo
mercado, Dentre os quais destacamse: ORACLE, SYBASE, MYCROSOFT (SQL SERVER e ACCESS),
INFORMIXeIBMDB/2.
1.TERMINOLIGIADOMODELORELACIONAL
b.AslinhasdastabelassoconhecidascomoTUPLASeascolunas
comoATRIBUTOS.
c.Onmerodeatributos(colunas)deumarelao(tabela)determina
o GRAU DA RELAO. Portanto uma relao com quatro colunas
possuigrauquatro.
e.Ocontedodeumacluladenominasevalordeatributo.
31
f.Cadacluladeumatabelarelacionalcomportaapenasumvalorde
atributo, caracterstica a qual designase por ATOMICIDADE (valor
atmico).
ATRIBUTO
RELAO:FUNCIONRIO
MATR NOME CARGO DT_NASC
TUPLA
01 MIRIAM 01 25/09/62
02 JUVENAL 03 18/04/70
03 GABRIELA 02 10/02/68
VALORDE
CLULA ATRIBUTO
2.REGRASDEINTEGRIDADE
Integridadededadosoconjuntodeparmetros(regrasdonegcio)
previamenteestabelecidosecriadosnobancodedados,aosquaisos
dados so submetidos, para garantir que de um processo de
atualizaonoresultemdadosinconsistentes.
AintegridadedeCHAVEPRIMRIAgarantequeachaveprimriada
tabelanocontenhavaloresemduplicataenemvalorNULO.
AintegridadeREFERENCIALgaranteosincronismodevaloresentre
achaveestrangeira(foreignkey)earespectivachaveprimria.Esse
tipo de integridade ser tratado com maiores detalhes no item c
destecapitulo.
NaDDLdoORACLE,porexemplo,ocomandoCREATEapresentaas
seguintesopesdeintegridadedeclarativa:
_PRIMARYKEYGaranteaintegridadedechaveprimria.
_NOTNULLTornaocampodepreenchimentoobrigatrio.
_CHECKPermiteaintegridadededomnio.
_UNIQUEEvitaaocorrnciadevaloresemduplicata.
_FOREIGNKEYImplementaaintegridadereferencial.
Exemplo:
CREATETABLEfuncionrio
(matriculanumber(05)PRIMARYKEY
nomechar(30)NOTNULL
sexochar(01)CHECKsexo=ForM
33
b.INTEGRIDADEPROCEDURAL
AIntegridadeProceduralapresentasesobaformadeumprograma,
cuja lgica escrita pelo programador, na linguagem procedural
nativadoSGBD.Essetipodeintegridadesupreasnecessidadesno
cobertaspelosparmetrosdeintegridadedeclarativa.
Exemplo:
CREATETRIGGERatualiza_saldo
AFTERINSERTONTABLElanamentos
BEGIN
UPDATETab_saldo
SETsaldo_atual=saldo_atual+valor_lanamento
END
NemtodososSGBDpossuemintegridadeprocedural.Esserecurso
mais frequente nos SGBD de maior porte como ORACLE, DB/2,
INFORMIX,SQLSERVER,etc..
34
c.INTEGRIDADEREFERENCIAL
TABELAPAI FUNCIONRIO
MATRICULA
PK
1
N
TABELAFILHO DEPENDENTE
MATRICULAFK
CREATETABLEfuncionrio
(matriculanumber(05)PRIMARYKEY
nomechar(30)
sexochar(01))
CREATETABLEdependente
(id_dependentenumber(05)PRIMARYKEY
nome_dependentechar(30)
datanascimentodate
matricula_funcionrionumber(05)FOREIGNKEY
REFERENCESfuncionrio.matricula
ONDELETECASCADE)
35
Oexemploapresentaaintegridadereferencial,declaradanatabela
dependente,indicandoqueocampomatricula_funcionriodessa
tabela,refereseaocampomatriculadatabelafuncionrio.Com
essa declarao o SGBD garante que a incluso de um
DEPENDENTE, somente ser valida caso exista o
FUNCIONRIOcorrespondente.
3.OPERADORESRELACIONAIS
OsOperadoresRelacionaisconstituemmecanismosdoSGBDRpara
recuperao de informaes no Banco de Dados. Inseremse no
contexto da Algebra Relacional que possui sete operadores, sendo
trs relacionais (PROJEO, SELEO e JUNO) e quatro
operadores tradicionais de conjunto (UNIO, INTERSEO,
DIFERENAePRODUTOCARTEZIANO).
NocaptuloVIIItrataremosdosoperadoresrelacionaiscomexemplos
daaplicaodecadaumdeles.
4.PROPRIEDADESRELACIONAIS
As Propriedades relacionais so consideraes bvias, porm
elucidativas a respeito do funcionamento e da filosofia que norteia o
desenvolvimentodosSGBDR.Essaspropriedadesderivamdateoria
de conjuntos e algumas se sobrepem ou confirmam as regras de
integridade.
36
a.Umatabelanodevepossuirduaslinhasiguais. Istoseexplica
pelofatodequeaslinhassocomponentesdeumconjunto(atabela)
e se faz necessrio poder distinguir os elementos de um conjunto.
Assim sendo, pelo menos um atributo componente da linha deve
possuir um valor que a diferencie das demais. Nos modelos
relacionais o diferencialmnimoentre duas linhas de uma tabela a
chaveprimria.
f.Aordemdaslinhasecolunasnatabelairrelevante,poispode
ser facilmente modificada nas consultas, atravs dos recursos da
lingugemSQL(StructuredQueryLanguage).
37
5.VANTAGENSDOMODELORELACIONAL
b.Facilidadenoentendimentodaestruturadedadostabular
c.Maiorpossibilidadedeutilizaodiretapelousuriofinal
d.CentralizaodaintegridadenoBD.
e.Reduonotamanhodoscdigosdeprograma
f.Maiorintegridadeeconsitnciadedados
g.Maiorsegurana
h.MaiorflexibilidadeparaacrscimodenovasinformaesnoBD
j.MaiorProdutividade.
38
CAPITULOIX
LGEBRARELACIONAL
A lgebra Relacional uma teoria matemtica baseada nas relaes entre conjuntos. Da sua
aplicao ao Modelo Relacional de Banco de Dados, resultou a possibilidade de armazenar
estruturasdedadoscomplexas(comoumafichacadastrodeclientes),demaneirafragmentada,
no formato tabular dos SGBRR e recompor a informaooriginal, apartir da formulao de
relaes entre as tabelas do banco de dados. Essas relaes so providas pelos operadores da
lgebra relacional, que se encontram disponveis nos recursos da linguagem SQL (Structured
QueryLanguage).
Osoperadoresdalgebrarelacionalclassificamseemdoisgrupos:
_OPERADORESTRADICIONAISDECONJUNTO
.UNIO
.INTERSEO
.DIFERENA
.PRODUTOCARTESIANO
_OPERADORESRELACIONAIS
.PROJEO
.SELEO
.JUNO
Para classificarse um SGBD como Relacional, fundamental que ele possua, entre outras
caractersticas,nomnimoos trs operadores relacionais,hajavistaque,nem todos os SGBDR
possuem os sete operadores.Os Operadores Tradicionais so mais encontrados em SGBD mais
robustos,comoORACLE,SYBASE eDB/2.
39
1.ESTUDODECASO
CLIENTE
CONTA
40
Segueumaamostragemdastabelasdobancodedadosrepresentadono MER:
CLIENTE
C=COMUM
IDCLI NOME ENDEREO TIPO
E=ESPECIAL
RITA SQN V
001 V=VIP
MARCELO GUAR C
002
CARLA GAMA E
003
VTOR SQS C
004
RAQUEL SQS E
005
BRUNA GUAR V
006
SNIA CRUZEIRO C
007
GETLIO SQN C
008
CONTA_CORRENTE
NUM
AGENCIA CONTA IDCLI SIT SALDO
106 001 004 0 20.000,00
106 002 003 2 250,00
106 040 003 0 500,00
167 001 005 0 50,00
167 005 007 0 10,00
167 006 008 2 20,00
202 001 001 0 150,00
202 002 003 1 0
202 003 002 0 30,00
202 004 004 2 50.000,00
0=ATIVA
1=INATIVA
2=BLOQUEADA
41
2.GENERALIDADES
b.AsintaxeutilizadaparaoscomandosSELECT,queapareceronos
exemplos,foiextradadosmanuaisdoSGBDORACLE,quesegueo
padroSQLANSI.AestruturabsicadocomandoSELECT:
SELECTcolunas....ou *(quesignificatodasascolunas)
FROMtabelas.....
WHEREcondio........
42
3.OPERADORESDECONJUNTO
a.UNIO
SELECT * FROMcliente@agencia1
UNION
SELECT * FROMcliente@agencia2
.
.
UNION
SELECT * FROMcliente@agenciaN
43
b.INTERSEO
AInterseoentreduastabelasAeB,resultanumatabelavirtual
C, contendo as linhas comus s duas tabelas envolvidas na
operao.
Nosistemaexemplo,considereanecessidadedeselistaroID
CLI" de clientes que possuam, simultaneamente,
CONTAS_CORRENTESativasebloqueadas.Paraatenderaesse
requerimento, podese utilizar o operador INTERSECT da seguinte
maneira:
SELECTid_cli
FROMconta_corrente
WHEREsit=0
INTERSECT
SELECTid_cli
FROMconta_corrente
WHEREsit=2
IDCLI
004
003
Obs:OsSELECTsdevemreferenciarosmesmosatributosena
mesmaseqncia.
44
c.DIFERENA
Nosistemaexemplo,considereanecessidadedeselistaroIDCLI"
de clientes que no possuam contas_correntes INATIVAS ou
BLOQUEADAS, somente ATIVAS. Para atender a esse
requerimento, podese utilizar o operador MINUS da seguinte
maneira:
SELECTid_cli
FROMconta_corrente
WHEREsit=0
MINUS
SELECTid_cli
FROMconta_corrente
WHERE sit=2ORsit=1
IDCLI
005
007
001
002
45
d.PRODUTOCARTESIANO
OSELECTaseguirefetuaumproduto entreastabelasCLIENTEe
CONTA_CORRENTE:
SELECTnome,saldo
FROMcliente,conta_corrente
NOME SALDO
RITA 20.000,00
RITA 250,00
RITA 500,00
. .
. .
MARCELO 20.000,00
. .
MARCELO 50,000,00
. .
. .
SNIA 30,00
. .
. .
. .
GETLIO 50,000,00
46
3.OPERADORESRELACIONAIS
e.PROJEO
AProjeoconsisteemobterumsubconjuntodecolunasde
umaoumaistabelas_base,comoresultadodeumaconsultaparcial
aosdadosdisponveisnobancodedados.
SELECTnome,endereo
FROMcliente
NOME ENDEREO
RITA SQN
MARCELO GUAR
CARLA GAMA
VITOR SQS
RAQUEL SQS
BRUNA GUAR
SNIA CRUZEIRO
GETLIO SQN
47
f.SELEO
SELECT *
FROMcliente
WHEREtipo=V
48
g.JUNO
AjunonotadanasintaxedoSQL,pelacomparaodeatributos
chave primria /chave estrangeira, atravs da clusulaWHERE do
comando SELECT, o que denominamos condio de juno (join
condition). Quando o tcnico esquece de colocar o join condition
em um SELECT que envolva duas ou mais tabelas o SGBD
geralmenteefetuaoPRODUTO.
OSELECTaseguirefetuaumajunoentreastabelasCLIENTEe
CONTA_CORRENTE:
SELECTnome,saldo
FROMcliente,conta_corrente
WHEREcliente.idcli=conta_corrente.idcli
PARTEII
NORMALIZAO
50
CAPTULOI
1.DEFINIO
A NORMALIZAO uma tcnica de modelagemde dados, criadapor
E.F.CODD,noslaboratriosdepesquisadaIBM,lanadajuntocomas
basesdomodeloRelacionaldeSGBD.Essatcnicademodelagemnos
proporcionacritrios objetivos, paradeterminarmosquando uma relao
(tabela / estrutura de dados) apresenta problemas no tocante
observnciadeprincpiosdoenfoquerelacional,taiscomo:
Tabelabidimensional(valoresatmicos)
Regrasdeintegridade
Mnimaredundncia
Nenhumainconsistncia
Inexistncia de anomalias de atualizao (incluso, alterao e
excluso)
OprocessodeNORMALIZAOpropostoporCODD,deuorigematrs
FORMASNORMAIS:
_PRIMEIRAFORMANORMAL1FN
_SEGUNDAFORMANORMAL2FNe
_TERCEIRA3FN.
AsdemaisformasnormaisestodirigidasparaevitarREDUNDNCIADE
DADOS, INCONSISTNCIAS e ANOMALIAS DE ATUALIZAO.
Redundncia de dados um fato gerador de inconsistncias, j as
anomalias de atualizao criam dificuldades operacionais para a
manutenodoBD.Essesaspectosreforamaimportnciadeaplicao
da2FNe3FN.
51
2.ANOMALIASDEATUALIZAO
TABELAFUNCIONRIO
MATR NOME ENDEREO CODORGO SIGLAORG QTDFUNC
03 JOO SQS 01 GETAE 2
05 JOS SQS 01 GETAE 2
01 VILMA GAMA 05 GEPAC 1
02 ANA GUARA 02 GEPRO 3
08 JUCA SQN 02 GEPRO 3
06 ANA SQN 02 GEPRO 3
ExenplosdeanomaliasdeatualizaonatabelaFUNCIONRIOS:
AINCLUSOdeumnovoORGOnatabelaficacondicionadaaque
algumfuncionriosejaalocadonele
52
3.TERMINOLOGIA
OvocabulriodeNORMALIZAOseconfundecomoempregado
nosSGBDdomodeloRELACIONAL.Issoocorreporqueatcnica
denormalizaoumadasbasesdessemodelo.Ostermosabaixo
sorelevantesparaoentendimentodastrsformasnormais.
a.CLULA
Interseo(LINHAXCOLUNA)deumarelao.
b.ITEMREPETITIVO(VALORNOATMICOouATRIBUTONO
SIMPLES).
Ocorrequandoumaclulapossuimaisdoqueumvalordeatributo,
representadoporestruturasdedadosdostiposVETOR,MATRIZ
ou ITENS DE GRUPO, que impedem a adequada aplicao das
operaesrelacionais,comSQL(StructuredQueryLanguage).
c.VALORATMICO(ATRIBUTOSIMPLES)
d.CHAVEPRIMRIA
CHAVEPRIMRIA,PRIMARYKEY(PK)ousimplesmenteCHAVE
o atributo ou combinao de atributos que permite a
IDENTIFICAO NICA de cada tupla na relao. A PK no
admiteduplicataenemvalornulo.
53
Achaveprimriapodesersimplesoucomposta:
SIMPLES:Constitudadeapenasumatributo
Exemplo:
CODPRODUTO==>NOMEPROD
NUMCONTA==>NOMECLI,DTNASC,SALDO
Exemplo:
CODPROD+CODFORNECEDOR==>PREOPROD
MATRALUNO+MATRPROF+DATAPROVA==>NOTAPROVA
NUMCONTA+TIPOAPLICAO+DATA==>SALDOAPLIC
e.DEPENDNCIAFUNCIONAL
f.DEPENDNCIAFUNCIONALCOMPLETA(DFC)
Ex:CODCLIENTE==>NOMECLIENTE,ENDEREO
54
g.DEPENDNCIAFUNCIONALPARCIAL(DFP)
RelaodeidentificaounvocaentrepartedaCHAVEPRIMRIA
(PK composta por dois ou mais atributos) e algum dos demais
atributosdarelao.
h.DEPENDNCIAFUNCIONALTRANSITIVA(DFT)
Ex:PKMATR==>NOME,DTNASC,CODSETOR,NOMESETOR
55
4. NOTAO PARA DESCRIO DAS ESTRUTURAS DE
DADOS
TABELAVENDA:
ITENSDEVENDA
NUMNF NOMECLI ENDCLI DTVENDA CODPROD QTD PUNIT
01 10 20,00
001 Antnio SQS 22/08 02 20 10,00
05 8 5,00
02 Juliana SQN 10/09 01 6 20,00
03 Cludia SQS 20/07 05 10 5,00
.
VENDA==>nomedarelao
#NUMNF
NOMECLI
ENDCLI
DTVENDA
ITENSDEVENDA*===========================>gruporepetitivo
#CODPROD
QUANT
PUNIT
56
Observaes:
GRUPOSREPETITIVOSsosinalizadoscom*e/ougrafadosno
PLURAL.
.sublinhados,ou
.Um#ouumCcolocadosesquerdadosatributos.
Observaes:
GRUPOSREPETITIVOSsorepresentadosentrechaves
OATRIBUTOCHAVEdevesersublinhado.
57
5.ESQUEMADANORMALIZAO
RELAO
NO Tabelacomitensdegrupo
NORMALIZADA
EliminarITENSDEGRUPO
1FN Escolherachaveprimria
EliminarDEPNDNCIAPARCIAL
2FN
EliminarDEPENDNCIATRANSITIVA
3FN
58
6.RELAESNONORMALIZADAS
Considerearelaoabaixo:
Relao:CONTACORRENTE
CONTACORRENTE
CONTA
AGENCIA
NUMERO
NOMECLIENTE
ENDEREOCLIENTE
DEPENDENCIA
TIPOAGENCIA
DESCRIOTIPOAGENCIA
ENDEREODEPENDENCIA
LANAMENTOS*
NUMDOCUMENTO
DATADOCUMENTO
VALORLANAMENTOObservaes:
OsatributosCONTA,DEPENDNCIAeLANAMENTOSsoitens
degrupo
OatributoLANAMENTOSumgruporepetitivo
Essesatributossodotiponoatmicos,poissuasclulasnocontm
valoresnicos.
ArelaoCONTACORRENTEestnaformaNONORMALIZADA.
59
7.PRIMEIRAFORMANORMAL(1FN)
CONTACORRENTE
AGENCIA
NUMEROCONTA
NOMECLIENTE
ENDEREOCLIENTE
TIPOAGENCIA
DESCRIOTIPOAGENCIA
ENDEREODEPENDENCIA
NUMDOCUMENTO
DATADOCUMENTO
VALORLANAMENTO
Observaes:
CODDestabeleceumoutroprocedimentoparanormalizao(1FN),que
o de decompor a relao nonormalizada em tantas relaes
quantosforemosgruposrepetitivosalmdeincluirumarelaopara
oconjuntodecolunasatmicas.Noprocessoquedescrevemosessas
relaes surgem naturalmente na derivao das formas normais
seguintes(2FNe3FN).
60
8.ESCOLHADACHAVEPRIMRIA
NaescolhadoATRIBUTOCHAVEosseguintesaspectossorelevantes:
a.Nopodecontervalornuloparaevitarduplicatas
b.Nopodeconterduplicatasparagarantiraidentificaounvoca
c.Deveserumatributoestvel(nosujeitoconstantesmudanas)
Estvel:MATRICULA,CPF,NUMCONTACORRENTE
Noestvel:MOEDANACIONAL,SALDO,INDICEECONMICO
d.Nodevedarmargemambiguidadesparagarantiraeficinciade
acesso (dar preferncia a cdigos numricos e o mais curtos
possveis)
Obs1:atributosalfabticospodemgerardvidasquantografia.
Ex:NomedepessoaLusouLuizMeloouMello
NomedergoGERADGEDADGEPAD
61
g. O processo de escolha de CHAVES PRIMRIAS em um BD
relacional constitui um fator crtico, que afeta a estabilidade do
Banco de dados, pois, os relacionamentos so implementados
atravsdaredundnciadasCHAVES.Portanto,qualqueralterao
na chave repercute em todos os relacionamentos nos quais a
entidade detentora da mesma esteja envolvida (direta ou
indiretamente).
CONTACORRENTE
AGENCIA
NUMEROCONTA
NOMECLIENTE
ENDEREOCLIENTE
TIPOAGENCIA
DESCRIOTIPOAGENCIA
ENDEREODEPENDENCIA
NUMDOCUMENTO
DATADOCUMENTO
VALORLANAMENTO
R2:ONUMEROCONTAisoladamentenoadequado,hajavista,que
podem existir duas contas com o mesmo nmero em agncias
diferentes
62
AGNCIA+NUMEROCONTA+NUMDOC
63
9.SEGUNDAFORMANORMAL(2FN)
Umarelaoestem2FNse:
estem1FN
nocontmatributosquedependamfuncionalmentedesubconjuntos
da CHAVE PRIMRIA COMPOSTA, em outras palavras, no contm
DEPENDNCIAFUNCIONALPARCIAL(DFP).
Parapassarmosumarelaoda1FNparaa2FNdevemosELIMINAR
as DEPENDNCIAS PARCIAIS. Para tanto, utilizamos o conceito de
PROJEO, gerando novas tabelas contendo as colunas que se
encontramemDFPcomachaveprimria.Aaplicaoda2FNsobrea
relao CONTACORRENTE resulta na criao das seguintes
tabelas:
CONTA
#NUMEROCONTA
NOMECLIENTE
ENDEREOCLIENTE
AGENCIA
#NUMAGENCIA
TIPOAGENCIA
DESCRIOTIPOAGENCIA
ENDEREODEPENDENCIA
LANAMENTOS
#AGENCIA
#NUMEROCONTA
#NUMDOCUMENTO
DATADOCUMENTO
VALORLANAMENTO
64
10.TERCEIRAFORMANORMAL(3FN)
Umarelaoestem3FNse:
Estem1FN
Estem2FN
NopossuiDEPENDNCIAFUNCIONALTRANSITIVA(DFT).
Parapassarmosumarelaoda2FNparaa3FNdevemosELIMINAR
as DEPENDNCIAS TRANSITIVAS utilizando a operao de
PROJEO. Assim, so geradas novas tabelas correspondentes s
DFTidentificadas.AodecompormosatabelaCONTACORRENTE,
gerandoasrelaesem2FN,restouapenasumaDFT,queencontra
se na relao DEPENDNCIA. Fazendo a PROJEO dessa
relaoparaeliminaraDFTobtemosasrelaesabaixo:
AGENCIA
#NUMAGENCIA
TIPOAGENCIA
ENDEREODEPENDENCIA
TIPOAGENCIA
#TIPOAGENCIA
DESCRIOTIPOAGENCIA
CONTA
#NUMEROCONTA
NOMECLIENTE
ENDEREOCLIENTE
LANAMENTOS
#AGENCIA
#NUMEROCONTA
#NUMDOCUMENTO
DATADOCUMENTO
VALORLANAMENTO
65
Observaes:
Comaaplicaoda3FN,TODASasDEPENDNCIASFUNCIONAIS
restantesnasrelaessodotipoCOMPLETAS.
66
EXERCCIOSI
I.MARQUEVverdadeiroouFfalso.
1.CHAVES:
a.()AstabelasdeumSGBDRpodempossuirdiversaschavesprimrias.
b.() NosSGBDRqualquercolunadeumatabelapodeserutilizadacomochave
deacesso.
c.()Chavesecundriaocampoutilizadocomosegundaalternativaparao
relacionamentoentretabelas.
d.()Umachaveprimriacompostaformadaporvriaschavescandidatas.
e.()ChavedeordenaoomecanismoqueordenatabelasnosSGBDR.
f.()Aschavesestrangeirasdenotamrelacionamentoe,portanto,obrigatriamente
devemcomporaPRIMARYKEY.
g.()Qualquertipodechavepodesersimplesoucomposta.
h.()TodaFOREINGKEYchaveprimriaemalgumaoutratabela.
i.()Comexceodaschavescandidataeprimria,todasasdemaiscolunasda
tabelasopotenciaschavessecundris.
2.NDICES:
a.()Umatabelapodepossuirvriosndicesprimrios.
b.()NosSGBDRaodefinirseaPK,automticamentecriadoumndice
secundrio.
c.()Aindexaoordenaatabela.
d.()idealquetodasascolunasdeumatabelasejamindexadas.
e.()Osndicesprimrioseossecundriospodemsersimplesoucompostos
f.()Ondiceummecanismodeacessodiretoaosdados
g.()adequadaacriaodendicesparacamposcomdomniodiscreto.
h.()Emumatabelaindexada,todososacessosserodotipodiretoindexado.
3.SQL:
a.()OSQLumalinguagemproceduralenoproprietrias.
b.()OsSGBDRpossuemlinguagensproceduraisproprietriasque
complementamoSQL.
c.()OsSGBDRsomentepermitemacriaodeestruturasdedadosdotipo
tabular
d.()OSQL/ANSIumpadrorigorosamenteseguidopelosSGBDR.
e.()OcomandoDELETEusadoparaexcluirestruturasdedadosdoBD.
f.()OresultadodetodososcomandosSQLumatabelaVirtualdenominadaVIEW.
g.()oSQLumpadrodefato,paradefiniodeestruturasemanipulaodedados
nosSGBDR.
67
4.ADMINISTRAODEBANCODEDADOS
a.()ODBAoprofissionalquecuidadoadministraodobancodedadosda
empresa
b.()DesdequeumusuriopossuaumasenhanoBDR,elepodeexecutar
qualquercomandoSQL.
c.()Orequisitodeprivacidadepodeserimplementadoatravsdacriaode
VIEWs.
d.()OCHECKPOINTomecanismoquepermiterealizarauditorianobancode
dados.
e.()AtribuiraexecuodecomandosDMLapenasaoDBAumaformacorretade
centralizaraadministraodoBD.
f.()NosSGBDR,Podeselimitarosprivilgiosdeumusurio,paraqueexecute
apenasocomandoSELECTemumatabela.
g.()Emumsistemadeadministraodescentralizada,oadministradordedados
(AD)validamodeloslgicoseoadministradordebancodedados(DBA)valida
modelosfsicos.
5.BANCODEDADOS
a.()OIMSfoioSGBDhierrquicomaisvendidonomundotodo.
b.()Umbancodedadosrelacionalpodeconterdadoseprocedimentos
armazenados.
c.()OsSGBDredereceberamessadesignaoporquerodavamemgrandes
redesdemainframes.
d.()OCLIPPERumexemplodeSGBDrelacional,porqueoperacomestruturas
dedadosdotipotabular..
e.( )PASCAL,COBOLePL/1soexemplosdelinguagenshospedeirasdeSGBDs
degrandeporte
f.()OACCESSumSGBDorientadoaobjetosporqueoperaemambientegrfico
(Windows).
g.()Atualmente,omodelodeSGBDmaisusadonaarquiteturaCliente/Servidor
oRede.
h.()OsSGBDhierrquicosapresentamretriesemrelaoaosentidodeacesso
aosdados.
i.()OCODASYLumorganismodepadronizaoamericano,intimamente
relacionadoaosSGBDbaseadosmodelorede.
j.()Ariquezadeponteiroseadependnciadecaminhosdeacessoso
caractersticasdosmodelosrelacionaisdeBD.
68
II.RELACIONEOSOBJETIVOSDEBDCOMAMELHORDASALTERNATIVAS
ASEGUIR.
1.INDEPENDNCIADEDADOS 5.PRIVACIDADE
2.INTEGRIDADE 6.SEGURANA
3.COMPARTILHAMENTODEDADOS 7.TRATAMENTODE
CONCORRNCIA
4.REDUNDNCIA 8.NDA
()MinimizaoimpactodasalteraesnasestruturasdedadosdoBD,sobreas
aplicaes.
()Controlaoacessosimultneoaosdados
()PossibilitaqueosparmetrosdevalidaodosdadossejamdefinidosnoBD
()EMBDdeveocorrernomenorgraupossvel
()Rotinadeauditoria
III.CONSIDEREASTABELASABAIXOPARARESPONDERASQUESTES
SEGUINTES.
CLIENTE CONTRATO
CDCLI NOME ENDERE SEX NUM COD VALOR
O O CONTRATO CLI
Obs:Umclientepodetermuitoscontratos,masnoexistedoiscontratoscomo
mesmonmero.
1.RELACIONARASCOLUNAS:
1.CHAVEDEORDENAO ()NOMEemumaVIEWemordemalfabtica
2.CHAVESECUNDRIA ()NUMCONTRATOnatabelaCONTRATO
3.CHAVEPRIMRIA ()NOMEnatabelacliente
4.ESTRANGEIRA ()CDCLInatabelaCONTRATO
5.NDA ()CODCLInatabelacliente
2.MarqueVparaitensverdadeiroseFparaosfalsos,considerandoosseguintes
parmetros.Integridadereferencial(ligada),Atualizaoem
cascata(ligada),Exclusoemcascata(desligada).(2ptos)
a.()Alterandoseocdigodeumclientenatabelacliente,seuscorrespondentes
emcontratonoseroalterados.
b.()Excluindoseumcliente,todososcontratosaelerelacionadossero
automaticamenteexcludos.
c.()Noserpossvelincluirclientesquenopossuamcontratos.
d.()Noserpossvelexcluircontratosquepossuamclientesaelerelacionados.
e.()Aoincluirseumcliente,automaticamentesercriadoumcontrato.
69
3.ParaobtermosoNOME,NUMCONTRATOeVALORdetodososcontratosdeum
clienteutilizamos:
a.()UNIO,INTERSEOePROJEO
b.()PROJEO,SELEOeJUNO
c.()PRODUTO,SELEOeJUNO
d.()UNIO,DIFERENAeJUNO
e.()NDA
GABARITO
I.1.aF,bV,cF,dF,eF,fF,gV,hV,iV
I.2.aV,bV,cF,dF,eV,fV,gF,hF
I.3.aF,bV,cV,dF,eF,fF,gV
I.4.aV,bF,cV,dF,eF,fV,gV
I.5.aV,bV,cF,dF,eV,fF,gF,hV,iV,jF
II.1:1,3,2,4,6
III.1:1,3,2,4,3,
III.2:aV,bF,cF,dV,eF
III.3:b
70
EXERCCIOSII
I.RELACIONEASSENTENASCOMAMELHORDASALTERNATIVASABAIXO:
1.Cardinalidade
2.Relacionamento
3.Entidade
4.Autorelacionamento
5.Atributo
6.Nda
a.()Objetodomundorealsobreoqualsedesejaarmazenarinformaes.
b.()Relacionaocorrnciasdeumamesmaentidade.
c.()Propriedadequequalificaumaentidade.
d.()Quando1:N,implicaqueachaveestrangeiraresidenamesmatabelada
chaveprimria.
e.()RepresentanoMERpelomenosumatabeladobancodedados.
f. ( ) Sinal que apresenta grandevariao entre os diversos autores de literatura
sobreMER.
g.()DevegerarumatabeladoBDcomnomnimoduaslinhaseduascolunas
h.()RepresentaarelaoentredoisconjuntosdeinformaonoMER
i.()Indicaaquantidadegenricadeocorrnciasenvolvidasnorelacionamento
j.()Seutipopodesernumrico,caracteroudata
II.MARQUE'V'PARAASSENTENASVERDADEIRASE'F'PARAFALSAS.
a. ( ) Dependncia transitiva o nome da relao de identificao, entre
componentesdachaveprimria.
b.()CadaentidadedoMERlgicogeranomximoumatabelanormalizadano
BD.
c. ( ) Em tabelas 3FN, todos os atributos no chave esto em dependncia
funcionalcompletacomachave.
d. ( ) Entidades Associativas herdam as chaves primrias das entidades
associadas.
e.()Ochaveestrangeiraobrigatoriamentedevecomporachaveprimria
f. ( ) Anormalizao uma seqnciadeprojees,efetuadas apartirde uma
estruturadedadosnoatomizada.
g. ( ) Os SGBDR nopermitem a criao de tabelas que contenham itens de
grupo.
h.()Umatabelanormalizadaspodecontervaloresatmicos.
i. ( ) Quando a chave primria simples, podese afirmar que a tabela no
contmdependnciafuncional.
71
j.()Quandoachaveprimriasimpleseosvaloresatmicos,podeseafirmar
queatabelaestem2FN.
CONTROLEDEBENEFCIOS
MATRCULA_DO_FUNCIONRIO
NOME_DO_FUNCIONRIO
ENDEREO_DO_FUNCIONRIO
BENEFCIOS*
DATA_DE_CONCESSO_DO_BENEFCIO
CODIGO_DO_BENEFCIO
NOME_DO_BENEFCIO (TICKETS, VALE TRANSPORTE, ASSIST.
MDICA,BOLSA,ETC...)
VALOR_DO_BENEFCIO
GABARITO:
I.a3,b4,c3,d2,e3,f1,g3,h2,i1,j5
II.aF,bF,cV,dV,eF,fV,gV,hV,iF,JV
72
AVALIAO
I.RELACIONEASSENTENASCOMAMELHORDASALTERNATIVASABAIXO:
(4Ptos)
1.ENTIDADE
2.CARDINALIDADE
3.RELACIONAMENTO
4.ATRIBUTO
5.AUTORELACIONAMENTO
6.NDA
()Objetodomundorealsobreoqualsedesejaarmazenarinformaes.
()Seutipopodesernumrico,caracteroudata
()PossuicorrespondnciacomosdepsitosdedadosdoDFD.
()Indicaaquantidadegenricadeocorrnciasenvolvidasnorelacionamento
()Relacionaocorrnciasdeumamesmaentidade.
()Gerapelomenosumatabelanobancodedados.
()Identificadornicoquepodesersimplesoucomposto.
()Abibliografiaregistragrandevariaonasuanotao(nmeros,barras,setas,
"psdegalinha",etc.)
( )RepresentanoMERasentidadesexternasdoDFD.
()RepresentaarelaoentredoisconjuntosdeinformaonoMER
()UmaentidadedoMERpodegerar"N"tabelasnoBD.
()EntidadesAssociativasherdamaschavesprimriasdasentidadesassociadas.
()Achaveestrangeiraobrigatoriamentedevecomporachaveprimria.
73
()OsSGBDRnopermitemacriaodetabelasquecontenhamitensdegrupo.
() Umatabelanormalizadaspodecontervaloratmico.
()Quandoachaveprimriasimples,podeseafirmarqueatabelanocontm
dependnciafuncional.
()Todachaveestrangeirachaveprimriaemoutratabeladobancodedados.
CONTROLEDEMANUTENODEMICROCOMPUTADORES
NUM_OS
DATA_OS
TCNICO_ATENDEU
MATRICULA
NOME
DESCRIO_DEFEITO
NR_SRIE_MICRO
PEAS*
CDIGO
DESCRIO
74
BIBLIOGRAFIA
1.CHU,SHAOYONG
BANCODEDADOSATLAS
2.KORTH,HENRYF.
SISTEMASDEBANCODEDADOSMACGRAW
3.DATE,C.J.
BANCODEDAODSTPICOSAVANADOSCAMPUS
4.SETZER,VALDEMARW.
BANCODEDADOS
5.ACCIOFELICIANONETO
ENGENHARIADAINFORMAOMACGRAW
6.GANE,CHRIS
ANLISEESTRUTURADADESISTEMASLTC
7.GANE,CHRIS
DESENVOLVIMENTORPIDODESISTEMASLTC
8.YORDON,EDWARD
ANLISEESTRUTURADAMODERNACAMPUS
9.CHEN,PETER
MODELOENTIDADExRELACIONAMENTOS
75