Camada de abstração de banco de dados
Uma camada de abstração de banco de dados é uma interface de programação de aplicações que unifica a comunicação entre uma aplicação de computador e bancos de dados como o SQL Server, DB2, MySQL, PostgreSQL, Oracle ou SQLite. Tradicionalmente, todos os fornecedores de bancos de dados fornecem suas próprias interfaces sob medida para os seus produtos, o que deixa o programador de aplicações implementar código para todas as interfaces de banco de dados que ele ou ela deseja suportar. As camadas de abstração de banco de dados reduzem a quantidade de trabalho fornecendo uma API consistente para o desenvolvedor e esconde os detalhes do banco de dados atrás desta interface tanto quanto possível. Existem muitas camadas de abstração com interfaces diferentes em várias linguagens de programação. Se uma aplicação possui tal camada embutida, ela é chamada de agnóstica a banco de dados (database-agnostic).[1]
Níveis de abstração de banco de dados
editarNível físico (nível mais baixo)
editarDefine como os dados são armazenados. É muito complexo e é usado por desenvolvedores.
Nível conceitual (nível médio ou próximo mais alto)
editarDefine dados em termos de um modelo de dados. Ele diz o quais dados são armazenados e descritos em pequenos números. Este nível é normalmente usado pelo DBA (database administrator - em português, administrador de banco de dados).
Nível externo ou de visão
editarDefine um número de visões simplificadas de domínio específico. Descreve apenas parte de bancos de dados. Este nível é usado pelos usuários.[2]