- Megaloft

Propaganda
BD1: Introdução
Dr. Fabiano Cavalcanti Fernandes
[email protected]
Brasília - DF
1
Banco de Dados I
Agenda
1- Plano de ensino
2- Encontros
3- Avaliações
4- Trabalhos e leituras
Banco de Dados (BD)
BDs fazem parte do nosso dia-a-dia!
– operação bancária;
– reserva de hotel, passagens aéreas;
– matrícula em um curso da Universidade/Instituto;
– compra de um livro, brinquedo, computador;
•Aplicações tradicionais de BD
•BD Multimídia, GIS (mapas, tempo, imagens de
satélite), DW e OLAP, NOSQL, Real-time, etc.
•Exemplos SGBD: Oracle, DB2, Sybase, Informix,
Cassandra, Mongo DB, Neo4J, SQL Server,
Postgresql, Mysql, Access, SQLite, etc.
Banco de Dados (BD)
Área de BD:
– pesquisa e desenvolvimento de tecnologias para
dar suporte eficiente ao gerenciamento de dados de
sistemas de informação;
Conceitos
• Dado: fato do mundo real que está
registrado e possui um significado implícito
no contexto de um domínio de aplicação
– exemplos: endereço, data de nascimento
• Informação: fato útil que pode ser extraído
direta ou indiretamente a partir dos dados
– exemplo: idade
Conceitos
BD: coleção de dados inter-relacionados e persistentes
que representa um subconjunto dos fatos presentes em
um domínio de aplicação (universo de discurso ou mini
mundo);
BD: coleção de dados logicamente coerentes com
significado inerente; Um conjunto aleatório de dados
não pode ser considerado um BD;
BD: projetado, construído e populado com dados para
um propósito específico; Possui um grupo de usuários e
aplicações.
Sistema de Gerência de BD (SGBD/DBMS): coleção de
programas responsável pelo gerenciamento dos dados
em um BD
Por quê usar BD?
Considere o contexto de uma grande organização que
NÃO utiliza BD
– exemplo: domínio de uma Universidade
• várias divisões gerenciais (setores com suas
aplicações)
• grande volume de dados
• aplicações manipulam dados comuns
Por quê usar BD?
•
Cada aplicação descreve os seus dados
– nomes e formatos próprios
– dados são particulares de cada aplicação
(isolamento: acesso privado)
• Gerenciamento local
– procedimentos de manipulação de dados
• implementados pela própria aplicação
• implementados por softwares de gerenciamento
de arquivos
– manipulação de dados em mais baixo nível
» varreduras em cadeias de bytes
Problemas
•
•
•
•
•
•
•
•
•
Redundância não-controlada
Manutenção de dados da Organização
Inclusão professor; Alteração disciplina
Falta de padronização
dificulta integração e reutilização de programas
Formas restritas de acesso
novas operações de manipulação de dados exigem
mudança no código da aplicação
Falta de segurança
exemplo: falha em uma operação
Com BD
•
•
•
Evita (ou minimiza) estes problemas!
Um BD é definido em mais detalhes como:
“Uma coleção de dados operacionais inter-relacionados e
persistentes. Estes dados são gerenciados de forma
independente dos programas que os utilizam, servindo
assim a múltiplas aplicações de uma Organização.”
Vantagens
•
Dados armazenados em um único local
– evita redefinições; minimiza redundância
• Dados compartilhados pelas aplicações
– facilita integração de aplicações; evita redefinições
• Maior independência de dados
– novas operações de manipulação de dados não requerem
modificação “pesada” no código da aplicação
– aplicações não se preocupam mais com o gerenciamento dos dados
• Maior flexibilidade de acesso
– linguagens para BD, acesso autorizado, armazenamento persistente,
• manipulação de dados em mais alto nível
– varreduras em linhas de tabelas, instâncias de classes, ...
Quando não usar
•
•
•
•
•
•
•
Quando minha aplicação é simples
lida com poucos dados operacionais
podem ser mantidos em um ou poucos arquivos
Quando minha aplicação faz processamento pesado mas
não requer gerenciamento de dados operacionais
exemplo: algumas aplicações científicas
Quando o custo para instalação e administração de um
SGBD é muito alto
– equipamento, pessoal, treinamento, ...
Exemplo
•
•
Pg. 7-14 Navathe
Atores envolvidos:
• DBA – Data Base Administrators: autoriza o acesso ao
BD, coordena e monitora seu uso, adquire recursos de
hardware e de software. Responsável pela segurança e
tempo de resposta.
• DD (Database Designers) – Identifica os dados a
serem armazenados, escolhe estruturas apropriadas,
identificação de requisitos e visões (views).
• End users
• Analistas de sistemas/programadores
• Behind the scene: DBMS system designers, tool
developers, maintenance personnel
Exercícios
•
•
1.1 a 1.14 do livro Navathe
Exercícios do cap 1 Date e Silberchatz
SGBD
•
•
Definição
“Sistema cujo objetivo principal é gerenciar o acesso e a
correta manutenção dos dados armazenados em um banco
de dados.”
• Funções básicas
– Métodos de acesso
– Integridade Semântica
– Segurança
– Concorrência
– Independência
Funções Básicas de um SGBD
•
•
Métodos de acesso
DDL (Data Definition Language)
• especificação do esquema do BD (dados e seus tipos de dados,
índices, ...)
•
DML (Data Manipulation Language)
• manipulação de dados (I, A, E, C)
•
Processamento eficaz de consultas
– considera relacionamentos, predicados
seleção, volume de dados, índices, ...
de
– exemplo: buscar professores que lecionam em turmas lotadas em
salas do quarto andar
Funções Básicas de um SGBD
•
•
•
•
•
•
•
•
•
Integridade semântica
– garantia de dados sempre corretos com relação ao
domínio de aplicação
– exemplos
estados válidos para os dados (I sexo; A salário)
relacionamentos válidos entre os dados
(turma N:1 disciplina; apenas professores doutores
lecionam disciplinas de pós-graduação)
– especificação de Regras de Integridade (RIs)
testes e/ou ações
parte integrante da DDL
Funções Básicas de um SGBD
•
•
•
Segurança
– evitar violação de consistência dos dados
– segurança de acesso (usuários e aplicações)
• matrizes de autorização
• visões
•
– segurança contra falhas (recovery)
• monitoração de transações
• Transação
conjunto de operações a serem realizadas no BD
princípio do “tudo ou nada”
•
• categorias de falhas
transação, sistema e meio de armazenamento
manutenção de histórico de atualizações (logs) e backups do
BD
Funções Básicas de um SGBD
•
Concorrência
– evitar conflitos de acesso simultâneo a dados por transações (scheduler)
– principais técnicas
bloqueio (lock) e timestamp
•
Independência
transparência da organização dos dados
•
•
– níveis de independência
Independência física
– transparência de organização (esquema) física dos dados
– exemplos: organização dos arquivos, indexação, distribuição, ordenação
• Independência lógica
– transparência do esquema lógico do BD
– exemplo: visões (vários esquemas externos)
Funções Básicas de um SGBD
•
Níveis de independência (níveis de abstração)
– definem uma arquitetura de três esquemas
Download