Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
BRUNOSELLAEUGENIO
Projetodebancodedados,apresentandoasvantagensdaimplementaode
aplicaesnobancodedados.
13dedezembrode2010
FACULDADEDETECNOLOGIADAZONALESTE
BRUNOSELLAEUGENIO
Projetodebancodedados,apresentandoasvantagensdaimplementaode
aplicaesnobancodedados.
TrabalhodeConclusodeCursoapresentado
FaculdadedeTecnologiadaZonaLeste,sob
aorientaodoProfessorMe.Leandro
ColevatiDosSantos,comorequisitoparcial
paraaobtenododiplomadeGraduaono
CursodeInformticaparaNegcios.
SoPaulo,2010
Eugenio,BrunoSella
Projetodebancodedados,apresentandoasvantagensdaimplementaodeaplicaesnobancode
dados
BrunoSellaEugenioFaculdadedeTecnologiadaZonaLeste,SoPaulo,2010
88p.
Orientador:ProfessorMe.LeandroColevatidosSantos
TrabalhodeConclusodeCursoFaculdadedeTecnologiadaZonaLeste
1. Bancodedados.2.Implementao.3.Vantagens.4.Aplicaes.
FACULDADEDETECNOLOGIADAZONALESTE
EUGENIO,BrunoSella.
Projeto de banco de dados, apresentando as vantagens da implementao de
aplicaes no banco de dados.
Monografiaapresentadanocursode
InformticaparaNegciosnaFaculdadede
TecnologiaDaZonaLestecomorequerido
paraobtenodottulodeTecnlogoem
InformticaparaGestodeNegcios.
Aprovadoem:
BancaExaminadora
Agradecimentos
minhafamliaporincentivarmesempre.
Aosamigosqueajudaramnodesenvolvimento.
AoorientadoreprofessorMe.LeandroColevati.
AosprofessoresquemeajudaramnodesenvolvimentodemeuTCCProfClia,Prof.
JoilsoneProf.AlexSander.
Sonhosnomorrem,apenasadormecemnaalmadagente.
ChicoXavier
Abstract
Today the concept of database is being extensively used in several projects
including the development of applications, implementing the business logic,
security and access control, business rules and other features in the database
itself, this has been possible with advances in database management systems
developers (Management Systems Database) which has been adding all these
features to the DBMS. The goal is to study and demonstrate the advantages of
implementing the logic of an application in a database, through research and
apply theory in a project in DBMS SQL Server with VB interface. To answer the
question: What are the real benefits of deploying applications in the database?
The hypotheses are show through theory and practice as it may be more
advantageous and secure the implementation of an application in the database.
There are two approaches that can be applied in applications development, the
first, most widespread in companies, provided that the business logic should
reside in the application, the second, not much used, suggests that it should
reside in the database. However, professionals do not always have taken the
first or second point of view. As always, there are situations in which the two
views make sense. Perhaps for lack of knowledge of the functionality is
common to choose the first approach (logic should reside in the application), but
only adopted it because so far had no other choice, that it was the manner in
which they were accustomed to use. In the first case study demonstrated the
advantages of using the means of implementing the application in the database.
Lista de Figuras
Figura1a:ProgramaoincludanaAplicao..............................................................19
Figura1b:ProgramaoincludanoBancodeDados....................................................19
Figura2a:ExemplodemodeloHierrquico...................................................................26
Figura2b:ExemplodemodelodeRede.........................................................................26
Figura2c:ExemplodeummodeloRelacional................................................................28
Figura3:EsquemageraldemodelagemusandoMER...................................................30
Figura4:Exemplosdeentidadeseseusrespectivosatributos......................................32
Figura5:Umexemplodeatributocomposto.................................................................32
Figura6a:ExemplodesmbolodarepresentaoER.....................................................34
Figura6b:exemploderelacionamento1:1....................................................................35
Figura6c:Exemploderelacionamento1:N....................................................................35
Figura6d:ExemploderelacionamentoN:N...................................................................36
Figura6e:Exemploderelacionamentoesuascardinalidades.......................................36
Figura7a:exemplodedependnciafuncionaltotal......................................................45
Figura7b:Exemploda2fn..............................................................................................47
Figura8a:exemplodeprojetofsico..............................................................................51
Figura8b:exemplodomodelolgicodedados.............................................................62
Figura9:exemplodecriaodetabelanoVisualStudio...............................................65
Figura10:exemplodecriaodechaveprimrianoVisualStudio...............................66
Figura11:exemplodecriaodechaveestrangeiranoVisualStudio...........................67
Figura12:exemplodarelaodechavesetabelasnoVisualStudio.............................68
Figura13:telaparacriaodeinterfacedentrodoVisualStudio..................................77
Figura14:telaparacriaodeinterfacedentrodoVisualStudio..................................78
Figura15:Assistentedecriaodeconexodebancodedadoscominterface...........79
Figura16:Assistentedecriaodeconexodebancodedadoscominterface...........80
Figura17:Assistentedecriaodeconexodebancodedadoscominterface...........80
Figura18:Codificaodeacessodobancodedadoscomainterface...........................82
Sumrio
1.Introduo......................................................................................................................14
2FundamentosdeBancodeDados.................................................................................24
2.1UMABREVEHISTRIADASAPLICAESDEUMBANCODEDADOS..........................24
2.1.1PrimeirasAplicaesdeBancosdeDadosUsandoSistemasHierrquicosedeRede
.............................................................................................................................................24
2.1.2ObtendoFlexibilidadedeAplicaocomoBancodeDadosRelacional..................27
2.2AmpliandoasFuncionalidadesdosBancosdeDadosparaasNovasAplicaes........29
3ModelagemdeDadosUsandooModeloEntidadeRelacionamento(MER)..................30
3.1ModelodeDadosConceitualdeAltoNveleProjetodeBaseDados.........................30
3.2ConceitosdoModeloEntidadeRelacionamento........................................................31
3.2.1EntidadeseAtributos................................................................................................31
3.3Relacionamentoentreentidades:tiposecardinalidade.............................................34
3.3.1- Tipos de relacionamento.......................................................................................34
3.3.2Cardinalidade............................................................................................................36
4Seguranaeautorizao................................................................................................38
4.1TiposdeSegurana......................................................................................................38
5NormalizaodeBancodeDados.................................................................................44
5.1PrimeiraFormaNormal(1FN).....................................................................................44
5.2SegundaFormaNormal(2FN)......................................................................................44
5.3TerceiraFormaNormal(3FN)......................................................................................48
6Vantagensdautilizaodobancodedados,eautilizaodestasvantagenspara
implementaodeaplicaes.............................................................................................49
6.1Principaisvantagens.....................................................................................................49
6.1.1Dadospodemsercompartilhados............................................................................50
6.1.2Redundnciaspodemserreduzidas.........................................................................51
6.3Inconsistnciaspodemserevitadas............................................................................52
6.1.4Suporteatransaespodeserfornecido.................................................................52
6.5Integridadespodemsermantidas...............................................................................53
6.1.6Seguranapodeserreforada..................................................................................54
6.1.7Requisitoscontraditriospodemserequilibrados...................................................55
6.1.8Padrespodemserreforados.................................................................................55
6.1.9Independnciadosdados.........................................................................................56
6.1.9.1IndependnciaFsica..............................................................................................56
6.1.9.2IndependnciaLgica............................................................................................57
6.1.10Implementaoficanobancodedados,gerandomenostrabalhodecodificao57
6.1.11Nonecessriamuitaexperinciaemimplementaodeinterfaces.................58
6.1.12Menortrfegodeinformaesnarede..................................................................58
7ESTUDODECASOBIBLIOTECA.......................................................................................59
7.1OProjeto......................................................................................................................59
7.1.1ChaveEstrangeira(ForeignKey)...............................................................................62
7.1.2ChavePrimria(PrimaryKey)...................................................................................63
7.2Implementandooprojeto............................................................................................64
7.2.1Criandotabelaserelaes........................................................................................64
7.2.1Abastecendoabasededados..................................................................................69
7.2.1.1StoredProcedures(ProcedimentosArmazenados)...............................................71
7.2.2Aplicandoregrasdenegcio.....................................................................................72
7.2.2.1Triggers(Gatilhos)..................................................................................................73
7.2.2.1.1UsoseaplicabilidadedosTriggers......................................................................74
7.3Desenvolvimentodainterface.....................................................................................76
7.4ConexodainterfacecomBancodeDados................................................................78
8Consideraesfinaiseestudosfuturos..........................................................................83
RefernciasBibliogrficas...................................................................................................86
14
1.Introduo
Segundo (ELMARSI e NAVATHE, 2005), um banco de dados pode ser
gerado e mantido manualmente ou pode ser automatizado (computadorizado).
Por exemplo, catalogo de cartes bibliotecrios um banco de dados que
oferece a possibilidade de ser criado e mantido manualmente. Um banco de
dados computadorizado pode ser criado e mantido tanto por um grupo de
aplicativos escritos especialmente para essa tarefa como um sistema
gerenciador de banco de dados. claro que, neste TCC, o objetivo abordar
os bancos de dados computadorizados.
Segundo (ELMARSI e NAVATHE, 2005), um sistema gerenciador de
banco de dados (SGBD) uma coleo de programas que permite aos
usurios criar e manter o banco de dados. O SGBD , portanto, um sistema de
software de propsito geral que facilita os processos de definio, construo
manipulao e compartilhamento de bancos de dados entre vrios usurios e
aplicaes. A definio de um banco de dados implica especificar os tipos de
dados, as estruturas e as restries para os dados a serem armazenados em
um banco de dados.
Construir o banco de dados consiste em armazenar lgica e fisicamente
dados especficos de modo que eles possam ser manipulados de modo pratico
e gil. O compartilhamento permite aos mltiplos usurios e programas
acessar, de forma concorrente, o banco de dados.
17
Figura 1a: Programao includa na Figura 1b: Programao includa no
Aplicao. Banco de Dados.
Fonte: (AUTOR, 2010) Fonte: (AUTOR,2010)
Conforme mostra a Figura 1a, as aplicaes clientes que utilizam
tcnicas de programao includas na aplicao necessitam de mais trfego de
rede para a execuo de rotinas na base de dados, pois as regras de negcios
(P1, U1, G1, R1) devem ser passadas ao SGBD sempre que uma instruo
necessria. Alm disso, as regras devem ser includas em cada aplicao que
as utiliza tornando o processo de manuteno mais trabalhoso e complexo. Por
outro lado, na Figura 1b, mostra-se um aplicativo cliente que tira vantagem de
um procedimento armazenado, de uma UDF, de um gatilho ou ainda, com as
restries definidas diretamente no SGBD. Isso pode ajudar a diminuir o
trfego de rede e o nmero de vezes que um banco de dados acessado, pois
h a reduo de necessidade de interao, j que as regras esto no prprio
servidor de banco de dados. Outra vantagem que o cdigo gerenciado pelo
SGBD nico e centralizado, ou seja, caso h a necessidade de alteraes
nas regras, altera-se uma nica vez, diferente das aplicaes clientes, onde
uma mudana de regra deve se alterada em todas as aplicaes.
20
Deve-se ter cuidado tambm com o acmulo de instrues utilizadas no
banco de dados. Um gatilho, por exemplo, que dispara uma atualizao em
outra tabela e esta por sua vez tambm pode executar um novo disparo
ocasionando perda de desempenho do banco de dados.
A justificativa para este Trabalho estudar e demonstrar as vantagens
deste tipo de abordagem na construo de aplicaes, no indicando qual
modo melhor e sim verificando os pontos fortes deste tipo de abordagem,
procurarei explicar os mtodos utilizados nos SGBDRs atuais, mtodos esses
que possibilitam esta abordagem de aplicao implementada com a lgica no
Banco de Dados, conceitos como de Stored Procedures (Procedimentos
Armazenados), Triggers (Gatilhos), Constraints (Restries) como Primary
Keys (Chaves Primrias) e Foreign Keys (Chaves Estrangeiras), visando
explicar e dar exemplos de como aplic-las, procurarei alm de dar exemplos
construir um pequeno projeto de uma aplicao implementada com a lgica no
Banco de Dados, neste projeto utilizarei o SGBD Sql Server com interface em
Vb.
O objetivo deste TCC apresentar atravs de pesquisa bibliogrfica e
um pequeno estudo de caso de uma biblioteca de faculdade as principais
vantagens da utilizao dos mtodos mais atuais dos SGBDs na
implementao de aplicativos com a lgica aplicada no banco, no visando se
um modo melhor ou pior e sim focando somente as vantagens da utilizao
deste tipo de tcnica que hoje ainda pouco utilizada no mercado corporativo.
21
O Captulo 5 procura abordar a normalizao de banco de dados.
O Captulo 6 procurar abordar as vantagens da utilizao do banco de
dados, e a utilizao destas vantagens para implementao de aplicaes.
O Captulo 7 apresenta o estudo de caso biblioteca de faculdade, que ir
procurar utilizar todos os conceitos e servir como exemplo para elucidao de
alguns tpicos apresentados neste estudo.
O Captulo 8 apresenta a concluso do trabalho realizado, expondo as
consideraes finais do autor, sugestes e outras observaes que podero
contribuir para futuras pesquisas relacionadas o tema deste trabalho.
24
2FundamentosdeBancodeDados
2.1UMABREVEHISTRIADASAPLICAESDEUMBANCODE
DADOS
Apresentaremos agora uma breve viso histrica das aplicaes que
utilizam o SGBD e como elas forneceram a motivao para surgimento de
novos tipos de sistemas de banco de dados.
2.1.1PrimeirasAplicaesdeBancosdeDadosUsandoSistemas
HierrquicosedeRede
A maioria das aplicaes pioneiras utilizando um banco de dados
mantinha os registros das grandes organizaes, como as corporaes,
universidades, hospitais e bancos. Em muitas dessas aplicaes existia um
grande nmero de registros de estruturas semelhantes. Por exemplo, em uma
aplicao para uma universidade, as informaes similares seriam mantidas
para cada aluno, cada curso, cada registro de nota, e assim por diante. Havia
tambm muitos tipos de registros e diversos inter-relacionamentos entre eles.
Um dos principais problemas com os sistemas de banco de dados
pioneiros era a mistura entre os relacionamentos conceituais, o
25
Figura 2a: Exemplo de modelo Hierrquico.
Fonte: (PEREIRA NETO, 2010, S/P).
Figura 2b: Exemplo de modelo de Rede.
Fonte: (PEREIRA NETO, 2010, S/P).
27
2.1.2ObtendoFlexibilidadedeAplicaocomoBancodeDados
Relacional
Segundo (ELMARSI e NAVATHE, 2005) Os bancos de dados relacionais
foram originalmente projetados com o objetivo de separar o armazenamento
fsico dos dados da sua representao conceitual e prover uma fundamentao
matemtica para os bancos de dados. O modelo de dados relacional tambm
introduziu as linguagens de consulta de alto nvel, que so uma alternativa s
interfaces para as linguagens de programao. Conseqentemente, ficou mais
rpido escrever novas consultas. Os sistemas relacionais foram, a princpio,
direcionados para as mesmas aplicaes dos sistemas pioneiros, mas foi
decisivo o fato de oferecerem flexibilidade para o desenvolvimento rpido de
novas consultas e para reorganizar o banco de dados quando os requisitos
eram alterados.
Os primeiros sistemas relacionais experimentais desenvolveram-se no
fim dos anos 70 e os SGBDRs (sistemas de gerenciamento de banco de dados
relacional) introduzidos no incio dos anos 80 eram muito lentos, pois no
usavam ponteiros para o armazenamento fsico ou registros de localizao
para acessar os registros de dados relacionados. Com o desenvolvimento de
novas tcnicas de armazenamento e indexao, e com o processamento
aprimorado de consultas e otimizao, seu desempenho melhorou. Assim, os
bancos de dados relacionais tornaram-se os tipos dominantes de sistemas para
as aplicaes tradicionais de banco de dados. Os bancos de dados relacionais
agora existem na maioria dos computadores, desde aqueles de uso pessoal
at os de grandes servidores.
Abaixo a figura 2c mostra o modelo relacional de banco de dados.
28
2.2AmpliandoasFuncionalidadesdosBancosdeDadosparaas
NovasAplicaes
O sucesso dos sistemas de banco de dados em aplicaes tradicionais
encorajou os desenvolvedores de outros tipos de aplicaes a se esforarem
para us-los. Essas aplicaes tradicionalmente usavam seus prprios
arquivos especializados e estruturas de dados. A seguir, alguns exemplos
dessas aplicaes:
Aplicaes cientficas, que armazenam uma grande quantidade de
dados resultantes de experimentos cientficos em reas como fsica avanada
ou mapeamento do genoma humano.
Armazenamento e restaurao de imagens, de notcias escaneadas ou
fotografias pessoais a imagens fotografadas por satlite e imagens de
procedimentos mdicos, como raios X ou ressonncia magntica.
Armazenamento e recuperao de vdeos, como filmes ou videoclipes
de notcias ou de mquinas fotogrficas digitais.
Aplicaes para Data Mining
1
(garimpagem de dados), que analisam
grandes quantidades de dados pesquisando as ocorrncias de padres
especficos ou relacionamentos.
1
Data Mining ou Minerao de Dados consiste em um processo analtico projetado para explorar grandes
quantidades de dados (tipicamente relacionados a negcios, mercado ou pesquisas cientficas), na busca de
padres consistentes e/ou relacionamentos sistemtico entre variveis e, ento, valid-los aplicando os padres
detectados a novos subconjuntos de dados. O processo consiste basicamente em 3 etapas: explorao;
construo de modelo ou definio do padro; e validao/verificao.
30
3ModelagemdeDadosUsandooModeloEntidade
Relacionamento(MER)
O MER um modelo de dados conceitual de alto-nvel, ou seja, seus
conceitos foram projetados para serem compreensveis a usurios,
descartando detalhes de como os dados so armazenados (TAKAI, 2005,
pg22, apud DATE, 2000).
O MER atualmente utilizado principalmente para os projetos de banco
de dados.
3.1ModelodeDadosConceitualdeAltoNveleProjetodeBase
Dados
Figura 3: Esquema geral de modelagem usando MER.
Fonte: (TAKAI, ITALIANO,FERREIRA, 2005, APUD DATE, 2000, PAG 22)
31
3.2ConceitosdoModeloEntidadeRelacionamento
3.2.1EntidadeseAtributos
O objeto bsico que o MER representa a entidade. Uma entidade
algo do mundo real que possui uma existncia independente. Uma entidade
pode ser um objeto com uma existncia fsica - uma pessoa, carro ou
empregado - ou pode ser um objeto com existncia conceitual - uma
companhia, um trabalho ou um curso universitrio. Cada entidade tem
propriedades particulares, chamadas atributos, que a descrevem. Por exemplo,
uma entidade EMPREGADO pode ser descrita pelo seu nome, o trabalho que
realiza, idade, endereo e salrio. Uma entidade em particular ter um valor
para cada um de seus atributos. Os valores de atributos que descrevem cada
entidade ocupam a maior parte dos dados armazenados na base de dados.
A Figura 4 ilustra duas entidades. A entidade e1, EMPREGADO, tem
quatro atributos: Nome, Endereo, Data de nascimento e Telefone residencial.
Os seus valores so: Joo da Silva, Rua Gois 711, So Paulo, SP,
1301100, 31/07/1973 e 713-749, respectivamente. A entidade c1,
COMPANHIA, tem trs atributos: Nome, Sede e Presidente. Seus valores so:
Cooper Sugar, Ribeiro Preto e Joo da Silva.
32
Figura 4: Exemplos de entidades e seus respectivos atributos.
Fonte: (AUTOR,2010).
Alguns atributos podem ser divididos em subpartes com significados
independentes. Por exemplo, Endereo da entidade e1 pode ser dividido em
Endereo da Rua, Cidade, Estado e CEP. Um atributo que composto de
outros atributos mais bsicos chamado composto. J,atributos que no so
divisveis so chamados simples ou atmicos. Atributos compostos podem
formar uma hierarquia, conforme pode ser observado no exemplo da Figura 5.
Figura 5: Um exemplo de atributo composto.
Fonte: figura gerada pelo autor.
33
2
Atributosderivadosnonecessitamserarmazenadosnabasededados,podendosercalculadospor
meiodeumaconsulta
34
3.3Relacionamentoentreentidades:tiposecardinalidade
- um-para-um.
O relacionamento um-para-um usado quando uma entidade A se
relaciona com uma entidade B e vice-versa.
Este relacionamento representado pelo sinal: 1:1
Veja o exemplo na figura 6b:
Figura 6b: exemplo de relacionamento 1:1
Fonte: (AUTOR,2010).
- um-para-muitos.
O relacionamento um-para-muitos usado quando uma entidade A pode
se relacionar com uma ou mais entidades B.
Este relacionamento representado pelo sinal: 1:N
Veja o exemplo na figura 6c:
Figura 6c: Exemplo de relacionamento 1:N
Fonte: (AUTOR,2010).
36
-muitos-para-muitos.
O relacionamento muitos-para-muitos usado quando vrias entidades
A se relacionam com vrias entidades B.
Este relacionamento representado pelo sinal: N:N ou N:M.
Veja o exemplo na figura 6d:
Figura 6d: Exemplo de relacionamento N:N
Fonte: (AUTOR,2010).
3.3.2Cardinalidade
A cardinalidade um conceito importante para ajudar a definir o
relacionamento, ela define o nmero de ocorrncias em um relacionamento.
Para determinar a cardinalidade, deve-se fazer a pergunta relativa ao
relacionamento em ambas as direes. No exemplo da figura 6e a seguir,
temos:
37
Figura 6e: Exemplo de relacionamento e suas cardinalidades.
Fonte: (AUTOR,2010).
Um departamento possui quantos empregados?
- no mnimo 1 e no mximo N.
Um empregado est alocado em quantos departamentos?
- no mnimo em 1 e no mximo em 1
Somando-se as cardinalidades, definido o resultado final do
relacionamento,1:N.
38
4Seguranaeautorizao
Este captulo aborda as tcnicas utilizadas para proteger o banco de
dados contra pessoas que no esto autorizadas a acessar determinadas
partes ou todo o banco de dados.
4.1TiposdeSegurana
A segurana em bancos de dados uma rea bastante ampla que se
refere a muitas questes, incluindo:
- Questes legais e ticas referentes ao direito de acesso a certas
informaes. Algumas informaes podem ser consideradas privadas e no
podem ser acessadas legalmente por pessoas no autorizadas. Nos Estados
Unidos, existem diversas leis que disciplinam a privacidade de informaes.
- Questes polticas nos nveis governamental, institucional ou
corporativo, como quais os tipos de informao que no devem ser tornadas
disponveis publicamente por exemplo, avaliaes de crdito e registros
mdicos pessoais.
- Questes relacionadas a sistema, como os nveis de sistema nos quais
as vrias funes de segurana devem ser implementadas, por exemplo, se
uma funo de segurana deve ser tratada no nvel fsico de hardware, no nvel
de sistema operacional ou no nvel do SGBD.
39
3
Infernciaomtodoparadefinirregrasdeinferncia,deduzirnovasinformaesdobancodedados
armazenados.Essesdadossochamadoscomodedutveisbancosdedados.Emoutraspalavras,deve
haveralgunsmtodosparafornecerinformaesporaplicaolgicadobancodedadosarmazenados.
41
4
Emsistemasdeseguranainformtica,controledeacessobaseadoemfuno(RBAC)umaabordagempara
restringiroacessoaosistemaaosutilizadoresautorizados.umaabordagemmaisrecentealternativaparao
controledeacessoobrigatrio(MAC)econtroledeacessodiscricionrio(DAC).RBACmuitasvezesreferidacomo
seguranabaseadaemfuno.
42
Um usurio no autorizado que acesse os dados codificados ter
dificuldades em decifr-los, j aos usurios autorizados so fornecidos
algoritmos de decodificao ou de decifragem (ou chaves) para esses dados.
Tcnicas de criptografia que so muito difceis de serem decodificadas sem
uma chave tm sido desenvolvidas para aplicaes militares.
44
5NormalizaodeBancodeDados.
O processo de normalizao foi proposto inicialmente por Codd em
1972. Esta uma maneira mais formal de garantir as diretrizes do projeto de
Banco de Dados.
5.1PrimeiraFormaNormal(1FN)
A primeira forma normal agora genericamente considerada como parte
da definio formal de uma relao. Historicamente foi definida para no
permitir atributos multivalorados, compostos e suas combinaes (TAKAI,
ITALIANO, FERREIRA, 2005, apud DATE, 2000).
5.2SegundaFormaNormal(2FN)
A segunda forma normal baseada no conceito de dependncia
funcional total. Uma dependncia funcional X->Y uma dependncia funcional
total se, na remoo de qualquer atributo A de X significar que a dependncia
no mais existe, isto , para todo atributo A X, (X-{A}) >x->Y. Por exemplo,
na Figura 9.8b, {NSS, PNUMERO} ->HORAS uma dependncia funcional
total (nem NSS->HORAS e nem PNUMERO->HORAS so DF. Porm, a
dependncia {NSS, PNUMERO}->ENOME parcial, pois NSS->ENOME.
45
Um esquema de relao R est na 2FN se qualquer atributo no-primo
A de R for totalmente dependente funcionalmente de qualquer chave de R.
Atributo no-primo qualquer atributo que no seja membro de uma chave-
candidata. A relao EMP_PROJ da Figura 5 est na 1FN, mas no na 2FN. O
atributo no-primo ENOME viola a 2FN devido df2, o mesmo acontece com
os atributos no-primos PNOME e PLOCALIZAO em df3. As dependncias
funcionais df2 e df3 indicam a dependncia parcial da chave-primria {NSS,
PNUMERO}, violando assim a 2FN (TAKAI,ITALIANO,FERREIRA, 2005, apud
DATE, 2000).
Veja exemplo na figura 7a:
Figura 7a: exemplo de dependncia funcional total.
Fonte:(TAKAI, ITALIANO, FERREIRA, 2005, pag. 82, apud DATE, 2000).
46
Se uma relao no est na 2FN, ela pode ser normalizada em um
nmero de relaes na 2FN. As dependncias funcionais df1, df2 e df3
indicadas na Figura 5a podem ser consideradas para decompor a relao
EMP_PROJ em trs esquemas de relaes EP1, EP2 e EP3, como mostra a
Figura 5a. Cada um desses esquemas de relao satisfaz a 2FN. Verifica-se
que as relaes EP1, EP2 e EP3 evitam as anomalias que estava sujeita a
relao EMP_PROJ.
Veja o exemplo na figura 7b.
47
Figura 7b: Exemplo da 2fn.
Fonte:(TAKAI, ITALIANO, FERREIRA, 2005, pag. 83, apud DATE, 2000).
48
5.3TerceiraFormaNormal(3FN)
A terceira forma normal baseada no conceito de dependncia
transitiva. Uma dependncia XY em uma relao R uma dependncia
transitiva se existir um conjunto de atributos Z que no um subconjunto de
qualquer chave de R, e tanto XZ quanto ZY. Por exemplo, a dependncia
NSSNSSGER uma dependncia transitiva em EMP_DEPT da Figura 5a
(b).
Diz-se que a dependncia de NSSGER sobre o atributo chave NSS
transitiva via DNUMERO. Intuitivamente, verifica-se que a dependncia de
NSSGER sobre DNUMERO indesejvel uma EMP_DEPT desde que
DNUMERO no chave de EMP_DEPT. Um esquema de relao R est na
3FN se ele estiver na 2FN e nenhum atributo no-primo de R dependente
transitivamente de qualquer chave de R. A relao EMP_DEPT da Figura 5a
(b) est na 2FN, pois no h dependncia parcial de nenhum atributo no-
primo sobre a chave.
Porm, no est na 3FN, pois NSSGER e DNOME so dependentes
transitivos de NSS via DNUMERO. Pode-se normalizar EMP_DEPT
decompondo-o em dois esquemas de relao na 3FN, ED1 e ED2, como
mostra a figura 5a (b).
49
6Vantagensdautilizaodobancodedados,eautilizao
destasvantagensparaimplementaodeaplicaes.
Neste capitulo sero listadas as principais vantagens na utilizao do
banco de dados, visando demonstrar a utilidade de cada uma na
implementao de aplicaes no prprio banco de dados.
6.1Principaisvantagens
As principais vantagens encontradas no estudo se apresentam na
seguinte seqncia:
-Dados podem ser compartilhados.
-Redundncia pode ser reduzida.
-Inconsistncia pode ser evitada (at certo ponto) .
-Suporte a transaes pode ser fornecido.
-Integridade pode ser mantida.
-Segurana pode ser reforada.
-Requisitos contraditrios podem ser equilibrados.
-Padres podem ser reforados.
50
6.3Inconsistnciaspodemserevitadas
Esse tpico est relacionado com o anterior. O fato de reduzir a
redundncia significa que menor a chance de termos dados redundantes
onde duas entradas no coincidam: isso quer dizer que o banco de dados est
inconsistente, uma entrada est atualizada e outra no. Tal fato torna provvel
que o sistema fornea informaes incorretas. Eliminar a redundncia implica
em acabar tambm com as inconsistncias. Nos casos onde a redundncia
no eliminada, mas sim controlada, o banco de dados tambm no se tornar
inconsistente do ponto de vista do usurio, j que as atualizaes sero
propagadas em todas as entradas onde for necessrio.
Outra vantagem da utilizao do banco de dados para o
desenvolvimento da aplicao, com o banco de dados centralizado a
atualizao feita deve ser replicada para todos uma vez que todos acessam a
mesma base, deixando assim mesmo que inconscientemente o controle de
atualizaes na base perfeito. Alem de no deixar o sistema redundante e
inconsistente ainda consegue centralizar o modo de acesso e atualizao.
6.1.4Suporteatransaespodeserfornecido
A transao a unidade lgica de trabalho. Ela essencialmente
atmica e envolve, geralmente, vrias operaes de banco de dados
53
utiliz-los com seu login e senha, sejam barrados pelo sistema de banco de
dados, tendo assim um reforo no controle de segurana do sistema.
6.1.7Requisitoscontraditriospodemserequilibrados
Conhecendo as necessidades da empresa, o sistema pode ser
estruturado de maneira a oferecer maior performance em aplicaes que sejam
mais necessrias (sacrificando a performance nas que no sejam tanto)
atravs de uma organizao fsica dos dados nos meios de armazenamento.
6.1.8Padrespodemserreforados
Com um sistema centralizado fica mais fcil manter o padro na
representao das informaes. A padronizao desejvel para diversos fins
como o intercmbio de dados ou a migrao deles entre sistemas. Manter a
nomenclatura dos dados dentro de um padro tambm um grande facilitador
para o compartilhamento e a compreenso dos dados. Um outro ponto que no
to bvio padronizao dos dados para prover a independncia dos
dados, que ser discutida a seguir.
56
6.1.9Independnciadosdados
A independncia de dados guarda uma proximidade com o conceito de
abstrao de dados das linguagens de programao, onde os dados que esto
encapsulados podem ter sua implementao modificada sem que o resto da
aplicao note alguma diferena. A estrutura de armazenamento ou a
estratgia de acesso aos dados so indiferentes aplicao. Isso garante uma
imensa portabilidade aos bancos de dados, uma vez que possvel a criao
de basicamente qualquer tipo de aplicativo para interagir com o mesmo banco
de dados, tendo poucas ou nenhuma mudana no mtodo para essas
interaes. A preocupao com nveis mais baixos de implementao pode ser
redirecionada para a estrutura em si.
6.1.9.1IndependnciaFsica
A independncia fsica dos dados est relacionada com a habilidade de
modificar o esquema fsico sem haver necessidade de reescrever a aplicao.
Isso pode ser feito por questes de performance ou a reorganizao dos dados
na memria secundria para atender melhor a aplicao.
57
6.1.9.2IndependnciaLgica
Na independncia lgica modifica-se o esquema lgico sem ter
necessidade de alterar a aplicao. usada em um nvel mais conceitual,
como a insero de um campo, mudana na ordem dos campos ou do
tamanho de um deles. muito mais difcil de ser alcanada j que os
programas geralmente so muito dependentes da estrutura lgica.
6.1.10Implementaoficanobancodedados,gerandomenos
trabalhodecodificao
Como mencionado em itens anteriores uma das vantagens ocorre na
questo da codificao do sistema, com a lgica toda no banco de dados o
programador precisa ter conhecimento somente da linguagem do SGBD e no
precisa saber muito sobre codificao de interfaces, hoje em dia existem
diversas aplicaes que podem modelar interfaces de maneira fcil e gil,
veremos no estudo de caso como fcil a implementao de uma interface e
tambm a facilidade de integrao da interface com o banco de dados.
Alm desta facilidade de integrao e codificao os tempos de
codificao e de retrabalho tornam-se relativamente menores do que na
implementao de aplicaes por outros mtodos.
58
6.1.11Nonecessriamuitaexperinciaemimplementaode
interfaces
Como dito no item anterior para a criao da aplicao possvel focar
maior parte do tempo na codificao da aplicao no banco de dados e gasto
menos tempo na implementao de interfaces, sendo que alem da facilidade
que alguns programas hoje em dia trazem para a implementao de interfaces
grande e tambm no preciso preocupao com codificaes especificas
de regras de negocio na interface, essas regras ficaro todas no banco e
quando a integrao for feita no da interface com o banco a interface tem o
trabalho somente de acionar estas regras no banco
6.1.12Menortrfegodeinformaesnarede
Nas figuras 1a e 1b do capitulo de justificativa deste trabalho
apresentada a perfeita explicao de quanto menor o trafego na rede, no
ser abordado o mrito do retrabalho ao se implementar as regras de negocio
nos aplicativos ao invs de implementar no banco de dados, ser discutido
sobre este menor trafego de rede gera uma maior performance de sistema,
como visto nas figuras estando centralizado existe uma menor necessidade de
trafego e troca de informaes isto que realmente gera a melhor
performance.
59
7ESTUDODECASOBIBLIOTECA
Neste captulo sero elucidadas os pontos citados nos captulos
anteriores, sero demonstrados atravs de exemplos do estudo de caso as
tcnicas utilizadas para a utilizao deste mtodo, sero explicados tambm
mais alguns pontos importantes e algumas tcnicas no citadas ou no
explicadas anteriormente, tcnicas estas importantes para demonstrar as
vantagens de utilizao deste mtodo de implementao da regra de negcio
no banco de dados, atravs destas demonstraes e explicaes esperada
apresentar e elucidar as vantagens que levam a este tipo de abordagem
comear a ser pensada em ambientes empresariais como uma boa soluo de
negcio.
7.1OProjeto
A primeira coisa a ser feita antes da implementao do banco de dados
e de sua aplicao o projeto.
Primeiro preciso conhecer bem o ambiente em que se ir atuar, no
caso deste estudo de caso ser trabalhado com um ambiente acadmico e o
sistema ser para uma biblioteca de uma faculdade.
60
LIVRO
ISBN: SMALLINT
TITULO: VARCHAR2(30)
AUTOR: VARCHAR2(30)
EDITORA: VARCHAR2(30)
EDIO: VARCHAR2(30)
STATUS: CHAR(1)
TCC
CDIGO_TCC: SMALLINT
NOME_AUTOR: VARCHAR2(30)
TITULO: VARCHAR(100)
CURSO: VARCHAR2(30)
ANO_PUBLICAO: SMALLINT
STATUS: CHAR(1)
ALUNO
RA: SMALLINT
NOME: VARCHAR2(30)
SEMESTRE: SMALLINT
CURSO: VARCHAR2(30)
PROFESSOR
RE: SMALLINT
NOME: VARCHAR2(30)
MATERIA_LECIONADA: VARCHAR2(30)
EMPRSTIMO
NUMERO: SMALLINT
RE: SMALLINT
ISBN: SMALLINT
CDIGO_TCC: SMALLINT
RA: SMALLINT
DATA_RETIRADA: DATE
DATA_DEVOLUO: DATE
Figura 8a: exemplo de projeto fsico.
Fonte: Aplicativo Erwin Data Modeler, figura gerada pelo autor.
Nesta figura 8a pode ser observado como foi realizado o projeto fsico e
pode-se verificar tambm quais tabelas se relacionam, ainda no se sabe quais
restries elas tm, mas sabemos a relao entre elas.
J o projeto abrange grande parte das vantagens da utilizao de banco
de dados e de sua implementao para projetos deste tipo, se consegue
atravs do projeto tentar garantir diversas questes como diminuio de
inconsistncias, integridade do sistema, padres definidos entre outros citados
no captulo 6.
Outro mtodo utilizado e que j pode ser especificado na fase de projeto
seria o conceito de chave estrangeira (Foreign Key) e Chave Primria (Primary
Key).
62
Na figura 8b a seguir veremos o mesmo projeto, visto do modo lgico j
com as restries de chaves.
Figura 8b: exemplo do modelo lgico de dados.
Fonte: Aplicativo Erwin Data Modeler, figura gerada pelo autor.
Na figura 8b possvel ver as restries geradas em cada tabela, essas
restries tanto para as questes citadas na figura 8a quanto para as relaes
entre tabelas e questes de facilidade para encontrar dados.
7.1.1ChaveEstrangeira(ForeignKey)
a chave formada atravs de um relacionamento com a chave primria
de outra tabela. Define um relacionamento entre as tabelas e pode ocorrer
63
7.2Implementandooprojeto
7.2.1Criandotabelaserelaes
Aps definido o projeto chega a hora de comear a implementar o
projeto no banco e na interface, primeiramente implementando o banco que e
neste caso o foco de deste estudo.
Como j conhecido o modelo relacional apresenta a relao de tabelas
definidas pelo nosso projeto citado no sub-capitulo anterior e para iniciar a
implementao criando as tabelas definidas no projeto. A seguir no exemplo de
criao de uma tabela, ser apresentado como realizar a criao de uma tabela
por cdigo e mostrarei tambm como foi feita no projeto de SqlServer e VB j
que no VB se tem um assistente simples para criao de tabelas. Exemplo de
um cdigo para criao de uma das tabelas do projeto:
CREATE TABLE TB_LIVRO
(ISBN SMALLINT NOT NULL,
TITULO VARCHAR (100) NOT NULL,
AUTOR VARCHAR (30) NOT NULL,
EDITORA VARCHAR (30) NOT NULL,
EDIO SMALLINT,
STATUS CHAR(1)NOT NULL);
65
pode ser nula, ou seja, pode ser uma coluna cujo no obrigatrio o
preenchimento ou no nulo, ou seja, uma coluna de preenchimento
obrigatrio.
feita a criao de todas as tabelas planejadas no projeto para que se
tenha a base de dados, que depois ser ligada a interface.
Aps a criao das tabelas necessrio a criao de mais algumas
regras de negcio que seriam as chaves primria e estrangeira citadas no sub-
item anterior, no exemplo anterior foi abservado como implementar estas
regras por meio de cdigo, na figura 10 ser elucidado que no Visual Studio
tambm temos uma maior facilidade de criao destas regras por assistentes.
Figura 10: exemplo de criao de chave primria no Visual Studio.
Fonte: Aplicativo Visual Studio, figura gerada pelo autor.
67
7.2.1Abastecendoabasededados
Aps a criao das tabelas e relaes preciso um modo com que o
banco de dados receba os dados inseridos pelos usurios. Existem alguns
modos de insero de dados nas tabelas de nosso projeto, mas o melhor modo
para insero de dados foi atravs de Stored Procedures (Processos
Armazenados).
Com processos armazenados consegue-se reforar o projeto
principalmente no que se refere segurana, por exemplo, no cdigo a seguir,
quem no tem acesso ao banco ou um usurio com acessos limitados, no
consegue enxergar o que ocorre dentro da procedure, somente sabe que ela
executada, mas sua ao fica protegida para visualizao. Segue exemplo de
uma procedure e como ela executada:
CREATE PROCEDURE dbo. PROC_I NSERELI VRO
@I SBN SMALLI NT,
@TI TULO VARCHAR( 100) ,
@AUTOR VARCHAR( 50) ,
@EDI TORA VARCHAR ( 50) ,
@EDI O SMALLI NT
AS
I NSERT I NTO TB_LI VRO ( I SBN, TI TULO, AUTOR, EDI TORA, EDI O)
VALUES ( @I SBN, @TI TULO, @AUTOR, @EDI TORA, @EDI O) ;
70
A procedure acima demonstra a insero de um livro pelos parametros
definidos por quem a criou, todos os itens com o @ antes de seu nome so
parmetros de entrada pr-definidos pelo administrador do banco de dados, j
na definio dos parmetros de entrada podemos controlar o que o usurio
insere no banco alm da proteo que j tnhamos criado atravs da definio
da tabela com seus atributos. E a procedure executada desta maneira:
Begi n
Pr oc_i nser el i vr o ( @i sbn, @t i t ul o, @aut or , @edi t or a, @edi o)
end;
ou
Exec Proc_inserelivro @i sbn, @t i t ul o, @aut or , @edi t or a, @edi o
Como visto acima o usurio ter no Maximo o conhecimento dos
parmetros de entrada que sero aceitos, no tendo conhecimento de como
este processo e feito e no podendo alter-lo. Este procedimento garante
segurana para a base de dados.
O exemplo mostra uma procedure de insero, mas podemos tambm
criar procedures para efetuar pesquisas, como explicarei melhor no tpico
7.2.1.1, procedures podem ser vantajosas de diversas maneiras.
71
7.2.1.1StoredProcedures(ProcedimentosArmazenados)
um programa executado atravs de uma simples declarao SQL,
executado no espao de processo do servidor, como vantagens pode
encapsular a lgica da aplicao enquanto permanece fechado para os
dados, tambm pelo reuso da lgica da aplicao por diferentes usurios, evita
o retorno de tuplas
5
uma a uma atravs de cursores.
So utilizados Stored Procedures, pois eles permitem que o servidor
efetue operaes complexas em seus bancos de dados sem envolver o
software cliente. Eles podem ser compartilhados por todas as aplicaes
cliente que acessam o banco de dados. No necessrio programar a mesma
lgica dentro de cada aplicao, em vez disso voc s programa e testa ela
uma vez no servidor. Alm disso, reduzem trfico na rede, permitem que voc
divida tarefas complexas em mdulos menores e mais lgicos, so bastante
teis para efetuar tarefas de processamento peridico, fornecem melhor
concorrncia entre o cliente e o servidor.
5
Emteoriadebancodedados,essadefinioabrangemaiscoisas.Embancodedados,significauma
funoquemapeianomesavaloresrespectivos,portantooselementospodemviremqualquerordem,
jqueelestmumnomeassociadoaeles.Exemplo:(instrumento:"guitarra",cordas:6)
Noexemploacima,onomeinstrumentoestassociadoaovalor"guitarra".Onomedeumatuplaento
simbolizaacolunadeumatabeladobancodedados.
72
7.2.2Aplicandoregrasdenegcio
Aps a criao do banco de dados e algumas regras j no projeto e na
implementao do banco, pode-se tambm aplicar as regras de negcio, o
modo mais eficiente em banco de dados para a aplicao destas regras
atravs de Triggers (Gatilhos).
No sistema do estudo de caso foi criada apenas uma trigger para
demonstrar como so criadas e a importncia dela no projeto. Segue a Trigger
do projeto no abaixo:
ALTER TRI GGER Tr g_at r aso
ON dbo. TB_EMPRESTI MO
f or UPDATE
AS
updat e t b_empr est i mo
set t axa_at r aso = 5
wher e dat edi f f ( day, dat a_r et i r ada, dat a_devol uo) >3;
Est Trigger acionada toda vez que ocorre um Update na tabela
tb_emprestimo e o quesito da Trigger satisfeito, neste caso toda vez que o
emprstimo e a devoluo for maior que 3 dias ele cobra uma taxa de atraso
de 5 reias.
Este exemplo mostra que atravs da Trigger aps uma insero
conseguimos validar o atraso da devoluo e cobrarmos a taxa estipulada no
projeto, este um exemplo simples da funcionalidade de Trigger, no sub-item
posterior explicarei mais sobre Triggers.
73
7.2.2.1Triggers(Gatilhos)
Segundo (Bianchi, 2010), um Trigger um tipo especial de procedimento
armazenado, que executado sempre que h uma tentativa de modificar os
dados de uma tabela que protegida por ele.
Os Triggers so definidos em uma tabela especfica, que denominada
tabelas de Triggers so chamados automaticamente. Quando h uma tentativa
de inserir, atualizar ou excluir os dados em uma tabela, e um Trigger tiver sido
definido na tabela para essa ao especfica, ele ser executado
automaticamente, no podendo nunca ser ignorado.
No podem ser chamados diretamente, ao contrrio dos procedimentos
armazenados do sistema, os disparadores no podem ser chamados
diretamente e no passam nem aceitam parmetros.
parte de uma transao, o Trigger e a instruo que o aciona so
tratados como uma nica transao, que poder ser revertida em qualquer
ponto do procedimento, caso voc queria usar ROLLBACK, conceitos que
veremos mais a frente
74
Para que um TRIGGER seja disparado, o usurio o qual entrou com as
instrues, dever ter permisso de acessar tanto a entidade e
conseqentemente ao TRIGGER.
7.2.2.1.1UsoseaplicabilidadedosTriggers
-Impor uma integridade de dados mais complexa do que uma restrio
CHECK;
-Definir mensagens de erro personalizadas;
-Manter dados desnormalizados;
-Comparar a consistncia dos dados posterior e anterior de uma
instruo UPDATE;
Os Triggers so usados com enorme eficincia para impor e manter
integridade referencial de baixo nvel, e no para retornar resultados de
consultas. A principal vantagem que eles podem conter uma lgica de
processamento complexa.
Voc pode usar Triggers para atualizaes e excluses em cascata
atravs de tabelas relacionadas em um banco de dados, imporem integridades
mais complexas do que uma restrio CHECK, definir mensagens de erro
75
76
7.3Desenvolvimentodainterface
Como dito no captulo de vantagens, uma delas a fcil implementao
de interfaces, no caso da implementao toda no banco de dados no
preciso se preocupar em implementar alguma regra de negcio ou muita
codificao no projeto na parte da interface.
No estudo de caso pode-se criar a interface mais facilmente, pois o
prprio Visual Studio possui um assistente de criao de interface, onde no
precisamos de muita habilidade para criao das telas, seria praticamente o
processo de arrastar quais funes que na sua interface como, por exemplo,
botes, campos de texto, ttulos de interface e etc. A seguir na figura 13 ser
apresentada a cara da interface do Visual Studio e uma figura com uma tela
criada pelo projeto do estudo de caso.
77
Figura 13: tela para criao de interface dentro do Visual Studio.
Fonte: Aplicativo Visual Studio, figura gerada pelo autor.
Como se v na figura 13 a parte destacada com o quadrado mostra, os
itens que se pode inserir na interface e arrastar para tela principal e montar a
interface do modo desejado, sem precisar de codificao.
78
Figura 14: tela para criao de interface dentro do Visual Studio.
Fonte: Aplicativo Visual Studio, figura gerada pelo autor.
J na figura 17 pode-se ver uma interface, que a interface principal do
nosso sistema de biblioteca criada, pode-se ver que usamos alguns itens da
caixa de itens e conseguimos montar facilmente a interface da aplicao.
7.4ConexodainterfacecomBancodeDados
Para este estudo de caso que foi utilizado banco de dados Sql Server
com interface em VB a conexo bem simples, o prprio aplicativo Visual
Studio j possui um assistente de conexo.
79
Figura 16: Assistente de criao de conexo de banco de dados com interface.
Fonte: Aplicativo Visual Studio, figura gerada pelo autor.
Figura 17: Assistente de criao de conexo de banco de dados com interface.
Fonte: Aplicativo Visual Studio, figura gerada pelo autor.
81
Como possvel ver nas figuras 15, 16 e17 o assistente bem simples e
em dois passos j criada a nossa conexo criada, primeiro escolhe-se com
qual tipo de banco de dados iremos nos conectar, depois se d o nome a
conexo do banco de dados e pronto a conexo est criada.
Ser Tratada tambm agora sobre a codificao necessria para que
pela interface consigamos dar os comandos acionando o banco de dados, para
fazer as inseres, alteraes, delees e pesquisa no banco de dados.
V-se na figura 18 que os comandos de codificao a serem criados so
bem simples, isto que j havamos dito como uma das vantagens neste tipo de
abordagem de implementao de aplicaes no banco de dados. A codificao
simples, praticamente igual para todas as telas e tambm temos a vantagem
de no dar a opo de que algum que tenha acesso a interface ter acesso a
como os processos so executados no servidor de banco de dados.
possvel Ver na figura 18 que na interface o mtodo de acesso ao
banco acionado pelo boto est apenas chamando a Stored Procedure em
questo e dando os parmetros de entrada digitados atravs dos campos da
interface, no sabendo como esta procedure executada dando maior
segurana ao projeto. Segue na figura 18 como fica a codificao do projeto
na interface.
82
Figura 18: Codificao de acesso do banco de dados com a interface.
Fonte: Aplicativo Visual Studio, figura gerada pelo autor.
Com este simples estudo de caso de um sistema de biblioteca de uma
faculdade exemplifica de forma com que fique mais fcil o entendimento e
demonstrando atravs de exemplos prticos, as vantagens que foram citadas
no captulo seis e tambm o tema principal deste estudo.
83
8Consideraesfinaiseestudosfuturos
O estudo bibliogrfico e o exemplo de aplicao atravs do estudo de
caso biblioteca de faculdade consegue demonstrar algumas das vantagens da
aplicao da tcnica de implementao de sistemas ou aplicaes com a regra
de negcio e a codificao no banco de dados.
Este projeto foi feito em Sql Server e VB, mas poderia ter sido aplicado
com outros sistemas tambm como Oracle, Firebird entre outros e interface em
Java ou algum tipo de interface web que o projeto e a aplicao no iria se
alterar de maneira muito drstica.
Com este estudo forma demonstradas as vantagem deste tipo de projeto
e tentamos com estas vantagens mostrar, alm disto, que com a grande
evoluo dos SGBDs ou seja Sistemas Gerenciadores de Banco de Dados a
utilizao deste tcnica tende a crescer bastante no mercado empresarial.
Hoje em dia a aplicao deste mtodo ainda no to utilizada em
empresas, pois os SGBDs esto em crescente evoluo a pouco tempo de
modo a utilizao em empresas seja difundida.
84
Pode-se deixar tambm como uma boa dica para estudo futuro algumas
comparaes de utilizao deste mtodo com a utilizao de outros mtodos
utilizados. Com um comparativo pode-se enxergar de modo mais efetivo as
vantagens e desvantagens de um mtodo com relao ao outro e pode-se
tambm verificar qual mtodo seria mais vantajoso e em qual situao escolher
ou um ou o outro.
Como dito anteriormente mesmo com pontos para estudo futuro
considera-se este estudo como satisfatrio no mbito do objetivo definido no
comeo deste estudo.
86
RefernciasBibliogrficas
BIANCHI, Wagner. (2010), Introduo Triggers , Disponvel em:
http://www.devmedia.com.br/post-1695-Introducao-a-TRIGGERS.html.
Acessado em: 10 novembro, 2010 s 18h00min.
DATE, C. J. Introduo a Sistema de banco de dados, editora Campus,
2000.
DATE, C. J. Introduo a Sistemas de Bancos de Dados , editora Campus,
8 ed,1990.
ELMARSI, RAMEZ & NAVATHE, SHAMKANT - Sistemas de Banco de
Dados, editora addison-wesley, 4ed, 2005.
IBM. (2005) Centro de Informaes do DB2 , Disponvel em:
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp Acesso em: 13
agosto, 2010 s 20h00min.
NETO, Francisco Gonalves Pereira. (2010), Banco de dados Hierrquico
Exemplo, disponvel em: http://e-reality-home.blogspot.com/2008/09/banco-
de-dados-hierarquico-exemplo.html acessado em 30/09/2010 s 18hrs00min.
NETO, Francisco Gonalves Pereira. (2010), Banco de dados Hierrquico
Exemplo, disponvel em: http://e-reality-home.blogspot.com/2008/09/banco-
de-dados-hierarquico-exemplo.html acessado em 30/09/2010.
87
PEREIRA NETO, Francisco Gonalves Pereira. (2010), Banco de dados
Hierrquico Exemplo, disponvel em: http://e-reality-
home.blogspot.com/2008/09/banco-de-dados-hierarquico-exemplo.html
acessado em 30/09/2010.
NAVATHE, Elmasri. (2002), Sistemas de Banco de Dados, Fundamentos e
Aplicaes, 3 edio. Rio de Janeiro: LTC, 837 pginas.
PRADO, D., Administrao de projetos com PERT/CPM.2ed. Belo Horizonte:
Ed. UFMG, 1988. 126p. ISBN 8521603355
TAKAI, O.K.; ITALIANO, I.C., FERREIRA J.E., Introduo ao Banco de
Dados. In: ELMARSI, RAMEZ & NAVATHE, SHAMKANT - Sistemas de
Banco de Dados, editora addison-wesley, 4ed, 2005.