Você está na página 1de 53

Administração de Bancos de

Dados Centralizados
Ana Liz Souto, Larissa Spinelli e
Ricardo José
Controle Centralizado
• Um Sistema de Gerenciamento de Banco
de Dados (SGBD) é principalmente
utilizado para prover o controle
centralizado tanto de dados quanto de
programas que acessem o banco de
dados.

• O administrador de banco de dados é


responsável por esse controle do sistema.
Administração de banco de dados
• Dentre as várias funções do administrador de
banco de dados (DBA), destacamos:
– Definição de esquemas;
– Definição da estrutura de dados e métodos de
acesso;
– Esquema e modificação na organização física;
– Especificação de regras de integridade;
– Segurança;
– Autorização de acesso ;
Administração de banco de dados
• Definição de esquema:
O DBA é responsável por criar o esquema
original do banco de dados, escrevendo
um conjunto de definições que são
traduzidas pelo compilador de DDL (Data
Definition Language) para um conjunto de
tabelas o qual é armazenado
permanentemente no dicionário de dados.
Administração de banco de dados
ESQUEMA EXTERNO:
• A definição de esquema externo é feita a partir
do esquema conceitual e que contém a
definição dos dados necessários a uma classe
de aplicações específicas.
• Essa definição é feita de forma a procurar
atender às características particulares dessas
aplicações.
• É pelo esquema externo que os programas da
classe de aplicações correspondente acessam o
subconjunto do banco de dados necessário a
seu funcionamento.
Administração de banco de dados
ESQUEMA INTERNO:
• O esquema interno contém a descrição da
representação de armazenamento físico
de dados.
• Dessa forma, qualquer representação
física pode ser implementada sem
restrições. No esquema interno fica
também a descrição de como os dados
estão armazenados. (Estruturas Físicas)
Administração de banco de dados
• Definição de estruturas de
armazenamento e métodos de acesso.
Estruturas apropriadas de armazenamento
e métodos de acesso são criados pelos
DBA’s, escrevendo-se um conjunto de
definições que são traduzidas pelo
compilador de estruturas de dados e de
linguagem de definição.
Administração de banco de dados
• Organização física – o projeto fisico do Banco de
Dados
– O projeto físico de um Banco de Dados consiste
em obter uma estrutura de dados apropriada
para o armazenamento e garantia de um bom
desempenho. Para um dado esquema conceitual
podem existir várias soluções físicas, para
escolher a melhor é importante conhecer as
consultas, transações e as aplicações esperados
no banco de dados.
Administração de banco de dados
• Fatores que influenciam o projeto fisico
– Análise das consultas e transações do Banco de
Dados.
– Análise da frequência esperada das chamadas de
consultas e transações.
– Análise das restrições de tempo das consultas e das
transações.
– Análise das frequências esperadas de operações de
atualização.
– Análise das restrições de unicidade de atributos .
Administração de banco de dados
• Decisões sobre o projeto físico
– Decisões de projeto sobre indexação
• Indexar segundo um atributo;
• Qual(quais) atributo(s) se deve (m) indexar;
• Decisão de estabelecer índice clustering (quando o
atributo indexado não é chave);
• Decisão de usar um índice hash no lugar de um
índice de árvore(o mais utilizado);
• Decisão de utilizar hashing dinâmico para o arquivo.
Administração de banco de dados
• Decisões sobre o projeto físico
– Usar desnormatização como decisão do projeto para
acelerar consultas.
• Exemplo: Um projetista buscando obter respostas
ou relatórios de forma mais eficiente insere em uma
tabelas atributos de outras tabelas a esta
relacionada. Apesar de otimizar o tempo de
consulta, pois evita a necessidade de junção com
outras tabelas, ocorre a inserção de dependência
parcial ou transitiva tirando esta da 4ª Forma
Normal ou Forma Normal Boyce e Codd que ela se
encontrava.
Administração de banco de dados
• Esquema e modificação na organização física
– Modificações no esquema do banco de dados
ou na descrição da organização da
armazenagem física, embora relativamente
raras, são executadas escrevendo-se um
conjunto de definições que são usadas pelo
compilador de DDL ou pelo compilador de
estruturas de dados e linguagem de definição
para gerar modificações nas respectivas
tabelas internas do sistema (como, por
exemplo, o dicionário de dados).
Administração de banco de dados
• Conceito: Integridade de dados:
• garantia de dados sempre corretos com relação ao
domínio da aplicação
• garantia de dados tolerantes a falhas e à ação de
usuários maliciosos
– Conceito: Violação de Integridada:
• falhas em transações
• interferência entre transações
• acessos não autorizados
• valores incorretos na atualização de dados
Administração de banco de dados
• Subsistema de Integridade Semântica
• Funções básicas
– especificação de regras de integridade (DDL)
– monitoração das atualizações de dados
– tratamento de violações de integridade
ocasionadas por estas operações
• Definição de uma Regra de Integridade (RI)
– para quais dados deve-se verificar a regra
– quando a regra deve ser verificada que ação
deve ser tomada
• Garantia de independência de gerenciamento de
integridade de dados para as aplicações
Administração de banco de dados
• Classificação das Regras de Integridade:
– Quanto ao seu alcance
• volume de dados investigado pela RI ( quantidade
de atributos atingidos e se são da mesma tabela)
– Quanto ao momento de verificação
• imediato ou postergado
– RIs de transição de estado
• verificação somente quando o dado muda de
estado analisando os valores novo e antigo do dado
– RIs de ativação explícita
• verificação independente da ocorrência de
operações de atualização
Administração de banco de dados
• Especificação de regras de integridade
– Restrições de integridade são mantidas em
uma estrutura especial do sistema ,
consultada pelo gerenciador do banco de
dados quando uma atualização ou inserção
é feita no sistema.
Administração de banco de dados
Além disso, o DBA realiza:
• Decisão sobre o conteúdo de informações do
banco de dados
– Deve identificar as entidades de interesse e a
informação a ser registrada em relação a estas
entidades
• Controle automático de relacionamento entre
registros
– No processamento tradicional, o programador era
responsável pelo controle e manutenção do
relacionamento entre registros, podendo introduzir
uma falta de consistência nos dados.
Administração de banco de dados
• Para realizar suas atividades, o DBA utiliza
programas utilitários que realizam:
– Rotinas de carga: para criar uma versão inicial do
banco de dados a partir de arquivos.
– Rotinas de carregamento na memória e
recuperação.
– Rotinas de reorganização: para arrumar os dados
no banco de dados, em geral por razões de
desempenho.
– Rotinas estatísticas: para computar desempenho,
tamanho e distribuição de valores e rotinas analíticas
para analisar os dados estatísticos.
Administração de banco de dados
• Gerenciador de banco de dados
O gerenciador de banco de dados é uma
parte de um software que provê a interface
entre os dados de baixo nível
armazenados num banco de dados e os
programas de aplicação e as solicitações
submetidas ao sistema.
Administração de banco de dados
Gerenciador de Bancos de Dados 

• Tarefas:
– Interação com o sistema de arquivos do sistema
operacional;
– Cumprimento da integridade;
– Cumprimento da segurança;
– Cópias de segurança (backup) e recuperação;
– Controle de concorrência;
– Suporte a transações;
Banco centralizado X
Banco distribuído
Os Bancos de dados centralizados:
• Características
– Dados integrados (mesmo local);
– Redução de dados duplicados (reduz espaços dos
arquivos);
– Facilita a implementação do tratamento de
concorrência entre clientes,
– Não existe inconsistência entre cópias (só 1 cópia)
– Redundância é indesejável;
– DBA garante a segurança de todo o sistema;
– Responsabilidade centralizada
Banco centralizado X
Banco distribuído
• Desvantagens (BD centralizado)
– A centralização dos dados vai de encontro ao
objetivo de tornar os dados mais facilmente
disponíveis ao usuário final em aplicações
geograficamente dispersas; 
– Vulnerabilidade maior a falhas;
– Às vezes não permitem um crescimento
gradativo da capacidade computacional
instalada de forma simples e adequada.
Banco centralizado X
Banco distribuído
BD CENTRALIZADO • O Banco de Dados é
controlado pelo
gerenciador, o SGBD,
onde as aplicações
são construídas, para
se ter acesso à
manipulação dos
dados.

• É composto por apenas um tipo de BD.

• É encontrado em um só nó da rede.


Banco centralizado X
Banco distribuído
Os bancos de dados distribuídos:
• Características
– Compartilhamento de Dados e controle distribuído
– Autonomia; - Crescimento incremental;
– Disponibilidade; - Consultas em paralelo;
• Desvantagens:
– Custo de desenvolvimento do software;
– Grande potencial para bugs;
– Aumento do overhead de processamento:Devido à
troca de mensagens e à computação adicional para
obter a coordenação entre os nós.
Banco centralizado X
Banco distribuído
BD DISTRIUÍDO
• O sistema de
software,o SGBDD,
possibilita a
gerência da base de
dados distribuída e
torna a distribuição
invisível para o
usuário.

• Pode ser composto por mais de um tipo de BD.


• É encontrado em mais de um nó da rede.
Segurança em Banco de Dados
• Os dados armazenados em Bancos de
Dados precisam ser protegidos contra:
– Acessos não autorizados;
– Destruição ou alteração intencional;
– Introdução Acidental de Inconsistências;
Segurança em Banco de Dados
• Existem alguns aspectos a serem considerados
sobre segurança, e que são intimamente
relacionadas com as decisões a serem tomadas
pelo DBA. Entre elas:
– Aspectos Legais e Éticos. Por exemplo: Num
Banco de Dados de um Banco, será que a pessoa
que faz a solicitação referente ao crédito de um
cliente, tem direito à informação?
Segurança em Banco de Dados
– Controles Físicos. Por exemplo: A sala dos
servidores deve ficar trancada ou protegida
fisicamente de alguma maneira?
– Questões Políticas: Como decidir quem tem
acesso a o que dentro do banco.
– Problemas Operacionais: Na adoção de um
sistema de senhas, como as senhas são
mantidas?
Segurança em Banco de Dados
– Controle de Hardware: Uso de chaves de
proteção?
– Segurança do Sistema Operacional: Qual a
política de armazenamento e estrutura de
arquivos do sistema?
Segurança em Banco de Dados
• O mal uso do banco de dados pode ser
considerado:
– Intencional;
– Acidental;
Segurança em Banco de Dados
• A perda acidental pode resultar de:
– Quebras durante o processo de transações;
– Anomalias causadas por acesso concorrente
ao BD;
– Problemas de estrutura física (incêndio,
inundação ou problema elétrico na estrutura
física onde está o servidor);
Segurança em Banco de Dados
• É mais fácil proteger o sistema contra
perdas acidentais do que contra acessos
maldosos ao Banco de dados. Entre as
formas de acesso maldoso estão:
– Leitura não autorizada de dados (roubo de
informações);
– Modificação não autorizada de dados;
– Destruição não autorizada de dados;
– Inserção não autorizada de dados.
Segurança em Banco de Dados
• Dois termos são comumente utilizados
com sentidos diferentes:
– Segurança de Banco de Dados: Refere-se à
proteção contra acessos maldosos;
– Integridade de Banco de Dados: Refere-se à
perda acidental de consistência;
Segurança em Banco de Dados
• Com a finalidade de proteger o Banco de
Dados, medidas de segurança devem ser
tomadas em vários níveis:
– Físico: O sistema de Computadores deve ser
fisicamente seguro (o uso de backups será
considerado mais à frente);
– Humano: Os usuários devem ser
cuidadosamente autorizados (o uso de
autorizações de acesso será considerado
mais a frente);
Segurança em Banco de Dados
– Sistema Operacional: Uma falha no SO, pode
servir de meio de acesso não autorizado ao
banco;
• Todos esse cuidados devem ser
cuidadosamente analisados, pois uma
perda de dados acidental ou por fraude,
pode representar prejuízo pra
organização;
Backup e Recovery
• Backup: Cópia de dados do banco de
dados, inclusive dados de controle,
guardados em um local seguro;
• Apesar de os SGDBs darem suporte a
Backup, as estratégias de Backup são
definidas pelo DBA;
• Pode ser de dois tipos:
– Físico;
– Lógico;
Backups Físicos
• Guarda-se todo o banco de dados, todas
as views, triggers, stored procedures e
etc.
• Geralmente usa-se fitas de backup, com
grande capacidade de armazenamento, e
em estantes especiais;
Backups Lógicos
• É apenas o “salvamento” dos dados de
algum banco de dados, ou trigger ou
stored procedure, porém não
armazenando em forma física, e sim
virtual.
Recovery
• Recuperação e Reposição dos dados que foram
salvos pelo Backup;
• Garantia de que o sistema voltará ao estado
anterior à falha;
• É função do DBA utilizar um gerenciamento de
backup-recovery para cada tipo de erro. Por
exemplo, um DBA não comandará um recovery
de todos os dados do banco, quando um
problema ocorreu apenas em um arquivo de
controle.
Ilustração Backup-Recovery

Backup
Cópia Física em
Local Seguro
BD
(estado
atual)
Recovery
Autorizações de Acesso
• Concessão de diferentes tipos de
autorização permite ao administrador do
banco de dados regular a quais partes do
banco de dados, diversos usuários podem
fazer acesso;
• Uso de visões;
Autorizações de Acesso
• Um usuário pode ter diferentes formas de
autorizações sobre um BD;
– Leitura: permite leitura, mas não modificação
dos dados;
– Inserção: permite inserção de novos dados,
mas não modificação dos existentes;
– Atualização: Permite atualização de dados,
mas não remoção;
– Eliminação: Permite a eliminação de dados;
Autorizações de Acesso
• Pode-se atribuir a um usuário todas ou
nenhuma dessas autorizações;
• Existem outras autorizações que permitem
alteração da estrutura das relações, e que são
fornecidas e gerenciadas pelo DBA:
– Índice: Permite criação ou remoção de índices;
– Recursos: Permite a criação de novas relações,
gatilhos, procedures;
– Alteração: Permite a modificação de atributos de uma
relação;
– Remoção: Permite remoção de relações;
Concessão de Privilégios
• O DBA permite que usuários possam
conceder a outros usuários alguma
autorização concedida a ele.
• Ex: Considere uma concessão qualquer
dada pelo DBA a três usuários: U1, U2,
U3; (Figura)
U1

DBA
U2

U3
Concessão de Privilégios
• Vamos supor que o DBA retire a
autorização de U1. U4 e U5 perdem
autorização também. Mas U5 não perde a
autorização dada por U2 (figura).
U1
U4
DB
A
U2
U5

U3
Concessão de Privilégios
• Digamos que o usuário U1 concede uma
autorização aos usuários U4 e U5, e U2
concede autorização a U5 (figura)

U1
U4
DB
A
U2
U5

U3
Concessão de Privilégios
• Não deve ocorrer ciclos de autorização;
• Exemplo abaixo é um problema;

U2

D
B
A

U3
Perguntas
• O que é integridade de dados, e qual
o papel do DBA neste sentido?
– Resposta: Integridade de dados é a certeza
de dados sempre coerentes e corretos em
relação ao dominio da aplicação do Banco de
Dados independete de falhas e ação de
usuários maliciosos. O DBA é basicamente o
responsável pela definição de quais dados
entram no banco, quais as regras de
integridade, e qual o momento de verificá-las.
Perguntas
• Quais as principais vantagens de se
possuir um bando de dados centralizado?
– Resposta:
• Dados integrados (estão em mesma máquina);
• Redução de dados duplicados
• Responsabilidade centralizada;
• Inexistência de inconsistência entre cópias;
• Facilidade da implementação do tratamento de
concorrência entre clientes;
Perguntas
• Qual a diferença entre Backup e
Recovery?
– Resposta: O backup é a cópia de dados do
banco de dados, inclusive dados de controle,
armazenada em um local seguro. Pode ser
físico ou lógico. Já o recovery é a
recuperação e reposição dos dados
armazenados no backup. O recovery deve
garantir que o BD volte ao estado anterior à
falha.
Perguntas
• Quais as vantagens do uso de autorização de
acesso?
– Resposta: A autorização de acesso permite a
concessão de informações e procedimentos apenas a
quem pertence o direito de fazer isso (quem define
isso é o DBA). Pode-se permitir leitura, inserção,
remoção e alteração de acordo com a necessidade.
Também é possível permitir que usuários forneçam
autorizações a outros usuários. O DBA pode
facilmente cancelar essas autorizações, caso
necessário, por apenas cancelar a autorização do
primeiro usuário.
REFERÊNCIAS

• SANCHES, André Rodrigo. Mais informações


sobre SGBD. Disponível em:
http://www.ime.usp.br/~andrers/aulas/bd2005-
1/aula5.html . Acesso em: 27 nov. 2006.
• SILBERSCHATZ, Abraham. Et al. Sistema de
banco de dados. 3 ed. São Paulo: MAKRON
Books, 1999.
• SHAMMAS, Gabriel. Banco de dados
distribuídos. Disponível em:
http://www.shammas.eng.br/acad/sitesalunos06
06/bdd/index.htm. Acesso: 27 nov. 2006.
REFERÊNCIAS

• MELLO, Ronaldo . Banco de Dados I.


Disponível em:
http://www.inf.ufsc.br/%7Eronaldo/ine5613
Acesso em: 28 nov. 2006.
• ELMASRI, Ramez. NAVATHE, Shamkant.
Sistema de banco de dados. 4 ed. São Paulo:
PERSON Addison Wesley, 2005.

Você também pode gostar