Banco de Dados - Introdução

De Aulas

Afluentes:

O que é um Banco de Dados?

  • "Banco de dados é uma coleção de unidades de dados físicos que são relacionados entre si de uma maneira específica" (GUIDE-SHARE, 1970)[1]
  • "Uma banco de dados consiste de todas as ocorrências de registros controlados por um esquema específico" (CODASYL, 1971)[2]
  • "Um banco de dados é uma coleção de dados, organizados e integrados, que constituem uma representação natural de dados, e que possa ser utilizada por todas as aplicações relevantes sem duplicação de dados" (PALMER, 1975)[3].

Banco de Dados vs. Sistema de Arquivos

  • Antes da concepção dos BDs o registro das informações eram feitos através de arquivos.
  • Desvantagens:
    • Redundância e Inconsistência de dados;
    • Dificuldade no acesso aos dados;
    • Isolamento de dados;
    • Anomalias de acesso concorrente;
    • Problemas de segurança;
    • Problemas de privacidade;
    • Dificuldades de manutenção;
    • Problemas de integridade.

Sistema Gerenciador de Banco de Dados (SGBD)

  • Tem como objetivo prover um ambiente que seja adequado e eficiente para recuperar, armazenar e manter as informações pertencentes a um banco de dados;
  • Justificativa: Necessidade de haver a separação entre os problemas específicos de aplicações e problemas de armazenamento de dados, ou seja, independência entre dados e programas;
  • São projetados para gerenciar grandes grupos de informações;
  • As primeiras implementações de SGBDs datam do final da década de 60.

= Características dos SGBDs

Eles devem:

  • Definir as estruturas de armazenamento dos dados;
  • Definir os mecanismos para manipulação dos dados;
  • Garantir a segurança dos dados contra ações externas;
  • Garantir a integridade dos dados armazenados;
  • Controlar o acesso concorrente aos dados;
  • Permitir a independência dos dados armazenados;
  • Permitir e manter o relacionamento entre os dados;
  • Controlar a redundância dos dados;
  • Garantir um bom desempenho mesmo com uma grande massa de dados.

Abstração de Dados

  • O grande objetivo de um sistema de banco de dados é prover aos usuários uma visão abstrata dos dados;
  • O sistema omite certos detalhes de como os dados são armazenados e mantidos, uma vez que muitos dos seus usuários não são especialistas;
  • A complexidade está escondida deles através de diversos níveis de abstração;
  • As arquiteturas de bancos de dados podem possuir 1, 2 ou 3 níveis de abstração.

Níveis de Abstração

  • Nível Físico: É o nível mais baixo de abstração e descreve como os dados estão realmente armazenados;
  • Nível Conceitual: Descreve todos os dados que estão armazenados de fato no banco de dados e as relações existentes entre eles;
  • Nível de Visões: É o mais alto nível de abstração e descreve o banco de dados em partes que são de interesse de cada usuário / aplicação.
  1. GUIDE-SHARE (1970), Requirements for a Database Management System. Em: GUIDE-SHARE Data Base Requirements Group Report, num.11, 1970.
  2. CODASYL (1971). Data base task group report to the CODASYL programming language committee, April 1971.
  3. Palmer, S. E. (1975). Visual perception and world knowledge: Notes on a model of sensory-cognitive interaction. In D. A. Norman, D. E. Rumelhart, & the LNR Resev.rch Group, Explorations in cognition. San Francisco: W. H. Freeman, in press.