Post on 22-Apr-2015
UFCD 787
Administração de base de dados
1Elsa Marisa S. Almeida
Objectivos
• Replicação de base de dados
• Gestão de transacções
• Cópias de segurança
• Importação e exportação de dados
Elsa Marisa S. Almeida 2
Replicação de base de dados
• O que é replicação?
Elsa Marisa S. Almeida 3
• Duplicar, fazer múltiplas cópias controladas de dados com objectivo de:– Descentralização de aplicações– Hot-backup de servidores de banco de
dados– Balanceamento de carga– Data warehousing
Elsa Marisa S. Almeida 4
Replicação de base de dados
• Benefícios que um bom modelo de replicação procura proporcionar:– Alta disponibilidade– Alto desempenho– Eliminar o problema de dados inconsistentes
decorrentes da integração tardia entre sistemas
Elsa Marisa S. Almeida 5
Replicação de base de dados
• Problemas existentes em um modelo replicado– Escalabilidade– Inconsistências
Elsa Marisa S. Almeida 6
Replicação de base de dados
• Topologias (Rede ou Peer-to-Peer)
Elsa Marisa S. Almeida 7
Replicação de base de dados
• Topologias (Estrela)
Elsa Marisa S. Almeida 8
Replicação de base de dados
• Topologias (Hierárquica)
Elsa Marisa S. Almeida 9
Replicação de base de dados
• Softwares de replicaçãoOracle Replication
– Não suporta replicar para outros SGBDs– Não replica sequences e nem alguns tipos de dados: LONG e
LONG RAW– Resolução de conflitos: latest timestamp, site priority, customizado,
etc.– Necessita controle em triggers para evitar loop
• SQLServer Replication
• Slony - open source
Elsa Marisa S. Almeida 10
Replicação de base de dados
• O que replicar?– Tabelas de configuração e de dados auxiliares– Cadastros– Movimentações que precisem ser processadas
em um escritório central– Resumos / Resultados / Tabelas sumarizadas
• O que não replicar ?– Movimentação que interessa apenas ao
site. Exemplo: Pedidos e itens de pedidos, orçamentos, itens de notas fiscais, etc.
Elsa Marisa S. Almeida 11
Replicação de base de dados
12Elsa Marisa S. Almeida
Gestão das transacções MS SQL
Ideal para grandes volumes de dados e de transações, com o MS SQL Server você optimiza a gestão de dados e aplicações do seu site.
O MS SQL Server é um SGBD que possui uma plataforma de dados confiável,produtiva e inteligente.
Permite que executemos as acções mais criticas e mais exigentes, reduza o tempo e o custo de desenvolvimento e torne a gestão da base de dados mais simples.
• Principais recursos do MS SQL– Proteger informações criticas
• permite a encriptação de uma bd inteira, arquivos de dados ou arquivos de log, com necessidade de mudanças nas aplicações
• Os benefícios dessa encriptação incluem: consultas de dados encriptados usando consultas em série ou associadas, proteger os dados de consultas de usuários não autorizados e encriptação de dados sem requerer qualquer mudança nas aplicações existentes.
Elsa Marisa S. Almeida 13
MS SQL
– Garante a continuidade dos negócios• “duplicação”/ mirror de base de dados avançado
– Reduz a complexidade do mirror da base de dados
• permite que tanto as máquinas principais quanto as mirror, recuperem dados de forma transparente de tipos de erros 823/824 do tipo página de dados
• proporciona óptimo desempenho e minimiza a largura da banda usada pelo mirror da base de dados
Elsa Marisa S. Almeida 14
MS SQL
– Resposta previsivel• Fornece uma resposta consistente e previsível aos
usuários finais com a introdução do Gestor de Recursos
– O Gerenciador de Recursos permite que as empresas definam limites de recursos e prioridades para diferentes cargas de trabalho.
• Desempenho de Consulta Previsível: – Permite maior previsibilidade e estabilidade do
desempenho de consulta, fornecendo funcionalidade para bloquear os planos de consulta, permitindo que as empresas promovam planos de consultas estáveis na substituição de servidores, actualização de servidores e implantações de produção.
Elsa Marisa S. Almeida 15
MS SQL
– Compressão de Dados: • Permite que os dados sejam armazenados de
forma mais eficiente e reduz os requisitos de armazenamento para os seus dados.
• A Compressão de Dados também fornece significantes melhorias de desempenho para grandes cargas de trabalho de I/O (entrada/saída), como o data warehousing.
– sistema de computação utilizado para armazenar informações relativas às actividades de uma organização em base de dados, de forma consolidada.
Elsa Marisa S. Almeida 16
MS SQL
– Inteligente• Compressão de backup• Uso de tabelas particionadas• Optimizações de consultas• Entrega de informações relevantes
Elsa Marisa S. Almeida 17
MS SQL
18Elsa Marisa S. Almeida
Cópia de seguranças. Em informática, cópia de segurança é a cópia de dados de um dispositivo de armazenamento para outro para que possam ser restaurados em caso da perda dos dados originais, o que pode envolver apagamentos acidentais ou corrupção de dados.
Na eventualidade de ocorrência de incidente, os dados devem ser repostos, recorrendo então à informação armazenada na cópia de segurança.
A recuperação dos dados deverá ser efectuada rapidamente e de forma eficiente, para que os serviços não se encontrem inactivos por muito tempo.
A prioridade da reposição dos dados deve ser estabelecida, conforme as necessidades da organização.
19Elsa Marisa S. Almeida
Importação e exportação de dados em MS SQL
O Assistente de Importação e Exportação do SQL Server fornece o método mais simples para criar pacotes básicos e copiar dados entre fontes de dados.
Para iniciar o Assistente de Importação e Exportação do SQL Server:
.No menu Iniciar, aponte para Todos os Programas, aponte para Microsoft SQL Server 2008 e, em seguida, clique em Importar e Exportar Dados.
Caso esteja a usar o MS SQL express a opção referida anteriormente não se encontra disponivel.
• Replicacaobd.ppt
• http://msdn.microsoft.com
• http://pt.wikipedia.org/wiki/Data_Warehouse
Elsa Marisa S. Almeida 20
Referências Bibliográficas
• Criação de uma tabela
• Create Table• Create table
(campo1 tipo[(tamanho)] .....
.tipos de dados dos campos:
datetime / double / text /
Elsa Marisa S. Almeida 21
Comandos SQL
Alteração de uma tabela
A instrução ALTER TABLE permite alterar a estrutura de uma tabela existente
Sintaxe :
ALTER TABLE tabela
{ADD {column campo tipo } [NOT NULL]
Cláusula Constraint
Incluida nas instruções CREATE TABLE e ALTER TABLE permite criar e eliminar indices
Elsa Marisa S. Almeida 22
Comandos SQL
Existem 2 sintaxes diferentes
. Uma para criar índices sobre um único campo
CONSTRAINT nome {PRIMARY KEY|UNIQUE}
REFERENCES tabela externa
. Uma para criar índices sobre mais que um campo
CONSTRAINT nome {PRIMARY KEY( coluna1)
UNIQUE (único1, unico2)}
FOREIGN KEY ( Ref1)
REFERENCES tabExterna
Elsa Marisa S. Almeida 23
Comandos SQL
Eliminação de uma tabela da bd:
DROP TABLE tabela
Eliminação de Indices
DROP INDEX Índice ON tabela
Elsa Marisa S. Almeida 24
Comandos SQL
Cláusula SELECT:
Selecciona linhas de uma ou mais tabelas e apresenta-as em forma de lista
SELECT lista_campos
FROM lista_tabelas
Cláusula FROM
Permite especificar o nome das tabelas a partir das quais a instrução SELECT deve seleccionar os dados
Elsa Marisa S. Almeida 25
Comandos SQL para consulta à BD
Cláusula Where:
Cláusula Opcional que restringe as linhas retornadas num Select
WHERE expressão1 AND / OR expressão2.....
Cláusula Order By
Permite ordenar as linhas retornadas pela instrução SELECT
ORDER BY coluna1 ASC/ DESC, coluna2 ASC/DESC ......
Elsa Marisa S. Almeida 26
Comandos SQL p/ consulta à BD
Predicado ALL
Retorna todas as linhas que cumpram os critérios requisitados
Aparece sempre por defeito não sendo necessário escrevê-lo
Predicado DISTINCT
Todas as linhas com valores duplicados são eliminados da lista de dados retornada pelo Select
Elsa Marisa S. Almeida 27
Comandos SQL p/ consulta à BD
Instrução UPDATE
Quando necessitamos de alterar muitos registos ou quando esses se encontram em diversas tabelas.
UPDATE tabela
SET coluna1=expressão1, coluna2=expressão2...
Instrução DELETE
Permite eliminar registos de uma ou mais tabelas, definidas no FROM
DELETE
FROM nome tabela Elsa Marisa S. Almeida 28
Comandos SQL p/ actualização
Instrução INSERT INTO
Permite copiar linhas de uma tabela para outra tabela.
INSERT INTO tabela destino
SELECT tabelaOrigem. Campo1
FROM tabelaOrigem
Elsa Marisa S. Almeida 29
Comandos SQL p/ actualização
Funções de agregação mais usadas:
Avg – calcula a média dos valores não nulos
Count – conta o número de registos
Sum - soma os valores não nulos
Min – retorna o menor valor não nulo do conjunto de valores de um campo
Max – retorna o maior valor não nulo do conjunto de valores de um campo.
Elsa Marisa S. Almeida 30
Comandos SQL- agregação de dados
Cláusula GROUP BY
Permite agrupar registos com valores idênticos num único registo
SELECT ....
FROM ....
WHERE ......
GROUP BY....
Elsa Marisa S. Almeida 31
Comandos SQL- agregação de dados
Cláusula HAVING BY
Semelhante à cláusula Where
Permite aplicar critérios de selecção sobre o resultado calculado para cada grupo
SELECT ....
FROM ....
WHERE ......
GROUP BY....
HAVING BY expressão1 AND/OR expressão 2
Elsa Marisa S. Almeida 32
Comandos SQL- agregação de dados
Operação INNER JOIN
Permite extrair informação de 2 ou mais tabelas diferentes
FROM tabela1 INNER JOIN tabela2 ON tabela1.campo1 comparação tabela2.campo2
Operação UNION
Permite juntar numa única tabela o resultado de várias tabelas
Elsa Marisa S. Almeida 33
Comandos SQL- Junção de dados
Operações LEFT JOIN e RIGHT JOIN
Podem ser incluidas na cláusula FROM
LEFT JOIN – faz a junção de 2 tabelas com base na comparação de valores de colunas comuns, mas ao contrário do INNER JOIN coloca na tabela final todas as linhas da tabela que se situa do lado esquerdo.
RIGHT JOIN- funciona como a anterior mas relaciona-se com a tabela do lado direito.
FROM tabela1 LEFT/RIGHT JOIN tabela2 ON tabela1.campo1 comparação tabela2.campo2
Elsa Marisa S. Almeida 34
Comandos SQL- agregação de dados
Restrição - operação relacional unária porque envolve apenas uma tabela. Efectua uma selecção de linhas da tabela
Por exemplo: Apenas mostrar os alunos subordinados à condição Sexo= F
Projecção - finalidade é extrair de uma tabela um subconjunto do conjunto de colunas dessa tabela
Renomeação – consiste em atribuir um nome diferente a uma tabela ou a uma coluna da tabela
Elsa Marisa S. Almeida 35
Comandos SQL- operações fundamentais
Produto Cartesiano – operação relacional binária que envolve duas tabelas. O seu resultado é o aparecimento de uma nova tabela
União – operação relacional binária entre duas tabelas. As tabelas envolvidas devem possuir o mesmo número de colunas
Elsa Marisa S. Almeida 36
Comandos SQL- operações fundamentais