Introdução a Banco de Dados
Aécio Costa
Porque utilizamos BD?
Banco de Dados
“Um banco de dados é uma coleção de dados
persistentes, usada pelos sistemas de aplicação de uma
determinada empresa”.
DATE (2003)
BD
Características Banco de Dados
Representa aspectos do mundo real (minimundo)
Coleção de Dados relacionados
Mudanças no mundo real podem refletir no minimundo.
Fatos que podem ser gravados e tem significado.
Projetado, construído e populado para um propósito
específico.
Antigamente...
Sistemas de Arquivo
Gravação de dados em estruturas próprias;
Vários programas deviam compartilhar a mesma estrutura;
Qualquer alteração no arquivo reflete em outros programas, mesmo em
dados que ele não utiliza.
File
... e surge o SGBD
SGBD
SGBD
BD (File)
Sistema de Gerenciamento de BD
“Softwares que manipulam todos os acessos ao banco
de dados; proporciona uma interface de usuário ao
Sistema de Banco de Dados.”
DATE (2003)
Sistema de Arquivos x SGBD
Algumas Vantagens dos SGBD’s
Dados e Meta-dados na base
Os dados e a descrição correspondente são armazenadas na base e gerenciadas pelo
SGBD.
Independência de Dados-Programas
Modificações como inclusão de um novo campo não afetam os programas.
Abstração de Dados
Representação conceitual através de um modelo de dados que só usa conceitos
lógicos.
Múltiplas Visões
Permite restringir acesso a visualização de dados.
Relacionamentos complexos
Permite o relacionamento complexo dos dados
Sistema de Gerenciamento de BD
Definição;
Construção;
Manipulação de base de dados.
SGBD
BD
Sistema de Gerenciamento de BD
Principais Objetivos
Gerenciamento de grande quantidade de dados eficiente;
Segurança
Compartilhamento
Cópias de segurança (backup);
Manutenção de integridade;
Controle de concorrência.
Serviços de um SGBD
Redundância Controlada
Compartilhamento dos Dados
Concorrência
Reconstrução
Acesso controlado
Segurança
Restrições de Integridade
Distribuição
Serviços de um SGBD
Redundância Controlada
Replicação de dados;
Redundância pode levar a um estado inconsistente;
SGBD fornece mecanismos para controlar redundâncias.
Serviços de um SGBD
Compartilhamento dos Dados
Permite vários usuários acessarem informações de forma
simultânea;
Oferece controle de concorrência para garantir que o
resultado de modificações na base de dados seja correto.
Serviços de um SGBD
Controle de Concorrência
Limita as leituras e modificações simultâneas disparadas
ao mesmo dado por diferentes usuários;
A técnica mais usada consiste em bloquear os dados
envolvidos em determinada operação;
O bloqueio pode ser lógico ou físico.
Lógico: linguagem de consulta.
Físico: registro, página ou tabela
Bloqueio Perpétuo ('deadlock’)
Serviços de um SGBD
Controle de Transações
Transações são unidades lógicas de trabalho numa aplicação;
A base de dados está em um estado consistente antes e depois de uma
transação.
Um mecanismo de transação garante que toda transação iniciada ou
termina com sucesso ou é desfeita.
Transações de diferentes usuários que envolvem dados compartilhados são
executadas em sequencia.
Transações controlam melhor a concorrência e a reconstrução.
Serviços de um SGBD
Reconstrução
Um mecanismo de reconstrução permite que a base de dados
volte a um estado consistente após pane;
Backups são a solução mais simples e antiga.
Serviços de um SGBD
Acesso Controlado
Privilégios diferentes quanto à manipulação dos dados.
Dados costumam ter acesso restrito e o SGBD deve ter um
mecanismo de controle de segurança.
O SGBD deve garantir que usuários autorizados realizem
operações corretas na base de dados.
autenticação de usuários
manutenção da matriz de autorização
Serviços de um SGBD
Segurança
Proteção aos dados
Cuida para que o conteúdo da base de dados não seja
compreendido por usuários não autorizados.
Critografia/Decriptografia
Padrões de criptografia
Criptografia através de chaves
Serviços de um SGBD
Restrições de Integridade
Manutenção da consistência da base de dados através da validação de
restrições definidas sobre os dados;
Controle de valores que um campo pode ter.
Por ex.: O número de assentos de um vôo só pode variar entre 100 e 700.
Controle de relacionamento entre dois registros.
Por ex.: Um vôo só pode pertencer a uma Cia já cadastrada.
O SGBD deve oferecer dois mecanismos:
especificação de restrições de integridade
validação das restrições de integridade
Serviços de um SGBD
Distribuição
Acesso remoto a bases de dados
arquitetura cliente/servidor
sistemas heterogêneos
Base distribuída
fragmentação de dados entre duas ou mais bases de dados
Acesso transparente
Arquitetura de SGBD
Usuários de um SGBD
Administrador de BD (DBA)
Projetista de BD
Analista de Sistemas e Programador de Aplicações
Usuários finais
Ferramentas Administrativas
Ferramentas para criação e manipulação de Banco de Dados em
ambiente gráfico.
Ferramentas Administrativas
IBConsole
IBOConsole
IBExpert
DBManager
pgAdmin
SQLyog
MySQL-Front
SQLite Expert
Ferramentas Administrativas
DBManager
Ferramentas Administrativas
SQLyog
Ferramentas Administrativas
MySQL-Front
Sistema de Banco de Dados
Componentes de um BD
Seminário I
Seminário: Principais SGBD’s e suas características
Grupo: 3 Pessoas
Origem
Vantagens
Serviços
Quais as ferramentas administrativas?
Proprietário ou open source?
Quem usa?
Casos de Migração para o BD
Seminário I
Seminário: Principais SGBD’s e suas características
MySQL
SQL Server
Oracle
Postgres
Firebird
Interbase
DB2
SQLite
Informix
Sysbase
Seminário I
Apresentação 03/09
TODOS devem apresentar
Perguntas
20 Minutos
Nota em Grupo e Individual