Definição do Plano de Execução. Estimativas sobre os Dados

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamanho: px
Começar a partir da página:

Download "Definição do Plano de Execução. Estimativas sobre os Dados"

Transcrição

1 Definição do Plano de Execução Analisar alternativas de processamento Escolher a melhor alternativa Diversas medidas podem ser consideradas tempo CPU, comunicação, acessos a disco medida mais relevante ( gargalo ): acessos a disco para avaliar o custo de uma alternativa análise de estimativas sobre os dados tamanho das tabelas, existência de índices, seletividade,... custo dos algoritmos de processamento de operações algébricas supõe armazenamento clusterizado de dados e índices supõe que o DD mantém localização física de arquivos de dados e índices Estimativas sobre os Dados n t t (a i ) f V (a i ) C (a i ) G (a i ) b número de tuplas na tabela tamanho (em bytes) de uma tupla de tamanho (em bytes) do atributo a i de fator de bloco de (quantas tuplas de cabem em um bloco *) * bloco: unidade de / em disco (medida básica de avaliação) f = t bloco / t número de valores distintos do atributo a i de cardinalidade (estimada) do atributo a i de (tuplas de que satisfazem um predicado de igualdade sobre a i ) (estimando distribuição uniforme: C (a i ) = n / V (a i ) ) grau de seletividade do do atributo a i de (estimando distribuição uniforme : G (a i ) = / V (a i ) ) número de blocos necessários para manter tuplas de b = n / f

2 Exemplo de Estimativas de Tabela Existem 00 médicos cadastrados na tabela Médicos; cada tupla possui 60 bytes e bloco lê/grava kb Estimativas n Médicos = 00 tuplas t Médicos = 60 bytes f Médicos = 02 / 60 = tuplas b Médicos = 00 / = 6 blocos Estimativas sobre os Índices f i h i bf i fator de bloco do índice i (fan-out do índice) número de níveis (de blocos) do índice para valores de um atributo a i ( altura do índice ) (assume-se armazenamento clusterizado em largura ) h i = log fi V (a i ) / N (para índices árvore-b) (N é o número de valores que cabem em um nodo) h i = (para índices hash) (assume-se que tabelas hash, por não conterem muitos atributos, cabem inteiramente em um bloco) número de blocos de índice no nível mais baixo do índice (número blocos folha ) 2

3 Exemplo de Estimativas de Índice bloco b Índice árvore-b N = bloco b2 bloco b Estimativas f índice-cm = nodos h índice-cm = log fi V (a i ) / N = log / 2 = 2 bf índice-cm = 2 Processamento de eleções (σ) Alternativas e suas estimativas de custo A: pesquisa linear A2: pesquisa binária A: índice primário para atributo chave A: índice primário para atributo não-chave A: índice secundário para atributo chave A6: índice secundário para atributo não-chave A: desigualdade (>, >=) com índice primário A: desigualdade (<, =) com índice primário A: desigualdade com índice secundário

4 Pesquisa Linear (A) Varre todo o arquivo para buscar os dados desejados acessa todos os blocos do arquivo Em alguns casos, é a única alternativa possível Custo para uma tabela custo = b Pesquisa Binária (A2) Aplicado sobre uma tabela quando dados estão ordenados pelo atributo de seleção a i há uma condição de igualdade sobre a i Custo custo para acessar o bloco da a tupla: log 2 b custo para acessar os blocos das demais tuplas: (C (a i ) / f ) custo = log 2 b + (C (a i ) / f ) se a i é chave: custo = log 2 b desconta-se o bloco da primeira tupla (já foi localizada)

5 eleções Utilizando Índices Atributo a i com índice primário leitura do índice corresponde à leitura na ordem física do arquivo arquivo fisicamente ordenado por valores de a i se a i é chave (A) acesso ao bloco onde está custo = h i + a tupla com o valor de a i se a i é não-chave (A) custo = h i + (C (a i ) / f ) número de blocos contíguos acessados a partir do 0 bloco que contém o valor da chave eleções Utilizando Índices Atributo a i com índice secundário arquivo não está fisicamente ordenado por valores de a i se a i é chave (A) custo = h i + se a i é não-chave (A6) supor que o bloco folha do índice aponta para uma lista de apontadores para as tuplas desejadas estimar que esta lista cabe em um bloco custo = h i + + C (a i ) pior caso: cada tupla com o valor desejado está em um bloco acesso adicional à lista de apontadores

6 Exercício Dado Pac(codp, nome, idade, cidade, doença) e as seguintes estimativas: n Pac = 000 tuplas; t Pac = 00 bytes; V Pac (codp) = 000; V Pac (doença) = 0; V Pac (idade) = 00; um índice primário árvore-b para codp (I) com N = ; f I = 0; um índice secundário árvore-b para doença (I2) com N = ; f I2 = ; e bloco = 2 kb upondo a seguinte consulta: σ doença = câncer (Pac) a) qual a melhor estratégia de processamento para σ? b) se agora bloco = kb, a estratégia escolhida no item anterior continua sendo a melhor? Comparação por Desigualdade upõe-se que aproximadamente metade das tuplas satisfazem a condição a i <= x número de tuplas n / 2 DD mantém valores mínimo/máximo de a i a i <= x número de tuplas = 0, se x < MIN(a i ) número de tuplas = n, se x >= MAX(a i ) a i >= x número de tuplas = 0, se x > MAX(a i ) número de tuplas = n, se x <= MIN(a i ) 6

7 Desigualdade e Índices Atributo a i com índice primário comparações do tipo a i > x ou a i >= x (A) custo para buscar a i = x através do índice: h i custo (médio) para varredura do arquivo: b / 2 custo = h i + b / 2 comparações do tipo a i < x ou a i <= x (A) varre o arquivo até a i = x custo (médio) = b / 2 Desigualdade e Índices Atributo a i com índice secundário (A) custo para buscar a i = x através do índice: h i custo para varredura dos blocos folha do arquivo de índice (em média, metade dos blocos é acessado): bf i / 2 custo para varredura das listas de apontadores em cada bloco folha: bf i / 2 * f i * N custo para acesso a blocos de dados: n / 2 custo = h i + bf i / 2 + bf i / 2 * f i * N + n / 2 cada bloco possui f i nodos e cada nodo com N listas de apontadores pior caso: cada tupla em um bloco e, em média, metade dos dados atende a condição

8 Exercício 2 Considere a relação Pac e as estimativas dadas no exercício Dada a consulta σ codp > 0000 cidade = Florianópolis (Pac) a) qual a melhor estratégia de processamento para σ? b) supondo agora a existência de um índice secundário árvore-b para cidade (I) com N =, f I =, bf I = 0 e V Pac (cidade) = 00, qual a melhor estratégia de processamento para σ? Conjunções Estimativa de Tamanho Dada uma seleção σ c c2... cn () estima-se a cardinalidade de cada condição c i C(c i ) tamanho da relação resultante é dado por n. (C(c ). C(c 2 )..... C(c n )) / (n ) n Exemplo (a, b, c) n = 00 tuplas V (a) = 00 V (b) = 20 Dado σ a > b = 0, temos: C(a>) = n / 2 = 0 tuplas C(b=0) = n / V (b) = tuplas Estimativa tamanho = 00 (0.) / 00 2 = tuplas

9 Disjunções Estimativa de Tamanho Dada uma seleção σ c c2... cp tamanho da relação resultante é dado por n.( ( - C(c ) / n ).( - C(c 2 ) / n ).....( - C(c p ) / n )) Exemplo (a, b, c) n = 00 tuplas V (a) = 00 V (b) = 20 Dado σ a > b = 0, temos: C(a>) = n / 2 = 0 tuplas C(b=0) = n / V (b) = tuplas Estimativa tamanho = 00.( ( 0/00).( /00)) = tuplas Negações Estimativa de Tamanho Dada uma seleção σ θ tamanho da relação resultante é dado por n estimativatamanho(σ θ ) Exemplo (a, b, c) n = 00 tuplas V (a) = 00 V (b) = 20 Dado σ (a > b = 0), temos: Estimativa tamanho(σ a > b = 0 ) = tuplas Estimativa tamanho(σ (a > b = 0) ) = 00 = tuplas

10 Processamento de Produtos ( X ) Estimativa de tamanho ( X ) produto cartesiano ( X ) tamanho = n * n junção por igualdade ( equi-join natural ou theta) junção natural sem atributo em comum tamanho = n * n junção por referência (fk() = pk()) tamanho estimado <= n junção entre chaves candidatas (atributos unique) tamanho <= MIN (n, n ) Processamento de Produtos ( X ) Estimativa de tamanho ( X ) junção por igualdade ( equi-join natural ou theta) junção entre atributos não-chave (a i () = a j ()) cada tupla de associa-se com C (a j ) se tenho n tuplas n * C (a j ) idem para as tuplas de : n * C (a i ) tamanho estimado = MIN( n * C (a j ), n * C (a i ) )» menor estimativa geralmente é mais precisa junção theta por desigualdade (a i () > a j ()) estimativa: cada tupla de > n s / 2 tuplas de e viceversa tamanho estimado = MAX(n * n s / 2, n * n / 2 ) (pior caso) 0

11 Processamento de Produtos ( X ) Alternativas e suas estimativas de custo A: laço aninhado ( nested-loop ) A2: laço aninhado com índice A: merge-junção ( balanced-line ) A: hash-junção Laço Aninhado (A) Dois laços para varredura de blocos das relações a serem combinadas para cada bloco B de faça para cada bloco B de faça início se uma tupla t B satisfaz a condição de junção com uma tupla t B então adicione t * t ao resultado fim

12 Melhor caso Laço Aninhado - Custo os blocos de e cabem todos na memória custo = b + b Pior caso apenas um bloco de cada relação pode ser lido por vez custo = MIN(b + b * b, b + b * b ) Laço Aninhado com Índice (A2) Aplicada se existir um índice para o atributo de junção do laço interno Custo para cada tupla externa de, pesquisa-se o índice para buscar a tupla de custo diretamente associado ao tipo de índice exemplo com índice primário árvore-b para atributo chave em (I ) custo = b + n * (h Is + ) 2

13 Merge-Junção (A) Aplicada se e estiverem fisicamente ordenadas pelos atributos de junção tupla tupla bloco bloco ptr ptr bloco b tupla n tupla n bloco b Merge-Junção - Custo Pressupõe que pelo menos um bloco de cada relação cabe na memória geralmente isso é possível exige uma única leitura de cada relação custo M-J = b + b e e/ou não estiverem ordenadas, elas podem ser ordenadas custo = custo ordenação e/ou + custo M-J

14 Exercício Proponha um algoritmo de alto nível para executar a alternativa merge-junção Ordenação Externa Ordenação interna ordenação feita totalmente em memória Ordenação externa ordenação na qual os dados não cabem inteiramente na memória útil no processamento de consultas exibição ordenada de dados (ODE BY) avaliação de planos de execução técnica mais utilizada para ordenação de relações Mergeort Externo

15 Mergeort Externo Executa em 2 etapas Etapa ort ordena partições da relação em memória tamanho da partição depende da disponibilidade de buffers em memória (n buf = n o de buffers disponíveis) gera um arquivo temporário ordenado para cada partição Etapa 2 Merge de n iterações ordena um conjunto de temporários a cada iteração gera um novo temporário resultante da ordenação ordenação termina quando existir somente um temporário que mantém a relação inteira ordenada Mergeort Externo - Exemplo n buf = 2 ( ) f = 2 b = disco memória sort temp temp 2 temp temp disco temp temp ordenada 6 memória memória disco disco a iteração 2 a iteração merge de n iterações

16 Mergeort Externo - Custo n buf = 2 f = 2 b = disco memória sort temp temp 2 temp temp disco + de todos os blocos da relação custo = 2 * b Mergeort Externo - Exemplo n buf = 2 f = 2 b = N o de iterações é dependente do n o de temporários a ordenar 6 temp 6 temp 2 ordenada temp final A cada iteração, o n o de temporários se reduz 2 a um fator de n buf reserva-se 6 2 temp buffer para cada temporário. Logo 0 temp 6 ordena-se n buf temporários a cada 6 memória 2 6 iteração 6 n o iterações: temp 6 0 log n buf (b / n buf ) a cada memória iteração: 2 * b disco disco temp custo = disco a iteração 2 a iteração 2 * b * log n buf (b / n buf ) no inicial de temporários merge de n iterações

17 Mergeort Externo - Custo n buf = 2 f = 2 b = temp temp 2 temp temp Custo total = 2 * b + 2 * b * log n buf (b / n buf ) = 2 * b (log n buf (b / n buf ) + ) Exemplo = 2. ( log 2 ( / 2) + ) = 6 (2 + ) = acessos Merge-Junção - Custo e ambas as relações ( e ) estão ordenadas custo = b + b e uma delas () não está ordenada custo = 2 * b (log n buf (b / n buf ) + ) + b + b e ambas as relações não estão ordenadas custo = 2 * b (log n buf (b / n buf ) + ) + 2 * b (log n buf (b / n buf ) + ) + b + b

18 Hash-Junção Aplicada se existir um índice hash com a mesma função definido para os atributos de junção de e Executa em 2 etapas. Particionamento separa em partições as tuplas de e que possuem o mesmo valor para a função de hash 2. Junção analisa e combina as tuplas de uma mesma partição Hash-Junção - Funcionamento t t 2 X hash(a i ) = 0 hash(a j ) = 0 t t 2 t X t t t... t n hash(a i ) = hash(a j ) =... X... t m hash(a i ) = n hash(a j ) = n

19 Hash-Junção - Custo Fase de Particionamento lê e e as reescreve, organizadas em partições sempre que um conjunto de tuplas com o mesmo valor de hash adquire o tamanho de um bloco, este bloco é anexado a um arquivo temporário para a partição considera-se geralmente um melhor caso função hash distribui uniformemente os valores das tuplas» evita escrita de muitas pequenas partições. Assim, assume-se custo = custo e não custo > custo custo = 2 * b + 2 * b = 2 * (b + b ) Hash-Junção - Custo Fase de Junção lê as partições de mesmo hash e combina as tuplas equivale aproximadamente a uma nova leitura de todos os blocos de e custo = (b + b ) Custo Total custo = 2 * (b + b ) + (b + b ) = * (b + b )

20 Escrita ( ) do esultado Qualquer alternativa de processamento deve considerar este custo b res = número de blocos de resultado a ser Exemplo: estimativa de do resultado de um produto b res = tamanhoproduto / f res estimativa do fator de bloco do resultado (f res ) f res = tamanhobloco / (t + t ) arredonda para baixo pois uma tupla do resultado não pode estar parcialmente escrita em um bloco Exemplo Med(CM, nome,...) com n Med = 0 e t Med = 0 b Cons(CM, codp,...) com n Cons = 00 e t Cons = 20 b e bloco = 2 kb Dado Med X θ = σ Med.CM = Cons.CM Cons, temos: - junção por referência (fk(cons) = pk(med)) - tamanho resultado = n Cons = 00 tuplas f res = tamanhobloco / (t + t ) f res = 20 / (0 + 20) = 2 tuplas b res = tamanhoesultado / f res - b res = 00 / 2 = blocos 20

21 Tamanho de Buffer Influencia o custo quanto maior o número de buffers (n buf ) para blocos, melhor! Exemplos de custos de produtos se n buf >= (b + b + b res ) custo = b + b (não é preciso o resultado) se n buf é capaz de manter e, mas apenas bloco p/ o resultado custo = b + b + (b res ) Exemplo Med(CM, nome,...) Cons(CM, codp,...) b Med = 0; b Cons = 20; n buf = Dado Med X θ = σ Med.CM = Cons.CM Cons, temos: b res = blocos um bloco do resultado pode ficar na memória - Custo do laço aninhado (s/ considerar buffers) custo = b Med +b Med *b Cons +(b res ) = 0+0*20+ = 22 - Custo do laço aninhado (considerando buffers p/ Med, buffer p/ Cons e buffer para o resultado) - melhor manter em memória + blocos da relação menor custo = b Med + b Med / *b Cons +(b res ) = 0+*20+ = 0 reduz em / o número de acessos a blocos da tabela Cons 2

22 Exercício Dado Pac(codp, nome, idade, cidade, doença) e Cons(CM, codp, data, hora) e as seguintes estimativas: n Pac = 00 tuplas; t Pac = 0 bytes; t Pac (codp) = bytes; t Pac (nome) = bytes; t Pac (cidade) = bytes; n Cons = 000 tuplas; t Cons = 20 bytes; t Cons (CM) = bytes; t Cons (data) = 0 bytes; V Cons (data) = 0; V Cons (codp) = 00; V Cons (CM) = 200; um índice primário árvore-b para codp (I) em Pac com N = 0 e f I = 0; um índice secundário hash para codp (I2) em Cons; um índice secundário hash para CM (I) em Cons; Pac está ordenada pelo codp; Cons está ordenada pela data; bloco = kb e n buf = Dada a seguinte árvore algébrica de consulta: π codp, nome, cidade, CM, data X θ = σ Pac.codp = Cons.codp σ CM = 000 data = /0/0 Pac Cons Estime custos e o tamanho do resultado desta consulta. Produtos Complexos - Custo Dada uma operação produtória complexa conjuntiva X θ = σ c c2... cn estima-se o custo de cada condição c i X θ = σ ci escolhe-se a condição c i de menor custo para ser implementada as demais condições c, c 2,..., c i-, c i+,..., c n são verificadas a medida que as tuplas de X θ = σ ci são geradas 22

23 Produtos Complexos - Custo Dada uma operação produtória complexa disjuntiva X θ = σ c c2... cn, tem-se as seguintes alternativas aplica-se o algoritmo de laço aninhado mais simples e independente de condição de junção aplica-se ( X θ = σ c ) ( X θ = σ c2 )... ( X θ = σ cn ) custo total é a soma dos menores custos de cada junção individual Processamento de Projeções (π) Custo (na teoria) de π a, a2,..., an () custo = () varredura de + (2) eliminação de duplicatas custo de () = b (gera b es blocos de resultado) custo de (2) = custo de classificar o resultado pelos atributos da projeção = 2 * b es (log n buf (b es / n buf ) + ) tuplas iguais estarão adjacentes e apenas uma delas é mantida (deve-se ainda varrer o resultado ordenado) custo = b + 2 * b es (log n buf (b es / n buf ) + ) + b es Custo (na prática) de π a, a2,..., an () custo = b QL não faz eliminação de duplicatas 2

24 Processamento de Projeções (π) Tamanho de π a, a2,..., an () (na prática) tamanho = n * (t (a ) t (a n )) Na teoria, é difícil estimar o tamanho do resultado pois é difícil estimar quantas duplicatas serão eliminadas o que é possível estimar? se a projeção é apenas da chave primária (pk()) tamanho = n * t (pk()) se a projeção é de um único atributo a i tamanho = V (a i ) * t (a i ) Processamento de Operações de Conjunto (, e ) Aplica-se uma estratégia merge-junção () classificação de e facilita a verificação de tuplas iguais em e (2) varredura de e para obtenção do resultado custo (pior caso) = 2 * b (log n buf (b / n buf ) + ) + 2 * b (log n buf (b / n buf ) + ) + b + b 2

25 Processamento de Operações de Conjunto (, e ) Estimativas de tamanho pior caso tamanho ( ) = n + n tamanho ( ) = n tamanho ( ) = MIN(n, n ) melhor caso tamanho ( ) = MAX(n, n ) tamanho ( ) = 0 tamanho ( ) = 0 caso médio média aritmética do melhor e pior casos Funções de Agregação e Group By Função de agregação (count, max, sum,...) custo da varredura da relação = b tamanho = lenght (int ou float) Group By + Função de Agregação processamento: ordenação de pelos atributos de agrupamento + varredura de ordenada para definir grupos e aplicar função custo = 2 * b (log n buf (b / n buf ) + ) + b tamanho de group by a,..., a n número de grupos * (t (a ) t (a n )) + lenght (int ou float) 2

26 Índice Temporário Um índice temporário pode ser criado para o processamento de uma operação algébrica op x Objetivo gerar um custo menor que outras alternativas de processamento de op x este custo envolve total ou parcial dos blocos do índice no disco acesso a ele durante o processamento de op x estes custos devem ser estimados antes da criação do índice, para decidir por criá-lo ou não Índice Temporário - Motivação Processamento da junção A: laço aninhado custo = b + b * b = + * = 0 mil acessos A: merge-junção (n buf = ) custo = ordenação de + ordenação de + b + b = = 2 mil acessos e se houvesse um índice Ix sobre o resultado de? Poderíamos estimar A2: laço aninhado indexado custo = b + n s * (h Ix + ) se Ix tiver h Ix <, A2 será a alternativa de menor custo! Exemplo: h Ix = 2: custo = + 0 * (2+) = mil acessos n =.000 b = 000 π r,..., rn n = b =.000 π s,..., sm σ c 26

27 Índice Temporário - Exemplo Avaliando custo de criação de índice árvore-b sobre o resultado de supondo que o atributo de junção em é chave, deve-se indexar.000 dados supondo que se consegue um máximo de f I = nodos, com N = 0 valores, temos: nível 0 indexa 0 valores nível indexa x0 = 2.0 valores nível 2 indexa xx0 = 0.00 valores (máximo níveis na árvore-b) se f I =, o primeiro nível ( nodo) e o segundo nível ( nodos) da árvore podem ficar em um bloco e os restantes em outros blocos. Logo, teremos no máximo 2 acessos (h I = 2)! Vale a pena criar o índice! custo total de A2 = mil + do índice custo do índice =.000 valores / N = 00 nodos / f I = de 6 blocos de índice (pior caso o índice não cabe na memória) n =.000 b = 000 π r,..., rn n = b =.000 π s,..., sm σ c Materialização X Pipeline Materialização cada operação da álgebra é materializada em uma relação temporária (se necessário) e utilizada como entrada para a próxima operação situação default no processamento de consultas Pipeline uma seqüência de operações algébricas é executada em um único passo cada tupla gerada por uma operação é passada para a operação seguinte cada tupla passa por um canal (pipe) de operações somente o resultado ao final do pipeline é materializado (se necessário) 2

28 Materialização X Pipeline Materialização Definição de Pipelines π s,..., sm π rxs,...,rxsj pipeline 2 π s,..., sm π s,..., sm π r,..., rn σ c c2 π r,..., rn σ c c2 pipeline Pipeline de Operações + : evita a materialização de todos os resultados intermediários no processamento de uma consulta - : resultado não é passado de forma completa para uma próxima operação dentro do pipeline algoritmos de processamento das operações algébricas deve ser modificados para invocar outras operações para cada tupla gerada algoritmos dinâmicos algumas alternativas não podem ser estimadas exemplos: merge-junção; operações de conjunto exigem um resultado completo e ordenado para processar 2

29 Exemplo: um Produto sem Pipeline ) custo σ (pior caso) = acessos (não é preciso resultado) 2) custo π = 0 (tudo em memória) custo resultado = acesso (reserva apenas buffer para os dados que vêm de ) ) custo π = acessos custo resultado = 2 acessos (reserva apenas buffer para os dados que vêm de ) ) custo (pior caso laço aninhado) nπ = 200 bπ = b X = π r,..., rn σ c nσ = 0 bσ = 2 n = 200 b = = (bπ - ) + bπ * bπ = + 2* = acessos custo resultado = b x = acessos π s,..., sm nπ = 0 bπ = 2 n buf = n = 0 b = CUTO TOTAL = = 2 acessos Produto dentro de um Pipeline o produto vai recebendo uma a uma as tuplas filtradas de as tuplas de não são recebidas ordenadas pelo atributo de junção não dá para usar merge-junção custo (pior caso - laço aninhado): = b + nπ * bπ = + 0 * = + = acessos custo π = acessos custo resultado = 2 acessos (reserva apenas buffer para os dados que vêm de ) nπ = 200 bπ = b X = π s,..., sm nπ = 0 bπ = 2 π r,..., rn σ c nσ = 0 bσ = 2 n = 200 b = n = 0 b = n buf = CUTO TOTAL = ++2 = 6 acessos 2

30 Uso mais Comum de Pipelines Em uma seqüência de operações que inicia em um nodo folha ou uma operação binária e termina ou no resultado da consulta ou em uma operação binária ob x, sem incluir ob x pipeline 2 π rxs,...,rxsj π s,..., sm π r,..., rn σ c c2 pipeline Uso mais Comum de Pipelines Em uma seqüência composta apenas por operações π e operações produtórias, a partir de um pipeline nodo folha ou uma operação binária ob x, incluindo ob x considera que o tamanho dos resultados intermediários das operações π são muito grandes para serem materializadas π r,..., rn mesmo assim, avaliar se o custo das operações produtórias não aumenta com o pipeline... π rxs,...,rxsj π s,..., sm σ c c2 0

31 Exercício a) qual alternativa de pipeline para a árvore ao lado possui o menor custo de pior caso? ) π 2) π ) π π r, s2 nπ x = 00 bπ x = nx = 00 b X = 2 n buf = π σ π σ π σ b) se bπ =, a resposta do item anterior é diferente? π σ π σ π σ nπ = 0 bπ = 2 σ c2 nσ = 0 bσ = 2 π r,..., rn n = 00 b = nπ = 0 bπ = 2 nσ = 0 bσ = π s,..., sm σ c n = 200 b =

Escrita ( W ) do Resultado

Escrita ( W ) do Resultado Escrita ( W ) do esultado Qualquer alternativa de processamento deve considerar este custo b res = número de blocos de resultado a ser W Exemplo: estimativa de W do resultado de um produto b res = tamanhoproduto

Leia mais

Processamento de Produtos ( X )

Processamento de Produtos ( X ) Processamento de Produtos ( X ) Alternativas e suas estimativas de custo A: laço aninhado ( nested-loop ) A: laço aninhado com índice ( indexed nestedloop ) A: merge-junção ( balanced-line ou sortmerge

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

3 Plano de Execução de Consultas

3 Plano de Execução de Consultas Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Processamento e Otimização de Consultas

Processamento e Otimização de Consultas Introdução Processamento e Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM 1 Processamento

Leia mais

Sumário. Definição do Plano de Execução

Sumário. Definição do Plano de Execução Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos de

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Prof. Daniela Barreiro Claro SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem efetivamente executadas Uma consulta possui muitas estratégias

Leia mais

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento e Indexação Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento Banco de Dados são armazenados fisicamente como arquivos de registro, que em geral ficam em discos

Leia mais

Banco de Dados. Otimização de consultas. Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai. Última atualização: 15 de maio de 2006

Banco de Dados. Otimização de consultas. Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai. Última atualização: 15 de maio de 2006 Banco de Dados Otimização de consultas Última atualização: 15 de maio de 2006 Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai Introdução Consulta em linguagem de alto nível Análise e validação Forma

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 Coleção de operações usadas para manipular relações Grupos de operações Operações relacionais Seleção; projeção; junção Operações de conjunto

Leia mais

Arquitetura de Computadores. Sistemas Operacionais IV

Arquitetura de Computadores. Sistemas Operacionais IV Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Arquivos de registros Abstração do SGBD Pode ser criado, destruido e ter registros incluidos e excluidos nele Tb suporta a varredura Uma relacao geralmente é armazenada como um arquivo de registros Camada

Leia mais

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli Banco de Dados I 2007 Módulo V: Indexação em Banco de Dados (Aulas 1, 2 e 3) Clodis Boscarioli Agenda: Estruturas de Índices; Conceitos; Tipos de Índices: Primários; Secundários; Clustering; Multiníveis;

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

AULA 6 - Operações Espaciais

AULA 6 - Operações Espaciais 6.1 AULA 6 - Operações Espaciais Essa aula descreve as operações espaciais disponíveis no TerraView. Antes de iniciar sua descrição é necessário importar alguns dados que serão usados nos exemplos. Exercício:

Leia mais

Métodos de Pesquisa em Memória Primária

Métodos de Pesquisa em Memória Primária Algoritmos e Estrutura de Dados II Métodos de Pesquisa em Memória Primária Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Pesquisa Por pesquisa (procura ou busca) entende-se o ato

Leia mais

Aula 03 Limite assintótico para a ordenação, Ordenação em tempo linear

Aula 03 Limite assintótico para a ordenação, Ordenação em tempo linear MC3305 Algoritmos e Estruturas de Dados II Aula 03 Limite assintótico para a ordenação, Ordenação em tempo linear Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 2 Ordenação Ordenar corresponde

Leia mais

Algoritmos para Processamento e Otimização de Consultas. Adriano Douglas Girardello Ana Paula Fredrich Tiago Alexandre Schulz Sippert

Algoritmos para Processamento e Otimização de Consultas. Adriano Douglas Girardello Ana Paula Fredrich Tiago Alexandre Schulz Sippert UNIOESTE Universidade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática Curso de Bacharelado em Informática Algoritmos para Processamento e Otimização de Consultas

Leia mais

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO Geração de código Ivan Ricarte 2008 Sumário Geração de código intermediário Código de três endereços Notação pós-fixa Otimização de código Heurísticas de otimização Geração de código em linguagem simbólica

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Processamento de Consultas Ambiente com SGBD Distribuído Processamento

Leia mais

Unidade 5 Armazenamento e Indexação

Unidade 5 Armazenamento e Indexação Unidade 5 Armazenamento e Indexação Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José

Leia mais

Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II

Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II Pesquisa em Memória Primária Algoritmos e Estruturas de Dados II Pesquisa em Memória Primária Pesquisa: Recuperação de informação em um grande volume de dados Informação é dividida em registros e cada

Leia mais

Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º

Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º Pesquisa Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) Ficheiro (ou tabela) Campos Nome Endereço Telefone Antunes, João A. R. P. António Viera, 23 720456

Leia mais

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 4) Árvores balanceadas AVL, Rubro-Negras, B-Trees Operações em árvores binárias de busca

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção Sistemas de Arquivos Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais Necessidade de Armazenamento Grandes quantidades

Leia mais

Pesquisa em Memória Primária. Prof. Jonas Potros

Pesquisa em Memória Primária. Prof. Jonas Potros Pesquisa em Memória Primária Prof. Jonas Potros Pesquisa em Memoria Primária Estudo de como recuperar informação a partir de uma grande massa de informação previamente armazenada. A informação é dividida

Leia mais

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php)

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Clínica Todos os exemplos apresentados utilizam o SGBD Postgre - open source Documentação: http://www.postgresql.org/docs (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Ambulatorios(numero, andar,

Leia mais

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

BANCO DE DADOS aula 6 álgebra relacional -

BANCO DE DADOS aula 6 álgebra relacional - INSTITUTO DE EXATAS E TECNOLÓGICAS Curso de Ciência da Computação BANCO DE DADOS aula 6 álgebra relacional - professor: Juliano Varella de Carvalho 5.1. Álgebra Relacional relações de exemplo conta agencia

Leia mais

Algoritmos de Busca em Tabelas

Algoritmos de Busca em Tabelas Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas estão entre os mais usados. Considere por exemplo um sistema de banco de dados. As operações de busca e recuperação dos dados

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerenciamento de Memória Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos Sementille, Paula Prata e nas transparências

Leia mais

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação 36 5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS 5.1 - Os Programas de Avaliação Programas de avaliação convencionais foram utilizados para análise de diversas configurações da arquitetura. Estes programas

Leia mais

Modelo Relacional - Manipulação

Modelo Relacional - Manipulação Modelo Relacional - Manipulação Duas categorias de linguagens formais álgebra relacional e cálculo relacional comerciais (baseadas nas linguagens formais) SQL Linguagens formais - Características orientadas

Leia mais

Pesquisa e organização de informação

Pesquisa e organização de informação Pesquisa e organização de informação Capítulo 3 A capacidade e a variedade de dispositivos de armazenamento que qualquer computador atual possui, tornam a pesquisa de informação um desafio cada vez maior

Leia mais

Árvores Binárias Balanceadas

Árvores Binárias Balanceadas Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos os links vazios

Leia mais

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Sistema de Arquivos Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Gerência de Arquivos É um dos serviços mais visíveis do SO. Arquivos são normalmente

Leia mais

1- Identifique para cada questão abaixo, se o enunciado se refere a View, Stored Procedures, Trigger ou Function. Apenas um por questão.

1- Identifique para cada questão abaixo, se o enunciado se refere a View, Stored Procedures, Trigger ou Function. Apenas um por questão. 1- Identifique para cada questão abaixo, se o enunciado se refere a View, Stored Procedures, Trigger ou Function. Apenas um por questão. a- Representam tabelas virtuais não armazenadas, compostas de campos

Leia mais

AULA 5 Sistemas Operacionais

AULA 5 Sistemas Operacionais AULA 5 Sistemas Operacionais Disciplina: Introdução à Informática Professora: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Sistemas Operacionais Conteúdo: Partições Formatação Fragmentação Gerenciamento

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

Leia mais

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II Armazenamento Secundário SCE-183 Algoritmos e Estruturas de Dados II 1 Armazenamento secundário Primeiro tipo de armazenamento secundário: papel! Cartões perfurados HDs, CD-ROM, floppy disks, memórias

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SISTEMAS DE ARQUIVOS MACHADO/MAIA: CAPÍTULO 11 Prof. Pedro Luís Antonelli Anhanguera Educacional SISTEMAS DE ARQUIVOS - INTRODUÇÃO O armazenamento e a recuperação de informações é

Leia mais

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função Análise por pontos de função Análise por Pontos de Função Referência: Manual de práticas de contagem IFPUG Versão 4.2.1 Técnica que permite medir a funcionalidade de um software ou aplicativo, sob a visão

Leia mais

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo TUTORIAL DO ACCESS PASSO A PASSO I. Criar um Novo Banco de Dados Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo 3. Clicar em Banco de Dados em Branco 4. Escrever um nome na caixa de diálogo

Leia mais

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 11 Conceitos de Orientação a Objetos Objetivos do Capítulo Introduzir os conceitos fundamentais da Programação Orientada a Objetos. Apresentar o significado dos objetos e das classes no contexto

Leia mais

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: 1 -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli Banco de Dados I 2007 Módulo V: Indexação em Banco de Dados (Aulas 4) Clodis Boscarioli Agenda: Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; Dicas Práticas. Índice em SQL Sintaxe:

Leia mais

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr. dcfoltran@yahoo.com

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr. dcfoltran@yahoo.com Sistemas Operacionais 3º bimestre Dierone C.Foltran Jr. dcfoltran@yahoo.com Sistema de Arquivos (1) Todas as aplicações precisam armazenar e recuperar informações. Considerações sobre os processos: Espaço

Leia mais

Agendamento para Importação de Notas Fiscais

Agendamento para Importação de Notas Fiscais LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA VERSÃO 2 (Orientamos aos clientes que utilizam banco de dados SQL, para efetuarem a atualização preferencialmente após o encerramento das atividades do dia, acessando

Leia mais

Junções e Índices em Tabelas

Junções e Índices em Tabelas Junções e Índices em Tabelas Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SGBD Considerados MySQL (http://www.mysql.org) SGBD gratuito e simples, sem muitos recursos avançados Fácil de instalar

Leia mais

BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento 1 Gerência de espaço em disco Cópia de segurança do sistema de arquivo Roteiro Confiabilidade Desempenho

Leia mais

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

28/9/2010. Paralelismo no nível de instruções Processadores superescalares Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados

Leia mais

Processamento de Consultas

Processamento de Consultas Processamento de Consultas Banco de Dados: Teoria e Prática André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Setembro 2013 Picture by http://www.flickr.com/photos/fdecomite/1457493536/

Leia mais

Bancos de Dados Paralelos. Alunos: ALLAN ROGER BELLO WILLIAN DIAS TAMAGI

Bancos de Dados Paralelos. Alunos: ALLAN ROGER BELLO WILLIAN DIAS TAMAGI Bancos de Dados Paralelos Alunos: ALLAN ROGER BELLO WILLIAN DIAS TAMAGI INTRODUÇÃO (SGBD) Sistema Gerenciador de Banco de Dados é um software que permite criar, manter e manipular bancos de dados para

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Figura 1 Busca Linear

Figura 1 Busca Linear ----- Evidentemente, possuir os dados não ajuda o programador ou o usuário se eles não souberem onde os dados estão. Imagine, por exemplo, uma festa de casamento com cem convidados na qual não se sabe

Leia mais

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Sistemas Operativos Threads 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Dos Processos para os Threads O conceito de thread foi introduzido na tentativa de

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda

Leia mais

Busca em Memória. Secundária

Busca em Memória. Secundária UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Busca em Memória Secundária e Gomes da Costa yandre@din.uem.br 1 Busca de um item em uma massa de dados que não cabe na memória principal; Procura-se

Leia mais

Pesquisa Sequencial e Binária. Introdução à Programação SI2

Pesquisa Sequencial e Binária. Introdução à Programação SI2 Pesquisa Sequencial e Binária Introdução à Programação SI2 3 Contexto Diferentes estratégias para pesquisa (busca) de um elemento específico em um conjunto de dados. Lista, array, coleção Operação importante,

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno

Leia mais

Sistema de Arquivos EXT3

Sistema de Arquivos EXT3 Sistema de Arquivos EXT3 Introdução Ext3 é uma nova versão do Ext2. Possui as mesmas estruturas do ext2, além de adicionar as propriedades do Journal. O uso do Ext3 melhora na recuperação do sistema(dados),

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Tópicos Introdução Alocação Contígua

Leia mais

Sistemas de Arquivos NTFS

Sistemas de Arquivos NTFS Sistemas de Arquivos NTFS Apresentação Desenvolvido pela Microsoft na década de 80 para o Windows NT Baseado no HPFS da IBM Versões NTFS 1.1(ou 4) NTFS NTFS 5 Sistema de Arquivos NTFS Unidade fundamental

Leia mais

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir. O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução

Leia mais

Controle do Arquivo Técnico

Controle do Arquivo Técnico Controle do Arquivo Técnico Os documentos existentes de forma física (papel) no escritório devem ser guardados em pastas (normalmente pastas suspensas) localizadas no Arquivo Técnico. Este Arquivo pode

Leia mais

Sistema de Arquivos FAT

Sistema de Arquivos FAT Sistemas Operacionais Sistema de Arquivos FAT Edeyson Andrade Gomes www.edeyson.com.br FAT A FAT é o sistema de arquivos usado pelo MS-DOS e outros sistemas operacionais baseados em Windows para organizar

Leia mais

Faculdade Pitágoras 24/10/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 24/10/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan Unidade 6.1 Álgebra Relacional -Conceitos - Seleção - Projeção

Leia mais

Análises Geração RI (representação intermediária) Código Intermediário

Análises Geração RI (representação intermediária) Código Intermediário Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti freddb@ltc.ufes.br SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

Manual de Utilização

Manual de Utilização Manual de Utilização Versão 1.0 18/01/2013 Sempre consulte por atualizações deste manual em nossa página. O Cotação Web está em constante desenvolvimento, podendo ter novas funcionalidades adicionadas

Leia mais

Organização de Arquivos

Organização de Arquivos Classificação e Pesquisa de Dados Aula 2 Organização de s: s Sequenciais e s Sequenciais Indexados UFRGS INF01124 Organização de s Propósito Estudo de técnicas de armazenamento e recuperação de dados em

Leia mais

11/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

11/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade IED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional Prof.: Fernando Hadad Zaidan Unidade Álgebra Relacional 2 Leitura Obrigatória ELMASRI, R.;

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Capítulo 19. Algoritmos de Ordenação e de Pesquisa. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 19. Algoritmos de Ordenação e de Pesquisa. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 19 Algoritmos de Ordenação e de Pesquisa Objetivos do Capítulo Conceituar ordenação e pesquisa. Apresentar os algoritmos de ordenação por troca, por seleção e por inserção. Explorar os algoritmos

Leia mais

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas.

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas. Álgebra Relacional Álgebra Relacional é o conjunto básico de operações para o Modelo Relacional. Essas operações permitem a um usuário especificar as solicitações básicas de recuperação. O resultado de

Leia mais

1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez

1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez Manual Conteúdo 1- Requisitos mínimos... 2 2- Instalando o Acesso Full... 2 3- Iniciando o Acesso Full pela primeira vez... 2 4- Conhecendo a barra de navegação padrão do Acesso Full... 3 5- Cadastrando

Leia mais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e

Leia mais

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração. O software de tarifação é uma solução destinada a rateio de custos de insumos em sistemas prediais, tais como shopping centers. O manual do sistema é dividido em dois volumes: 1) MANUAL DO INTEGRADOR Este

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1 UFRJ IM - DCC Sistemas Operacionais I Unidade IV Sistema de arquivos Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1 ORGANIZAÇÃO DA UNIDADE Sistema de Arquivos Gerenciamento de E/S

Leia mais

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul QUESTÃO: 29 Além da alternativa a estar correta a alternativa e também pode ser compreendida como correta. Segundo a definição de diversos autores, a gerência de falhas, detecta, isola, notifica e corrige

Leia mais

Sistemas Operacionais Arquivos. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Sistemas Operacionais Arquivos. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Sistemas Operacionais Arquivos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Cin/UFPE Implementação do Sistema de Arquivos Sistemas de arquivos são

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos Pilhas de Dispositivos Drivers no Windows Vista podem fazer todo trabalho sozinho; Uma requisição pode passar por uma seqüência

Leia mais

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho. Computação Paralela Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Desenvolvimento de Aplicações Paralelas Uma Metodologia

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

Introdução às Bases de Dados

Introdução às Bases de Dados Introdução às Bases de Dados Chave primária Domínios Relação F# F Nome Estado Cidade F1 José 20 Braga F2 João 10 Faro F3 Luís 30 Lisboa F4 Rui 30 Setúbal Atributos Tuplas Introdução às Bases de Dados Modelo

Leia mais

Aula 03 Custos de um algoritmo e funções de complexidade

Aula 03 Custos de um algoritmo e funções de complexidade BC1424 Algoritmos e Estruturas de Dados I Aula 03 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2015 1 Custo de um algoritmo e funções de complexidade

Leia mais

Busca. Pesquisa sequencial

Busca. Pesquisa sequencial Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais