Você está na página 1de 8

Pgina 1 de 8

1. Introduo
A importncia da informao para a tomada de decises nas organizaes tem impulsionado o
desenvolvimento dos sistemas de informaes, os quais muitas vezes so considerados uma forma de
mudana organizacional planejada.
Todos ns sabemos existirem gigantescas bases de dados gerenciando nossas vidas. De fato sabemos
que nossa conta bancria faz parte de uma coleo imensa de contas bancrias de nosso banco. Nosso
Ttulo Eleitoral ou nosso Cadastro de Pessoa Fsica, certamente esto armazenados em Bancos de Dados
colossais. Sabemos tambm que quando sacamos dinheiro no Caixa Eletrnico de nosso banco, nosso
saldo e as movimentaes existentes em nossa conta bancria j esto nossa disposio.
Nestas situaes sabemos que existe uma necessidade em se realizar o armazenamento de uma srie de
informaes que no se encontram efetivamente isoladas umas das outras, ou seja, existe uma ampla
gama de dados que se referem a relacionamentos existentes entre as informaes a serem
manipuladas.
Estes Bancos de Dados, alm de manterem todo este volume de dados organizado, tambm devem
permitir atualizaes, incluses e excluses do volume de dados, sem nunca perder a consistncia.
Um Banco de Dados antes de mais nada uma coleo logicamente coerente de dados com
determinada significao intrnseca. Em outras palavras um arquivo contendo uma srie de dados de um
cliente, um arquivo com dados aleatoriamente gerados e dois arquivos padro xls (excel) no podem ser
considerados um Banco de dados. Um Banco de Dados contm os dados dispostos numa ordem prdeterminada em funo de um projeto de sistema, sempre para um propsito muito bem definido.
Um Banco de Dados representar sempre aspectos do Mundo Real. Assim sendo uma Base de Dados (ou
Banco de Dados, ou ainda BD) uma fonte de onde poderemos extrair uma vasta gama de informaes
derivadas, que possui um nvel de interao com eventos como o Mundo Real que representa.
Existe uma tendncia de mercado em se dizer que qualquer problema ser resolvido, caso a empresa
adquira um Banco de Dados. Naturalmente, em um ambiente com acesso constante ao Banco de Dados
(acesso concorrente, obviamente), onde a segurana seja de vital importncia e que o desempenho da
aplicao escrita estiver comprometendo a empresa, considerando-se logicamente uma aplicao bem
escrita, sem dvida a aquisio de um Banco de Dados poder ser o primeiro passo na soluo do
problema.
conveniente, sob pena de se realizar um grande investimento e no se colher fruto algum, que a
empresa antes de adquirir um Banco de Dados, passe por um processo de entendimento dos processos
de negcio e dos dados envolvidos. A compreenso do modelo de negcio da empresa fundamental
para o sucesso de um Banco de dados. A busca pela compreenso do negcio passa pela identificao
das informaes que so relevantes para a gesto. A essncia da modelagem de dados reside em
transformar esse universo infinito de informaes em um universo finito e relacionado de dados. Um
modelo de dados uma tcnica utilizada para mapear o mundo real em um modelo grfico que ir
representar o relacionamento existente entre os dados.
O principal objetivo dessa disciplina apresentar essa tcnica que, a partir da compreenso do negcio
e das informaes que suportam o mesmo, permite identificar os dados necessrios e o relacionamento
entre eles.
No se faz modelo de dados sem se conhecer profundamente o negcio, suas definies e conceitos
mais fundamentais. E quem conhece o negcio so os gestores e no os profissionais de TI.
Paralelamente, no se modela corretamente um negcio sem a tcnica de modelagem de dados.

Pgina 2 de 8

2. Conceitos
2.1 Banco de Dados
uma coleo de dados inter-relacionados, representando informaes sobre um domnio
especfico.
Exemplos: lista telefnica, controle de acervo de uma biblioteca.

2.2 Sistema Gerenciador de Banco de Dados (SGBD)


um software com recursos especficos para facilitar a manipulao das informaes dos
bancos de dados e o desenvolvimento de programas aplicativos. O componente responsvel
pelo armazenamento das informaes o Banco de Dados. Enfim, um conjunto de dados
inter-relacionados (armazenamento) + um conjunto de programas para acess-los (busca e
manipulao).
Exemplos: Access, Oracle, DB2, Ingress, SQL Server.
O principal objetivo de um SGBD prover um ambiente adequado e eficiente para recuperar e
armazenar dados, com capacidade de gerenciar grandes volumes e grupos de dados.

3. Caractersticas
3.1 Controle de Redundncia
No processamento tradicional de arquivos, cada grupo de usurios deve manter seu prprio
conjunto de arquivos e dados. Desta forma, acaba ocorrendo redundncias que prejudicam o
sistema com problemas como:

Toda vez que for necessrio atualizar um arquivo de um grupo, ento todos os grupos
devem ser atualizados para manter a integridade dos dados no ambiente como um
todo;
A redundncia desnecessria de dados levam ao armazenamento excessivo de
informaes, ocupando espao que poderia estar sendo utilizado com outras
informaes.

A redundncia consiste no armazenamento de uma mesma informao em locais diferentes,


provocando inconsistncias. Em um Banco de Dados as informaes s se encontram
armazenadas em um nico local, no existindo duplicao descontrolada dos dados,
possibilitando a eliminao dos dados privativos de cada sistema. Os dados, que
eventualmente so comuns a mais de um sistema, so compartilhados por eles, permitindo o
acesso a uma nica informao sendo consultada por vrios sistemas. Quando existem
replicaes dos dados, estas so decorrentes do processo de armazenagem tpica do ambiente
Cliente-Servidor, totalmente sob controle do Banco de Dados.

3.2 Eliminao de Inconsistncias


Atravs do armazenamento da informao em um nico local com acesso descentralizado e,
sendo compartilhada vrios sistemas, os usurios estaro utilizando uma informao
confivel. A inconsistncia ocorre quando um mesmo campo tem valores diferentes em
sistemas diferentes. Exemplo, o estado civil de uma pessoa solteiro em um sistema e casado
em outro. Isto ocorre porque esta pessoa atualizou o campo em um sistema e no o atualizou
em outro. Quando o dado armazenado em um nico local e compartilhado pelos sistemas,
este problema no ocorre.

Pgina 3 de 8

3.3 Controle de Integridade


Um Banco de Dados dever impedir que aplicaes ou acessos pelas interfaces possam
comprometer a integridade dos dados.

3.3.1 Integridade Referencial


Consiste em impedir que um determinado cdigo ou chave em uma tabela no tenha
correspondncia em outra tabela. Ex. Um cdigo de uma determinada disciplina na
tabela Histrico Escolar sem a sua descrio na tabela Disciplina.

3.3.2 Integridade de Domnio


Permite que os campos armazenados na base de dados sejam padronizados segundo
um determinado formato de armazenamento (padronizao de tabela, contedo de
comps, etc) e ao nome de variveis seguindo critrios padres preestabelecidos pela
empresa. Ex. Para o campo "Sexo" somente ser permitido armazenamento dos
contedos "M" ou "F".

3.4 Indexao
Chamaremos de Chave Primria ao Atributo que definir um registro, dentre uma coleo de
registros. Chave Secundria (Terciria, etc), sero chaves que possibilitaro pesquisas ou
ordenaes alternativas, ou seja, diferentes da ordem criada a partir da chave primria ou da
ordenao natural (fsica) da tabela.
Vamos supor o arquivo abaixo ordenado fisicamente pela chave primria (#). Para acessarmos o
registro da cor preto diretamente, sem precisar ler todos os registros anteriores, criam-se as
chaves secundrias (tercirias ...), conhecidas como ponteiros (*).
ARQUIVO
#1- Amarelo
#2- Branco
#3- Verde
#4- Preto
#5- Azul
#6- Vermelho

PONTEIROS
#1 *1
#2 *3
#3 *5
#4 *4
#5 *2
#6 *6

Supondo desejarmos incluir a cor Laranja, se o arquivo estive ordenado em ordem alfabtica,
seramos obrigado a re-escrever todo o arquivo. Ao incluir um novo registro (ex.Laranja) ele
ser gravado fisicamente como o ltimo registro na tabela e somente sero atualizados os
ponteiros:
ARQUIVO
PONTEIROS
#1- Amarelo
#1 *1
#2- Branco
#2 *3
#3- Verde
#3 *6 ATUALIZADO
#4- Preto
#4 *5 ATUALIZADO
#5- Azul
#5 *2
#6- Vermelho
#6 *7 ATUALIZADO
#7- Laranja
#7 *4 NOVO

3.5 Deteces de Falhas


Um SGBD deve fornecer recursos para recuperao de falhas de software e hardware, que
podem ser causadas por problemas no s no prprio hardware ou software como tambm
problemas de, por exemplo, falta de energia.

Pgina 4 de 8

Em caso de falha, o estado do sistema de banco de dados pode no ser mais consistente, isto ,
ele pode no mais refletir o estado do mundo que se supe representado no banco de dados.
Para preservar a consistncia, exigimos que cada transao seja atmica. responsabilidade do
esquema de recuperao assegurar a propriedade de atomicidade.

3.5.1 Atomicidade
A restaurao do BD obedece a propriedade da atomicidade, na qual ou todas as
operaes da transao so refletidas corretamente no banco de dados ou nenhuma o
ser
Uma transao uma unidade de execuo de programa que acessa e, possivelmente,
atualiza vrios itens de dados. Uma transao, geralmente, o resultado da execuo
de um programa de usurio, e delimitada por declaraes (ou chamadas de funo)
da forma begin transaction e end transaction. A transao consiste em todas as
operaes ali executadas, entre o comeo e o fim da transao.
A ideia bsica por trs da garantia da atomicidade a seguinte. O sistema de banco de
dados mantm um registro (em disco) dos antigos valores de quaisquer dados sobre os
quais a transao executa uma gravao e, se a transao no se completar, os valores
antigos sos restabelecidos para fazer com que parea que ela nunca foi executada.
Assegurar a atomicidade responsabilidade do prprio sistema de banco de dados,
mais especificamente ela tratada por um componente chamado de componente de
gerenciamento de transaes.
H basicamente dois diferentes esquemas para garantir a atomicidade.

Baseado em log todas as atualizaes so escritas no log, que deve ser


mantido em armazenamento estvel. Se uma queda ocorrer, as informaes
do log so usadas na restaurao do estado do sistema para o ltimo estado
consistente;
Paginao Shadow Duas tabelas de pgina so mantidas durante a vida de
uma transao: a tabela de pginas atuais e a tabela de pginas shadow.
Quando a transao inicia, ambas as tabelas de pginas so idnticas. A tabela
de pginas shadow nunca alterada durante a excluso da transao.
Quando a transao parcialmente efetivada, a tabela de pginas shadow
descartada e a tabela corrente torna-se a nova tabela de pginas. Se a
transao for abortada, a tabela de pginas atuais simplesmente
descartada.

Desta forma exige-se que o banco de dados tenha ao menos uma instruo que
permita a gravao de uma srie modificaes simultneas e uma instruo capaz de
cancelar um srie modificaes. Por exemplo, imaginemos que estejamos cadastrando
um pedido para um cliente, que este deseje reservar 5 itens de nosso estoque, que
esto disponveis e portanto so reservados, porm existe um bloqueio financeiro
(duplicatas em atraso) que impede a venda. A transao dever ser desfeita com
apenas uma instruo ao Banco de Dados, sem qualquer modificaes suplementares
nos dados. Caso voc se obrigue a corrigir as reservas, atravs de acessos
complementares, voc no est lidando com um SGBD.

3.5.2 Backups
So arquivos de "pr-imagem" ou de outros recursos automticos, os quais so
utilizados para recuperar falhas de hardware e software exigindo minimamente a
interveno de pessoal tcnico.

Pgina 5 de 8

3.6 Controle de Concorrncia


O SGBD deve incluir software de controle de concorrncia ao acesso dos dados, garantindo em
qualquer tipo de situao a escrita/leitura de dados sem erros Um SGBD multi-usurio deve
permitir que mltiplos usurios acessem o banco de dados ao mesmo tempo. Este fator
essencial para que mltiplas aplicaes integradas possam acessar o banco, uma vez que
quando diversas transaes concorrentes so executadas, suas operaes podem ser
intercaladas de modo inconveniente, resultando em um estado inconsistente.
O SGBD multi-usurio deve manter o controle de concorrncia para assegurar que o resultado
de atualizaes sejam corretos. Como os aplicativos de um SGBD so por natureza
multiusurio, o controle de concorrncia o que permite a utilizao simultnea e segura de
um dado, por mais de uma aplicao ou usurio, independente da operao que esteja sendo
realizada, evitando erros de processamento (atualizar simultaneamente o mesmo campo do
mesmo registro).

3.6.1 Propriedade de Isolamento


A propriedade de isolamento de uma transao garante que a execuo simultnea de
transaes resulte em uma situao no sistema equivalente ao estado obtido caso as
transaes tivessem sido executadas uma de cada vez, em qualquer ordem. Assegurar
a propriedade de isolamento responsabilidade de um componente do sistema de
banco de dados chamado componente de controle de concorrncia. Quando vrias
transaes so executadas de modo concorrente no banco de dados, a consistncia
dos dados no pode mais ser garantida. Ento, necessrio que o sistema controle a
interao entre as transaes concorrentes. Como uma transao uma unidade que
preserva a consistncia, uma execuo sequencial das transaes garante a
preservao da consistncia. Portanto, exigimos que qualquer escala produzida pelo
processamento concorrente de um conjunto de transaes tenha um efeito
equivalente a uma escala produzida quando essas transaes so executadas
sequencialmente em alguma ordem. Do sistema que garante essa propriedade diz-se
que ele garante a serializao. H vrias noes diferentes de equivalncia que
conduzem aos conceitos de serializao de conflito e serializao de viso.
A serializao das escalas geradas por transaes concorrentes pode ser garantida por
meio de um entre vrios mecanismos chamados de esquemas de controle de
concorrncia. O componente de gerenciamento de controle de concorrncia do banco
de dados o responsvel pela manipulao dos esquemas de controle da
concorrncia.

3.6.2 Bloqueio
O protocolo de bloqueio um conjunto de regras que estabelecem quando uma
transao pode bloquear e desbloquear cada um dos itens de dados do banco de
dados. O protocolo do bloqueio em duas fases permite que uma transao bloqueie
um novo item de dado somente at desbloquear o primeiro deles. O protocolo garante
a serializao, mas no est livre de deadlocks. Na ausncia de informaes a respeito
do tipo de acesso que ser feito no item de dados, o protocolo de bloqueio em duas
fases tanto necessrio quanto suficiente para garantia da serializao.
O esquema da ordenao por timestamp garante a serializao pela seleo da ordem
de execuo entre pares de transaes. Um nico timestamp associado a cada
transao no sistema. Os timestamps das transaes determinam a ordem de
serializao. Assim, se o timestamp da transao T1 menor que o da transao T2, o
esquema garante que a escala de execuo produzida seja equivalente a uma escala
serializada na qual a transao T1 aparece antes da transao T2. Isso feito
revertendo a transao sempre que a ordem for violada.

Pgina 6 de 8

Vrios protocolos de bloqueio no so resistentes a deadlocks, o abrao mortal. Esta


situao indesejvel pode ocorrer toda vez que um usurio travou um registro em uma
tabela e seu prximo passo ser travar um resgistro em uma tabela relacionada
primeira, porm se este registro estiver previamente travado por outro usurio, o
primeiro usurio ficar paralisado, pois, estar esperando o segundo usurio liberar o
registro em uso, para que ento possa trav-lo e prosseguir sua tarefa. Se por hiptese
o segundo usurio necessitar travar o registro travado pelo primeiro usurio (!),
afirmamos que ocorreu um abrao mortal, pois cada usurio travou um registro e
precisa travar um outro, justamente o registro anteriormente travado pelo outro!
Imaginemos um caso onde o responsvel pelos pedidos acabou de travar o Registro
Item de Pedido, e, necessita travar um registro no Cadastro de Produtos, para indicar
uma nova reserva. Se concomitantemente estiver sendo realizada uma tarefa de
atualizao de pendncias na Tabela de Itens, e para tanto, previamente este segundo
usurio travou a Tabela de Produtos, temos a ocorrncia do abrao mortal.
Um modo de evitar deadlocks usando a preempo e o rollback de transaes. Para
controla a preempo, marcamos um nico timestamp para cada transao. Esses
timestamps so usados para decidir se uma transao dever ser revertida ou dever
esperar. Se uma transao revertida, ela mantm o timestamp antigo quando
reiniciada. Os esquemas de esperar-morrer e de ferir-esperar so dois esquemas com
base em preempo. Outro mtodo para o tratamento de deadlocks usar o esquema
de deteco de deadlock e recuperao. Para faz-lo, construdo um grfico de
espera. Um sistema est em estado de deadlock se, e somente se, o grfico de espera
contm um ciclo. Quando o algoritmo de deteco identifica um deadlock, o sistema
precisa recuperar-se. Isso feito revertendo uma ou mais transaes para quebra do
deadlock.

3.7 Segurana
O principal objetivo garantir que no ocorram acessos no autorizados visando destruio,
alterao ou introduo de inconsistncias dos dados.

3.7.1 Restrio de Acesso


Um SGBD deve fornecer um subsistema de autorizao e segurana, o qual utilizado
para criar contas e especificar as restries destas contas; o controle de restries se
aplica tanto ao acesso aos dados quanto ao uso de softwares inerentes ao SGBD,
definindo para cada usurio o nvel de acesso a ele concedido (leitura, leitura e
gravao ou sem acesso) ao arquivo, formulrio e/ou campo. Este recurso impede que
pessoas no autorizadas utilizem ou atualizem um determinado arquivo ou campo.
As restries de Acesso possibilitam selecionar a autoridade de cada usurio. Assim um
usurio poder realizar qualquer tipo de acesso, outros podero ler alguns dados e
atualizar outros e outros ainda podero somente acessar um conjunto restrito de
dados para escrita e leitura.
As restries de acesso so normalmente controladas pela atribuio de senhas aos
usurios finais.

3.7.2 Vises
Um SGBD deve permitir que cada usurio visualize os dados de forma diferente
daquela existente previamente no Banco de Dados. Uma viso consiste de um
subconjunto de dados do Banco de Dados, necessariamente derivados dos existentes
no Banco de Dados, mas que so filtrados de acordo com nveis de autorizao de cada
usurio, normalmente associados a sua hierarquia no organograma da empresa.

Pgina 7 de 8

3.7.3 Criptografia
Atravs do uso de um algoritmo (sequencia de passos para o embaralhamento), dos
dados a serem protegidos e de uma chave (conjunto de bits), transforma-se textos ou
dados abertos em cdigos ilegveis. A chave existe para embaralhar o texto e, atravs
do conhecimento dela, conseguir recuperar o texto original. Isso Criptografia no
mundo computacional, e isso era Criptografia h mil anos.
Existe a possibilidade de encontramos Bancos de Dados que no satisfaam
completamente todas as caractersticas acima, o que no a invlida como Banco de
Dados. Na prtica podemos encontrar situaes onde a primeira caracterstica no seja
importante, pois podemos ter o Banco de Dados baseado totalmente em um nico
servidor, e as redundncias podem ser aceitas em algumas situaes sob controle da
aplicao (algo no muito recomendado, mas passvel de aceitao, em situaes onde
a existncia do nome do cliente em um arquivo contendo duplicatas emitidas,
possibilita o acesso a apenas uma tabela sem relacionamentos, e sabe-se de antemo
que uma duplicata depois de emitida, no pode ter seu cliente alterado).
O Controle de Integridade, outra caracterstica sempre presente nos Bancos de
Dados, mas existem diferenas quando da implementao desta caracterstica. Assim,
comum encontrarmos Bancos de Dados que suportam determinado acesso,
enquanto outros no dispem de recurso equivalente.
O Backup em tempo de execuo outra caracterstica sempre disponvel, porm
temos aplicaes que invariavelmente so comprometidas por falhas de hardware, e
outras, que o mesmo tipo de falha no causa perda alguma de dados ou de
integridade. Novamente, cada Banco de Dados tem esta caracterstica melhor ou pior
implementada, cabendo ao Administrador de Banco de Dados escolherem aquele que
lhe oferecer mais segurana.
A escolha e implementao do Banco de Dados da empresa, portanto uma deciso
muito delicada, na medida em que est ir acarretar troca de aplicativos e troca de
hardware. Os investimentos diretamente aplicados no Banco de Dados, costumam ser
infinitamente menores do que aqueles a serem aplicados na empresa, visando sua
perfeita adequao ao novo SGBD.

Pgina 8 de 8

Você também pode gostar