You are on page 1of 6

Introduo a SBD

Linguagem de definio de dados

Um esquema de banco de dados especificado por um conjunto de definies


expressas por uma linguagem especial chamada linguagem de definio de dados (da
lngua inglesa, Data Definition Language, DDL). O resultado da compilao de
comandos de uma DDL um conjunto de tabelas que so armazenadas em um arquivo
especial chamado dicionrio (ou diretrio) de dados.

Um diretrio de dados um arquivo que contm metadados, ou seja, dados sobre


dados. Este arquivo consultado antes que os dados sejam lidos ou modificados no
sistema de banco de dados.

A estrutura de armazenamento e os mtodos de acesso usados em um sistema de


banco de dados so especificados por um conjunto de definies em um tipo especial
de DDL chamado linguagem de armazenamento e definio de dados. O resultado da
compilao destas definies um conjunto de instrues para especificar a
implementao de detalhes do esquema de banco de dados que esto normalmente
escondidos dos usurios.

Linguagem de manipulao de dados

Os nveis de abstrao no se aplicam somente definio ou estrutura de dados, mas


tambm sua manipulao. A manipulao de dados significa:

A busca de informao armazenada no BD;


A insero de novas informaes no BD;
A eliminao de informaes no BD;
A modificao de dados armazenados no BD.

No nvel fsico precisamos definir algoritmos que permitam um acesso eficiente aos
dados. Nos nveis mais altos de abstrao dada a nfase facilidade de uso. O
objetivo fornecer uma interao humana eficiente com o sistema.

A linguagem de manipulao de dados (Data Manipulation Language, DML) a


linguagem que permite aos usurios fazer o acesso aos dados ou manipul-los
conforme o modelo de dados apropriado. Existem basicamente dois tipos:

DMLs procedurais, requerem do usurio a especificao de qual dado


necessrio e de como obt-lo.
DMLs no-procedurais, requerem do usurio a especificao de qual dado
necessrio sem especificar como obt-lo.
DMLs no-procedurais so usualmente mais fceis de aprender e usar do que DMLs
procedurais. Entretanto, se um usurio no necessita especificar como obter os dados,
estas linguagens podem gerar cdigo no to eficiente como o produzido por
linguagens procedurais. Esta dificuldade pode ser remediada por meio de vrias
tcnicas de otimizao.

Uma consulta (query) um comando requisitando a busca de uma informao. A


poro de uma DML que envolve a busca de informaes chamada de linguagem de
consulta. Embora tecnicamente incorreto, comum a utilizao de termos linguagem
de consulta e linguagem de manipulao de dados como sinnimos.

Gerenciador de banco de dados

Os bancos de dados requerem tipicamente um grande espao de armazenamento. Os


bancos de dados corporativos so medidos geralmente em gigabytes, ou, para os
maiores, terabytes de dados. Visto que a memria principal (ou primria) de um
computador no pode armazenar essas informaes, ela armazenada em discos
(memria secundria). Os dados so movidos entre discos de armazenamento e a
memria principal conforme a necessidade. Uma vez que esse movimento de dados
bastante lento em comparao com a velocidade da unidade central de
processamento (UCP ou, na lngua inglesa, CPU, Central Processing Unit), necessrio
que o sistema de banco de dados estruture os dados de forma a minimizar o
movimento de dados entre os discos e a memria principal.

A finalidade de um sistema de bancos de dados simplificar e facilitar o acesso aos


dados. Vises do usurio de alto nvel ajudam-nos a atingir isto. Os usurios do sistema
no devem preocupar-se desnecessariamente com os detalhes fsicos da
implementao do sistema. Contudo, o principal fator na satisfao de um usurio
com o sistema de bancos de dados seu desempenho. Se o tempo de resposta a uma
solicitao muito longo, o valor do sistema diminudo. O desempenho de um
sistema depende da eficincia das estruturas de dados usadas para representar os
dados no banco de dados. E, se for o caso, a vantagem no deve ser dada apenas entre
espao e tempo, mas tambm eficincia de um tipo de operao versus outra.

O gerenciador de banco de dados um mdulo de um programa que prov a interface


entre os dados de baixo nvel armazenados num banco de dados, programas de
aplicao e as solicitaes submetidas ao sistema. O gerenciador de banco de dados
responsvel pelas seguintes tarefas:

Interao com o gerenciamento de arquivos. Os dados no trabalhados so


armazenados no disco usando o sistema gerenciador de arquivos, que
geralmente fornecido por algum sistema operacional. O gerenciador de
banco de dados traduz os diversos comandos da DML em comandos de baixo
nvel do gerenciador de arquivos. Portanto, o gerenciador de banco de dados
responsvel pelo armazenamento, pela busca e pela atualizao de dados no
banco de dados.
Cumprimento de integridade. Os valores de dados armazenados num banco de
dados precisam satisfazer certos tipos de restries de consistncia. Por
exemplo, o nmero de horas que um empregado pode trabalhar em uma
semana no pode ultrapassar um limite estabelecido (como exemplo, 80
horas). Tal restrio precisa ser especificada explicitamente pelo administrador
do banco de dados. O sistema gerenciador de banco de dados pode ento
determinar se as atualizaes no banco de dados resultam numa violao da
restrio. Em caso positivo, aes apropriadas precisam ser tomadas.
Cumprimento de segurana. Nem todo usurio do banco de dados necessita
ter acesso a todo o banco de dados, para impor requisitos de segurana de
acesso aos dados.
Cpias de reserva (backup) e recuperao (restore). Um computador, como
qualquer outro dispositivo mecnico ou eltrico, est sujeito a falhas. As causas
das falhas incluem quebras de disco, falhas na energia e erros de software. Em
cada um dos casos, as informaes que se referem ao banco de dados podem
ser perdidas. responsabilidade do sistema gerenciador do banco de dados
detectar tais falhas e restabelecer o estado do banco de dados anterior a
ocorrncia da falha. Isto feito normalmente atravs da ativao de diversos
procedimentos de recuperao e de cpias de reserva.
Controle de concorrncia. Se diversos usurios atualizam o banco de dados
concorrentemente, a consistncia dos dados pode no ser mais preservada.
Controlar a interao entre usurios simultneos outra atribuio do
gerenciador de banco de dados.

Sistema de banco de dados projetados para uso em pequenos computadores pessoais


podem no ter todos os recursos descritos acima. Por exemplo, muitos sistemas
pequenos restringem o acesso a apenas um usurio de cada vez. Outros atribuem ao
usurio tarefas como cpias de segurana, recuperao e imposio de segurana. Isto
ocorre quando h um gerenciador de banco de dados menor, com um nmero menor
requerimento de recursos, especialmente no que diz respeito memria principal. Por
outro lado, assim como os baixos custos e baixos recursos so suficientes para
pequenos bancos de dados pessoais, porm eles so inadequados para satisfazer as
necessidades de empreendimentos de mdia ou larga escala.

Administrador de banco de dados

Uma das principais razes para empregar um gerenciador de banco de dados ter um
controle central dos dados e dos programas de acesso a eles. A pessoa que tem esse
controle sobre os sistema chamada administrador de banco de dados (Data Base
Administrator, DBA). As funes do administrador de banco de dados incluem:

Definio de esquema. O esquema original do banco de dados criado


escrevendo-se um conjunto de definies que do traduzidas pelo compilador
de DDL para um conjunto de tabelas que armazenado permanentemente
no dicionrio de dados.
Definio de estruturas de armazenamento e mtodos de acesso. Estruturas
apropriadas de armazenamento e mtodos de acesso so elaborados
escrevendo-se um conjunto de definies que so traduzidas pelo compilador
de estruturas de dados e de linguagem de definio.
Modificao do esquema e de organizao fsica. Modificaes no esquema do
banco de dados ou na descrio da organizao da armazenagem fsica,
embora relativamente raras, so executadas escrevendo-se um conjunto de
definies que so usadas pelo compilador de DDL ou pelo compilador de
estruturas de dados e linguagem de definio para gerar modificaes nas
respectivas tabelas internas do sistema (como, por exemplo, o dicionrio de
dados).
Concesso de autorizao para acesso aos dados. A concesso de diferentes
tipos de autorizao permite ao administrador do banco de dados regular a
quais partes do banco de dados os diversos usurios podem fazer acesso.
Especificao de restrio de integridade. Restries de integridade so
mantidas em uma estrutura especial do sistema, consultada pelo gerenciador
do banco de dados quando uma atualizao ou insero feita no sistema.

Usurios de banco de dados

A meta principal de um sistema de banco de dados prover um ambiente para buscar


e armazenar novas informaes no banco de dados. Existem quatro tipos diferentes de
usurios de banco de dados, segundo o modo pelo qual esperam interagir com o
sistema.

Programadores de aplicativos. Profissionais da computao interagem com o


sistema por meio das chamadas DML, que so embutidas em um programa
escrito em uma linguagem hospedeira (por exemplo, Cobol, PL/I, Pascal, C, C++,
Java, entre outros). Estes programas so frequentemente referenciados como
programas de aplicao. Exemplos em um sistema bancrio incluem programas
que geram cheques de pagamento, fazem dbito e crditos em contas,
transferem fundos entre contas, entre outros.
Uma vez que a sintaxe da DML normalmente bastante diferente da sintaxe da
linguagem hospedeira, chamadas na DML so usualmente precedidas por um
caractere especial, e ento o cdigo apropriado pode ser gerado. Um pr-
processador especial, chamado pr-compilador DML, converte o comando da
DML em chamada de procedimento normal na linguagem hospedeira. O
programa resultante ento passado pelo compilador da linguagem
hospedeira, o qual gera o cdigo-objeto apropriado.
Existem tipos especiais de linguagens de programao que combinam
estruturas de controle de linguagens tipo Pascal com estruturas de controle
para a manipulao de um objeto de um banco de dados (por exemplo, as
relaes). Essas linguagens, algumas vezes chamadas de linguagens de quarta
gerao, frequentemente incluem recursos especiais para facilitar a criao de
formulrios e a disposio de dados na tela. A grande maioria dos sistemas de
bancos de dados comerciais inclui uma linguagem de quarta gerao.
Usurios de alto nvel. Esses usurios interagem com o sistema sem escrever
programas. Em vez disso, eles formulam suas consultas em uma linguagem de
consulta (query) a banco de dados. Cada consulta submetida a um
processador de consulta, cuja funo gerar um comando da DML e dividi-lo
em instrues que o gerenciador do banco de dados compreenda.
Usurios especializados. Alguns usurios padres escrevem aplicativos
especializados que no se ajustam a padres tradicionais de processamento de
dados. Entre esses aplicativos, esto os sistemas de projeto apoiado por
computador (Computer Aided Project, CAP), sistemas especialistas, sistemas
que armazenam dados com tipos complexos (como, por exemplo, dados
geogrficos e dados de udio) e sistemas de modelagem ambiental.
Usurios ingnuos. Esses usurios interagem com o sistema invocando um dos
programas aplicativos permanentes que foram escritos anteriormente. Por
exemplo, um contador do banco que precisa transferir $50 da conta A para
uma conta B invocaria um programa chamado transferncia. Este programa
perguntaria ao contador que quantidade de dinheiro est sendo transferida, a
conta a partir da qual a transferncia ser feita e a conta para a qual o dinheiro
deve ser transferido.

Estrutura geral dos sistemas

Um sistema de banco de dados dividido em mdulos que tratam de cada uma das
responsabilidades do sistema geral. Na maioria dos casos, o sistema operacional do
computador fornece apenas os servios mais bsicos e o sistema de banco de dados
precisa ser construdo sobre essa base. Portanto, o projeto do sistema de banco de
dados precisa incluir consideraes sobre a interface entre o sistema de banco de
dados e o sistema operacional.

Os componentes funcionais de um sistema de banco de dados incluem:

Gerenciador de arquivos, que gerencia a alocao do espao na armazenagem


do disco e as estruturas de dados usadas para representar a informao
armazenada no disco.
Gerenciador de banco de dados, que fornece a interface entre os dados de
baixo nvel armazenados no disco e os programas aplicativos e de consulta
submetidos ao sistema.
Processador de consultas, que traduz os comandos numa linguagem de
consulta para instrues de baixo nvel que o gerenciador do banco de dados
pode interpretar. Alm disso, o processador de consultas tenta transformar
uma requisio do usurio em uma forma compatvel e mais eficiente com
respeito ao banco de dados, encontrando uma boa estratgia para executar a
consulta.
Pr-compilador da DML, que converte comandos da DML embutidos em um
aplicativo para chamadas de procedimento normal na linguagem hospedeira. O
pr-compilador precisa interagir com o processador de consultas pra gerar o
cdigo apropriado.
Compilador da DDL, que converte comandos da DDL em um conjunto de
tabelas contendo metadados ou dados sobre dados.

Adicionalmente, diversas estruturas de dados so requeridas como parte da


implementao do sistema fsico, incluindo:

Arquivos de dados, que armazenam o banco de dados propriamente dito.


Dicionrio de dados, que armazena metadados sobre a estrutura do banco de
dados. O dicionrio de dados usado com frequncia. Assim, deve-se dar
grande nfase no desenvolvimento de um bom projeto e implementao
eficiente do dicionrio.
ndices, que fornecem acesso rpido aos itens de dados guardando
determinados valores.

You might also like