Um banco de dados é um conjunto coerente e lógico de dados relacionados que possuem significância intríseca. Esses dados representam aspectos do mundo real e devem ser mantidos para atender aos requisitos da empresa.
Esses dados estão dispostos em uma ordem predefinida para atender a determinadas necessidades dos usuários. Existem diversos objetos que podem ser armazenados em um banco de dados, como índices, visões, procedimentos e funções.
Segundo DATE (p. 41, 2000), o objetivo geral do SGDB é fornecer suporte ao desenvolvimento e à execução de aplicações de bancos de dados. Portanto, sob um ponto de vista de mais alto nível, um sistema de banco de dados pode ser considerado como tendo uma estrutura muito simples em duas partes, consistindo em um servidor (também chamado back end) e um conjunto de clientes (também chamados front ends).
O servidor é o próprio SGDB, emitindo as funções de manipulação de dados, segurança, definição de dados, integridade de dados etc.
Os clientes são as diversas aplicações executadas sobre o SGBD, tanto aplicações escritas por usuários quanto aplicações fornecidas pelo fabricante do SGBD ou produtores independentes. (DATE, p. 41, 2000)
Um gerenciador de banco de dados (DBMS – Database Management System) é uma coleção de programas que permitem criar estruturas, manter dados e gerenciar as transações efetuadas em tabelas, além de permitir a extração das informações de maneira rápida e segura.
Ao se projetar um banco de dados tem-se em mente um conjunto de aplicações que primordialmente se deseja fazer sobre os dados. Elas determinam o uso principal que se quer fazer do banco de dados. Bancos de dados podem ser muito simples ou muito complexos e/ou de tamanhos que podem variar de um banco de dados para outros.
Como, por exemplo, podemos ter uma simples e pequena base de dados dos nomes e telefones das pessoas conhecidas de um indivíduo ou dos bens e valores de uma pessoa física. Bases de dados podem ser mantidas de forma manual, através de um arquivo físico ou de forma automática através de um computador. Uma base de dados maior e mais complexa poderia ser, o catálogo de todos os livros publicados nos Estados Unidos ou uma base de dados de todas as fotos recolhidas ao longo dos anos pelo programa espacial americano.
Há cinco tipos de banco de dados:
- Hierárquico: um gerenciador desse tipo representa dados como uma estrutura de arvore,composto de uma hierarquia de registros de dados.
- Rede: Representa os dados como registros vinculados uns aos outros, formando conjuntos comuns de dados. Existe uma similaridade muito grande entre o modelo hierárquico e o modelo de rede. Pode-se entender o modelo de rede como uma generalização do modelo hierárquico, ou este último como um caso particular do modelo de rede. No modelo de rede, um filho pode ter mais de um pai.
- Relacional: representa os dados como uma simples coleção de linhas e colunas em tabelas bidimensionais.
- Objeto-Relacional: combina o modelo orientado a objetos (união de propriedades e métodos) com o modelo relacional (linhas e colunas de tabelas).
- Objeto: representa os dados e processos em um único objeto. Aplicações escritas pelo usuário são basicamente programas aplicativos comuns em uma linguagem de programação convencional de terceira geração (L3G).
Aplicações fornecidas por fabricantes (chamadas frequentemente de ferramentas – tools) tem finalidade básica de auxiliar na criação e execução de outras aplicações. Por exemplo, uma das ferramentas fornecida pelo fabricante será um gerador de relatórios. Qualquer solicitação de relatório pode ser considerada um pequeno programa aplicativo, escrito em uma linguagem de geração de relatórios de nível muito alto.
As ferramentas fornecidas pelo fabricante podem ser divididas em diversas classes:
a. Processadores de linguagem de consulta.
b. Geradores de relatórios.
c. Subsistemas gráficos de negócios.
d. Planilhas eletrônicas.
e. Processadores de linguagem natural.
f. Ferramentas para gerenciamento de cópias ou “extração de dados” (DATE, p. 42, 2000)
Utilitários
São programas projetados para auxiliar o DBA com diversas tarefas administrativas. Exemplos:
a. Rotinas de carga, a fim de criar a versão inicial do banco de dados a partir de um ou mais arquivos do sistema operacional.
b. Rotinas de descarregamento/recarregamento, a fim de descarregar o banco de dados, ou partes dele, para o meio de armazenamento de backup e recarregar dados dessas cópias de backup.
c. Rotinas de reorganização, a fim de rearranjar os dados no banco de dados armazenado por várias razões (em geral, relacionada com o desempenho)
d. Rotinas estatísticas, a fim de calcular diversas estatísticas de desempenho, tais como
tamanhos de arquivos e distribuição de valores de dados. (DATE, p. 43, 2000)