You are on page 1of 17

Dialetos SQL

 PL/SQL: Oracle.
 Transact-SQL: Microsoft SQL Server e Sybase adaptive Server.
 SQL PL: IBM DB2.
 PL/pgSQL: PostgreSQL.
 MYSQL: MySQL.

Consultas aninhadas (IN, EXISTs, ALL, SOME,


ANY)

 IN: ele testa se um valor existe no outro subconjunto.


 EXISTS: retorna o valor TRUE se a subconsulta usada como argumento é “não-vazia”.
 ALL: A utilização dessas palavras serve para comparar o valor da subconsulta externa com
todos os valores da subconsulta interna.
 SOME: A utilização dessas palavras serve para comparar o valor da subconsulta externa com
todos os valores da subconsulta interna.
 ANY: A utilização dessas palavras serve para comparar o valor da subconsulta externa com
todos os valores da subconsulta interna.

SELECT Name
FROM Product
WHERE ListPrice >= ALL
(SELECT ListPrice
FROM Product
GROUP BY ProductSubcategoryID);

Tipos de dados

 String  Boolean  Datetime  XML


 Numéricos  Binário  Interval

 Character varying (varchar)  Binary


 Character large objetc (clob)  Binary varying
 National  Binary large object(blob)

 Tipos numéricos exatos: integer, smallint, numeric ou inteiros decimais.


 Tipos numéricos aproximados: float, real, Double precision.

 Row  Collections  UD
Junções
Normalização
1FN: todos os atributos de uma relação devem ter seus valores definidos sobre
domínios atômicos ou indivisíveis. Os campos não devem ser compostos ou
multivalorados.

2FN: uma relação encontra-se na 2fn se e somente se estiver na 1fn e não tiver
dependências funcionais parciais. Cada atributo não chave seja definido por todos os
atributos pertencentes à chave primária da relação.

3FN: se esta na 2fn e nenhum atributo não chave é transitivamente dependente da chave
primária. Não se aceita dependência transitiva. Dependência transitiva acontece quando
uma coluna depende da pk e também depende de outra coluna.

FNBC: ela foi proposta como uma forma mais simples que 3fn, porem mais rígida. Se
uma relação está na fnbc também esta na 3fn. Uma relação esta na fnbc se todo
determinante é chave candidata. Toda dependência funcional de x > y, x é superchave.

4FN: uma relação esta na 4fn se e somente se estiver na 3fn e não possuir dependências
multivaloradas. Dependência multivalorada caracteriza o fato de que embora um
conjunto de atributos não possa determinar o valor de outro atributo, ainda assim, esse
conjunto consegue restringir os valores possíveis para aquele atributo.
*sempre que houver um atributo multivalorado ocorrerá multidependência funcional.

5FN: não pode ter dependência funcional de junção. Algumas relações precisam ser
decompostas para entrar na 4fn.
*As projeções sobre a relação, que são as partes da decomposição da relação original,
devem ser capazes de reconstruir a relação sem perdas.

Regras de inferência
RI 1 (reflexiva): se y é subconjunto de x, então x > y
RI 2 (aumentativa): se x > y, então xz > yz
RI 3 (transitiva): se x > y e y > z, então x > z
RI 4 (decomposição): se x > yz, então x > y e x > z
RI 5 (aditiva): se x > y e x > z, então x > yz
RI 6 (pseudotransitiva): se x > y e wy > z, então wx > z
Notação Peter Chen

Notação pé de galinha
Notação IDEF1X
SQL
DDL:
 Principais comandos:
o Alter o Truncate table
o Create o Update statistics
o Drop o Rename
o Disable trigger o Comment
o Enable trigger
 Restrições de integridade:
o Restrições em tabelas o Restrições de domínio
o Assertions (afirmações)
*** check é a restrição mais flexível de todas***

DML:
 Principais comandos:
o Select o Explain plan
o Insert o Lock table
o Update o Merge
o Delete o Bulk inset
o Call
 Consultas aninhadas:
o IN: teste se um valor existe no outro subconjunto.
o UNIQUE: testa se a subconsulta tem alguma tupla repetida.
o EXISTS: retorna TRUE se a subconsulta usada como argumento é não
vazia.
o NOT IN: verifica se o valor não existe em outro subconjunto.
o NOT EXISTS: retorna um valor booleano para aceitação ou não da
tupla em questão caso o argumento da subconsulta seja vazio.
o ALL: serve para comparar o valor da subconsulta externa com todos os
valores da subconsulta interna.
o ANY: serve para comparar o valor da subconsulta externa com todos os
valores da subconsulta interna.
o SOME: funciona da mesma forma que ANY.
o SELECT DISTINCT nome_cliente
FROM devedor
WHERE nome_cliente IN (select nome_cliente from depositante)
o SELECT name
FROM product
WHERE ListPrice >= ALL (SELECT ListPrice
FROM product
GROUP BY productsubcategoryid)
 Funções agregadas: Group by, having
 Junção:
o Tipos:
 Inner join: retorna apenas os dados que atendem às condições de
junção.
 Left outer join: sempre contém os registros da tabela a esquerda
mesmo quando não exista registros correspondentes na tabela a
direita.
 Right outer join: retorna sempre todos os registros da tabela a
direita mesmo quando não exista registros correspondentes na
tabela a direita.
Full outer join: apresenta todos os dados das tabelas à direita e à
esquerda, mesmo que não possuam correspondência em outra
tabela.
o Condições:
 Natural: vai ser utilizado os atributos das duas relações que
possuem os mesmos nomes.
 On:
 Using: caso não deseje utilizar todos os atributos com nomes
iguais você pode restringi-los passando apenas os atributos que
desejar.
o SELECT department_id, department_name, location_id, city
FROM departments
NATURAL JOIN locations;
o SELECT employee_id, last_name, location_id, department_id
FROM employees JOIN departments
USING (department_id);

TCL:
 Principais comandos:
o Commit o Set constraints
o Savepoint o Set transaction
o Rollback o Start (begin) transaction
o Release savepoint

DCL:
 Principais comandos:
o Grant
o Revoke
o Deny
Transações
Níveis de isolamento:
 Read uncommited: possibilita o problema de leitura suja.
 Read commited: permite o erro de leitura não repetível.
 Repeatable read: permite o problema de existência de registros fantasmas.
 Serializable: a idéia é executar concorrentemente apenas as transações que produzem o
mesmo resultado caso fossem executadas em série.
Protocolo de bloqueio em duas fases:
 Etapas: expansão e encolhimento.
 Conservador ou estático: bloqueia todos os itens que acessará antes de iniciar a transação.
Só bloqueia quando todos estão disponíveis.
 Estrito ou severo: não libera os locks de escrita até o commit ou abort.
 Rigoroso: não libera os locks de escrita e leitura até o commit ou abort.


 Livelock: uma transação não pode prosseguir por um período indefinido de tempo enquanto
outras transações continuam normalmente, por conta de um sistema injusto de espera.
 Starvation: ocorre se o algoritmo seleciona a mesma transação como vitima repetidamente
causando abort repetidos e nunca acabando a execução.
 Deadlock: situação em que duas ou mais transações estão em estado simultâneo de espera,
cada um aguardando que uma das demais libere um bloqueio para prosseguir.
Métodos de solucionar impasse:
 Wait-die: a transação que solicitou o bloqueio é a mais antiga, pode aguardar. Se for a mais
nova, sofre rollback e recomeça mais tarde com o mesmo timestamping.
 Wound-wait: uma transação mais nova solicita o bloqueio e o item estiver bloqueado por
uma mais antiga, a transação mais nova pode aguardar. Se for a mais antiga que estiver
solicitando, então ela interrompe a mais nova, a qual recomeça mais tarde com mesmo
timestamping.
Classificação de falhas:
 Erro lógico: devido a alguma condição interna, como entrada inadequada, um dado não
encontrado, overflow ou limite de recurso excedido.
 Erro do sistema: sistema entrou em estado inadequado.
 Queda do sistema: algum mau funcionamento de hardware ou um bug no software de
banco de dados ou no sistema operacional que causa a perda do conteúdo no armazenamento
volátil e fez o processamento da transação parar.
 Falha de disco: Um bloco de disco perde seu conteúdo em função da quebra do cabeçote ou
da falha durante uma operação de transferência de dados.
Modificação adiada e imediata:
 Adiada: adia a execução de todas operações write de uma transação até sua efetivação.
Garante a atomicidade.
 Imediata: permite que as modificações no banco de dados sejam enviadas enquanto as
transações ainda estão em estado ativo.
Roubada, não-roubada e forçada e não-forçada:
 Roubada: se o protocolo permitir o buffer atualizado antes que a transação se efetive será
usado quando o gerenciador do cache (buffer) do SGBD necessitar de um frame de buffer
para outra transação.
 Não-roubada: se uma página em cache atualizada por uma transação não puder ser gravada
antes que a transação se efetive.
 Forçada: se todas as páginas atualizadas por uma transação forem imediatamente escritas
no disco quando a transação se efetivar.
 Não-forçada: se todas as páginas atualizadas por uma transação não forem imediatamente
escritas no disco quando a transação se efetivar.

Backup
 Hot backup: é realizado enquanto a instância de banco de dados permanece online e o
acesso simultâneo é possível.
 Cold backup: é realizado ao desligar a instância de banco de dados.
 Completo: uma cópia integral de todos os dados dos objetos no momento em que a cópia
foi executada.
 Incremental: contém apenas os dados que mudaram desde a última cópia completa ou
incremental da imagem.
 Diferencial: contém os dados que mudaram desde a última cópia completa da imagem.
 Backup on-line: quando o sistema continua funcionando.
 Backup off-line: quando o sistema é parado para fazer o backup.
 Backup off-site: quando o backup é feito para um lugar diferente de onde esta o servidor.
Tipos de recuperações:
 Para o momento presente: para lidar com algum tipo de desastre. Aplicações ficam
completamente indisponíveis até que a recuperação esteja completa.
 Point-in-time: para lidar com um problema de nível de aplicativo. Remove os efeitos de
todas as transações que ocorreram desde o ponto especificado no tempo para frente.
 Recuperação de transações: aborda as deficiências dos tipos tradicionais, o tempo de
inatividade e a perda de dados de boa qualidade.

Otimização
Fatores que influenciam o desempenho:
 Carga de trabalho
 Throughput
 Recursos
 Otimização
 Contenção
Metas de ajustes centrais:
 Maximizar o ROI
 Minimizar a contenção
Metas de ajustes de uso geral:
 Minimizar o número de blocos
 Usar caching, buffering ou fila
Técnicas para utilização de dados intermediários:
 Materialização: o resultado de uma operação é armazenado em disco como uma relação
temporária, essa relação é lida do disco para ser utilizada como entrada para a próxima
operação.
 Pipelining: combina diversos algoritmos que correspondem às operações individuais e
utiliza como entrada de uma operação as tuplas que foram geradas pela operação anterior.
Processamento e otimização de consulta
Fatores que influenciam o desempenho do banco de dados:
 Carga de trabalho(workloud)
 Throughput
 Recursos
 Otimização
 Contenção
Desempenho do banco de dados é a otimização do uso dos recursos para aumentar o
throughput e minimizar a contenção, permitindo que a maior carga de trabalho
possível seja processada.

São diversos os problemas que podem causar baixo desempenho, incluindo:


 Table scan  Método de junção inadequado
 Falta de índices apropriados  Ordenação ou filtros
 Opções de indexação impróprias desnecessários
 Não utilizar índices disponíveis  Formulação subconsulta
 Estatísticas do bd desatualizadas ineficiente
 Junção de tabela em ordem não  SQL dentro de aplicação
ideal ineficiente
 Junção feita pela aplicação e não
SQL

As medidas quantitativas para sistema de banco de dados mais importantes:


 Capacidade (throughput): mede o trabalho realizado, quanto maior melhor.
 Tempo de resposta: tempo que leva para um aplicativo responder, quanto menor,
melhor.
 Tempo de espera: tempo que um programa leva para executar, quanto menor, melhor.

Metas de ajuste centrais:


 Maximizar o ROI
 Minimizar a contenção

Metas de ajuste de uso geral:


 Minimize o número de blocos
 Use caching, buffering ou fila

Ordem que o sistema deve ser ajustado:


 Design de banco de dados
 Aplicação de banco de dados
 Gerenciamento de memória
 Gerenciamento de I/O
 Contenção de banco de dados

Passos básicos para ajuste de SQL:


 Descobrir qual plano de execução você esta recebendo.
 Alterar o código SQL ou o banco de dados para receber outro plano de execução.
 Descobrir qual plano de execução é o melhor dentre os analisados.
Técnicas de otimização:
 Técnica baseada em regras heurísticas.
 Técnica baseada em estimativa de custos.
*****É possível combinar as duas*****

Formatando consultas SQL:


 Formato das instruções para facilitar a leitura.
 Ordem das tabelas na cláusula from.
 Ordenação das condições mais restritivas na cláusula where.
 Ordenação das condições de junção na cláusula where.

Condições em que índices devem ser utilizados:


 Colunas utilizadas como chaves primárias.
 Colunas usadas como chaves estrangeiras.
 Colunas frequentemente usadas para unir tabelas.
 Colunas frequentemente usadas como condições para uma consulta.
 Colunas que tem elevada percentagem de valores exclusivos.

Outras considerações sobre desempenho:


 Usando o operador like e wildcards: like é uma ferramenta útil e wildcards elimina
muitas possibilidades de dados em uma consulta.
 Evitar o operador OR: reescreva a instrução SQL utilizando o predicado IN em vez do
operador OR.
 Evitando a cláusula having: cláusula having é útil para restringir o resultado de uma
cláusula group by, mas gerará um trabalho extra e no prolongamento no tempo da
consulta.
 Evitando grandes operações de classificação: grandes operações de classificação
afetam o tempo de resposta de uma instrução SQL, é melhor agendar estas consultas
para momentos com menor demanda no banco de dados.
 Usando procedimentos armazenados: os procedimentos armazenados são compilados
e permanentemente armazenados no banco de dados em um formato executável.
 Desativação de índices durante cargas em lotes: quando o usuário envia uma transação
(insert, delete, update), o usuário atualiza a tabela e o índice também caso exista.
Arquitetura de banco de dados

Arquiteturas paralelas de banco de dados:


 Memória compartilhada: todos processadores compartilham uma mesma memória.
 Disco compartilhado: todos processadores compartilham um mesmo disco.
 Nada compartilhado: os processadores não compartilham nem memória nem disco.
 Hierárquico: é um modelo hibrido das arquiteturas anteriores.
12 regras para banco de dados distribuídos:
 Autonomia local  Gerenciamento de transações
 Não dependência de um site central distribuídas
 Operação continua  Independência de hardware
 Independência de localização  Independência de sistema
 Independência de fragmentação operacional
 Independência de replicação  Independência de SGDB
 Processamento de consultas
distribuído
Particionamento:
 Particionamento vertical: divide a relação decompondo por atributos. Um fragmento
vertical mantém apenas certos atributos da relação em um site particular.
 Particionamento horizontal: subconjunto de tuplas com todos os atributos da relação.
 Particionamento misto: é um hibrido misturando os dois tipos anteriores.
Alocação de dados:
 Centralizada: todo o banco de dados único e o SGDB são armazenados em um site.
 Particionada: o banco de dados é dividido em várias partes disjuntas e armazenado em
vários locais.
 De replicação: copias de um ou mais fragmentos do banco de dados são armazenados em
vários locais.
Estratégias de replicação:
 Read-one-write-all (ROWA): a leitura pode ser efetuada em apenas um e a atualização em
todas as réplicas. As atualizações são feitas na replica primaria e depois replicada para as
outras. Os pedidos de leitura podem ser feitos sobre primária ou secundárias.
 Update anywhere: cada replica aceita tanto operação de leitura como escrita. Não tem o
conceito de réplica primária ou secundária.
Banco de dados federado:
 Um banco de dados federado é um sistema em vários bancos de dados parecem funcionar
como uma única entidade. O termo SBDF é usado quando existe alguma visão ou esquema
global da federação de banco de dados. É uma coleção integrada de banco de dados
autônomos.
Protocolo de commit em 2 fases:
Primeira fase
 C1 manda um prepare para os sites participantes e grava no log.
 S1 responde com abort ou ready e gravam no logo.
Segunda fase
 C1 recebe todas as mensagens de resposta ao prepare e se receber pelo menos uma resposta
de abort ela será abortada.
Protocolo de commit em 3 fases:
Primeira fase: igual
Segunda fase:
 C1 se não receber respostas de um site participante ou um abort então optara pelo abort.
 C1 se receber ready de todos os sites escreverá no log e enviará mensagem de precommit.
 Essa fase ainda permite que a transação seja abortada.
Terceira fase:
 É executada somente se o precommit for executado.
 C1 aguarda pelo menos k mensagens ACK, caso receba ele toma a decisão de efetivação,
coloca no log e envia mensagem a todos os sites.
 S1 recebe a mensagem de commit e insere no log.
Armazenamento de dados e indexação
As estruturas de armazenamento podem ser divididas em:
 Primárias: pode ser operado diretamente pela CPU.
 Secundárias: memórias não voláteis que não são operadas diretamente pela
CPU.
 Terciárias: memórias não voláteis que não são operadas diretamente pela CPU.

Tipos de memória RAM:


 DRAM: precisa que a informação seja atualizada o tempo todo para que
permaneça armazenada. Gasta mais energia que a SRAM.
 SRAM: consegue manter os dados mesmo sem atualização continua, os dados
são perdidos apenas após a interrupção da energia. Performance melhor que
DRAM.

Termos relacionados a dispositivos de armazenamento secundário:


 Track (trilha): é um circulo de pequena largua. Existem vários em cada face de
um disco. Cada trilha é divida em blocos ou setores.
 Actuador (acionador): responsável por mover o braço sob a superfície dos
pratos.
 Arm (braço): é o tendão de Aquiles dos discos rígidos. Ele deve mover muito
rápido e corretamente através de distancias relativamente longas. O movimento
não é continuo. O braço deve ser forte e leve ao mesmo tempo.
 Read/write head (cabeça de leitura/gravação): funcionam somente quando os
pratos do disco sobre os quais elas atuam estão rodando.
 Spindle (eixo): responsável por fazer os discos girarem.
 Bloco: é um espaço físico em um disco formatado que contem informações. Os
setores podem se estender por um ângulo fixo ou manter uma densidade de
gravação uniforme. Em discos rígidos ou disquetes cada setor podem armazenar
512 bytes
 Faixa: Elas são definidas quando um disco é formatado. Cada faixa é dividida
em fatias, conhecida como setores.
 Bloco: é um grupo de setores que o sistema operacional pode endereçar. Pode
ter um ou vários setores (2,4,8, ou até 16).
 Buffer: é aquela parte da memória principal disponível para armazenamento de
cópias de blocos do disco.

O tempo de transferência dos dados do disco para memória:


 Tempo de busca
 Atraso rotacional ou latência
 Tempo de transferência de blocos
***tempo de busca é considerado o principal culpado pelo atraso envolvido na
transferência de blocos***

Arquivos no disco:
 Registro: uma coleção de valores ou itens de dados.
 Arquivo: uma sequencia de registros.
 Alocação continua: é o ideal. Torna a leitura mais rápida, principalmente se
tiver utilizando buffer de leitura.
 Alocação ligada: cada bloco contém um ponteiro para o próximo bloco.
 Clusters de bloco: junta as opções de alocação continua e ligada. Blocos
contíguos para cada segmento.
 Alocação indexada: um ou mais blocos de índice contém ponteiros para blocos
de arquivos reais.
 Endereço de hardware de um bloco: combinação de número do cilindro,
número de trilha e número de bloco.

Se o espaço restante em um bloco não seja suficiente para armazenamento do próximo


registro:
 Unspanned: ou não espalhada, os registros não podem ultrapassar o tamanho do
bloco.
 Spanned: ou espalhada, neste caso um ponteiro no final do primeiro bloco
aponta para o bloco que contem o restante do registro caso não seja o próximo
bloco consecutivo.

Operações que são executadas para recuperação de informações em um arquivo:


 Open: prepara o arquivo para leitura ou gravação. Aloca buffers apropriados e
define ponteiro para o inicio do arquivo.
 Reset: define o ponteiro aberto para inicio do arquivo.
 Find(locate): procura o primeiro registro que satisfaça uma condição de
pesquisa. Transfere o bloco para o buffer, aponta o ponteiro para o registro do
buffer e este torna o registro atual.
 Read(get): copia o registro atual do buffer para uma variável de programa, pode
avançar o ponteiro do registro atual para o próximo registro no arquivo.
 FindNext: procura o próximo registro no arquivo que satisfaz a condição,
transfere o bloco para o buffer e o registro vira o atual.
 Delete: exclui o registro atual e atualiza o disco.
 Modify: modifica valores do registro e atualiza o disco.
 Insert: insere um novo registro no arquivo ao localizar o bloco onde o registro
deve ser inserido, transfere o bloco para o buffer da memória principal, gravando
o registro no buffer no disco.
 Close: completa o acesso ao arquivo liberando os buffers e realizando quaisquer
outras operações de limpeza necessárias.
 Scan: se o arquivo estiver aberto ou reiniciado retorna o primeiro registro caso
contrario retorna o próximo. Se uma condição especifica for definida o registro
retornado é o primeiro ou o próximo que satisfaz a condição.
 FindAll: localiza todos os registros no arquivo que satisfaçam uma condição.
 Find (locate) n: procura o primeiro registro qu satisfaça a pesquisa e depois
continua a localizar os próximos n-1. Transfere os blocos para o buffer da
memória principal.
 FindOrdered: recupera todos os registros no arquivo em alguma ordem.
 Reorganize: inicia o processo de reorganização.

Organização de arquivos:
 Organização de arquivos: refere-se a organização dos dados de um arquivo de
registros, blocos e estruturas de acesso. Como registros e blocos são colocados
no meio de armazenamento e interligados.
 Métodos de acesso: oferecem operações que podem ser aplicadas a um arquivo.
É possível aplicar vários métodos a uma organização de arquivos, mas alguns
métodos só podem ser aplicados a arquivos organizados de certa maneira.
 Arquivos de registros desordenados: ou arquivos de heap são organizados na
ordem em que os registros são inseridos no arquivo. Novos registros são sempre
inseridos no final. A exclusão deixa espaço livre.
 Arquivos de registros ordenados: classificados ou seqüencial, são
armazenados de forma ordenada de acordo com algum campo do registro. Na
inclusão podemos ter que deslocar metade do registro.
 Arquivos de acesso direto: ou arquivo de hash, utilizam técnicas de hashing
oferencendo uma função h que é aplicada ao valor do campo de hash de um
registro que gera um endereço do bloco de disco em que será armazenado.

Tratamento de colisões em funções de hash:


 Endereçamento aberto: usa a próxima posição do array de registro que esta
disponível.
 Encadeamento: utiliza uma lista ligada onde o registro armazenado na posição
do array aponta para o próximo registro que tem como resultado da função de
hash o mesmo valor. Novo registro é colocado em um local de overflow e um
ponteiro aponta para ele.
 Hash múltiplo ou Double-hash: existe uma nova função que aplicaremos o
nosso valor de entrada para obtermos um endereço de memória disponível.
 Hash extensível: usa um diretório dinâmico de registros que armazena uma
tabela, onde cada registro contem um ponteiro para um balde e cada balde tem
um número fixo de itens.
 Hashing linear: inicia-se a estrutura com um numero fixo de buckets e caso o
espaço do bucket estoure é utilizado um bucket overflow que pode ser
implementado como uma lista encadeada.

Maneiras de recuperas registros:


 Acesso seqüencial: a leitura dos registros é na ordem em que eram gravados e a
gravação de novos registros só era possível no final do arquivo.
 Acesso direto: permite a leitura/gravação de um registro diretamente na sua
posição. Somente é possível quando o arquivo é definido com registros de
tamanho fixo.
 Acesso indexado: o arquivo deve possuir uma área de índice onde existam
ponteiros para diversos registros.

Níveis de raid:
 Raid 0: divide o arquivo e distribui os dados em todas as unidades de disco em
um grupo raid.
 Raid 1: utiliza no mínimo dois discos e basicamente copia os dados de um no
outro.
 Raid 2: conta com mecanismo de detecção de falhas e quase não é mais
utilizado.
 Raid 3: uma unidade apenas para paridade, são necessários pelo menos 3 discos.
 Raid 4: usa esquema de paridade, similar ao raid 3, dividi os dados em blocos
maiores e oferece acesso individual a cada disco.
 Raid 5: usa paridade, muito parecido com raid 0 mas com tolerância a falhas .
 Raid 6: protege contra até duas falhas de disco simultâneas, parecida com raid 5
com a diferença que trabalha com dois bits de paridade.

Novos sistemas de armazenamento:


 DAS: sua unidades de armazenamento são os blocos de disco. Não atua como
servidor. É um conjunto de hds acessados por uma ou várias máquinas.
 NFS: é um serviço de rede que permite o compartilhamento transparente de
sistemas de arquivos ou diretórios. Permite a criação de sistema de arquivos
centralizados.
 NAS: são servidores que não oferecem quaisquer dos serviços comuns a um
servidor, permitem o acréscimo de armazenamento para compartilhamento de
arquivos. Conhecidos também como appliances.
 SAN: os periféricos de armazenamento on-line são configurados como nós em
uma rede de alta velocidade e podem ser conectados e desconectados dos
servidores de uma maneira bastante flexível.

Índices:

Tipo de índice Número de entradas Denso ou não denso Ancoragem de


no índice bloco no arquivo de
dados
Primário Número de blocos Não denso Sim
no arquivo de dados
Clustering Número de valores Não denso Sim/não
de campo de índice
distintos
Secundário (chave) Numero de Denso Não
registros no arquivo
de dados
Secundário (não Número de Denso ou não denso Não
chave) registros ou número
de valores do
campo de índices
distintos

You might also like