SGBD
SISTEMAS DE GESTÃO DE
BASES DE DADOS
Argentina Samuel
Euclides Cumbe
Osvaldo do Rosário
1. Conceitos, origem funções e tipos
1.1. Conceitos
Um sistema de gestão
de bases de dados – SGBD, é, segundo Heuser (1998), “umsoftware que
incorpora as funções de definição, recuperação e alteração de dados”.
Já para Elmasri e
Navathe (2005), um SGBD “é uma colecção de programas que permitem a criação,
manipulação e manutenção de uma base de dados – BD”. Ou seja, um SGBD “é
um software de propósito geral que facilita os processos de
definição, construção, manipulação e partilha de bases de dados entre vários
usuários e aplicações”. (ibidem).
Em suma pode se dizer
que um SGBD é software que controla as funções de diferentes
bases de dados interligadas.
1.2. Origem e evolução
dos SGBD
Segundo Heuser (1998),
os SGBD surgiram nos inícios da década de 70, do século passado, com o
objectivo de facilitar a programação de aplicações de BD. Os primeiros sistemas
eram caros e difíceis de manusear, requerendo especialistas treinados para usar
um SGBD específico.
Não obstante os
constrangimentos mencionados, houve na mesma época, um importantíssimo INVESTIMENTO em pesquisa e
implementação de SGBD, que culminou com a criação, de um SGBD relacional, que
passou, a partir da década de 80, a liderar o Mercado, devido ao barateamento
de plataformas dehardware/software para sua execução, tendo este,
se convertido em Padrão Internacional, que norteia, até hoje, o desenvolvimento
de Sistemas de Informação.
Além do SGBD,
relacional, (Heuser, 1998), “pesquisas na área de BD resultam também em um
conjunto de técnicas, processos e notações para o projecto de uma BD”; um
projecto que inicialmente era feito com técnicas empíricas por alguns poucos
especialistas em SGBD específico, que é executada hoje, a partir de técnicas
padronizadas e suportadas por ferramentas CASE[1].
1.3. Funções de um
SGBD
“Um SGBD tem as
funções de permitir aos seus usuários a pesquisa em BD para recuperar um dado
específico; actualizar a base de dados para reflectir as mudanças nesse mini
mundo – como são chamados os SGBD e gerar relatórios dos dados”.
(Elmasri & Navathe, 2005).
Outras funções de um
SGBD são a protecção e a manutenção de BD por longos períodos. Essa protecção
inclui a protecção do sistema contra o mau funcionamento ou falhas (crashes)
no hardware ou no software, e seguranças
contra acessos não autorizados e “maliciosos”.
Assim, um SGBD tem a
função de manter um sistema de bases de dados – SBD que permita a evolução dos
requisitos que se alteram ao longo do tempo de vida das BD, visto essas poderem
ter um ciclo de vida de muitos anos.
1.4. Tipos de SGBD
Existem no Mercado,
vários tipos de SGBD, mas no presente trabalho, iremos destacar o SGBD do tipo
relacional, que predomina no Mercado da actualidade. Porém, muitas ideias a
serem apresentados no meio deste, aplicam-se a outros tipos, como os SGBD
orientados a objecto ou objectos (relacional).
2. Classificação dos SGBD
Segundo Elmasri e
Navathe (2005, p.31 e 32), existem vários critérios que concorrem para a
classificação dos SGBD. O primeiro é o modelo de dados no qual o SGBD é
baseado, actualmente o principal modelo de dados usado na maioria dos SGBD
comerciais é o modelo de dados relacional, o modelo de dados de objecto foi
implementado em alguns sistemas comerciais, mas seu uso não foi muito
difundido. Os SGBD relacionais estão em contínua evolução e têm incorporado
muitos dos conceitos que foram desenvolvidos nas bases de dados de objecto.
Contudo, essa evolução gerou uma nova categoria de SGBD chamada de
objecto-relacional.
O segundo critério
para a classificação de SGBD, é o número de usuários suportado pelo sistema,
desdobrando-se em sistemas de usuário único e os multi-usuários, onde os
sistemas de usuário único suportam apenas um usuário por cada vez e são mais
usados em computadores pessoais, por sua vez os sistemas multi-usuários
auxiliam múltiplos usuários simultaneamente. O terceiro critério é o numero de
sites pelos quais o banco de dados está distribuído, podendo o SGBD ser
centralizado quando o banco de dados for armazenado em único site e distribuído
quando esta distribuído em vários sites.
2.1. Caracteristicas
de um SGBD
O SGBD tem como
características principais, permitir o compartilhamento de dados e
processamento transacções multi-usuários, suporte para múltiplas visões de
dados, um SGBD tem ainda como característica a natureza auto descritiva do
sistema de bases de dados.
3. Actores de um SGBD
São actores de um
SGBD, todas pessoas que actuam num ambiente SGBD. Segundo Elmasri e Navathe
(2005), “para uma pequena BD” – como uma agenda telefónica ou de endereços,
“uma pessoa, em geral, define, constrói e manipula a BD”. Porém, numa BD de
grande porte, como as usadas em grandes organizações, “estão envolvidos muitos
actores, por isso, chamamos a esse conjunto, Sistema”. São indicados, a seguir,
esses actores.
3.1. Administrador da
BD
Chamado em
inglês, data base administrator - DBA, é o responsável máximo
pela gestão de recursos de uma BD; é o responsável pela autorização do acesso à
base, pela coordenação e monitorização de seu uso e por adquirir recursos
de software ehardware, conforme necessário. Este é
responsável também, por questões de segurança (brechas) ou tempo de resposta do
sistema. Em grandes organizações, o DBA possui um staff de
assistentes que o auxiliam no desempenho de suas funções.
3.2. Projectista ou
Desenhador de BD
Também chamado
de Data Base Designer – DBD, um desenhador de BD, é o
responsável pela concepção de BD. Suas tarefas são realizadas antes da
construção e implementação da BD e da sua alimentação com os dados. Este deve
comunicar-se antes, com os potenciais usuários da BD, a fim de saber quais são
as suas necessidades e satisfazê-las. Esses usuários, vão desde o
administrador, o próprio designer, o funcionário, até um
mero consulente. Em algumas organizações, um DBD trabalha
directamente com o DBA.
3.3. Usuário final
Os usuários finais,
são entidades (pessoas) cujas funções requerem frequentemente, o uso da/ou o
acesso à BD para consultas, actualizações e relatórios. Estes são agrupados em
várias categorias:
· Casuais: aqueles que accionam a
BD ocasionalmente, mas precisam de informações diferentes a cada acesso; usam
uma linguagem de consulta sofisticada para especificar suas solicitações; são
normalmente gerentes de médio ou alto nível, ou ainda, outros profissionais com
necessidades ocasionais;
· Iniciantes: também chamados
usuários finais parametrizáveis, compõem uma grande camada de usuários e o seu
trabalho exige um envolvimento constante com a consulta e actualização de bases
de dados, usando tipos de consultas e actualizações padronizadas,
cuidadosamente programadas e testadas. Esses usuários, são normalmente
bancários, funcionários responsáveis pelas reservas de voos, de hotéis,
restaurantes, entre outros;
· Usuários sofisticados: incluem os
engenheiros, cientistas, analistas de Mercados, entre outros, que são
familiarizados com as facilidades do SGBD para implementar aplicações que
atendam às suas solicitações complexas;
· Usuários autónomos (stand-alone): são aqueles que mantêm
uma BD pessoal por meio do uso de pacotes de programas prontos, que possuem
interfaces gráficas ou programas baseados em menus fáceis de
usar. Um exemplo disso, é o usuário de um pacote para cálculo de impostos, que
armazena seus dados pessoais (financeiros) para o pagamento de impostos.
· Analistas de sistemas e programadores: também chamados
engenheiros de software, determinam (os analistas de sistemas)
as solicitações dos usuários finais, em especial, os usuários iniciantes e os
parametrizáveis, além de desenvolver as especificações das transacções customizadas que
atendam a essas solicitações; já os programadores de aplicações implementam
essas especificações como programas, eles testam, documentam e mantêm essas
transacções. Para realizar suas tarefas, os engenheiros de software precisam
estar familiarizados com toda a gama de capacidades oferecidas pelo SGBD.
Num ambiente BD,
existem em adição aos administradores e projectores, outros actores que estão
associados ao projecto, desenvolvimento e operação do SGBD, “estes não têm um
interesse na BD para fins pessoais – são os trabalhadores dos
bastidores, e são”. (Elmasri e Navathe, 2005). Eles são agrupados nas
seguintes categorias:
· Projectista e implementa dores dos SGBD: são aqueles
que implementam os módulos e interfaces do SGBD como um pacote, esses módulos e
programas podem servir para implementar o catálogo, para o processamento de
linguagem de consulta, interfaces, acesso e armazenamento temporário dos dados,
entre outros;
· Desenvolverdes de ferramentas: são aqueles que
desenvolvem as ferramentas, isto é, os pacotes d programas que facilitam o
projecto e o uso de um SBD e ajudam aperfeiçoar o seu desempenho;
· Pessoal de manutenção e operadores: são pessoa da
administração do sistema responsáveis pela execução e manutenção do ambientehardware/software do
sistema.
2.5. Modelos de Bases
de Dados
Modelo de uma Base de
Dados é uma descrição formal da estrutura de uma BD. por exemplo, no caso de
uma escola/faculdade, o modelo poderia informar que a BD armazena informações
sobre estudantes, e cada estudante possui o seu código e a sua descrição.
Porém, o modelo de dados não informa quais os estudantes registados, apenas
informam que a BD possui informações sobre estudantes.
2.5.1. Modelo
conceptual
Um modelo conceptual é
um modelo de dados abstracto, que descreve a estrutura da BD de forma
independente de um SGBD particular. Isto é, este regista que os dados podem
aparecer numa BD sem mostrar como estes estão armazenados a nível do SGBD.
A técnica mais
difundida da modelagem conceptual, é a abordagem entidade-relacionamento
(ER). Nesta técnica, o modelo é usualmente representado por um
diagrama – o diagrama entidade-relacionamento (DER).
2.5.2. Modelo Lógico
Um modelo lógico é uma
descrição de uma base de dados no nível de abstracção visto pelo SGBD. Assim
sendo, este depende do tipo de SGBD usado. O modelo lógico descreve os dados de
forma como eles são vistos pelos usuários do SGBD. Assim sendo, os detalhes do
armazenamento interno de informações não influenciam a programação de
aplicações no SGBD, mas podem influenciar a suaperformance (por
exemplo, as estruturas de arquivos usados no acesso às informações), não fazem
parte do modelo lógico.
2.5.3. Modelo Físico
São modelos geralmente
usados apenas por profissionais que fazem sintonia de bases de dados,
procurando optimizar a performance. As linguagens e notações
para este modelo não são padronizadas e variam de produto a produto.
2.5.4. Modelo
representativo/de implementação
Esses modelos são mais
usados nos SGBD comerciais tradicionais. Incluem o popular modelo de
dados relacional, bem como os chamados modelos de dados ligados – os modelos de
redes e os modelos hierárquicos, que foram muito usados no passado.
2.6. Linguagens do
SGBD
Um SGBD suporta várias
linguagens, cada uma com a sua finalidade. Dentre as linguagens de um SGBD
destacam-se:
Linguagem de definição
de dados (DDL), é usada para definir o esquema conceitual da BD, na maioria dos
SGBD a linguagem DDL é usada também para definir as visões dos usuários e
algumas vezes as estruturas de armazenamento, em outros SGBD podem existir
linguagens como (VDL, SDL) com funções de especificar as visões e estrutura de
armazenamento, outra linguagem é a de manipulação de dados (DML), tem como
função especificar as recuperações e actualizações da base de dados e por fim o
SQL que é uma linguagem de consulta.
2.7. Vantagens de um
SGBD
Para além das
características já descritas no presente trabalho, um SGBD possui outras tantas
funcionalidades. Um DBA deve utilizar essas vantagens para atingir os objectivos
relacionados ao projecto, administração e o uso de uma grande base de dados
multi-usuários. Deste modo, são a seguir, indicadas algumas das vantagens de um
SGBD.
· Controlo de redundância;
· Restrição do acesso aos dados;
· Armazenamento persistente para objectos programados;
· Armazenamento de estruturas para o processamento
eficiente de consultas;
· Garante backup e restauração;
· Fornece múltiplas interfaces para os usuários;
· Representa relacionamentos complexos entre os dados;
· Garante a integridade dos dados; e
· Permite inferências e acções usando as regras.
2.8. Quando não usar o
SGBD (desvantagens)
Apesar das múltiplas
vantagens oferecidas pelo SGBD, há algumas situações de “altos custos” a
considerar:
· Altíssimos investimentos em hardware, software e
treinamento;
· Generalidade que o SGBD fornece para a definição e processamento de dados;
· Custos de segurança muito elevados, controlo de concorrência, recuperação e
funções de integridade.
Outros
constrangimentos de um SGBD podem advir da falta de sintonia entre
o DBA e o DBD com os usuários, caso os primeiros (DBA DBD) projectem uma BD de
maneira não adequada ou se a sua implementação não for feita de forma
apropriada; por exemplo:
· A BD e a sua aplicação são simples, bem definidas e sem perspectivas de
mudanças;
· Existência de alguns requisitos do real-time (tempo real)
para alguns programas difíceis de serema atendidos devida à sobrecarga (overhead)
do SGBD;
· O acesso de múltiplos usuários aos dados.
_______________________
REFEÊNCIAS
BIBLIOGRÁFICAS:
EMASRI, Ramez,
NAVATHE, Shamkant B. Sistema de Banco de Dados. Pearson Education do Brasil.
São Paulo. 2005.
HEUSER, Carlos
Alberto. Projecto de Bancos de Dados. Editora Sagra Luzzatto. Porto
Alegre.1998.
[1] CASE: Computer-Aided Software Engineering, em português: “Engenharia de Software Auxiliada por Computador”.Ferramenta de modelagem
de Bases de Dados.