Administrador de banco de dados
Uma das principais razões para empregar um gerenciador de banco de dados é ter um controle central dos dados e dos programas de acesso a eles. A pessoa que tem esse controle sobre os sistema é chamada administrador de banco de dados (database administrator, DBA). As funções do administrador de banco de dados incluem:- Definição de esquema. O esquema original do banco de dados é criado escrevendo-se um conjunto de definições que dão traduzidas pelo compilador de DDL para um conjunto de tabelas que é armazenado permanentemente no dicionário de dados.
- Definição de estruturas de armazenamento e métodos de acesso. Estruturas apropriadas de armazenamento e métodos de acesso são criados escrevendo-se um conjunto de definições que são traduzidas pelo compilador de estruturas de dados e de linguagem de definição.
- Modificação do esquema e de organização física. Modificações no esquema do banco de dados ou na descrição da organização da armazenagem física, embora relativamente raras, são executadas escrevendo-se um conjunto de definições que são usadas pelo compilador de DDL ou pelo compilador de estruturas de dados e linguagem de definição para gerar modificações nas respectivas tabelas internas do sistema (como, por exemplo, o dicionário de dados).
- Concessão de autorização para acesso aos dados. A concessão de diferentes tipos de autorização permite ao administrador do banco de dados regular a quais partes do banco de dados os diversos usuários podem fazer acesso.
- Especificação de restrição de integridade. Restrições de integridade são mantidas em uma estrutura especial do sistema, consultada pelo gerenciador do banco de dados quando uma atualização ou inserção é feita no sistema.
Usuários de banco de dados
A meta principal de um sistema de banco de dados é prover um ambiente para buscar e armazenar novas informações no banco de dados. Existem quatro tipos diferentes de usuários de banco de dados, segundo o modo pelo qual esperam interagir com o sistema.- Programadores de aplicativos. Profissionais da computação
interagem com o sistema por meio de chamadas à DML, que são
embutidas em um programa escrito em uma linguagem hospedeira
(por exemplo, Cobol, PL/I, Pascal, C, C++, Java, etc). Estes programas são
frequentemente referenciados como programas de aplicação.
Exemplos em um sistema bancário incluem programas que geram cheques
de pagamento, fazem débitos e créditos em contas, transferem
fundos entre contas, etc.
Uma vez que a sintaxe da DML é normalmente bastante diferente da sintaxe da linguagem hospedeira, chamadas na DML são usualmente precedidas por um caractere especial, e então o código apropriado pode ser gerado. Um pré-processador especial, chamado pré-compilador DML, converte o comando da DML em chamada de procedimento normal na linguagem hospedeira. O programa resultante é então passado pelo compilador da linguagem hospedeira, o qual gera o código-objeto apropriado.
Existem tipos especiais de linguagens de programação que combinam estruturas de controle de linguagens tipo Pascal com estruturas de controle para a manipulação de um objeto de um banco de dados (por exemplo, as relações). Essas linguagens, algumas vezes chamadas de linguagens de quarta geração, frequentemente incluem recursos especiais para facilitar a criação de formulários e a disposição de dados na tela. A grande maioria dos sistemas de bancos de dados comerciais inclui uma linguagem de quarta geração. - Usuários de alto nível. Esses usuários interagem com o sistema sem escrever programas. Em vez disso, eles formulam suas consultas em uma linguagem de consulta (query) a banco de dados. Cada consulta é submetida a um processador de consulta, cuja função é gerar um comando da DML e dividi-lo em instruções que o gerenciador do banco de dados compreenda.
- Usuários especializados. Alguns usuários padrões escrevem aplicativos especializados que não se ajustam a padrões tradicionais de processamento de dados. Entre esses aplicativos, estão os sistemas de projeto apoiado por computador (CAP), sistemas especialistas, sistemas que armazenam dados com tipos complexos (como, por exemplo, dados geográficos e dados de áudio) e sistemas de modelagem ambiental.
- Usuários ingênuos. Esses usuários interagem com o sistema invocando um dos programas aplicativos permanentes que foram escritos anteriormente. Por exemplo, um contador do banco que precisa transferir $50 da conta A para uma conta B invocaria um programa chamado transferência. Este programa perguntaria ao contador que quantidade de dinheiro está sendo transferida, a conta a partir da qual a transferência será feita e a conta para a qual o dinheiro deve ser transferido.
Estrutura geral do sistema
Um sistema de banco de dados é dividido em módulos que tratam de cada uma das responsabilidades do sistema geral. Na maioria dos casos, o sistema operacional do computador fornece apenas os serviços mais básicos e o sistema de banco de dados precisa ser construído sobre essa base. Portanto, o projeto do sistema de banco de dados precisa incluir considerações sobre a interface entre o sistema de banco de dados e o sistema operacional.Os componentes funcionais de um sistema de banco de dados incluem:
- Gerenciador de arquivos, que gerencia a alocação do espaço na armazenagem do disco e as estruturas de dados usadas para representar a informação armazenada no disco.
- Gerenciador do banco de dados, que fornece a interface entre os dados de baixo nível armazenados no disco e os programas aplicativos e de consulta submetidos ao sistema.
- Processador de consultas, que traduz os comandos numa linguagem de consulta para instruções de baixo nível que o gerenciador do banco de dados pode interpretar. Além disso, o processador de consultas tenta transformar uma requisição do usuário em uma forma compatível e mais eficiente com respeito ao banco de dados, encontrando uma boa estratégia para a executar a consulta.
- Pré-compilador da DML, que converte comandos da DML embutidos em um aplicativo para chamadas de procedimento normal na linguagem hospedeira. O pré-compilador precisa interagir com o processador de consultas pra gerar o código apropriado.
- Compilador da DDL, que converte comandos da DDL em um conjunto de tabelas contendo metadados ou "dados sobre dados".
- Arquivos de dados, que armazenam o banco de dados propriamente dito.
- Dicionário de dados, que armazena metadados sobre a estrutura do banco de dados. O dicionário de dados éusado com freqüência. Assim, deve-se dar grande ênfase no desenvolvimento de um bom projeto e implementação eficiente do dicionário.
- Índices, que fornecem acesso rápido aos itens de dados guardando determinados valores.
Nenhum comentário:
Postar um comentário