Sejam Bem Vindos!

Espaço voltado para discussão de aspectos teóricos e praticos da estrutura e funcionamento dos recursos de informação baseadas nas novas mídias; e das implicações inerentes à adopção tecnológica em unidades de informação.

quarta-feira, 24 de agosto de 2011

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), “um software 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 de hardware/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 e hardware, 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 ambiente hardware/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 sua performance (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.

Nenhum comentário:

Postar um comentário