Armazenamento e Indexação 5

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

Download "Armazenamento e Indexação 5"

Transcrição

1 Armazenamento e Indexação 5 Nestes casos, podem evitar-se operações dispendiosas de ordenação de registos, pelo que pode valer a pena criar índices nas colunas da cláusula WHERE com determinadas ordenações. Como as folhas da B+-tree estão ligadas entre si, é sempre possível ler as chaves em qualquer ordem (ascendente ou descendente) Hashing 15 Uma função de hashing opera um mapeamento entre um grande conjunto de entrada e um conjunto finito de saída. As funções de hashing são extensivamente usadas em várias áreas da informática. No contexto da indexação, a função de hashing mapeia uma chave K para um de n blocos, que são tipicamente as páginas no disco. Assim, várias chaves são mapeadas para o mesmo bloco, originando uma colisão, e uma das propriedades mais desejáveis de uma função de hashing é o mapeamento uniforme dos valores da chave por todos os n blocos. Se um bloco for uma página do disco que contém os registos indexados, como vimos, na prática, este tipo de funções permite um acesso direto aos dados a partir da chave. Este princípio é mostrado na Figura k h(k) 0 n-1 blocos Figura 5.21 Função de hashing Na prática, o valor h(k) é uma entrada do índice que contém a localização do registo ou registos com a chave K. Se a tabela estiver organizada segundo a função de hashing, utilizando a organização de ficheiros que vimos anteriormente, o acesso pode ser direto. Uma função de hashing deve distribuir uniformemente os registos por todos os blocos, e essa distribuição deve ser aleatória, isto é, deve ser independente da distribuição das chaves, resultando no mesmo número de chaves por bloco. Deste modo, uma função de hashing trabalha sobre valores numéricos, pelo que se o valor a indexar for alfanumérico, pode ser transformado primeiro num valor numérico, usando, por exemplo, o código UTF-8 dos caracteres. Assim, a função será aplicada sobre este valor numérico. Os índices que usam funções de hashing apresentam as seguintes limitações: Como não existe nenhuma relação de ordem entre h(k), não é possível percorrer de forma eficiente e ordenada as chaves. Deste modo, os índices que usam hashing não podem ser agrupados, exceto se a organização da tabela estiver também de acordo com a função de hashing; 15 Hashing é, por vezes, designado em português como dispersão. 159

2 FUNDAMENTOS DE BASES DE DADOS Não é possível utilizar funções de hashing para consultas com intervalos de valor, apenas para condições de igualdade. Por outro lado, as funções de hashing são muito eficazes para testes de igualdade, pelo que são também bastante usadas no processamento de equijunções. Por exemplo, se a distribuição de chaves for uniforme, uma função de hashing simples e com um comportamento aceitável usa o resto da divisão por n; sendo dado um valor da chave, o bloco em que este se encontra é dado pelo resto da divisão por n. Outra função de hashing divide a chave em várias partes e calcula o ou exclusivo de todas as partes. Se a distribuição de chaves não for uniforme, alguns blocos terão tendência a ficar preenchidos mais rapidamente do que outros e poderemos ter uma situação em que não podem aceitar mais chaves. É também possível que o número de chaves ultrapasse a capacidade total dos n blocos. Nesse caso, devem utilizar-se blocos adicionais, ligados ao bloco que ficou preenchido, mas já não é possível continuar a aceder aos dados num único acesso. Se os blocos adicionais ficarem totalmente preenchidos, é necessário ligar-lhes mais blocos adicionais, com o consequente aumento do número de acessos, o que traz rapidamente problemas de desempenho. Uma solução consistiria em juntar mais blocos principais, mudar a função de hashing para prever o novo número de blocos e reindexar todas as chaves contudo, na prática, esta solução seria custosa e não é exequível. Esta técnica de hashing hashing estático apresenta os seguintes inconvenientes para a sua utilização em indexação: O número n de blocos deve ser, à partida, corretamente dimensionado, caso contrário, é necessário recorrer à utilização de blocos adicionais ligados aos preenchidos; Se o número inicial de blocos for aumentado, tem de se alterar a função de hashing e, consequentemente, reindexar todas as chaves. Para evitar a utilização de blocos adicionais devidos ao preenchimento de alguns blocos, ou seja, para adaptar o número de blocos às características da base de dados ao longo do tempo, foram propostas as seguintes técnicas de hashing dinâmico: Hashing extensível; Hashing linear. Vamos ver a seguir estas duas técnicas Hashing extensível O hashing extensível foi proposto por Fagin et al. (1979). Esta técnica aumenta o número de blocos disponíveis em caso de preenchimento, em vez de utilizar blocos ligados, e evita a reindexação de todas as chaves. Desta forma, continua a manter-se uma única leitura para acesso aos dados, sem o inconveniente de reorganizar as chaves existentes. Esta técnica usa os seguintes princípios: A função h(k) tem b bit dos quais apenas os i menos significativos são utilizados; 160

3 Armazenamento e Indexação 5 Um diretório com 2 i apontadores permite o acesso aos registos no disco. O diretório tem um nível global, que é o número i de bit usado para endereçar as chaves. Cada bloco tem um nível local j, que é o número de bit usado para colocar as chaves nesse bloco. Quando um bloco fica preenchido como resultado da inserção de um novo registo com chave K, podem ocorrer duas situações: O nível local j do bloco é inferior ao nível global do diretório. Nesse caso, divide-se o bloco usando os j +1 bit e repartindo os registos entre os dois blocos. O nível local dos dois blocos passa a ser j +1; O nível local j do bloco é igual ao nível global i do diretório. Nesse caso, incrementa-se i duplicando o número de entradas no diretório e substituindo cada entrada por duas que apontam para o mesmo bloco. Calcula-se o novo valor da chave K e, como i é agora superior ao j do bloco, procede-se como na situação anterior. O tamanho do diretório permite que a sua duplicação seja uma operação rápida e não penalize o desempenho. Vamos considerar que a função de hashing usa apenas o bit menos significativo (i = 1). A Figura 5.22 mostra um exemplo com três registos mapeados em dois blocos. k h(k) i = diretório Figura 5.22 Hashing extensível blocos j = 1 j = 1 O diretório usa apenas um bit para colocar o hashing da chave nos dois blocos; repare-se que as duas chaves com o bit menos significativo a 1, 101 e 111 são colocadas no mesmo bloco. Vamos supor que a capacidade dos blocos é de 2. A inserção do valor 001 seria feita num bloco preenchido com um nível local igual ao nível global, por isso o diretório tem de ser duplicado, como mostrado na Figura k h(k) i = j = 1 j = 2 10 blocos j = 2 diretório Figura 5.23 Duplicação do diretório novo bloco Repare-se que como usamos os bits menos significativos, duplicar o diretório consiste apenas em copiá-lo, uma vez que os apontadores mantêm a sua posição. Depois de duplicado, procede-se à inserção do valor no bloco correspondente provocando a sua divisão e a atualização dos apontadores no diretório. Com efeito, o número de blocos não duplica, sendo que tal apenas se verifica no número de entradas no diretório. 161

4 FUNDAMENTOS DE BASES DE DADOS Caso uma entrada seja removida, pode remover-se o bloco correspondente se este ficar vazio. Senão, e se a sua ocupação for mínima, pode tentar-se uni-lo com outro bloco que tenha o mesmo nível local e os mesmos bits menos significativos. Regra geral, não compensa reduzir o tamanho do diretório, exceto se o número de chaves diminuir significativamente. Quando o número total de bits for usado, não é possível duplicar mais o diretório. Neste caso, recorre-se a blocos ligados, o que também pode acontecer se se tiver imposto um limite nas duplicações do diretório. Se a função de hashing produzir um enviesamento na distribuição das chaves, podemos ter um número reduzido de blocos a ser constantemente dividido e a atingir rapidamente o limite de duplicações do diretório. Neste caso, o interesse do hashing extensível é reduzido. Para ultrapassar estes inconvenientes, foi proposto o hashing linear, que veremos a seguir Hashing linear As técnicas de hashing linear (Litwin, 1980) usam uma família de funções h i, em que cada uma mapeia as chaves para o dobro dos blocos da anterior este efeito é semelhante à duplicação do diretório no hashing extensível. Se h 1 gere n blocos, h 2 gere 2 n blocos e assim por diante. Regra geral, h i gere 2 i n blocos, numerados de 0 a 2 i n 1. Um exemplo de uma família de funções com estas características usa o resto da divisão por 2 i n, sendo i = 0, 1, 2, e n o número inicial de blocos. Vamos considerar que inicialmente i = 0 e seguinte = 0. O critério de divisão de blocos pode ser ultrapassar uma percentagem máxima de preenchimento, de um número máximo de blocos ligados ao preenchido, ou qualquer outro critério que se queira definir. Deste modo, o critério de divisão é flexível e permite, se necessário, minorar os efeitos de reorganização do índice. Se a inserção de uma nova entrada preencher o critério de divisão de blocos, procede-se da seguinte forma: 1. Divide-se o bloco da posição seguinte, mesmo que não seja o bloco que preencheu o critério de divisão, e cria-se um novo bloco na posição 2 i n + seguinte. 2. Redistribuem-se as entradas do bloco seguinte, usando h i + 1 ; algumas entradas permanecerão, outras serão deslocadas para o novo bloco. 3. Incrementa-se seguinte de uma unidade. Assim, todos os blocos inferiores a seguinte foram reindexados. Por seu lado, a pesquisa de chaves deve testar primeiro se o bloco resultante já foi reindexado: Se h i (k) < seguinte, o bloco já foi dividido, deve reindexar a chave com h i+1 (k); Se h i (k) seguinte, o bloco ainda não foi dividido, pode ser utilizado. 162

5 Armazenamento e Indexação 5 Repare-se que se pode atingir o limite seguinte > 2 i n 1. Neste caso, todas as chaves já foram reindexadas com a função do nível seguinte h i+1. Assim, incrementa-se o nível i e coloca-se seguinte a 0, recomeçando então a partir do primeiro bloco. Em qualquer instante, a estrutura de hashing linear tem a separação de blocos para um determinado nível i apresentada na Figura blocos divididos (h i+1 ) seguinte h i blocos não divididos (h i ) h i+1 2 i n 1 blocos divididos (h i+1 ) Figura 5.24 Hashing linear Note-se que o nível seguinte permite utilizar até ao dobro dos blocos, mas isto só é feito de forma linear, um bloco de cada vez, e quando necessário, isto é, quando há divisões. Desta forma, o hashing linear pode utilizar menos memória do que o hashing extensível. Como a divisão de blocos é sempre sequencial, na posição seguinte, todos os blocos poderão eventualmente ser divididos, o que também evita longas listas de blocos ligados. Com efeito, no hashing extensível, poderia haver concentração de divisões num número reduzido de blocos, devido ao enviesamento das chaves ou da função de hashing. 5.7 Índices Mapa de Bits Um índice mapa de bits (O Neil e Quass, 1997) usa um mapa 16 de bits, em que cada bit corresponde a um valor possível do atributo indexado. Para um determinado tuplo e atributo indexado, o bit k é 1 se o k-ésimo valor estiver no atributo desse tuplo, caso contrário é 0. O mapa de bits permite uma representação compacta dos valores presentes no atributo, e é tanto mais eficaz quanto menos valores únicos existirem para esse atributo. Este tipo de índices permite também a representação de valores nulos, o que não acontece com os índices arborescentes. 16 Concetualmente é um vetor. Este tipo de índices foi inicialmente proposto no protótipo de armazém de dados Model 204, nos anos 70 (O Neil, 1987). 163

6 FUNDAMENTOS DE BASES DE DADOS Exemplo 5.1 Um exemplo de um mapa de bits é mostrado na Tabela 5.2. Existindo quatro valores distintos para um dado atributo (A, B, C, D), o mapa usa 4 bits para marcar a presença de cada um. Tabela 5.2 Exemplo de mapa de bits registo atributo b 1 b 2 b 3 b 4 r 1 A r 2 B r 3 A r 4 D Para responder a uma consulta >= B, bastaria aplicar um operador binário OU à parte do mapa que codifica valores maiores ou iguais a B: (b 2 OU b 3 OU b 4 ). Como as operações binárias são muito rápidas, testar a restrição é geralmente muito rápido, o que faz com que este tipo de índices seja atrativo nestes casos. O índice pode ser usado também na horizontal, permitindo conhecer o valor do atributo de qualquer um dos registos. Se o número de valores distintos for muito grande, o mapa também será, pelo que se desenvolveram técnicas de compressão de valores (O Neil et al., 2007) e de utilização de intervalos de valores para reduzir o número de mapas (Wu e Yu, 1998). Atualmente só o Oracle, o MySQL e o Sybase IQ permitem índices com mapas de bits; outros SGBD usam-nos internamente, por exemplo, para acelerar junções devido à sua rapidez, mas não os permitem como índices definidos pelo utilizador. Estes índices implicam geralmente um acesso aos tuplos no disco, enquanto uma B-tree pode permitir acessos apenas ao índice. Regra geral, um mapa de bits é vantajoso se: A tabela a indexar contiver linhas na ordem das dezenas de milhão; Na prática, o número elevado de condições de consulta impedir a definição de todos os índices B-tree que seriam necessários. Estas características tornam este tipo de índices essencialmente atrativos para aplicações analíticas de suporte à decisão, com consultas muito variadas e grandes quantidades de tuplos situações em que a utilização de diversos índices B+-tree muito grandes seria ineficaz. 5.8 Generalized Search Tree (GiST) Hellerstein, Naughton e Pfeffer (1995) propuseram uma estrutura arborescente genérica e equilibrada que pode ser parametrizada para implementar qualquer tipo de pesquisa adequado ao tipo de dados a indexar. Essa estrutura, Generalized Search Tree (GiST), permite acrescentar, por exemplo, pesquisas multidimensionais sobre dados espaciais, mesmo que o SGBD não disponha desta funcionalidade. A estrutura GiST permite também definir os três métodos fundamentais de um índice: pesquisar, inserir e remover. Adicionalmente, 164

7 FUNDAMENTOS DE BASES DE DADOS nes a dependências entre colunas. Por serem a técnica mais utilizada pelos SGBD, vamos detalhá-los na secção Histogramas Na prática, nem os valores dos atributos estão uniformemente distribuídos, nem os atributos são geralmente independentes entre si, embora estas hipóteses permitam calcular de forma simples a seletividade dos operadores relacionais. Guardar a distribuição completa dos valores de um atributo consumiria muitos recursos e poderia nem sempre trazer ganhos correspondentes a esse esforço, pelo que os SGBD adotaram estruturas mais simples e mas eficazes de guardar a distribuição de valores dos atributos: os histogramas. A primeira proposta de utilização de histogramas para otimização de consultas foi feita por Kooi (1980). Um histograma é uma representação com perdas de uma relação. Um histograma de um atributo de uma dada relação utiliza uma regra para definir B blocos disjuntos onde guardar a distribuição desse atributo. Uma representação sem perdas registaria a frequência f i para cada valor v i e teria um tamanho de VD R (A): {v 1, f 1 }{v 2, f 2 } {v n, f n } Dependendo do tamanho de VD R (A), pode não ser praticável manter uma estrutura com esta distribuição completa. Um histograma não regista todos os valores individualmente, mas sim grupos de valores reunidos em blocos segundo um determinado critério, como mostrado na secção Se o número de blocos for igual ao número de valores, diz-se que o histograma é completo. De uma forma geral, o número de blocos (ou seja, a sua largura) define o compromisso entre a ocupação de espaço no catálogo para guardar o histograma e a precisão pretendida. A dispersão de um valor é definida como d i = v i+1 v i, d 0 = v 1 e d n = 1, 1 i n. A área de um valor é definida como a i = f i d i. Como não se guardam os valores individuais dentro dos blocos, tem de se definir de que forma estes poderão ser estimados quando necessário, para o que se adotam geralmente três premissas: Premissa de valores contíguos: Assume-se que todos os valores entre os limites do bloco estão presentes; Premissa de dispersão uniforme: Guarda-se o número de valores e assume-se que estão igualmente espaçados dentro do bloco; Premissa de valor pontual: Assume-se que cada bloco só tem um valor, geralmente o valor mais pequeno dentro do bloco. A primeira premissa é a mais simples de utilizar, mas introduz erros maiores em distribuições não uniformes. A segunda premissa é geralmente a utilizada. Quanto à frequência, 250

8 Otimização de Consultas 7 assume-se que todos os valores de um bloco têm a frequência média do mesmo, sendo que esta é guardada juntamente com o bloco Tipos de histogramas mais comuns Os histogramas podem ser classificados segundo a forma como organizam os blocos. As formas mais comuns de organização são: Equilargo: O número de valores em cada bloco (a largura de cada intervalo representado no bloco) é aproximadamente o mesmo; este histograma é também conhecido por histograma de frequência. Em cada bloco, considera-se que cada valor tem a frequência média desse bloco; Equiprofundo: O número de tuplos em cada bloco é aproximadamente o mesmo e a largura dos blocos é variável. A frequência de cada valor é calculada dividindo a frequência total da população do bloco pelo número de valores. Considere-se a distribuição de valores de um dado atributo A, numérico, apresentada na Tabela 7.3: Tabela 7.3 Distribuição de valores de um atributo numérico Os histogramas unidimensionais (isto é, que representam apenas um atributo), mais comuns são construídos nas secções seguintes Histograma equilargo A Figura 7.5 mostra um exemplo de um histograma equilargo para a distribuição da Tabela Figura 7.5 Histograma equilargo Um histograma consiste em B blocos que são intervalos de valores disjuntos. A largura de cada um dos B blocos é dada por (max R (A) min R (A))/B. O histograma da Figura 7.5 está organizado em B = 4 blocos, cada um compreendendo 5 valores. Para cada bloco, mostra-se a contagem dos valores: 20 para o bloco 1,40 para o bloco 2,60 para o bloco 3 e 16 para o bloco 4. A representação do histograma é compacta: cada bloco tem associada uma contagem e, opcionalmente, porque se calculam com facilidade os limites inferior e superior dos valores que contém. Assim, o bloco 1 compreende os valores entre 1 e 5, o bloco 2 entre 6 e 10, e assim por diante. Dentro de cada bloco, assume-se 251

9 FUNDAMENTOS DE BASES DE DADOS uma separação uniforme de valores entre os dois limites basta conhecer o número de valores dentro do bloco, pois assume-se que estão igualmente espaçados. Repare-se que se o histograma só tiver um bloco 5, reduz-se o cálculo da seletividade aos exemplos vistos anteriormente. A construção deste tipo de histogramas é facilitada, se se conhecer os valores mínimo e máximo do atributo. Se a relação for muito grande, pode contar-se os valores numa amostra aleatória e extrapolar para a relação. Na prática, os SGBD escolhem páginas no disco e consideram-nas a amostra, o que torna o processo de recolha mais simples e rápido (dezenas ou centenas de tuplos podem estar na mesma página). No entanto, dependendo da organização da relação no disco, esta forma de amostragem pode ser enviesada (por exemplo, se a relação estiver agrupada) e distorcer a construção do histograma. Alguns SGBD escolhem amostragem por tuplos ou por blocos, dependendo de análise estatística sobre alguns dados da relação. Chaudhuri, Das e Srivastava (2004) propõem algoritmos de amostragem por blocos, e utilizam-nos para a estimação de valores distintos. A manutenção deste tipo de histogramas é simples e consiste em modificar as contagens dos blocos para cada modificação dos valores na relação. Exemplo 7.5 A fim de utilizar o histograma para uma seleção do tipo A = 6, usa-se a contagem do bloco 2, com valores entre 6 e 10. O número de tuplos é calculado, assumindo uma distribuição uniforme de valores dentro do bloco, como sendo 40/5 = 8 (a contagem real é 13). Para uma seleção do tipo A > 7 A < 18, temos de considerar parcialmente os blocos 2 (a 3/5) e 4 (a 2/5), e o bloco 3 na totalidade: 40 3/ / tuplos (a contagem real é 80). Se tivéssemos usado o modelo simplificado, o número de tuplos para A = 6 seria 136/20 7. Para A > 7 A < 18, teríamos 136 (18 7)/20 75 tuplos Histograma equiprofundo Piatetsky-Shapiro e Connel (1984) propuseram a utilização de um histograma alternativo ao apresentado, o histograma equiprofundo (ou equifrequência). Este tipo de histograma guarda um número aproximado (se possível igual), de tuplos em cada bloco, como mostrado na Figura Figura 7.6 Histograma equiprofundo A profundidade (ou altura) de cada bloco é dada por R /B. Para construir o histograma ordena-se o atributo A e, começando pelo valor mais baixo, atribui-se a cada bloco aproximadamente o mesmo número de tuplos, neste caso 136/4 = 34. O bloco 1 tem os limites (1, 7), o bloco 2 (7, 11), o bloco 3 (11, 13) e o bloco 4 (13, 20). Repare-se que o mesmo 5 Diz-se que é um histograma trivial. 252

10 Otimização de Consultas 7 valor pode atravessar mais do que um bloco. Os SGBD reconhecem um valor como sendo popular, se este aparecer em mais do que um limite superior de um bloco. Esta técnica é, no entanto, falível e muito dependente do número de blocos escolhido na Figura 7.6 nenhum limite superior aparece repetido, embora o 7, o 11 e o 13 sejam valores frequentes. Dentro de cada bloco, assume-se que a frequência de cada valor é uniforme, correspondendo à média das frequências dos valores dentro do bloco. A obrigatoriedade de ordenação da relação implica geralmente custos elevados para a construção do histograma, pelo que se pode utilizar, se necessário, uma amostra, com as precauções já referidas no caso anterior. Note-se que a maioria dos SGBD utiliza amostras para construir histogramas. A manutenção deste tipo de histogramas pode implicar fusão e divisão de blocos para manter, face a modificações na relação, um número de tuplos por bloco o mais equilibrado possível. Exemplo 7.6 A fim de utilizar o histograma para uma seleção do tipo A = 6, usa-se a contagem do bloco 1, com valores entre 1 e 7. A contagem estimada é 34/7 5 (a contagem real é 13). Para uma seleção do tipo A > 7 A < 18, temos de considerar parcialmente o bloco 4 (a 4/7) e os blocos 2 e 3 na totalidade: /7 87 (a contagem real é 80). Os histogramas equiprofundos adaptam-se a enviesamentos na distribuição dos valores, permitindo que os blocos tenham larguras diferentes. Nestas situações, os histogramas equilargos podem introduzir erros substanciais nas estimativas Taxonomia de histogramas Poosala et al. (1996) propuseram que os histogramas se pudessem classificar segundo os seguintes parâmetros: Parâmetro de ordenação: Os autores propuseram que este parâmetro seja o valor do atributo, a sua frequência ou a área, produzindo valores contínuos, sem sobreposição entre blocos; Parâmetro de partição: Especifica as restrições no número de elementos de cada bloco. As classes de partição mais comuns são série, que não coloca nenhuma restrição ao número de elementos, e end-biased, que requer que todos os blocos menos um tenham apenas um valor. Estas classes diferem na quantidade de memória utilizada (maior para a classe série ) e na precisão (maior para a classe end-biased ); Parâmetro-fonte: Trata-se da propriedade de distribuição dos dados que é mais relevante para a estimação e que é usada juntamente com o parâmetro seguinte para decidir a partição dos dados. Os parâmetros mais úteis são a dispersão, a frequência e a área; 253

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

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis. 3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades

Leia mais

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos de pesquisa. Tabelas de dispersão/hash Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor (array). Se o vetor não está ordenado, a pesquisa requer O(n) de

Leia mais

Utilização do SOLVER do EXCEL

Utilização do SOLVER do EXCEL Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Ficheiros binários 1. Ficheiros binários

Ficheiros binários 1. Ficheiros binários Ficheiros binários 1 Ficheiros binários 1. Considere que dispõe de ficheiros binários cujo conteúdo é constituído por uma ou mais estruturas como a indicada a seguir struct registo { int ref; float var;

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Sistema de Arquivos - II Prof. Galvez Implementação de Arquivos Arquivos são implementados através da criação, para cada arquivo no sistema, de uma estrutura de dados

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

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

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

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

PostgreSQL Performance

PostgreSQL Performance PostgreSQL Performance André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) PostgreSQL Performance February 24, 2012 1 / 45 Sumário 1 Armazenamento 2 Índices

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

3. Características amostrais. Medidas de localização e dispersão

3. Características amostrais. Medidas de localização e dispersão Estatística Descritiva com Excel Complementos. 77 3. Características amostrais. Medidas de localização e dispersão 3.1- Introdução No módulo de Estatística foram apresentadas as medidas ou estatísticas

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização 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

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco Escola Superior de Tecnologia Instituto Politécnico de Castelo Branco Departamento de Informática Curso de Engenharia Informática Disciplina de Projecto de Sistemas Industriais Ano Lectivo de 2005/2006

Leia mais

Endereçamento IP 09/05/2014. Endereçamento IP CLASSE B CLASSE A CLASSE A CLASSE C

Endereçamento IP 09/05/2014. Endereçamento IP CLASSE B CLASSE A CLASSE A CLASSE C Endereçamento IP Endereçamento IP Prof. Marcel Santos Silva marcel@magres.com.br É uma sequência de números composta de 32 bits. Esse valor consiste num conjunto de quatro grupos de 8 bits. Cada conjunto

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite

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

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures.

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures. Índices* Professora Rosane Minghim * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures. Índice Em geral, um índice fornece mecanismos para localizar

Leia mais

Setores Trilhas. Espaço entre setores Espaço entre trilhas

Setores Trilhas. Espaço entre setores Espaço entre trilhas Memória Externa Disco Magnético O disco magnético é constituído de um prato circular de metal ou plástico, coberto com um material que poder magnetizado. Os dados são gravados e posteriormente lidos do

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

Hashing Letícia Rodrigues Bueno

Hashing Letícia Rodrigues Bueno Hashing Letícia Rodrigues Bueno UFABC hash: Hashing (Tabelas de Dispersão): Introdução hash: Hashing (Tabelas de Dispersão): Introdução Hashing (Tabelas de Dispersão): Introdução hash: 1. fazer picadinho

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

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

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

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

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,

Leia mais

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens Documentação, Informática e Desenvolvimento 1 DOCBASE ASSOCIAÇÔES MULTIMÉDIA 1. Conceitos gerais 2. Estrutura da pasta de associações 3. A área de documentos reservados 4. Associação de Imagens 5. Procedimentos

Leia mais

Hashing. Rafael Nunes LABSCI-UFMG

Hashing. Rafael Nunes LABSCI-UFMG Hashing Rafael Nunes LABSCI-UFMG Sumário Mapeamento Hashing Porque utilizar? Colisões Encadeamento Separado Endereçamento Aberto Linear Probing Double Hashing Remoção Expansão Quando não usar! Mapeamento

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

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

Á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

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

Curso Superior em Tecnologia de Análise e Desenvolvimento de Sistemas. Campus Alegrete. Banco de Dados I. Cristhiano Bossardi de Vasconcellos.

Curso Superior em Tecnologia de Análise e Desenvolvimento de Sistemas. Campus Alegrete. Banco de Dados I. Cristhiano Bossardi de Vasconcellos. Curso Superior em Tecnologia de Análise e Desenvolvimento de Sistemas Campus Alegrete Banco de Dados I Cristhiano Bossardi de Vasconcellos Parte 8 TRANSFORMAÇÃO ENTRE MODELOS A abordagem ER é voltada à

Leia mais

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Professor Rene - UNIP 1 Roteamento Dinâmico Perspectiva e histórico Os protocolos de roteamento dinâmico são usados

Leia mais

Microsoft Access XP Módulo Um

Microsoft Access XP Módulo Um Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação

Leia mais

Memória Cache. Prof. Leonardo Barreto Campos 1

Memória Cache. Prof. Leonardo Barreto Campos 1 Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.

Leia mais

Tabela de símbolos: tabelas de espalhamento

Tabela de símbolos: tabelas de espalhamento Tabela de símbolos: tabelas de espalhamento Marcelo K. Albertini 14 de Janeiro de 2014 2/28 Resumo de complexidades Análises para operação efetuada após N inserções pior caso caso médio keys chave get

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguinte propriedade: Para todo nó da árvore, se seu valor é X, então: Os nós pertencentes

Leia mais

Microsoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento

Microsoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento Microsoft Access 2010 Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento 1 Principais objetos do Access Tabelas Guardam a informação da BD (Base de Dados)

Leia mais

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza Árvores B Hashing Estrutura de Dados II Jairo Francisco de Souza Hashing para arquivos extensíveis Todos os métodos anteriores previam tamanho fixo para alocação das chaves. Existem várias técnicas propostas

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

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

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade Base de dados I O que é? Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade Para que serve? Serve para gerir vastos conjuntos de informação de

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

ESTRUTURAS DE DADOS II

ESTRUTURAS DE DADOS II ESTRUTURAS DE DADOS II Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Conteúdo Programático 1. Introdução

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

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

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,

Leia mais

DICIONÁRIOS. template<class K,class T> class Par { public: K chave; T valor; Par():chave(),valor()

DICIONÁRIOS. template<class K,class T> class Par { public: K chave; T valor; Par():chave(),valor() DICIONÁRIOS Esta estrutura inclui-se nos chamados contentores associativos, que não são mais do que uma colecção de estruturas de tipo Par, com dois membros de dados (chave de pesquisa e valor associado),

Leia mais

Tecnologia de Redes de Computadores - aula 5

Tecnologia de Redes de Computadores - aula 5 Tecnologia de Redes de Computadores - aula 5 Prof. Celso Rabelo Centro Universitário da Cidade 1 Objetivo 2 3 4 IGPxEGP Vetor de Distância Estado de Enlace Objetivo Objetivo Apresentar o conceito de. Conceito

Leia mais

ActivALEA. active e actualize a sua literacia

ActivALEA. active e actualize a sua literacia ActivALEA active e actualize a sua literacia N.º 25 HIISTOGRAMA Por: Maria Eugénia Graça Martins Departamento de Estatística e Investigação Operacional da FCUL memartins@fc.ul.pt Emília Oliveira Escola

Leia mais

APOSTILA DE EXCEL 2007

APOSTILA DE EXCEL 2007 APOSTILA DE EXCEL 2007 1. Introdução Quando você cria uma planilha nova, a tela do computador é dividida em linhas e colunas, formando uma grade. A interseção de uma linha e de uma coluna é chamada de

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

Tabela de roteamento

Tabela de roteamento Existem duas atividades que são básicas a um roteador. São elas: A determinação das melhores rotas Determinar a melhor rota é definir por qual enlace uma determinada mensagem deve ser enviada para chegar

Leia mais

Histogramas. 12 de Fevereiro de 2015

Histogramas. 12 de Fevereiro de 2015 Apêndice B Histogramas Uma situação comum no laboratório e na vida real é a de se ter uma grande quantidade de dados e deles termos que extrair uma série de informações. Encontramos essa situação em pesquisas

Leia mais

Projeto de Máquinas de Estado

Projeto de Máquinas de Estado Projeto de Máquinas de Estado Organizado por Rodrigo Hausen. Original de Thomas L. Floyd. Versão 0: 15 de março de 2013 http://compscinet.org/circuitos Resumo Grande parte deste texto, exemplos e estrutura

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

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2 FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade

Leia mais

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento. Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução

Leia mais

HASHING. Katia Guimarães. katia@cin.ufpe.br 1

HASHING. Katia Guimarães. katia@cin.ufpe.br 1 HASHING Katia Guimarães katia@cin.ufpe.br 1 HASHING Suponha que você pudesse criar um array onde qualquer item pudesse ser localizado através de acesso direto. Isso seria ideal em aplicações do tipo Dicionário,

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

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011 Manual Profissional BackOffice Mapa de Mesas v2011 1 1. Índice 2. Introdução... 2 3. Iniciar ZSRest Backoffice... 3 4. Confirmar desenho de mesas... 4 b) Activar mapa de mesas... 4 c) Zonas... 4 5. Desenhar

Leia mais

Tabelas Hash. Jeane Melo

Tabelas Hash. Jeane Melo Tabelas Hash Jeane Melo Roteiro Introdução Motivação Definição Tabelas Hash Exemplos Funções hash Colisões Introdução Estudamos a utilização de estruturas como listas e árvores para armazenar informações

Leia mais

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = = Energia Potencial Elétrica Física I revisitada 1 Seja um corpo de massa m que se move em linha reta sob ação de uma força F que atua ao longo da linha. O trabalho feito pela força para deslocar o corpo

Leia mais

Árvores B + Prof Márcio Bueno. ed2tarde@marciobueno.com / ed2noite@marciobueno.com. Material da Prof a Ana Eliza Lopes Moura

Árvores B + Prof Márcio Bueno. ed2tarde@marciobueno.com / ed2noite@marciobueno.com. Material da Prof a Ana Eliza Lopes Moura Árvores B + Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material da Prof a Ana Eliza Lopes Moura Árvore B + A árvore B + é uma variação da estrutura básica da árvore B. Características:

Leia mais

Unidade 5: Sistemas de Representação

Unidade 5: Sistemas de Representação Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação

Leia mais

Tarefa Orientada 13 Agrupamento e sumário de dados

Tarefa Orientada 13 Agrupamento e sumário de dados Tarefa Orientada 13 Agrupamento e sumário de dados Objectivos: Funções de agregação Agrupamento e sumário de dados Funções de agregação Nesta tarefa orientada iremos formular consultas que sumariam os

Leia mais

Disciplina: Unidade III: Prof.: E-mail: Período:

Disciplina: Unidade III: Prof.: E-mail: Período: Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado. , ()! $ Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado. Uma estratégia muito utilizada para organizar visualmente informações numéricas

Leia mais

APROG - Civil. Excel. Técnicas de pesquisa de informação em tabelas. Instituto Superior de Engenharia do Porto 2000-2007

APROG - Civil. Excel. Técnicas de pesquisa de informação em tabelas. Instituto Superior de Engenharia do Porto 2000-2007 APROG - Civil Excel Técnicas de pesquisa de informação em tabelas Instituto Superior de Engenharia do Porto 2000-2007 Elaborado por: António Silva (DEI-ISEP) Pesquisa de Informação em Tabelas O Excel

Leia mais

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir:

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir: Chaves 1 Chaves CONCEITO DE CHAVE: determina o conceito de item de busca, ou seja, um dado que será empregado nas consultas à base de dados. É um conceito lógico da aplicação (chave primária e chave estrangeira).

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

A SÈTIMA. O nosso principal objectivo

A SÈTIMA. O nosso principal objectivo 03 A SÈTIMA A SÉTIMA produz soluções de software maioritariamente com recurso à WEB, de modo a dar suporte ao crescimento tecnológico que é já a maior realidade do século XXI. Esta aposta deve-se ao facto

Leia mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais

Guia de Estudo Folha de Cálculo Microsoft Excel

Guia de Estudo Folha de Cálculo Microsoft Excel Tecnologias da Informação e Comunicação Guia de Estudo Folha de Cálculo Microsoft Excel Estrutura geral de uma folha de cálculo: colunas, linhas, células, endereços Uma folha de cálculo electrónica ( electronic

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

Decidir como medir cada característica. Definir as características de qualidade. Estabelecer padrões de qualidade

Decidir como medir cada característica. Definir as características de qualidade. Estabelecer padrões de qualidade Escola de Engenharia de Lorena - EEL Controle Estatístico de Processos CEP Prof. MSc. Fabrício Maciel Gomes Objetivo de um Processo Produzir um produto que satisfaça totalmente ao cliente. Conceito de

Leia mais

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO ACCESS 2010 Conceitos Básicos Ficha Informativa Professor : Vanda Pereira módulo didáctico Conceitos Básicos Necessidade das base de dados Permite guardar dados

Leia mais

MICROSOFT OFFICE EXCEL 2007

MICROSOFT OFFICE EXCEL 2007 LEIAME Nenhuma informação da APOSTILA - MICROSOFT OFFICE EXCEL 2007 poderá ser copiada, movida ou modificada sem autorização prévia e escrita do autor. MICROSOFT OFFICE EXCEL 2007 Efetue cálculos, analise

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

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto LEIC-A, LEIC-T, LETI, MEIC-T, MEIC-A Engenharia de Software e Sistemas Distribuídos 2 o Semestre 2014/2015 Enunciado Geral do Projecto O que se segue é uma descrição geral do domínio do projecto a desenvolver

Leia mais

Entrega Expresso e Facilitação do Comércio: Impactos na Economia Global

Entrega Expresso e Facilitação do Comércio: Impactos na Economia Global Janeiro 2015 Frontier Economics 1 Entrega Expresso e Facilitação do Comércio: Impactos na Economia Global Sumário Executivo Bases e objetivo A Entrega Expresso é um componente crítico para muitos negócios

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

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS Unidade 1 - Introdução Dados; Banco de Dados; Base de Dados; Projeto de Banco de Dados.

Leia mais

2. Método de Monte Carlo

2. Método de Monte Carlo 2. Método de Monte Carlo O método de Monte Carlo é uma denominação genérica tendo em comum o uso de variáveis aleatórias para resolver, via simulação numérica, uma variada gama de problemas matemáticos.

Leia mais

Tarefa Orientada 14 Subconsultas

Tarefa Orientada 14 Subconsultas Tarefa Orientada 14 Subconsultas Objectivos: Subconsultas não correlacionadas Operadores ALL, SOME e ANY Subconsultas correlacionadas Operador EXISTS Subconsultas incluídas na cláusula FROM de uma consulta

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

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

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Consistem num conjunto de apontadores para instâncias especificas de cada relação. Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de

Leia mais

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Sistemas Operativos 2003/2004 Trabalho Prático #2 -- Programação em C com ponteiros -- Objectivos Familiarização

Leia mais