Você está na página 1de 8

Introduo aos Bancos de Dados

Banco de Dados (ou bases de dados) um dos conceitos mais importantes de Cincia da Computao. Um banco de dados normalmente agrupa informaes utilizadas para um mesmo fim. O conceito de Banco de Dados intimamente relacionado computao, no sentido de que a computao estuda a estruturao de dados e as operaes que possam ser realizadas sobre estes dados. Podemos definir um banco de dados como um conjunto de informaes, estruturadas de forma a organiz-la para facilitar operaes como insero, busca e remoo sobre estes dados. Estas informaes so geralmente manipuladas por um software que gerencia sua estrutura e operaes que possam ser realizadas. O conceito de Banco de Dados esta ligado Biblioteconomia que a cincia que estuda e trata o planejamento, a implementao, a administrao e a organizao da informao em unidades de informao (das quais podem ser citadas as bibliotecas, centros de documentao e informao, sistemas de informao, entre outros, nas organizaes. Um banco de dados usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Normalmente um SGBD adota um modelo de dados, de forma pura, reduzida ou extendida. Muitas vezes o termo banco de dados usado como sinnimo de SGDB. O modelo de dados mais adotado hoje em dia o modelo relacional, onde as estruturas tm a forma de tabelas, compostas por linhas e colunas.

Definio
O termo banco de dados foi criado inicialmente pela comunidade de computao, para indicar colees organizadas de dados armazenados em computadores digitais, porm o termo atualmente usado para indicar tanto bancos de dados digitais como bancos de dados disponveis de outra forma. No Brasil, mais comum usar o termo base de dados quando se mencionam outros tipos de bancos de dados, alm daqueles armazenados em um computador e gerenciados por um Sistema Gerenciador de Banco de Dados (SGBD). Aceitando uma abordagem mais tcnica, um banco de dados uma coleo de registros salvos em um computador de um modo sistemtico, de forma que um programa de computador possa consult-lo para responder questes. Normalmente um registro est associado a um conceito completo e dividido em campos, ou atributos, que do valores a propriedades desses conceitos. Possivelmente alguns registros podem apontar diretamente ou referenciar indiretamente outros registros, o que faz parte da caracterizao do modelo adotado pelo banco de dados.

A descrio de quais so os tipos de registros existentes em um banco de dados e ainda quais so os campos de cada registro conhecida como esquema do banco de dados ou esquema relacional. Estritamente falado, o termo banco de dados deve ser aplicado apenas aos dados, enquanto o termo Sistema Gerenciador de Bancos de Dados deve ser aplicado ao software com a capacidade de manipular bancos de dados de forma geral. Porm, comum misturar os dois conceitos.

Modelos de Dados
A maneira mais prtica de classificar bancos de dados de acordo com a forma que seus dados so vistos pelo usurio, ou seja, seu modelo de dados. Diversos modelos foram e vem sendo utilizados ao longo da histria, com vantagens para um ou para outro por determinados perodos. Atualmente, a classificao mais comum citaria 4 modelos bsicos:

Modelos Navegacionais, divididos em: o Modelo Hierrquico o Modelo em Redes o Modelo Relacional o Modelo Orientado a Objetos

Porm, outros modelos podem ser citados, incluindo:


Modelo de Entidades e Relacionamentos Modelo de lista invertida Modelo Relacional Estendido Modelo Semi-Estruturado

Historicamente, o modelo de bancos de dados em rede foi implementado primeiro; porm o primeiro produto comercial usava o modelo de bancos de dados hierrquico, que nada mais que uma verso simplificada do primeiro. Ambos os modelos foram resultado da busca de usar mais efetivamente os novos dispositivos de memria secundria de acesso direto, que substituiam os cartes perfurados e as fitas magnticas. Isso aconteceu na dcada de 1960. Em 1970 E.F. Codd props o modelo de bancos de dados relacional que surgiu e ganhou destaque terico imediato. Porm, a implementao do modelo exigia pesquisas e s na dcada de 1980 eles iam comear a ganhar o mercado, se estabilizando totalmente como lder do mercado a partir da dcada de 1990. Podemos identificar o aparecimento do que pode ser chamado modelo plano (tabular) para fins mais diretos e simples. Nesse caso, os dados esto simplesmente arranjados em uma nica matriz bi-dimensional de elementos de dados na qual todos os membros de uma dada coluna possuem valores de mesmo tipo, e todos os membros de uma linha esto relacionados entre si. Seu melhor exemplo so as planilhas eletrnicas.

O nico modelo que foi extensamente tratado de forma terica foi o modelo relacional. Os modelos pr-existentes foram fruto de implementaes, enquanto os modelos subsequentes, como o modelo orientado a objetos, no apresentavam um campo to rico para novas teorias, mas apresentam grandes desafios para a implementao eficiente das operaes necessrias.

Modelos Navegacionais
No modelo navigacional, os dados so organizados em registros, que so colees de itens de dados, e podem ser armazenados ou recuperados de um banco de dados de forma conjunta. possvel que um registro possua uma estrutura interna, e elementos (itens de dados) contnuos podem ser agrupados, que tambm podem formar outros grupos. Dessa forma, um registro pode ter uma construo hierrquica. Os registros com a mesma estrutura formam um tipo de registro, que podem ser considerados equivalentes a uma tabela fora da primeira forma normal, ou ainda a um objeto complexo. Os tipos de registro possveis em um banco de dados so definidos em seu esquema. A principal caracterstica do modelo em redes permitir a navegao entre os registros, por meio de Conjuntos de Dados, que possui um registro proprietrio e registros membros, implementados por meio de ponteiros. Basicamente, registros equivalem a entidades e conjuntos de dados equivalem a descrio dos relacionamentos. Como no h limitao na topologia criada pelos registros e conjuntos, o modelo permite a criao de redes, de onde ganhou o nome. Um subconjunto particular do modelo de rede, o modelo hierrquico, limita os relacionamentos a uma estrutura de rvore, ao contrrio da estrutura aplicada pelo modelo de rede completo. O modelo em redes foi definido formalmente em 1971, pela Conference on Data Systems Languages (CODASYL), de onde ganhou seu outro nome: modelo CODASYL.

Modelos Relacionais
O modelo relacional uma teoria matemtica desenvolvida por Edgar Frank Codd para descrever como as bases de dados devem funcionar. Embora esta teoria seja a base para o software de bases de dados relacionais, muito poucos sistemas de gesto de bases de dados seguem o modelo de forma restrita, e todos tm funcionalidades que violam a teoria, desta forma variando a complexidade e o poder. A discusso se esses bancos de dados merecem ser chamados de relacional ficou esgotada com tempo, com a evoluo dos bancos existentes. De acordo com a arquitetura ANSI / SPARC em trs nveis, os bancos de dados relacionais consistem de trs componentes:

uma coleo de estruturas de dados, formalmente chamadas de relaes, ou informalmente tabelas, compondo o nvel conceitual; uma coleo dos operadores, a lgebra e o clculo relacionais, que constituem a base da linguagem SQL; e

uma coleo de restries da integridade, definindo o conjunto consistente de estados de base de dados e de alteraes de estados. As restries de integridade podem ser de quatro tipos:
o o o o

domnio (ou tipo de dados), atributo, relvar e restries de base de dados.

Diferentemente dos modelos navegacionais, no existem quaisquer ponteiros, de acordo com o Princpio de Informao: toda informao tem de ser representada como dados; qualquer tipo de atributo representa relaes entre conjuntos de dados. Diferentemente dos bancos de dados em rede, nos bancos de dados relacionais os relacionamentos entre as tabelas no so codificados explicitamente na sua definio. Em vez disso, se fazem implicitamente pela presena de atributos chave. As bases de dados relacionais permitem aos utilizadores (incluindo programadores) escreverem consultas (queries), reorganizando e utilizando os dados de forma flexvel e no necessariamente antecipada pelos projetistas originais. Esta flexibilidade especialmente importante em bases de dados que podem ser utilizadas durante dcadas, tornando as bases de dados relacionais muito populares no meio comercial. Um dos pontos fortes do modelo relacional de banco de dados a possibilidade de definio de um conjunto de restries de integridade. Estas definem os conjuntos de estados e mudanas de estado consistentes do banco de dados, determinando os valores que podem e os que no podem ser armazenados.

Bancos de Dados Orientados a Objetos


Na dcada de 90, o modelo baseado na orientao a objeto foi aplicado tambm aos bancos de dados, criando um novo modelo de programao conhecido como bancos de dados orientados a objeto. Os objetos so valores definidos segundo classes, ou tipos de dados complexos, com seus prprios operadores (mtodos). Com o passar do tempo, os sistemas gestores de bancos de dados orientados a objeto e os bancos de dados relacionais baseados na linguagem SQL se aproximaram. Muitos sistemas orientados a objeto so implementados sobre bancos de dados relacionais baseados em linguagem SQL. O resultado comercial, porm, foi pequeno. Atualmente vrios princpios de orientao a objeto foram adotados pelos bancos de dados relacionais, gerando o que pode ser chamado de banco de dados relacional extendido.

Bancos de Dados Semi-Estruturados


Mais recentemente ainda, apareceram os bancos de dados semi-estruturados, onde os dados so guardados e manipulados na forma de XML (ao contrrio da forma de tabelas). Novamente, os produtores de bancos de dados relacionais responderam estendendo suas capacidades para tratar dados semi-estruturados.

ndices
Todos os tipos de bancos de dados podem ter seu desempenho melhorado pelo uso de ndices. O tipo mais comum de ndice uma lista ordenada dos valores de uma coluna de uma tabela, contendo ponteiros para as linhas associadas a cada valor. Um ndice permite que o conjunto das linhas de uma tabela que satisfazem determinado critrio sejam localizadas rapidamente. H vrios mtodos de indexao utilizados comumente, como rvores B, hashes e listas encadeadas, que podem ser visualizados na disciplina de Estrutura de Dados II.

Utilizao
Os bancos de dados so utilizados em muitas aplicaes, abrangendo praticamente todo o campo dos programas de computador. Os bancos de dados so o mtodo de armazenamento preferencial para aplicaes multiusurio, nas quais necessrio haver coordenao entre vrios usurios. Entretanto, so convenientes tambm para indivduos, e muitos programas de correio eletrnico e organizadores pessoais baseiamse em tecnologias padronizadas de bancos de dados. Um banco de dados um conjunto de informaes com uma estrutura regular. Um banco de dados normalmente, mas no necessariamente, armazenado em algum formato de mquina lido pelo computador. H uma grande variedade de bancos de dados, desde simples tabelas armazenadas em um nico arquivo at gigantescos bancos de dados com muitos milhes de registros, armazenados em salas cheias de discos rgidos. Bancos de dados caracteristicamente modernos so desenvolvidos desde os anos da dcada de 1960. Um pioneiro nesse trabalho foi Charles Bachman.

Apresentao dos Dados


A apresentao dos dados geralmente semelhante de uma planilha eletrnica, porm os sistemas de gesto de banco de dados possuem caractersticas especiais para o armazenamento, classificao e recuperao dos dados. comum que haja uma ligao entre as tabelas de um banco de dados e programas desenvolvidos em linguagens como C++, Delphi, Visual Basic e outros. Nestes casos a apresentao do banco bem como a navegao, definida pelo programador ou o designer de aplicaes. Como hoje em dia a maioria das linguagens de programao fazem um "link" com bancos de dados, a apresentao deste tem ficado cada vez mais a critrio dos meios de programao, fazendo com que os bancos de dados deixem de restringir-se s pesquisas bsicas, dando lugar ao compartilhamento em tempo real de informaes, mecanismos de busca inteligentes e permissividade de acesso hierarquizada.

Direitos de propriedade
A Diretiva CE de Bases de Dados (EU Database Directive), estabelecida pelo Parlamento Europeu em de 11 de maro de 1996, fixa os termos de proteo jurdica a bancos de dados, em particular os direitos de propriedade sobre a base.

Mesmo para os pases que no a adotam explicitamente, ou no possuam normas mais especficas sobre o tema, como o Brasil, tem sido a principal referncia.

Segurana em Banco de Dados


Os bancos de dados so utilizados para armazenar diversos tipos de informaes, desde dados sobre uma conta de e-mail at dados importantes da Receita Federal. Para tal existem diversos tipos, os quais variam em complexidade e sobretudo em segurana. So meios de proteger as informaes armazenadas num banco de dados

Criptografia Politica de segurana por perfil de usurio Backup

Modelos de base de dados


O modelo plano (ou tabular) consiste de matrizes simples, bidimensionais, compostas por elementos de dados: inteiros, nmeros reais, etc. Este modelo plano a base das planilhas eletrnicas. O modelo em rede permite que vrias tabelas sejam usadas simultaneamente atravs do uso de apontadores (ou referncias). Algumas colunas contm apontadores para outras tabelas ao invs de dados. Assim, as tabelas so ligadas por referncias, o que pode ser visto como uma rede. Uma variao particular deste modelo em rede, o modelo hierrquico, limita as relaes a uma estrutura semelhante a uma rvore (hierarquia tronco, galhos), ao invs do modelo mais geral direcionado por grafos. Bases de dados relacionais consistem, mas de trs componentes: uma coleo de estruturas de dados, nomeadamente relaes, ou informalmente tabelas; uma coleo dos operadores, a lgebra e o clculo relacionais; e uma coleo de restries da integridade, definindo o conjunto consistente de estados de base de dados e de alteraes de estados. As restries de integridade podem ser de quatro tipos: domnio (tambm conhecidas como type), atributo, relvar e restries de base de dados. Diferentemente dos modelos hierrquico e de rede, no existem quaisquer apontadores, de acordo com o Princpio de Informao: toda informao tem de ser representada como dados; qualquer tipo de atributo representa relaes entre conjuntos de dados. As bases de dados relacionais permitem aos utilizadores (incluindo programadores) escreverem consultas (queries) que no foram antecipadas por quem projetou a base de dados. Como resultado, bases de dados relacionais podem ser utilizadas por vrias aplicaes em formas que os projetistas originais no previram, o que especialmente importante em bases de dados que podem ser utilizadas durante dcadas. Isto tem tornado as bases de dados relacionais muito populares no meio empresarial. O modelo relacional uma teoria matemtica desenvolvida por Ted Codd para descrever como as bases de dados devem funcionar. Embora esta teoria seja a base para o software de bases de dados relacionais, muito poucos sistemas de gesto de bases de dados seguem o modelo de forma restrita e todos tm funcionalidades que violam a

teoria, desta forma variando a complexidade e o poder. A discusso se esses bancos de dados merecem ser chamados de relacional ficou esgotada com tempo, com a evoluo dos bancos existente.

Aplicaes de bancos de dados


lolo Bancos de dados so usados em muitas aplicaes, enquanto atravessando virtualmente a gama inteira de software de computador. Bancos de dados so o mtodo preferido de armazenamento para aplicaes multiusurias grandes donde coordenao entre muitos usurios necessria. At mesmo usurios individuais os acham conveniente, entretanto, e muitos programas de correio eletrnico e os organizadores pessoais esto baseado em tecnologia de banco de dados standard.

Transao
um conjunto de procedimentos que executado num banco de dados, que para o usurio visto como uma nica ao. A integridade de uma transao depende de 4 propriedades, conhecidas como ACID.

Atomicidade: Uma transao no pode ser executada pela metade, isto , ou se executa ela por inteiro, ou se retorna para o estado anterior a transao, onde nada foi executado. Tambm chamado de Princpio do "Tudo ou Nada". Consistncia: Consistncia de dados quando no h informaes conflitantes no banco. Uma transao s executa se o estado do Banco de Dados permanecer consistente aps seu fim. Isolamento: Sua necessidade surge em execues concorrentes, a intercalao das diversas transaes que ocorrem simultaneamente, no podem ser intercaladas de forma a gerar um estado inconsistente. Durabilidade: Quando ocorre falha no banco de dados, apos a execuo com sucesso de uma transao, a durabilidade garante por algum mecanismo a recuperao das informaes perdidas.

Na prtica, alguns SGBDs relaxam na implementao destas propriedades buscando desempenho. Controle de concorrncia um mtodo usado para garantir que as transaes so executadas de uma forma segura e segue as regras ACID. Os SGBD devem ser capazes de assegurar que nenhuma ao de transaes completadas com sucesso (committed transactions) seja perdida ao desfazer transaes abortadas (rollback). Uma transao uma unidade que preserva consistncia. Requeremos, portanto, que qualquer escalonamento produzido ao se processar um conjunto de transaes concorrentemente seja computacionalmente equivalente a um escalonamento produzindo executando essas transaes serialmente em alguma ordem. Diz-se que que um sistema que garante esta propriedade assegura a seriabilidade. gostaria de referencias bibliograficas

Resumo

Banco de Dados ou Base de Dados um conjunto de informaes, estruturadas de forma a organiz-la para facilitar operaes como insero, busca e remoo sobre estes dados. Estas informaes so geralmente manipuladas por um software que gerencia sua estrutura e operaes que possam ser realizadas. Modelo de dados a classificao de como os dados so vistos pelo usurio. Entre os diversos modelos existentes podemos apontar o Modelo Hierrquico, Modelo em Redes, Modelo Relacional e o Modelo Orientado a Objetos.