Pós-graduação em Ciência da Computação
CCM-202 Sistemas de Banco de Dados
Motivação
Necessidade de armazenar grandes
quantidades de dados
Introdução
Necessidade de acessar as informações de
maneira eficiente e segura
Profa. Maria Camila Nardini Barioni
[email protected]
Bloco B - sala 937
Evolução histórica:
desenvolvimento de software + hardware
2° quadrimestre de 2011
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Sistema de Banco de Dados (SBD)
Sistema de Banco de Dados (SBD)
Sistema de armazenamento de dados
Sistema Gerenciador de
Banco de Dados
(SGBD)
Objetivos:
manter informações
torná-las disponível quando necessário
Banco
de
Dados
Armazenamento não volátil
Componentes:
banco de dados
sistema gerenciador de banco de dados
usuários
hardware
usuários
finais
programas de
aplicação
2
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
3
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
4
Sistema Gerenciador de Banco
de Dados (SGBD)
Banco de Dados (BD)
Depósito de dados armazenados
Os dados devem ser logicamente coerentes
Uma coleção randômica não é um BD
Coleção de programas para:
criar
manter
o banco de dados
SGBD
Camada existente entre os dados e os usuários
Isola os usuários dos detalhes de hardware
BD1
BD2
BD3
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Atende às solicitações dos usuários
BD4
5
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
6
Sistema Gerenciador de Banco
de Dados (SGBD)
Usuários
Administrador do BD
Recursos:
coordena e monitora o uso do BD
autoriza o acesso ao BD
adquire software e hardware necessários
tem conhecimento total do BD
adição de novos arquivos
inserção de dados
recuperação de dados
atualização dos dados
eliminação dos dados
criação de visões
atribuição de privilégios
...
Projetista do BD
identifica os dados a serem armazenados no BD
escolhe as estruturas apropriadas para
representar e armazenar esses dados
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
7
Usuários
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
8
Hardware
Volumes de armazenamento secundário
Dispositivos de entrada e saída
Canais de entrada e saída
Controladores de dispositivos
Processador + memórias associadas
Programador de aplicações
escreve os programas aplicativos
realiza requisições ao SGBD
Usuário final
manipula o BD por meio de
linguagens de consulta
programas previamente desenvolvidos
ULA
registradores
unidade de controle
tipos de usuários
leigos versus sofisticados
casuais versus freqüentes
...
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
9
Vantagens da Utilização de SGBD
Independência de dados
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
10
Vantagens da Utilização de SGBD
Independência de dados
Sistemas de processamento de arquivos gravam seus
dados em disco, segundo ESTRUTURAS DE
DADOS próprias
Para acessá-los é necessário conhecer estas
estruturas – DEPENDÊNCIA DE DADOS
programas de
aplicação
Dados
O que os
acontece
se houver
uma
alteração
na
Todos
programas
terão
que
ser alterados
estrutura de dados?
Dados
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
11
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
12
Vantagens da Utilização de SGBD
Vantagens da Utilização de SGBD
Redundância controlada
Independência de dados
redundância
O SGBD se responsabiliza pela conversão dos dados
mesmos dados armazenados várias vezes
Cada aplicação:
Vê apenas os dados que lhe interessam
Aplicação de
Contas
Não precisa saber detalhes de como seus dados estão
fisicamente armazenados
Não precisa ser modificada, caso a estrutura de dados que
ela utiliza for alterada
Aplicação de
Produtos
Arquivos de
dados
Cliente
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
13
Vantagens da Utilização de SGBD
Consistência dos dados armazenados
Vantagens da Utilização de SGBD
com relação ao acesso aos dados do
sistema
visões parciais, de acordo com os usuários
Atualização
Nome: José
Endereço: Rua X
Telefone: 2222-2222
Arquivos de
dados
14
login dos usuários
Aplicação de
Produtos
Nome: José
Endereço: Rua X
Telefone: 1111-1111
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
com relação ao acesso ao sistema
quando dados duplicados armazenam valores distintos
existe quando a redundância não é controlada
Atualização
Cliente
Segurança
inconsistência
Aplicação de
Contas
Arquivos de
dados
acesso controlado, através de graus de
privilégios
Arquivos de
dados
Cliente
Cliente
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
15
Vantagens da Utilização de SGBD
16
Vantagens da Utilização de SGBD
Compartilhamento de dados
Facilidade para a especificação de
restrições de integridade
base de dados
definida apenas uma vez
compartilhada por vários usuários
restrições de integridade
garantem a precisão dos dados
especificam as restrições impostas pelo sistema
real
Nome: José
Renda: R$450,00
Limite: R$10.000,00
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Padronização
formato dos dados
e
domínio dos valores dos dados
Arquivos de
dados
definidos apenas uma vez
compartilhados por vários usuários
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
17
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
18
Vantagens da Utilização de SGBD
Existência de diferentes interfaces
Arquitetura de Três Níveis
visão_1
visão_n
visão_2
linha de comando
gráfica
Representação de relacionamentos entre os
dados
Recuperação de falhas de software e
nível conceitual
hardware
Facilidade de desenvolvimento de novas
aplicações
...
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
nível físico
Arquitetura ANSI-X3-SPARC
19
Arquitetura de Três Níveis
Esquema interno
dados armazenados na memória secundária
contém definições de estruturas de dados e
mecanismos de acesso
separar as aplicações dos usuários do BD físico
prover uma visão abstrata dos dados
Três níveis de abstração
Esquema conceitual
definição do conteúdo da informação
utiliza o conceito de modelo de dados
independe de estruturas de dados e mecanismos
de acesso
organização física dos dados
esquema interno
organização lógica global dos dados
esquema conceitual
Esquema externo
organização lógica particular dos dados
usuário apenas vê parte dos dados
visões: também chamadas de subesquemas
esquema externo (visão)
21
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
grupo de usuários 1
Observações
22
grupo de usuários n
interface do usuário
esquema externo 1
Pode não haver distinção entre os esquemas
BD:
esquema externo n
interface externo
único local onde realmente existem dados
demais esquemas: apenas descrições
conceitual
esquema conceitual
Interfaces:
interface conceitual
permitem a comunicação entre dois níveis
subjacentes
consistem em mapeamentos ou transformações
nível físico
nível conceitual
nível conceitual
nível externo
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
20
Arquitetura de Três Níveis
Objetivo
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
físico
esquema físico
interface físico
23
banco de dados
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
24
Instâncias e Esquemas
Estado do Banco de Dados
Os dados armazenados em um BD em um
determinado momento
Instância
coleção de informações armazenadas no BD em
um determinado momento
também chamado de extensão do BD
sofre alterações constantemente
Estado vazio
após a criação do
BD
Esquema
Estado inicial
projeto do BD, incluindo as entidades e os
relacionamentos entre estas
também chamado de intenção do BD
não sofre alterações com freqüência
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
após o povoamento
(ou carregamento)
do BD com os
dados iniciais
25
Independência de Dados
Novo estado
após cada
operação realizada
nos dados do BD
Estado atual
estado do BD em
um determinado
momento
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
26
Independência de Dados
Habilidade de modificar a definição de um
esquema em um nível sem afetar a definição
do esquema em um nível mais alto
Dois tipos
Independência lógica de dados
modifica o esquema conceitual
não modifica os programas aplicativos
necessidade: alteração da estrutura do BD
independência física de dados
independência lógica de dados
Observação:
Independência física de dados
independência lógica é mais difícil de ser obtida
modifica o esquema físico
não modifica os esquemas conceitual e externo
necessidade: aprimoramento do desempenho
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
27
Linguagens Associadas
28
Linguagem de Definição de Dados
Utilizada para
Linguagem de definição de dados (DDL)
criação do BD
definição dos esquemas conceitual e lógico
Linguagem de manipulação de dados
(DML)
Exemplo
Oferecidas pelo SGBD
criação de uma relação contendo informações
pessoais sobre alunos
Utilizadas pelos usuários para
criar : linguagem de definição
manipular : linguagem de manipulação
CREATE TABLE aluno( matrícula NUMBER (10,2),
nome VARCHAR(50),
endereço VARCHAR(50),
data_nascimento DATE )
o banco de dados
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
29
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
30
Classificação dos SGBD
Linguagem de Manipulação de Dados
Consultas: queries
Alterações: updates
inserção
eliminação
modificação
De acordo com o modelo de dados
Exemplo
SELECT *
FROM aluno
WHERE nome = “João”
modelo relacional
dados e relacionamentos: coleções de tabelas
cada tabela: várias colunas e nome único
modelo de rede
dados: coleções de registros
relacionamentos: ligações vistas como ponteiros
registros: coleções de gráficos arbitrários
Pode ser implementada:
como uma linguagem de consulta ad hoc
embutida em programas de alto nível
modelo hierárquico
dados: coleções de registros
relacionamentos: ligações vistas como ponteiros
registros: coleções de árvores
Altamente dependente do modelo utilizado
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
31
Banco de Dados Relacional
nome
c
l
i
e
n
t
e
rua
Adriana
Ricardo
Ricardo
Samanta
Samanta
Rua Juca Filho
Av. Brasil
Av. Brasil
Av. Tiradentes
Av. Tiradentes
c
o
n
t
a
número
cidade
número
Maringá
Rio de Janeiro
Rio de Janeiro
São Paulo
São Paulo
900
556
647
801
647
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Banco de Dados em Rede
Adriana
Ricardo
Rua Juca
Filho
Maringá
Av.
Brasil
Rio de
Janeiro
saldo
900
556
647
801
55
10000
105366
10533
Samanta
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
32
33
Banco de Dados Hierárquico
Av.
São Paulo
Tiradentes
900
55
556
10000
647
105366
801
10533
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
34
Classificação dos SGBD
De acordo com o modelo de dados
Adriana R. Juca Filho Maringá
Ricardo Av. Brasil
Samanta
Av. Tiradentes S. Paulo
modelo orientado a objetos
dados e relacionamentos: coleções de objetos
objeto: estrutura (propriedades)
+ operações (métodos)
Rio de Janeiro
modelo objeto-relacional
556 10000
900
55
fundamentado no modelo relacional
estendido com características do modelo
orientado a objetos
647 105366
801 10533
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
647 105366
35
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
36
Componentes de um SGBD
Classificação dos SGBD
De acordo com o número de usuários
Arquitetura de um SGBD
monousuário: um único usuário por vez
multiusuário: vários usuários ao mesmo
tempo
componentes (processos)
funcionalidades dos componentes
interação existente entre tais componentes
De acordo com o número de nós
Objetivo
centralizado: dados e SGBD localizados em
um único nó
distribuído: dados e SGBD localizados em
vários nós, conectados através de redes de
comunicação
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
enfatizar quais funcionalidades devem ser
oferecidas internamente por um SGBD
e
como estas funções cooperam logicamente ou
dependem uma das outras
37
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
DBA
Usuário/Aplicação
comandos de
transações
consultas,
atualizações
Componentes de um SGBD
Compilador
de consulta
Gerenciador
de transação
Principais componentes
metadados
Recuperação
e log
Engine de
Execução
Gerenciador de armazenamento
Processador de consultas
Gerenciador de transações
comandos
DDL
Compilador
DDL
metadados,
estatísticas
plano de consulta
38
Controle de
concorrência
requisições de registro,
arquivo e índice
Gerenciador de registro/arquivo/índice
comandos de página
Gerenciador
de Buffer
dados,
metadados,
índice
páginas
de
log
Tabela
Buffers
bloqueio
Buffers
escrita/leitura
página
Gerenciador de
Armazenamento
estrutura em memória
componentes
fluxo de controle e dados
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
39
Observações
Armazenamento Sistemas de Banco de Dados - 2° quadrimestre de 2011
CCM-202
fluxo de dados
40
Exemplos de Aplicações
Tradicionais
Alguns componentes do SGBD utilizam
funções oferecidas pelo SO subjacente.
Assim sendo, o SGBD deve possuir uma
interface com o sistema, o que não está
representado na figura
Os componentes especificados na figura
são gerais. Cada SGBD implementa de
maneira distinta seus componentes
Banco
Biblioteca
Universidade
estudantes
cursos
notas
Departamentos de Empresa
controle de estoque
controle de vendas
controle de pagamentos
...
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
41
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
42
Data Warehouse
usuário 2
usuário 1
Comércio Eletrônico
usuário 3
relatório
análise
mineração
data warehouse
componente de integração e manutenção
bancos de dados
operacionais
sistemas de
arquivos
fontes
externas
CCM-202 Sistemas de Banco fontes
de Dados
2° quadrimestre de 2011
de- dados
43
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
44
Sistemas de Informações Geográficas (GIS)
Sistemas de
Recuperação de
Imagens
baseada em
conteúdo
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
45
Visualização de dados e
Mineração de Dados
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
46
Bibliografia
Elmasri, Ramez; Navathe, Shamkant B. Sistemas de
banco de dados. 4 ed. São Paulo: Addison Wesley,
2005, 724 p. Bibliografia: p. [690]-714.
Silberschatz, Abraham; Korth, Henry F; Sudarshan, s.
Sistema de bancos de dados. 3 ed. São Paulo:
Makron Books, 1999, 778 p.
Garcia-Molina, Hector; Ullman, Jeff; Widom, Jennifer.
Database Systems: The Complete Book. Prentice
Hall, 2002.
Material Didático produzido pelos professores Cristina
Dutra de Aguiar Ciferri e Caetano Traina Júnior
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
47
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
48
Atividades recomendadas para o
estudo individual
Atividades recomendadas para o
estudo individual
Leitura dos artigos:
Leitura complementar para casa
Rakesh Agrawal et al. The Claremont Database
Research Self-Assessment Meeting (2008).
Theo Härder. DBMS Architecture - New Challenges
Ahead (2005).
Capítulos 1 e 2 do livro: Elmasri, Ramez; Navathe,
Shamkant B. Sistemas de banco de dados.
Capítulo 1 do livro: Garcia-Molina, Hector; Ullman,
Jeff; Widom, Jennifer. Database Systems: The
Complete Book.
Capítulo 1 do livro: Silberschatz, Abraham; Korth,
Henry F; Sudarshan, s. Sistema de bancos de
dados.
Fazer um resumo de cada artigo – entregar
na aula de 30/05
identificar os principais pontos
sempre que possível, relacionar com os conceitos
apresentados em sala
mínimo de 1 e máximo de 3 páginas
Lista de exercícios 01 – entregar na
aula de 30/05
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
49
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
50
Download

CCM202_Aula1_Introducao [Modo de Compatibilidade]