modelagem e banco de dados ii · 2010. 9. 13. · banco de dados ii désiré nguessan...
TRANSCRIPT
Atividade de Laboratório: Atividade de Laboratório: Fragmentação, Replicação e Fragmentação, Replicação e Processamento de ConsultaProcessamento de Consulta
Désiré NGuessan
Processamento de ConsultaProcessamento de Consultade BD Distribuídode BD Distribuído
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
• O SQL Server utiliza uma arquitetura na qual vários
servidores distribuídos podem ser acessados a partir de
um único servidor
• Para que isto seja possível, estes servidores devem ser
configurados como Linked Servers.
Désiré NGuessan
configurados como Linked Servers.
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
• linked Server é um conceito simples e muito funcional
quando queremos consultar dados que estão em outras
instâncias ou até mesmo em outros tipos de base de
dados como o ORACLE, ACCESS etc.
Désiré NGuessan
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
Désiré NGuessan
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
Désiré NGuessan
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
• Criando um linked server apontando para um servidor
remoto
– A configuração de um Linked Server pode ser feita
usando a stored procedure :
• sp_addlinkedserver
Désiré NGuessan
• sp_addlinkedserver
• ou através do SQL Server Management Studio Express, selecionando a opção de menu 'New Linked Server':
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
Désiré NGuessan
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
• Criando um linked server apontando para um servidor
remoto
– Defina o nome e o tipo do servidor. Na
página 'Security' defina mapeamentos de
Désiré NGuessan
usuários entre os servidores local e remoto,
caso necessário;
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
Désiré NGuessan
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
• Criando um linked server apontando para um servidor
remoto
– Defina como proceder para logins que não
foram mapeados (sugestão: use a opção 'Be
Désiré NGuessan
made using the login´s current security
context').
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
Désiré NGuessan
Arquitetura Distribuída do SQL Server Arquitetura Distribuída do SQL Server
• Acessando dados no Servidor remoto
– Devemos referenciar o nome do servidor, o
banco de dados, o esquema e o nome da
relação.
Désiré NGuessan
relação.
– SElECT * FROM [MADELEINE-
PC\SQLEXPRESS].EMPRESA.dbo.Departamento
Fragmentação de Dados no SQL Server Fragmentação de Dados no SQL Server
• Tabelas podem ser fragmentados no SQL Server
criando fragmentos em vários servidores interligados e
distribuindo os dados entre estes fragmentos.
• Os fragmentos da tabela podem ser reunidos em uma
única tabela. Para isto é preciso criar uma visão na base
Désiré NGuessan
única tabela. Para isto é preciso criar uma visão na base
de dados
Fragmentação de Dados no SQL Server Fragmentação de Dados no SQL Server
• Uma visão é uma relação que não armazena dados,
composta dinamicamente por uma consulta
– A visão deve fazer a união dos fragmentos, no caso
de partições horizontais,
– ou junção dos fragmentos, no caso de partições
Désiré NGuessan
– ou junção dos fragmentos, no caso de partições
verticais.
Fragmentação de Dados no SQL Server Fragmentação de Dados no SQL Server
• Tabelas podem ser fragmentados no SQL Server
criando fragmentos em vários servidores interligados e
distribuindo os dados entre estes fragmentos.
• Os fragmentos da tabela podem ser reunidos em uma
única tabela. Para isto é preciso criar uma visão na base
Désiré NGuessan
única tabela. Para isto é preciso criar uma visão na base
de dados (relação que não armazena dados, composta
dinamicamente por uma consulta)
– A visão deve fazer a união dos fragmentos, no caso
de partições horizontais,
– ou junção dos fragmentos, no caso de partições
verticais.
Fragmentação de Dados no SQL Server Fragmentação de Dados no SQL Server
• Fragmentação Horizontal
Désiré NGuessan
EMPRESAEMPRESA==
{ EMPREGADO, DEPARTAMENTO, { EMPREGADO, DEPARTAMENTO, DEPARTAMENTO_LOCALIZAÇÕES, PROJETO, DEPARTAMENTO_LOCALIZAÇÕES, PROJETO,
Désiré NGuessan
DEPARTAMENTO_LOCALIZAÇÕES, PROJETO, DEPARTAMENTO_LOCALIZAÇÕES, PROJETO, TRABALHA_EM, DEPENDENTE }TRABALHA_EM, DEPENDENTE }
Désiré NGuessan
ESQUEMA RELACIONAL DO BD EMPRESA
Désiré NGuessan
BDD EMPRESA
Suponha que a organização possua 3 sítios:
Um para cada departamento atual, os sítios 2 e 3
são para os departamentos 5 e 4, respectivamente.
Em cada um desses sítios esperamos o acesso
freqüente as informações de EMPREGADO e de
PROJETO para os empregados que trabalham
naquele departamento e para os projetos controlados
por aquele departamento. Alem disso, supomos que
esses sítios acessem principalmente os atributos
Désiré NGuessan
esses sítios acessem principalmente os atributos
NOME, SSN, SALARIO e SUPERSSN de
EMPREGADO. O sitio 1 é usado pela sede da
organização e acessa freqüentemente todas as
informações de empregado e de projeto, alem de
manter rastro das informações de DEPENDENTE
para propósito de seguro.
Désiré NGuessan
Désiré NGuessan
Désiré NGuessan
De acordo com as ultimas exigências o banco de
dados inteiro pode ser armazenado no sitio 1
Désiré NGuessan
Para determinar os fragmentos a serem replicados
no sítios 2:
primeiro podemos fragmentar horizontalmente
DEPARTAMENTO segundo sua chave
DNUM=5
DEP5 = σDNUM = 5 (DEPARTAMENTO)
Désiré NGuessan
DEP5 = σDNUM = 5 (DEPARTAMENTO)
Para determinar os fragmentos a serem replicados
no sítio 2:
em seguida aplicamos a fragmentação para
as relações EMPREGADO, PROJETO e
LOCAIS_DEPTO com base em suas chaves
estrangeiras para o numero do departamento
chamadas DNO, DNUM e DNUMERO
respectivamente.
Désiré NGuessan
respectivamente.
Para determinar os fragmentos a serem replicados
nos sítios 2:
EMP5 = σDNO=5 (EMPREGADO)
PRO5 = σDNUM=5 (PROJETO)
Désiré NGuessan
DEP_LOCS5 = σDNUMERO=5 (DPTO_LOCALIZACOES)
Para determinar os fragmentos a serem replicados
nos sítios 2:
EMP5 = σDNO=5 (EMPREGADO)
EMP5 = π NOME, SSN, SALRIO,
Désiré NGuessan
EMP5 = π NOME, SSN, SALRIO,
SUPERSSN, (EMPREGADO)
Para determinar os fragmentos a serem replicados
nos sítios 2:
EMP5 = σDNO=5 (EMPREGADO)
EMP_TRABALHAEM = EMP5 X TRABALHA_EM
σ
Désiré NGuessan
TRABALHA_EM5AUX = σSSN=ESSN EMP_TRABALHAEM
TRABALHA_EM5 =πESSN,NRP,HORAS (TRABALHA_EM5AUX )
Para determinar os fragmentos a serem replicados
no sítios 3:
primeiro podemos fragmentar horizontalmente
DEPARTAMENTO segundo sua chave
DNUM=4
DEP4 = σDNUM = 4 (DEPARTAMENTO)
Désiré NGuessan
DEP4 = σDNUM = 4 (DEPARTAMENTO)
Para determinar os fragmentos a serem replicados
no sítio 2:
em seguida aplicamos a fragmentação para
as relações EMPREGADO, PROJETO e
LOCAIS_DEPTO com base em suas chaves
estrangeiras para o numero do departamento
chamadas DNO, DNUM e DNUMERO
respectivamente.
Désiré NGuessan
respectivamente.
Para determinar os fragmentos a serem replicados
nos sítios 3:
EMP4 = σDNO=4 (EMPREGADO)
PRO4 = σDNUM=4 (PROJETO)
Désiré NGuessan
DEP_LOCS4 = σDNUMERO=4 (DPTO_LOCALIZACOES)
Para determinar os fragmentos a serem replicados
nos sítios 3:
EMP4 = σDNO=4 (EMPREGADO)
EMP4 = π NOME, SSN, SALRIO,
Désiré NGuessan
EMP4 = π NOME, SSN, SALRIO,
SUPERSSN, (EMPREGADO)
Para determinar os fragmentos a serem replicados
nos sítios 3:
EMP4 = σDNO=4 (EMPREGADO)
EMP_TRABALHAEM = EMP4 X TRABALHA_EM
σ
Désiré NGuessan
TRABALHA_EM4AUX = σSSN=ESSN EMP_TRABALHAEM
TRABALHA_EM4=πESSN,NRP,HORAS (TRABALHA_EM5AUX )
Referência Bibliográfica Referência Bibliográfica
• NAVARTHE S. B, ELMARRI R, Sistemas de Banco de
Dados, Ed. Pearson Addison Wesley, São Paulo, 2005
• HEUSER C A, Projeto de Banco de Dados, Serie Livros
Didáticos Informática UFRGS, Ed. Bookman, Porta
Alegre, 2009
Désiré NGuessan
Alegre, 2009
• SIBERSCHATZ A, KORTH H, SUDARSHAN S, Sistema
de BD, RJ, Elsevier, 2006
Referência Bibliográfica Referência Bibliográfica
• NAVARTHE S. B, ELMARRI R, Sistemas de Banco de
Dados, Ed. Pearson Addison Wesley, São Paulo, 2005
• HEUSER C A, Projeto de Banco de Dados, Serie Livros
Didáticos Informática UFRGS, Ed. Bookman, Porta
Alegre, 2009
Désiré NGuessan
Alegre, 2009
• SIBERSCHATZ A, KORTH H, SUDARSHAN S, Sistema
de BD, RJ, Elsevier, 2006