INTRODUÇÃO A SISTEMAS
DE BANCO DE DADOS Ticianne Darin
Ao criar uma aplicação, como você permite,
na prática, que o usuário tenha acesso aos
dados?
Qual o telefone
do Manel?
Quanto tenho
de saldo?
E quando se usa muitos dados? E
quando os dados são online?
Quais os problemas de armazenar
dados em sistemas de arquivos?
• Redundância não-controlada
Produção
Arquivos de Produção
Produto
Compra
Arquivos de Compras
Produto
Venda
Arquivos de Vendas
Produto
Quais os problemas de armazenar
dados em sistemas de arquivos?
• Redundância não-controlada gera:
– Redigitação
– Inconsistência de dados
• Solução: compartilhamento de dados!
Banco de Dados
• Conjunto de dados integrados que atendem a um
conjunto de sistemas
Produção
Banco de Dados
Produto
Compra Venda
Por que usar Bancos de Dados?
• Simplificar o desenvolvimento de aplicações caracterizadas por uso intensivo de DADOS
• Como?
– Provendo serviços que diminuem o tempo de desenvolvimento
– Através de ferramentas o usuário pode:
• realizar entrada de dados
• examinar dados
• manipular dados de acordo com a aplicação
Por que usar Bancos de Dados?
• Sistema de Banco de Dados X Sistema de Arquivos
– Utilizando arquivos, as aplicações armazenavam seus
dados através das interações com a aplicação.
– BD: único repositório de dados, uma vez definido, é
mantido, e então acessado por vários usuários
Como funcionava isso?
• Sistemas de Arquivos
– Registros tamanho fixo com campos de tipos diferentes
– Possibilidade de memória virtual e persistência
– Bloqueio de arquivo e registro para concorrência
Histórico
• SGBD de Redes (70’s) acrescentou:
– Identificadores de registros com acesso estruturado através
de redes de registros
– Acesso a vários arquivos indexados simultaneamente
compondo uma base de dados única
– Proteção - restrições de acesso a pessoas ou programas
autorizados
– Transações - reconstrução, concorrência e consistência
Bancos de Dados em Redes
Histórico
• SGBD Relacional (80’s) acrescentou:
– Linguagem de Consulta com operações de manipulação de
dados e ferramentas para desenvolvimento de aplicações
– Independência de dados
Bancos de Dados Relacionais
Evolução dos
Sistemas de Informação
Programa com
dados
Armazenados
Programa
Programa SGBD BD
i
t
(c) (b) (a) Programa e dados na
mesma memória
Sistemas
de arquivos
Sistemas de banco
de dados
Arquivo
O que é um Banco de Dados?
• É uma coleção de dados relacionados.
– Dados: fatos que podem ser gravados e tem significado
• Representa aspectos do mundo real (minimundo ou UoD)
– Mudanças no minimundo são refletidas no banco de dados
• Uma coleção logicamente coerente de dados com significado inerente
– Uma miscelânea randômica de dados pode ser considerada banco de dados?
• Projetada, construída e populada para um propósito específico.
Sistema de Gerenciamento de Banco
de Dados (SGBD)
• Coleção de programas que permitem aos usuários
criar e manter uma base de dados
• Sistema de software de propósito geral que facilita:
– Definição;
– Construção;
– Manipulação das bases de dados;
• Oracle, SQL Server, PostgreeSQL, Sybase, IBM DB2 etc
O que é um Sistema de Banco de
Dados?
Banco de Dados SGBD
Programas de
Aplicação
Sistema de BD
Objetivos dos Sistemas de Bancos de
Dados
• Gerenciamento de dados eficiente (mais rápido do
que arquivos) com segurança de grandes
quantidades (gigabytes) de informações persistentes
e compartilhadas (múltiplos usuários)
Ambiente de Sistemas de BDs
SGBD
SISTEMA DE
BANCO DE DADOS
Usuários/Programadores
Software para Processar
Consultas/Programas
Software para Acessar
dados armazenados
META-DADO DADOS
Programas de aplicação/consultas
Principais Características da
Tecnologia de BD
• Natureza auto-descritiva de um sistema de BD
– um catálogo do SGBD armazena a descrição do banco de
dados (meta-dados). Isto permite o SGBD trabalhar com
diferentes BDs.
– Definição é armazenada no catálogo (metadados)
• Independência programa-dados
– Permite mudanças na estrutura de armazenamento e
operações dos dados sem ter que mudar os programas
que acessam os dados.
Principais Características da
Tecnologia de BD
• Abstração de dados
– Um modelo de dados é usado para esconder detalhes de armazenamento apresentando ao usuário uma representação conceitual dos dados.
• Suporta múltiplas visões dos dados
– Cada usuário pode ter diferentes visões do banco de dados, a qual descreve somente os dados de interesse dos usuário.
– Visão:
• subconjunto do banco de dados
• Dados virtuais derivados do BD, mas não explicitamente armazenados
Benefícios Adicionais da Tecnologia
de BD
• Controle de Redundância
– Informações replicadas de setores de empresa
• Controle de Concorrência
– Reserva de vôos
• Restringe o acesso não autorizado dos dados
– Autenticação
• Provê múltiplas Interfaces para diferentes tipos de usuários
– Visões
Benefícios Adicionais da Tecnologia
de BD
• Representa Relacionamentos Complexos dos Dados
– Herança, multiplicidade
• Manutenção de Restrições de Integridade no BD
– Manutenção da consistência da base de dados
– Um vôo só pode pertencer a uma companhia já cadastrada
• Reconstrução
– “Backup” e Recuperação: voltar a um estado consistente
Classes de usuários de BDs
• Classe dos Administradores
• Classe dos Desenvolvedores
• Classe dos Usuários Finais
Classe dos Administradores
• Administrador de Dados (AD)
– Toma as decisões estratégicas e políticas sobre os dados da organização
• Administrador do Banco de Dados (DBA)
– Cria o esquema interno do BD, implanta as regras de segurança e integridade, define procedimentos de carga, descarga, cópia, restauração e recuperação, coordena o uso do SGBD pelos demais usuários e monitora o desempenho do sistema.
• Pessoal de Operação e Suporte do Sistema
Classe dos Desenvolvedores
• Projetistas do Banco de Dados
– Interagem com os grupos de usuários do sistema, de modo a assimilar seus requisitos e elaborar o projeto do esquema do BD.
• Analistas de Sistemas
– Determinam os requisitos funcionais dos usuários finais, e desenvolvem especificações das transações programadas.
• Programadores de Aplicações
– Implementam as especificações dos analistas
Classe dos Usuários Finais
• Usuários Ocasionais
– tem acesso esporádico e em geral utilizam interfaces de consulta de alto nível (browsers).
• Operadores de aplicações
– usuários de transações programadas c/ interfaces padronizadas.
• Usuários Sofisticados
– Lidam com problemas complexos que requerem familiaridade como SGBD para atender os seus requisitos.
Criadores do Ambiente de BDs
• Projetista e implementadores do SGBD
• Desenvolvedores de ferramentas
• Pessoal de Operação e Manutenção
Evolução dos Bancos de Dados
Linguagens OO
BD hierárquico BD em rede
Sistema de arquivos
Modelos semânticos Objetos complexos
BD relacional
Hipermídia Inteligência artificial BDOO e BDOR Information retrieval
BD “inteligente”
Dúvidas?
Até a próxima aula!
Feliz é o homem que acha sabedoria, e o
homem que adquire entendimento; Provérbios 3:13