UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

36
UFCD 787 Administração de base de dados 1 Elsa Marisa S. Almeida

Transcript of UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

Page 1: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

UFCD 787

Administração de base de dados

1Elsa Marisa S. Almeida

Page 2: 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

Page 3: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

Replicação de base de dados

• O que é replicação?

Elsa Marisa S. Almeida 3

Page 4: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• 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

Page 5: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• 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

Page 6: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• Problemas existentes em um modelo replicado– Escalabilidade– Inconsistências

Elsa Marisa S. Almeida 6

Replicação de base de dados

Page 7: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• Topologias (Rede ou Peer-to-Peer)

Elsa Marisa S. Almeida 7

Replicação de base de dados

Page 8: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• Topologias (Estrela)

Elsa Marisa S. Almeida 8

Replicação de base de dados

Page 9: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• Topologias (Hierárquica)

Elsa Marisa S. Almeida 9

Replicação de base de dados

Page 10: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• 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

Page 11: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• 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

Page 12: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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.

Page 13: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• 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

Page 14: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

– 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

Page 15: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

– 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

Page 16: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

– 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

Page 17: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

– 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

Page 18: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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.

Page 19: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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.

Page 20: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• Replicacaobd.ppt

• http://msdn.microsoft.com

• http://pt.wikipedia.org/wiki/Data_Warehouse

Elsa Marisa S. Almeida 20

Referências Bibliográficas

Page 21: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

• 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

Page 22: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 23: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 24: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 25: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 26: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 27: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 28: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 29: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 30: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 31: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 32: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 33: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 34: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 35: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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

Page 36: UFCD 787 Administração de base de dados 1Elsa Marisa S. Almeida.

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