Uma característica fundamental da abordagem de banco de dados é que ela oferece algum nível de abstração de dados.
Um modelo de dados refere-se a uma coleção de conceitos que podem ser usados para descrever a estrutura de um banco de dados e oferece os meios necessários para alcançar essa abstração. Com estrutura de um banco de dados, queremos dizer os tipos, relacionamentos e restrições que se aplicam aos dados. Os SGBDs possuem um conjunto de operações básicas para especificar recuperações e atualizações no banco de dados por meio da linguagem SQL.
Além das operações básicas fornecidas pelo modelo de dados, está se tornando mais comum incluir conceitos no modelo de dados para especificar o aspecto dinâmico ou comportamento de uma aplicação de banco de dados. Isso permite ao projetista do banco de dados especificar um conjunto de operações válidas, definidas pelo usuário, sobre os objetos do banco de dados. Veja um exemplo.
Por sua vez, operações genéricas para inserir, excluir, modificar ou recuperar qualquer tipo de objeto normalmente estão incluídas nas operações básicas do modelo de dados. Conceitos para especificar o comportamento são fundamentais para os modelos de dados orientados a objeto, mas também estão sendo incorporados em modelos de dados mais tradicionais. Por exemplo, modelos objeto-relacional estendem o modelo relacional básico para incluir tais conceitos, entre outros. No modelo de dados relacional básico, existe um recurso para conectar um comportamento às relações, na forma de módulos de armazenamento persistente, popularmente conhecidos como procedimentos armazenados ou stored procedures.
Por exemplo, vamos voltar ao banco de dados hipotético de uma escola que vimos no módulo anterior. Para aquele cenário, uma operação possível seria, por exemplo, a capacidade de se calcular a média de uma determinada turma em uma matéria escolhida. Além dessa operação, uma série de outras variações no mesmo tema poderiam ser feitas: qual a média das notas por aluno? Qual aluno obteve a maior média? Qual matéria obteve a maior e a menor média? E assim por diante... Todas essas perguntas poderiam ser traduzidas em miniprogramas ou consultas SQL diretamente ao banco de dados.
XEsses procedimentos são como pequenos programas ou um mini conjunto de comandos que pode executar tarefas em um banco de dados. Exemplo: suponha que você queira criar uma rotina que calcule as médias individuais, máximas e mínimos das notas dos alunos em cada turma. Um miniprograma, na forma de um procedimento armazenado, poderia ser construído dentro do SGBD. Ao executar esse miniprograma, a rotina seria processada e o relatório resultante seria apresentado ao usuário. Esses procedimentos armazenados podem executar qualquer tipo de operação em um SGBD, como backups, inserções de dados, cópia de dados entre bancos de dados diferentes, e outros.
X