Sistema de Gerenciamento de Banco de Dados (SGBD)
Autor: Rivanildo Bandeira Guimarães | Publicado: 2011-12-03T15:29:00-02:00

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Um sistema de gerenciamento de banco de dados não é nada mais do que um conjunto de programas que permitem armazenar, modificar e extrair informações de um banco de dados. Há muitos tipos diferentes de SGBD. Desde pequenos sistemas que funcionam em computadores pessoais a sistemas enormes que estão associados a mainframes. Também pode ser definido como uma coleção de programas que permitem ao usuário definir, construir e manipular bases de dados para as mais diversas finalidades.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Um sistema de banco de dados é basicamente um sistema computadorizado de manutenção de registros. Pode ser considerado o equivalente eletrônico de um armário de arquivamento; ou seja, um repositório ou recipiente para uma coleção de arquivos de dados.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Um sistema de gerenciamento de banco de dados implica a criação e manutenção de bases de dados, elimina a necessidade de especificação de definição de dados, age como interface entre os programas de aplicação e os ficheiros de dados físicos e separa as visões lógica e de concepção dos dados. Assim sendo, são basicamente três os componentes de um SGBD:Linguagem de definição de dados (especifica conteúdos, estrutura a base de dados e define os elementos de dados);
Linguagem de manipulação de dados (para poder alterar os dados na base);
Dicionário de dados (guarde definições de elementos de dados e respectivas características – descreve os dados, quem os acede, etc. 
Aplicações de bancos de dados&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sistemas Gerenciadores de Bancos de dados são usados em muitas aplicações, enquanto atravessando virtualmente a gama inteira de software de computador. Os Sistemas Gerenciadores de Bancos de dados são o método preferido de armazenamento/recuperação de dados/informações para aplicações multi-usuárias grandes onde a coordenação entre muitos usuários é necessária. Aplicativo de Banco de Dados&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Um Aplicativo de Banco de dados é um tipo de software exclusivo para gerenciar um banco de dados. Aplicativos de banco de dados abrangem uma vasta variedade de necessidades e objetivos, de pequenas ferramentas como uma agenda, até complexos sistemas empresariais para desempenhar tarefas como a contabilidade.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;O termo "Aplicativo de Banco de dados" usualmente se refere a softwares que oferecem uma interface para o banco de dados. O software que gerencia os dados é geralmente chamado de sistema gerenciador de banco de dados (SGBD). Exemplos de aplicativos de banco de dados: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Algumas funções relevantes do SGBD são:

·&nbsp;&nbsp;&nbsp;&nbsp;Interação com o sistema de arquivos do sistema operacional;

·&nbsp;&nbsp;&nbsp;&nbsp;Cumprimento da integridade;

·&nbsp;&nbsp;&nbsp; Cumprimento da segurança;

·&nbsp;&nbsp;&nbsp; Cópias de segurança (“backup”) e recuperação;

·&nbsp;&nbsp;&nbsp; Controle de concorrência;

·&nbsp;&nbsp;&nbsp; Otimização e execução dos comandos DML;

·&nbsp;&nbsp;&nbsp;&nbsp;Dicionário de Dados;

·&nbsp;&nbsp;&nbsp; Desempenho.
Modelos de Bancos de Dados:
·&nbsp;&nbsp;&nbsp;&nbsp;Modelo Hierárquico;
·&nbsp;&nbsp;&nbsp;&nbsp;Modelo em Rede;
·&nbsp;&nbsp;&nbsp; Modelo Orientado a Objetos;
·&nbsp;&nbsp;&nbsp;&nbsp;Modelo Relacional: mais usado!
Vantagens dos Bancos de Dados:
·&nbsp;&nbsp;&nbsp;&nbsp;Integridade pode ser mantida; 
·&nbsp;&nbsp;&nbsp;&nbsp;Dados podem ser compartilhados; 
·&nbsp;&nbsp;&nbsp;&nbsp;Segurança pode ser reforçada; 
·&nbsp;&nbsp;&nbsp;&nbsp;Suporte a transações pode ser fornecido; 
·&nbsp;&nbsp;&nbsp;&nbsp;Redundância pode ser reduzida; 
·&nbsp;&nbsp;&nbsp;&nbsp;Inconsistência pode ser evitada (até certo ponto)‏; 
·&nbsp;&nbsp;&nbsp; Requisitos contraditórios podem ser equilibrados; 
·&nbsp;&nbsp;&nbsp;&nbsp;Padrões podem ser reforçados.
Outras vantagens de Banco de Dados:
·&nbsp;&nbsp;&nbsp;&nbsp;Organização dos dados, pois a estrutura dos dados é muito complicada para ser armazenada em tabelas;
·&nbsp;&nbsp;&nbsp;&nbsp;Volume de dados, pois o volume dos dados é muito grande para ser armazenado em uma tabela;
·&nbsp;&nbsp;&nbsp;&nbsp;Velocidade/Eficiência, pois os dados são obtidos e atualizados rapidamente no BD; 
·&nbsp;&nbsp;&nbsp;&nbsp;Concorrência, pois diferentes aplicações/usuários podem compartilhar os mesmos dados;
·&nbsp;&nbsp;&nbsp;&nbsp;Redundância controlada, pois dados compartilhados não precisam ser replicados;
·&nbsp;&nbsp;&nbsp;&nbsp;Aplicabilidade, pois à diminuição no tempo de desenvolvimento da aplicação.

Desvantagens dos Bancos de Dados:
·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Danos ao banco de dados afetam virtualmente todos os programas; 
·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Treinamento inicial necessário aos programadores e usuários;
·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Os sistemas de banco de dados são complexos, difíceis e demorados para projetar; 
·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Custos iniciais de software e hardware altos; 
·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Custos altos para conversão de sistemas baseados em arquivos para bancos de dados.