Modelo de Dados e Arquitetura de Banco de Dados

Classificado em Computação

Escrito em em português com um tamanho de 4,63 KB.

Modelo de Dados

Uma coletânea de conceitos que podem ser utilizados para descrever a estrutura de um banco de dados (tipos de dados, relacionamentos e restrições) e também um conjunto de operações básicas para especificar recuperações e atualizações no banco de dados.

Categorias de Modelos de Dados:

  • Modelos de dados conceituais (alto nível): Possuem conceitos que descrevem os dados como os usuários os percebem: entidades, atributos e relacionamentos; Modelos lógicos baseados em objetos.
  • Modelos de dados representacionais (ou de implementação): Descrevem a forma como os dados estão organizados dentro do computador; Modelos lógicos baseados em registros.
  • Modelos de dados físicos (baixo nível): Descrevem detalhes de como os dados estão armazenados no computador.

Arquitetura de 3 Esquemas

Esquemas podem ser definidos em Três-níveis:

  • Proposta para auxiliar na realização e visualização das seguintes características: Independência de dados e operação de programas - Suporte a múltiplas visões - Uso do catálogo para armazenar a descrição do banco de dados.
  • O objetivo é separar o usuário da aplicação do banco de dados físico.

Níveis de Esquemas:

  1. Nível Interno – esquema interno:
    • Descreve a estrutura de armazenamento físico do banco de dados.
    • Utiliza um modelo de dados físico.
  2. Nível Conceitual – esquema conceitual ou lógico:
    • Descreve a estrutura da base de dados sem detalhes de estrutura de armazenamento físico.
    • Que dados estão armazenados e como estão relacionados.
  3. Nível Externo – esquema externo (visões dos usuários):
    • Descreve as visões dos usuários: a parte da base de dados em que cada grupo de usuários tem interesse.
    • Descrição de subesquemas.

Independência de Dados

É a capacidade de mudar o esquema em um nível do sistema de banco de dados sem que ocorram alterações do esquema no próximo nível mais alto.

  • Independência de dados lógica: Refere-se à capacidade de modificar o esquema lógico sem que, com isso, qualquer programa de aplicação precise ser reescrito.
  • Independência de dados física: Refere-se à capacidade de modificar o esquema físico sem que, com isso, qualquer programa de aplicação precise ser reescrito.
  • O conceito de independência de dados é de várias formas similar ao conceito de tipo abstrato de dados empregado nas linguagens de programação.

Sistema de Banco de Dados

  • Projeto Conceitual: Independente de SGBD - Modelo Conceitual – MER.
  • Projeto Lógico: Esquema Lógico - Mapeamento do Modelo Conceitual para modelo do SGBD - Ex: Modelo Relacional.
  • Projeto Físico: Estruturas Físicas de Armazenamento - Organização de registros físicos - Índices = Critérios - Tempo de resposta - Espaço utilizado - Número de transações.

Linguagens de Banco de Dados

  • Linguagem de Definição de Dados (DDL): Permite especificar o esquema do banco de dados, através de um conjunto de definições de dados - O compilador DDL do SGBD processa e identifica os comandos, que são armazenados no catálogo (metadados).
  • Linguagem de Manipulação de Dados (DML): Permite ao usuário acessar ou manipular os dados - Uma consulta (“query”) é um comando que requisita uma recuperação de informação - A parte de uma DML que envolve recuperação de informação é chamada linguagem consulta.

Componentes de um SGDB

  • Processador de Consultas:
    • Compilador DML: Analisa sintaticamente e semanticamente comandos DML expressos em uma linguagem de consulta (ex. SQL) - Traduz estes comandos para uma das formas de representação interna de consultas (ex. álgebra relacional).
    • Pré-Compilador DML: Inseridos em programas de aplicação, traduz comandos DML em chamadas a procedimentos (rotinas) na linguagem hospedeira.
    • Interpretador DDL: Interpreta comandos DDL e os armazena no catálogo: - tabelas contendo metadados - Descrição do banco de dados (Esquema).
    • Mecanismo de Consultas: Responsável pela otimização e geração de planos de execução de consultas - Executam instruções geradas pelo compilador DML.

Entradas relacionadas: