segunda-feira, 23 de novembro de 2009

Sistema de gerenciamento de banco de dados- SGBD


Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de uma base de dados. O principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, manipulação e organização dos dados. O SGBD disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados. Em bancos de dados relacionais a interface é constituída pelas APIs ou drivers do SGBD, que executam comandos na linguagem SQL.


Conceito e Arquitetura de um SGBD



Modelo de Dados:

Uma das principais caractéristicas da agordagem banco de dados, é que a mesma fornece alguns níveis de abstração de dados omitindo ao usuário final, detahles de como estes dados são armazenados. Um ¨modelo de dados¨ é um conjunto que podem ser utilizados para descrever a estrutua ¨lógica¨e ¨física¨ de um banco de dados. Por ¨ estrutura¨podemos compreender o tipo dos dados, os relacionamentos e as restrições que podem recarir sobre os dados
Os modelos de dados podem ser basicamente de dois tipo
. Alto nível: ou modelo de dados conceitual, que fornece uma visão mais próxima do modo comom os usuários visualizam os dados realmente;
. Baixo nível: ou modelo de dados físico, que fornece uma visão mais detalhada do modo como os dados estão realmente armazenados no computado

Esquema e Istância


Em qualquer modelo de dados utilizado, é importante distinguir a ¨descrição¨ do banco de dados do ¨banco de dados¨por si próprio. A descrição de um banco de dados é chamada de ¨esquema de um banco de dados¨ e é especificada durante o projeto do banco de dados. Geralmente, poucas mudanças ocorrem no esquema de banco de dados.

Os dados armazenados em um banco de dados em um determinado instante do tempo formam um conjunto chamado de ¨instância do banco de dados¨. A instância altera toda vez que uma alteração no banco de dados é feita.


O SGBD é respnsável por garantir que toda instância do banco de dados satisfaça ao esquema do banco de dados, respeitando sua estrutura e suas restrições. O esquema de um banco de dados também pode ser chamado de ¨intensão¨ de um banco de dados e a istância de ¨extenção¨de um banco de dados.


Arquitetura:Três Esquemas


A principal meta da arquitetura ¨três esquemas¨é separar as aplicações do usuários do banco de dados físico.Os esquemas podem ser definidos como:

. Nível interno: ou esquema interno, o qual descreve a estrutura de armazenamento físico do banco de dados;utiliza um modelo de dados e descreve detalhadamente os dados armazenados e os caminhos de acesso ao banco de dados;

. Nível conceitual: ou esquema conceitual, o qual descreve a estrutura dobanco de dados como um todo;é uma descrição global do banco de dados, que não fornece detalhes do modo como os dados estão fisicamente armazenados;

. Nível externo: ou esquema de visão, o qual descreve as visões do banco de dados para um grupo de usuários; cada visão descreve quais porções do banco de dados de um grupo de usuários terá acesso.

Os Módulos Componentes de um SGBD


A Figura ilustra, de forma simplificada, os componentes típicos de um SGBD. O banco de dados e o catálogo de SGBD são normalmente armazenados no disco. O acesso ao disco é controlado principalmente pelo sistema operacional (SO), que organiza as entradas e as saídas. Um módulo de gerenciamento dos dados armazenados de alto nível do SGBD controla o acesso à informação do SGBD que está armazenada no disco, se for parte do banco de dados ou do catálogo.

Classificação dos SGBD



O principal critério para se classificar um SGBD é o modelo de dados no qual é baseado. Agrande maioria dos SGBDs conteporâneos são baseados no modelo relacional, alguns em modelos conceituais e alguns em modelos orientados a objetos. Outras classificações são :
. Usuários: um SGBD pode ser mono-usuário, comumente utilizado em computadores pessoais ou multi-usuários, utilizado em estações de trabalho, mine-computadores e máquinas de grande porte;

. Localização: um SGBD pode ser localizado ou distribuído; se els for localizado, então todos os dados estarão em uma máquina (ou em um único disco) ou distribuído, onde os dados estarão distribuídos por diversas máquinas (ou diversos discos);

. Ambiente: ambiente homogêneo é o ambiente composto por um único SGBD e um ambiente heterogêneo é o ambiente composto por diferentes SGBDs.

Vantagens e Desvantagens do uso de um SGBD


Controle de Redundância


No processamento tradicional de arquivos, cada grupo de usuários deve manter seu própio conjunto de arquivos e dado. Desta forma, acaba ocorrendo redundâncias que prejudicam o sistema com problemas como:

. Toda vez que for necessário atualizar um arquivo de um grupo, então todos os grupos devem ser atualizados para manter a integridade dos dados no ambiente como um toda;

. A redundância desnecessária de dados levam ao armazenamento excessivo de informações, ocupando espaço que poderia estar sendo utilizado com outras informações.



Compartilhamento de Dados


Um SGBD mult-usuário deve permitir que múltiplos usuários acessem o banco de dados ao mesmo tempo. Este fator é essencial para que múltiplas aplicações integradas possam acessar o banco.

O SGBD multi-usuário deve manter o controle de concorrência para assegurar que o resultado de atualizações sejam corretos, Um banco de dados multi-usuários deve fornecer recursos para a construção de múltiplas visões.



Restrição a Acesso não Autoridado


Um SGBD deve fornecer um substima de autorização e segurança, o qual é utilizado pelo DBA para criar ¨contas¨e especificar as restrições destas contas; o controle de restrições se aplica tanto ao acesso aos dados qunto ao uso de softwares inerentes ao SGBD.


Representação de Relacionamentos Complexos entre Dados


Um banco de dados pode incluir uma variedade de dados que eatão interrelaciondados de várias formas. Um SGBD deve fornecer recursos para se rspresentar uma grande variedade de relacionamentos enter os dados, bem como, recuperar e atualizar os dados de maneira prática e eficiente.


Tolerância a Falhas


Um SGBD deve fornecer recursos para recuperaão de falhas tanto de software quanto de hardware.

Quando não Utilizar um SGBD


Em algumas situaçoes, o uso de um SGBD pode representar uma carga desnecessária aos custos quando comprado à abordagem processamento tradicional de arquivos como por exempo:

. Alto investimento inicial na compra de softwere e hardwere adicionais;

. Generalidade que um SGBD fornece na definição e processamento de dados;

. Sobrecarga na povisão de controle de segurança, controle de concorrência, recuperação e integração de funções;

Problemas adicionais podem surgir caso os projetos de banco de dados ou os administrdores de banco de dados não elaboram os projetos corretamente ou se as aplicações não são implementadas de forma apropriada. Se o DBA não adiministrar o banco de dados de foram apropriada, tanto a segurança quando a integridade dos sistemas podem ser comprometidas. A sobrecarga causada pelo uso de um SGBD e a má administração justificam a utilização da abordagem processamento tradicional de arquivos em casos como:

. O banco de dados e as aplicações são simples, bem definidas e não se espera mudanças no projeto;

. A necessidade de processamento em tempo realde certas aplicações, que são terrivelmente prejudicadas pela sobrecarga causada pelo uso de um SGBD;

. Não haverá múltiplo acesso ao banco de dados.

Curiosidades de um SGBD


Dicas :
. Um banco de dados pode ser criado e mantido por um conjunto de aplicações desenvolvidas especialmente para esta para estatarefa ou por um ¨Sistema Gerenciador de Banco de Dados de Dados ¨(SGBD). Um SGBD permite aos usuários criarem e manipularem bancos de dados de propósito geral. O conjunto formado por um banco de dados mais as aplicações que manipulam o mesmo é chamado de ¨Sistema de Banco de Dados¨.
. O SGBD deve fornecer ao usuário uma ¨representação conceitual¨dos dados, sem fornecer muitos detalhes de como as informações são armazenadas. Um ¨modelo de dados ¨é uma abstração de dados que é utilizada para fornecer esta representação conceitual utilizando conceitos lógicos como objetos, suas propriedades e seus relacionamento. A estrutuar detalhada e a organização de cada arquivo são descrita no catálogo.
. Os usuários sofisticados são usuários que estão familiarizados com o SGBD e realizam consultas completas.

. Os analistas determinam os requistos dos usuários finais e desenvolvem especificações para transações que atendam estes requesitos, e os programadores implementam estas espeficações como programas, testando, depurando, documentando e dado manutenção no mesmo.É importante que tanto analistas quanto programadores, estejam a par dos recursos oferecidos pelo SGBD.