Introdução a Banco de Dados Tópicos

Propaganda
Introdução a
Banco de Dados
Instituto Militar de
Engenharia - IME
Tópicos
Conceitos básicos
Arquitetura
Modelo/Esquema
Histórico
Tendências
MCRC - IME/RJ
2
Definições
DADOS x INFORMAÇÃO x CONHECIMENTO
Dados: conjunto de valores
Ex.: Matriz de valores contendo as quantidades de
produtos em estoque
Informação: dados associados a seu significado
Ex.: Matriz com valores e o significado de cada coluna.
• Coluna 1 = nome do produto
• Coluna 2 = quantidade em estoque
Conhecimento: há um entendimento sobre o
significado dos dados e é possível extrair
conhecimento a partir dos mesmos
Ex: Se tenho abaixo de um dado limite em estoque vou
precisar repor o produto
MCRC - IME/RJ
Aplicações de BD
Sistemas ou programas que interagem com um
Banco de Dados em algum momento da sua
execução
Supermercados registram os produtos e as vendas
feitas
Administradoras de Cartão de crédito registram clientes
e suas compras
Bibliotecas registram os livros do seu acervo, usuários
e empréstimos
Livrarias registram os livros à venda, as vendas e até
os perfis de seus clientes
Universidades registram seus alunos e suas notas
Laboratórios registram seus objetos de estudo e os
experimentos realizados sobre eles
MCRC - IME/RJ
Aplicações de BD
Aplicação de BD
SGBD
BD
Sistema de
Gerência de
Bancos de
Dados
MCRC - IME/RJ
Definições
Base de Dados
Banco de Dados
Representação é livre
Por exemplo, arquivos texto (flat files)
Às vezes provê informação
Obrigatoriamente provê informação
Dados são representados segundo um padrão
Pressupõe um sistema de gerenciamento
Gerência de Dados
Suporte à extração do conhecimento a partir de bancos
de dados
Suporte à manipulação dos dados, garantindo
consistência e integridade dos dados
SGBDs: Sistemas de Gerência de Bancos de Dados
MCRC - IME/RJ
Base de Dados - GenBank
LOCUS
DEFINITION
ACCESSION
VERSION
KEYWORDS
SOURCE
ORGANISM
REFERENCE
AUTHORS
TITLE
JOURNAL
MEDLINE
PUBMED
FEATURES
CDS
gene
SCU49845
5028 bp
DNA
PLN
21-JUN-1999
Saccharomyces cerevisiae TCP1-beta gene, partial cds, and Axl2p
(AXL2) and Rev7p (REV7) genes, complete cds.
U49845
U49845.1 GI:1293613
.
Saccharomyces cerevisiae (baker's yeast)
Saccharomyces cerevisiae
Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes;
Saccharomycetales; Saccharomycetaceae; Saccharomyces.
1 (bases 1 to 5028)
Torpey,L.E., Gibbs,P.E., Nelson,J. and Lawrence,C.W.
Cloning and sequence of REV7, a gene whose function is required for
DNA damage-induced mutagenesis in Saccharomyces cerevisiae
Yeast 10 (11), 1503-1509 (1994)
95176709
7871890
Location/Qualifiers
<1..206
/codon_start=3
/product="TCP1-beta"
/protein_id="AAA98665.1"
/db_xref="GI:1293614"
/translation="SSIYNGISTSGLDLNNGTIADMRQLGIVESYKLKRAVVSSASEA
AEVLLRVDNIIRARPRTANRQHM"
687..3158
/gene="AXL2"
MCRC - IME/RJ
Banco de Dados - GUS DB
MCRC - IME/RJ
Gerência de dados
DADOS
monitorar
capturar
armazenar
consultar
analisar
MCRC - IME/RJ
Sistema Tradicional de
Arquivos
Emissão de
Guias de Cobranç
Cobrança
Emissão de
Contas a Pagar
Cadastro
cadastro de
de
Clientes
clientes
Contas
a Receber
Cadastro
de Cadastro de
cadastro de
Fornecedores
Itens
clientes
Cadastro
cadastrode
de
Fornecedores
clientes
Emissão de
Pedidos de Compra
Cadastro de
Clientes
Emissão de
Ordens de
Fornecimento
Cadastro de
Pedidos
Contas
a Pagar
Folha de
Pagamento
Cadastro de
Funcioná
Funcionários
Cadastro de
Itens
MCRC - IME/RJ
10
Limitações
Dados isolados e em diferentes arquivos
Registros incompatíveis
Duplicação de dados (redundância)
Programas dependentes dos dados
Dificuldade de representar o todo (a
realidade do usuário)
11
MCRC - IME/RJ
Sistema Gerenciador de
Banco de Dados
Emissão de
Guias de Cobranç
Cobrança
Emissão de
Contas a Pagar
Emissão de
Pedidos de Compra
Emissão de
Ordens de
Fornecimento
Folha de
Pagamento
SGBD
Contas
a Receber
Cadastro de
Clientes
Cadastro de
Itens
Contas
a Pagar
Cadastro de
Pedidos
Cadastro de
Fornecedores
MCRC - IME/RJ
Cadastro de
Funcioná
Funcionários
12
Vantagens
Dados integrados e compartilhados
Suporte a múltiplas visões dos
dados
Duplicação de dados controlada
Independência de dados
Representação mais próxima da
percepção do usuário
MCRC - IME/RJ
13
O Que é Banco de Dados ?
Coleção auto-descritiva de registros
integrados
Inclui a definição de sua própria
estrutura
Contém dados do usuário, índices e
dados sobre sua utilização (usuários,
aplicativos, estatísticas)
MCRC - IME/RJ
14
Banco de Dados
Dados sobre os Estudantes
Matrícula
Nome
Telefone
Orientador
9713025
José
José Maria da Silva
487 2233
Arnaldo Vieira
9713038
Maria Clá
Cláudia Araujo
671 4245
Pedro Nascimento
9823007
Carlos Manoel Soares
265 3896
Maria Luiza Campos
9823158
Armando Gomes
287 6508
Maria Luiza Campos
9912250
Carla Ferrentini
274 3208
Arnaldo Vieira
MCRC - IME/RJ
15
Metadados
Dados sobre dados
Permitem a manutenção,
representação e identificação dos
dados
Garantem a consistência e a
persistência das definições das
unidades de dados
Proporcionam aos usuários um
entendimento comum das unidades de
dados
MCRC - IME/RJ
16
Metadados
SysTables
SysColumns
Table Name
Number
of Columns
Primary Key
Column
Name
Table
Name
Data
Type
Length
Estudante
4
Matrí
Matrícula
Matrí
Matrícula
Estudante
Integer
Disciplina
5
Código
Nome
Estudante
Text
30
4
Matrí
Matrícula
3
Nome + Có
Código
Telefone
Estudante
Text
10
Orientador
5
Identidade
Orientador
Estudante
Text
30
Alguns autores/implementações
de SGBD chamam de catálogo.
17
MCRC - IME/RJ
Índices
Estruturas
auxiliares para
permitir um acesso
mais direto a um
dado ou conjunto
de dados
ÍNDICE 1
Orientador
Matrícula
Arnaldo Vieira
9713025
Arnaldo Vieira
9823158
Maria Luiza Campos
9823007
Maria Luiza Campos
9823158
Pedro Nascimento
9713038
MCRC - IME/RJ
18
Metadados de Aplicações
Armazena a estrutura e o formato
de formulários, relatórios, consultas
e outros componentes da aplicação
Nem todos os SGBDs suportam
componentes de aplicações
Dos que suportam, nem todos os
SGBDs armazenam como
metadados
MCRC - IME/RJ
19
O Que é SGBD ?
Sistema que intermedia todos os
acessos ao BD
Garante a integridade e a segurança
dos dados
Facilidades de backup e recuperação de
falhas
Suporte para processamento multiusuário
MCRC - IME/RJ
20
Papéis no Ambiente de BD
Administrador do SGBD
Administrador de Banco de Dados
Responsável por criar e manter BDs
Possui altos privilégios nos BDs que administra
Administrador de Dados
Responsável pela instalação e manutenção do SGBD
Possui os mais altos privilégios
Detém profundos conhecimentos de SO
Responsável pelo ambiente de dados corporativo
Usuários
leigos, avançados, programadores, analistas
21
MCRC - IME/RJ
Arquitetura de um SGBD
Programadores
analistas
Usuàrio Leigo
Ferramenta
de composição
de formulários
Ferramenta
de composição
de relatórios
Usuário Avançado
Programa
de Aplicação,
relats, forms
Ferramentas
de
Consulta
DBA/AD
Ferramenta
de manipulação
da estrutura
SGBD
Ferramenta
de compilação
de aplicativos
DADOS
Administrador
de SGBD/DBA
Ferramenta
de
administração
Controle de usuarios,
Backup e recuperação,
Monitoramento do uso,
Configuração do SGBD,
etc.
METADADOS
MCRC - IME/RJ
22
Linguagens de Banco de
Dados
Definição
Data Definition Language - DDL
Para definição dos tipos de dados a
serem tratados em um banco de dados
Manipulação
Data Manipulation Language - DML
Para consultar, atualizar, transformar e
excluir dados de um banco de dados
MCRC - IME/RJ
Componentes
de um SGBD
baseado em
Garcia-Molina, Ullman, e Widom
Usuários
PROCESSADOR
DE CONSULTAS
ESTATÍSTICAS
COMPILADOR DE
CONSULTAS DML
METADADOS
Plano de consulta
MECANISMO DE
EXECUÇÃO
estruturas,
formatos,
índices,
etc.
Solicitações de dados
GERENCIADOR DE RECURSOS
GERENCIADOR DE
INDICES
INDICES
Ponteiros
p/ elementos
de dados
GERENCIADOR DE
ARMAZENAMENTO
Páginas de
dados
GERENCIADOR
DE BUFFERS
BUFFERS
DADOS
MCRC - IME/RJ
Componentes
de um SGBD
PROCESSADOR
DE CONSULTAS
COMPILADOR DE CONSULTAS DML
ANALISADOR
Árvore de consulta
METADADOS
PRÉ-PROCESSADOR
ESTATÍSTICAS
Árvore algébrica
OTIMIZADOR
Plano de consulta
MECANISMO DE
EXECUÇÃO
MCRC - IME/RJ
Acesso ao Banco de Dados
(6B)
(7B)
Buffer
Buffer
(9)
Código de Retorno
(1)
(2)
Metadados
Metadados
(3)
(4)
Programa
Programa de
de
Aplicaç
ção
Aplica
Aplicação
SGBD
SGBD
(7A)
(8)
(5)
(6A)
Sistema
Sistema
Operacional
Operacional
MCRC - IME/RJ
Banco
de Dados
26
Transações
Duas ou mais operações de BD que
devem ser executadas segundo as
propriedades ACID
Atomicamente
mantendo a Consistência
em Isolamento
com Durabilidade
MCRC - IME/RJ
Componentes
de um SGBD
PROCESSADOR
DE TRANSAÇõES
COMPILADOR DE
CONSULTAS DML
TABELA DE
BLOQUEIO
CONTROLE DE
CONCORRÊNCIA
Plano de consulta
REGISTRO DE
LOG E
RECUPERAÇÃO
MECANISMO DE
EXECUÇÃO DA
CONSULTA
Solicitações de dados
GERENCIADOR DE RECURSOS
GERENCIADOR DE
INDICES
GERENCIADOR DE
ARMAZENAMENTO
GERENCIADOR
DE BUFFERS
METADADOS
ESTATÍSTICAS
INDICES
BUFFERS
DADOS
LOG
MCRC - IME/RJ
baseado em
Garcia-Molina, Ullman, e Widom
Componentes
de um SGBD
INTERPRETADOR DE
CONSULTAS DDL
MECANISMO DE
EXECUÇÃO DA
CONSULTA
GERENCIADOR
DE RECURSOS
METADADOS
MCRC - IME/RJ
Arquitetura
de 3 níveis
NÍVEL
EXTERNO
baseado em
Garcia-Molina, Ullman, e Widom
Usuários Finais
Visão Externa 1
...
Visão Externa n
Mapeamento
Conceitual
Externo
Independência
de dados
Lógica
Física
Esquema Lógico
NÍVEL
LÓGICO
Mapeamento
Conceitual
Interno
NÍVEL
INTERNO
Esquema Interno
Banco de Dados Armazenado
MCRC - IME/RJ
Modelo de Dados
Coleção de construtos usados para
descrever um conjunto de dados e
as operações que os manipulam
Conceitos construídos a partir de
mecanismos de abstração
Em geral, possui uma notação
gráfica
MCRC - IME/RJ
31
Tipos de Modelos de Dados
Modelo Conceitual
ferramenta para representação da realidade
em um alto-nível de abstração
Modelo Lógico
ferramenta para descrição de estruturas de
dados em uma forma passível de ser
processada por computador
Modelo Físico
conjunto das estruturas de armazenamento e
dos métodos de acesso aos dados
MCRC - IME/RJ
32
Esquema
Representação de uma porção
específica da realidade, a partir de um
modelo de dados particular
Coleção estática de estruturas sintáticas
e/ou gráficas que descrevem um certo
conjunto de dados
Representa uma restrição às possíveis
coleções de dados que podem descrever
uma dada realidade
Pode ter muitas instâncias
MCRC - IME/RJ
33
Instância de Esquema
Coleção dinâmica de dados que se
conforma à estrutura definida pelo
esquema
Representa uma restrição às
possíveis coleções de dados que
podem descrever uma dada realidade
Representa o estado do banco de
dados num instante particular
MCRC - IME/RJ
34
Modelo, Esquema e
Instância
fatos da realidade
num instante
particular
percepção da estrutura dos dados
existentes na realidade
Modelo
Modelo
Esquema
Esquema
Instância
Instância
regras para validação de
instâncias
regras para estruturação de
dados
35
MCRC - IME/RJ
Exemplo
CONCEITOS
CONCEITOSDO
DO
MODELO
MODELODE
DEDADOS
DADOS
••Campo
Campo
••Registro
Registro
ESQUEMA
ESQUEMA
Pessoa
Automóvel
Nome
Placa
Sexo
Endereço
Marca
Modelo
Identidade
Cor
O esquema acima descreve uma realidade na qual
exitem pessoas e automóveis
Os registros Pessoa e Automóvel representam uma
abstração sobre dois conjuntos de objetos de uma
realidade
Posso criar uma instância para o conj de pessoas e
automóveis de cada condomínio do RJ
MCRC - IME/RJ
36
Gerência de Dados - Histórico
Data Management: Past, Present and Future
-- Jim Gray
1a. Geração :
.... - 1900
processamento manual de dados
blocos de argila → papiro → pergaminho → papel
1800: cartões perfurados para fabricar tecidos, tocar
música (pianolas)
2a. Geração :
1900
- 1955
1890: processamento mecânico de dados a partir de
cartões perfurados
Censo dos Estados Unidos
programação pelo painel de controle da máquina
Andares inteiros para armazenar cartões e
perfuradoras
Hollerith: International Business Machines – IBM
MCRC - IME/RJ
Gerência de Dados - Histórico
3a. Geração :
1970
1955
-
Armazenamento de programas
(von Neumman)
Fita magnética: economia de
espaço
Processamento seqüencial de
registros
Linguagens de alto nível, e.g.
COBOL
Processamento batch
MCRC - IME/RJ
New
Data
Master
file
report
New
Data
batch
New
Master
file
Gerência de Dados - Histórico
4a. Geração :
1965 - 1980
Discos magnéticos
Acesso a grupos de registros
Processamento online
Independência de dados: esquemas
lógico e físico
Transações para tratar acesso
concorrente
SGBDs baseados no modelo de rede
e hierárquico
MCRC - IME/RJ
Gerência de Dados - Histórico
5a. Geração :
1980
- 1995
SGBDs relacionais
Linguagens de 4a. Geração
Interfaces mais intuitivas
Processamento paralelo
Aplicações cliente-servidor
MCRC - IME/RJ
Gerência de Dados - Histórico
6a. Geração :
1995
- ...
Novos tipo de dados: imagem, som, video,
Busca e recuperação por conteúdo
Banco de dados objeto-relacional
Banco de dados na internet
Banco de dados sobre a internet
Dados Semi-estruturados
Ferramentas OLAP
GED
MCRC - IME/RJ
Resumindo
Mainframes
Microcomputadores
Redes de
Computadores
Integração Ampla
Processamento
ções
Transa
Processamentode
de Transaç
Transações
Aplicaç
ções de
Aplica
Aplicações
depequeno
pequenoporte
porte
Aplicaç
ções Cliente-Servidor
Aplica
Cliente
Aplicações
Cliente-Servidor
Bancos
ídos
Distribu
Bancos de
de Dados
Dados Distribuí
Distribuídos
MCRC - IME/RJ
42
Arquitetura Cliente/Servidor
Usuários
Clientes
(Front-Ends)
Aplicações
Midleware
SGBD
SGBD
SGBD
Servidores
(Back-End)
Banco
de Dados
Banco
de Dados
Banco
de Dados
MCRC - IME/RJ
43
Banco de Dados
Distribuídos
HP
IBM
DEC
Plataformas heterogêneas
Necessidade de Integração
Processamento Cooperativo
Novos tipos de aplicações
(e.g. P2P)
Novos tipos de dados
Parceria com servidores
Web (Web services)
MCRC - IME/RJ
44
Evolução dos Modelos e
SGBDs
02
98
OO / OR
94
XML
(Tamino)
SGBDs Universais
90
Ontos, O2, Postgres
86
Modelo E-R
Chen, 1976
78
Modelo Relacional
Codd, 1970
66
DB2 (Relacional)
• Adaplex
• Exodus
• SDM
INGRES, ORACLE (Relacionais)
74
Sistema R (Relacional), DATACOM , ADABAS
70
IDMS (Rede)
IMS (Hierárquico)
62
58
Protótipos OO
82
TOTAL (Rede limitado)
Pré-SGBDs: Estruturas de acesso suportadas pelo SO
MCRC - IME/RJ
SGBDs relacionais
Dataflex
Paradox
Progress
SQLBase
SQL Server
Unify
Watcom
DB2
Oracle
Sybase
Informix
CA-Ingres
Zim
Mercado nos anos 90
MCRC - IME/RJ
45
SGBDs Relacionais Hoje
Oracle 11g (Grid computing ampliada )
Oracle Express Edition
On January 27, 2010, finalized acquisition of Sun.
Berkeley DB XML
IBM
DB2 9.7 (pureXML)
solidDB V6.5
Microsoft SQL Server 2008
Business Intelligence (BI)
Borland InterBase SMP 2009
Symmetric multi-processing
PostgreSQL
8.1 (versão windows)
8.3 suporte a XML
8.4.2 – dez 2009
Oracle (ex-Sun) MySQL
MySQL Enterprise Server 5.1
Firebird (partiu do Interbase 6.0)
Firebird 2.1.3 – set 2009
Market share em
2006 (Gartner)
Oracle ..….. 47.1
IBM ..……….21.1
Microsoft … 17.4
MCRC - IME/RJ
47
De tempos em tempos...
Os pesquisadores de renome da área de
BD se reunem
Serge Abiteboul, Rakesh Agrawal, Phil
Bernstein, Mike Carey, Stefano Ceri, David
DeWitt, Hector Garcia Molina, Jim Gray,
Yannis Ioannidis, David Maier, Avi
Silberschatz, Mike Stonebraker, Rick
Snodgrass, Jeff Ullman, Jennifer Widom, Alon
Havely, Donald Kossman, Daniela Florescu,...
Últimas edições:
1998 – Asilomar, California
• http://acm.org/sigmod/record/issues/9812/asilomar
.html
2003 – Lowell, Massachussets
MCRC - IME/RJ
• http://research.microsoft.com/~gray/lowell/
Recentemente...
Coincidência ou não uma nova conferência se instalou em
Asilomar e vem bianualmente ocorrendo desde 2003
Third Biennial Conference on Innovative Data Systems
Research (CIDR 2007) - http://www.cidrdb.org/
Os anais (proceedings) já estão disponíveis online
Alguns Tópicos de interesse:
storage management, scalability and
dependability, new architectures for BI,
personal information spaces, ambient
and embedded databases, user
interfaces for data-intensive systems,
Web data, information integration and
data cleaning architectures, DB&IR
integration, data management for escience, data management in sensor
networks, P2P data management, selfmanaging systems, benchmarking and
experimental methodology.
MCRC - IME/RJ
CIDR 2009
Topics of interest include, but are not limited to:
database systems,
storage management,
massive data analysis,
software service infrastructure, scalability and dependability,
personal information spaces,
embedded and sensor databases,
user interfaces for data-intensive systems,
information integration and data cleaning architectures
databases and information retrieval,
declarative systems,
data management for e-science,
data management in networks,
self-managing systems,
benchmarking and experimental methodology.
MCRC - IME/RJ
Download