PostgreSQL Performance

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

Download "PostgreSQL Performance"

Transcrição

1 PostgreSQL Performance André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) PostgreSQL Performance February 24, / 45

2 Sumário 1 Armazenamento 2 Índices 3 Planeamento 4 PostgreSQL André Restivo (FEUP) PostgreSQL Performance February 24, / 45

3 Outline Armazenamento 1 Armazenamento 2 Índices 3 Planeamento 4 PostgreSQL André Restivo (FEUP) PostgreSQL Performance February 24, / 45

4 Armazenamento Armazenamento Dados guardados em blocos (unidades mínimas de leitura). Cada bloco contém vários tuplos. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

5 Armazenamento Indicadores Número de Tuplos: t Tamanho do Bloco: B bytes Tamanho de cada tuplo: T bytes Normalmente B >= T Blocking Factor - bfr = B / T Número de Blocos - b = t / bfr André Restivo (FEUP) PostgreSQL Performance February 24, / 45

6 Armazenamento Performance Um dos maiores obstáculos a uma boa performance é o acesso ao disco. Os acessos ao disco são feitos bloco a bloco. É necessário minimizar o número de blocos que é necessário ler de cada vez que se consulta informação da base de dados. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

7 Armazenamento Exemplo t = tuplos B = 1024 bytes T = 100 bytes bfr = 1024 / 100 = 10 tuplos por bloco b = / 10 = 3000 blocos André Restivo (FEUP) PostgreSQL Performance February 24, / 45

8 Armazenamento Tuplos Desordenados Ficheiro Sequencial de Tuplos Desordenados. Pesquisa: Pela chave primária Por outro campo Vantagens: inserção. Desvantagens: remoção, pesquisa, ordenação,... André Restivo (FEUP) PostgreSQL Performance February 24, / 45

9 Armazenamento Tuplos Desordenados Ficheiro Sequencial de Tuplos Desordenados. Pesquisa: Pela chave primária - b/2 leituras = 1500 Por outro campo - b leituras = 3000 Vantagens: inserção. Desvantagens: remoção, pesquisa, ordenação,... André Restivo (FEUP) PostgreSQL Performance February 24, / 45

10 Armazenamento Tuplos Ordenados pela Chave Primária Ficheiro Sequencial de Tuplos Ordenados pela Chave Primária. Pesquisa: Pela chave primária Por outro campo Vantagens: pesquisa e ordenação pela chave primária. Desvantagens: inserção, remoção, pesquisa e ordenação por outras colunas,... André Restivo (FEUP) PostgreSQL Performance February 24, / 45

11 Armazenamento Tuplos Ordenados pela Chave Primária Ficheiro Sequencial de Tuplos Ordenados pela Chave Primária. Pesquisa: Pela chave primária - log2 b = 12 leituras Por outro campo - b = 3000 leituras Vantagens: pesquisa e ordenação pela chave primária. Desvantagens: inserção, remoção, pesquisa e ordenação por outras colunas,... André Restivo (FEUP) PostgreSQL Performance February 24, / 45

12 Outline Índices 1 Armazenamento 2 Índices 3 Planeamento 4 PostgreSQL André Restivo (FEUP) PostgreSQL Performance February 24, / 45

13 Índices Indexação Hash Ficheiros indexados usando uma função de Hash. Pesquisa Vantagens: pesquisa (igualdade), remoção, inserção. Desvantagens: pesquisa (outro método), ordenação, colisões, espaço em disco,... André Restivo (FEUP) PostgreSQL Performance February 24, / 45

14 Índices Indexação Hash Ficheiros indexados usando uma função de Hash. Pesquisa - 1 leitura Vantagens: pesquisa (igualdade), remoção, inserção. Desvantagens: pesquisa (outro método), ordenação, colisões, espaço em disco,... André Restivo (FEUP) PostgreSQL Performance February 24, / 45

15 Índices Indexação por Apontadores Ficheiros auxiliares ordenados contendo pares valor/apontador. Índices densos contêm um par valor/apontador para cada tuplo. Índices esparsos contêm um par valor/apontador para cada bloco. Usados apenas quando os tuplos estão ordenados pelo campo de indexação. Índices primários quando o campo de indexação é a chave primária. Índices secundários quando o campo de indexação é outro. Índices aglomerado (clustered) quando os tuplos estão ordenados pelo campo de indexação. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

16 Índices Indexação por Apontadores Índice esparso primário aglomerado. Índice denso secundário. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

17 Índices Exemplo Índice Denso Campo de indexação = 9 bytes Apontador para bloco = 6 bytes (2.8x10 14 tuplos) t i = r = T i = = 15 bytes bfr i = 1024 / 15 = 68 tuplos por bloco b i = / 68 = 442 blocos Pesquisa André Restivo (FEUP) PostgreSQL Performance February 24, / 45

18 Índices Exemplo Índice Denso Campo de indexação = 9 bytes Apontador para bloco = 6 bytes (2.8x10 14 tuplos) t i = r = T i = = 15 bytes bfr i = 1024 / 15 = 68 tuplos por bloco b i = / 68 = 442 blocos Pesquisa - log = 10 leituras André Restivo (FEUP) PostgreSQL Performance February 24, / 45

19 Índices Exemplo Índice Esparso Campo de indexação = 9 bytes Apontador para bloco = 6 bytes (2.8x10 14 tuplos) t i = b = 3000 T i = = 15 bytes bfr i = 1024 / 15 = 68 tuplos por bloco b i = 3000 / 68 = 45 blocos Pesquisa André Restivo (FEUP) PostgreSQL Performance February 24, / 45

20 Índices Exemplo Índice Esparso Campo de indexação = 9 bytes Apontador para bloco = 6 bytes (2.8x10 14 tuplos) t i = b = 3000 T i = = 15 bytes bfr i = 1024 / 15 = 68 tuplos por bloco b i = 3000 / 68 = 45 blocos Pesquisa - log = 7 leituras André Restivo (FEUP) PostgreSQL Performance February 24, / 45

21 Índice Multinível Índices Cada nível indexa o nível seguinte. b i2 = 30000/68=442 blocos b i1 = 442/68=7 blocos b i0 = 7/68=1 bloco Pesquisa André Restivo (FEUP) PostgreSQL Performance February 24, / 45

22 Índice Multinível Índices Cada nível indexa o nível seguinte. b i2 = 30000/68=442 blocos b i1 = 442/68=7 blocos b i0 = 7/68=1 bloco Pesquisa - 4 leituras André Restivo (FEUP) PostgreSQL Performance February 24, / 45

23 Árvores B+ Índices Este tipo de indexação baseia-se numa estrutura de dados em forma de árvore em que cada nodo contém: q apontadores para outro nodo q 1 valores Os nodos do último nível (folhas) contêm: q 1 apontadores q 1 valores apontador para o próximo bloco folha Permite também ordenar e pesquisar em intervalos (ao contrário dos indíces hash). Vantagens: pesquisa em intervalos, ordenação,... Desvantagens: pesquisa (um pouco mais lenta do que com hash), inserção, remoção, reorganização,... André Restivo (FEUP) PostgreSQL Performance February 24, / 45

24 Árvores B+ Índices André Restivo (FEUP) PostgreSQL Performance February 24, / 45

25 Índices Árvores B+ A ocupação de uma árvore B+ nunca deve ultrapassar 90% da sua capacidade. Quando este valor é atingido, é criada um novo nível na árvore. Numa árvore B+ a 70% da sua capacidade: Árvore B+ com espaço para 34 pares valor-apontador. 34 * 0.7 = 22 valores e 23 apontadores. Raiz: 1 nó = 22 valores e 23 apontadores. Nível 1: 23 nós = 506 valores e 529 apontadores. Nível 2: 529 nós = entradas e apontadores. Folhas: nós = apontadores para blocos. 2.5 milhões de tuplos. Permite pesquisar qualquer valor lendo apenas 5 blocos. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

26 Índices Índices Bitmap Os índices bitmap são utilizados em colunas com poucos valores diferentes. Para cada valor possível é criado um bitmap contendo um 0 ou um 1 para cada tuplo da tabela dependendo do valor da coluna ser igual ao valor do bitmap. Utilizando operações extremamente rápidas, um índice bitmap é capaz de calcular quais os tuplos que tornam verdade uma expressão booleana. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

27 Índices Bitmap Índices André Restivo (FEUP) PostgreSQL Performance February 24, / 45

28 Índices Bitmap Índices André Restivo (FEUP) PostgreSQL Performance February 24, / 45

29 Índices Índices Bitmap Campo de indexação Masculino / Feminino t i = t = T i = 2 estados = 2 bits bfr i = 1024 * 8 / 2 = 4096 tuplos por bloco b i = / 4096 = 8 blocos André Restivo (FEUP) PostgreSQL Performance February 24, / 45

30 Full Text Search Índices Pesquisa em texto. Sem mais nenhum mecanismo: Podemos pesquisar por The mas não por five. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

31 Full Text Search Índices Separando o índice em palavras e retirando as maiúsculas. Podemos pesquisar por five mas não por ive. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

32 Full Text Search Índices Separando cada palavra nas suas terminações. Podemos pesquisar por pack. Podemos pesquisar por ack. Podemos pesquisar por pac. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

33 Full Text Search Índices Pesquisa ainda mais eficaz: Palavras que não devem ser indexadas (stop words). Sinónimos (usando dicionários). Frases como uma só palavra (thesaurus). Diferentes variações de uma palavra (stem rules e dicionários). André Restivo (FEUP) PostgreSQL Performance February 24, / 45

34 Índices Escolher Índices São criados índices nas chaves primárias e únicas automaticamente. Criar índices nos atributos pesquisados frequentemente em tabelas grandes. Criar índices nos atributos de junção (sempre?). Criar índices hash se as pesquisas usar o operador de igualdade (junções também). Criar índices do tipo btree para ordenações e pesquisas em intervalos. Criar índices clustered se as pesquisas retornarem muitos resultados ( 10%). Usar ferramentas de análise. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

35 Outline Planeamento 1 Armazenamento 2 Índices 3 Planeamento 4 PostgreSQL André Restivo (FEUP) PostgreSQL Performance February 24, / 45

36 Planeamento Planeamento e Optimização de Queries Ordem das junções (JOIN) A (10 linhas), B (1000 linhas), C ( linhas) A (B C) ou (A B) C System R algorithm programação dinâmica Que índices usar? Perguntas encadeadas (IN, NOT IN, EXISTS,...) Nem sempre podem ser transformadas em junções. Por vezes são queries separadas (plano separado). Estimativa de Custo de um Plano Problema extremamente complicado. O SGBD usam sistemas de regras e dados estatísticos. "Inside the PostgreSQL Query Optimizer", Neil Conway, André Restivo (FEUP) PostgreSQL Performance February 24, / 45

37 Planos Alternativos Planeamento André Restivo (FEUP) PostgreSQL Performance February 24, / 45

38 Outline PostgreSQL 1 Armazenamento 2 Índices 3 Planeamento 4 PostgreSQL André Restivo (FEUP) PostgreSQL Performance February 24, / 45

39 Criar Índices PostgreSQL Sintaxe CREATE INDEX name ON table ( column ) USING ( type ) ; DROP INDEX name ; type pode ser: hash (não recomendado em PostgreSQL) btree (por omissão) gin (Generalized Inverted Index) gist (Generalized Search Tree) André Restivo (FEUP) PostgreSQL Performance February 24, / 45

40 PostgreSQL Índices Multi-coluna Sintaxe CREATE INDEX idxname ON tablename ( column1, column2 ) ; Permite pesquisar por column1. Permite pesquisar por column1 e column2. Mas não por column2 isoladamente. Similar a uma lista telefónica. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

41 PostgreSQL Índices Únicos Sintaxe CREATE UNIQUE INDEX idxname ON tablename ( column ) ; Garantem que não existem repetidos. Unique Keys são açucar sintático. André Restivo (FEUP) PostgreSQL Performance February 24, / 45

42 PostgreSQL Índices Parciais Sintaxe CREATE INDEX idxname ON tablename ( column ) WHERE c o n d i t i o n ; Permitem criar índices sobre partes de uma tabela. São usados quando uma pesquisa usa a mesma condição do índice. Permitem poupar espaço e tempo. Exemplo SELECT FROM u s e r WHERE type = ADMIN ; André Restivo (FEUP) PostgreSQL Performance February 24, / 45

43 Índices Únicos Parciais PostgreSQL Sintaxe CREATE UNIQUE INDEX idxname ON tablename ( column ) WHERE c o n d i t i o n ; Permitem criar restrições que de outra forma tinham de ser feitas usando triggers. Exemplo CREATE UNIQUE INDEX admin_department_idx ON people ( dep_id ) WHERE type = ADMIN ; André Restivo (FEUP) PostgreSQL Performance February 24, / 45

44 PostgreSQL Índices Sobre Funções Sintaxe CREATE INDEX idxname ON tablename ( e x p r e s s i o n ) ; Permitem criar índices sobre o resultado de uma função. Úteis quando queremos fazer pesquisas, não pelo valor de uma coluna, mas sim por o resultado de uma função. Exemplo CREATE INDEX d i f f e r e n c e _ i d x ON t r a n s a c t i o n s ( c r e d i t d e b i t ) ; SELECT FROM t r a n s a c t i o n s WHERE c r e d i t d e b i t > 1000; André Restivo (FEUP) PostgreSQL Performance February 24, / 45

45 PostgreSQL Índices Sobre Funções Sintaxe CREATE INDEX idxname ON tablename ( e x p r e s s i o n ) ; Permitem criar índices sobre o resultado de uma função. Úteis quando queremos fazer pesquisas, não pelo valor de uma coluna, mas sim por o resultado de uma função. Exemplo CREATE INDEX name_lower_idx ON people ( l o w e r c a s e (name ) ) ; André Restivo (FEUP) PostgreSQL Performance February 24, / 45

46 PostgreSQL Clustering Sintaxe Em PostgreSQL não existem índices clustered. É no entanto possível organizar os tuplos de uma tabela periodicamente de acordo com um índice. Cada tabela só pode estar organizada segundo um índice de cada vez. A operação de clustering faz lock à tabela. CLUSTER tablename USING idxname ; André Restivo (FEUP) PostgreSQL Performance February 24, / 45

47 PostgreSQL Full Text Search Sintaxe Usar índices do tipo gin ou gist. Os índices são índices sobre expressões. Usar a mesma expressão nas perguntas. CREATE INDEX idxname ON tablename USING gin ( t o _ t s v e c t o r ( e n g l i s h, column ) ) ; Sintaxe SELECT FROM tablename WHERE t o _ t s v e c t o r ( e n g l i s h, column to_tsquery ( s e a r c h & term ) ; André Restivo (FEUP) PostgreSQL Performance February 24, / 45

48 Full Text Search Ranking PostgreSQL Sintaxe SELECT column, ts_rank ( t o _ t s v e c t o r ( e n g l i s h, column ), to_tsquery ( s e a r c h & term ) ) FROM tablename WHERE t o _ t s v e c t o r ( e n g l i s h, column to_tsquery ( s e a r c h & term ) ORDER BY ts_rank ( t o _ t s v e c t o r ( e n g l i s h, column ), to_tsquery ( s e a r c h & term ) ) DESC André Restivo (FEUP) PostgreSQL Performance February 24, / 45

49 PostgreSQL Explain Sintaxe Mostra o plano que o PostgreSQL pensa utilizar para uma determinada query. Pode não ser o plano efectivamente usado (estatísticas podem estar erradas). EXPLAIN query ; André Restivo (FEUP) PostgreSQL Performance February 24, / 45

50 PostgreSQL Explain Analyze Sintaxe Mostra o plano que o PostgreSQL pensa utilizar para uma determinada query e o realmente utilizado. Executa mesmo a query. EXPLAIN ANALYZE query ; André Restivo (FEUP) PostgreSQL Performance February 24, / 45

51 Analyze e Explain PostgreSQL Alguns nodos dos planos: Nested Loop Sequential Scan Index Scan Index Condition Aggregate Bitmap Heap Scan Bitmap Index Scan Bitmap And/Or Sort... André Restivo (FEUP) PostgreSQL Performance February 24, / 45

52 PostgreSQL Reindex, Vacuum e Analyze Sintaxe Comandos que devem ser usados periodicamente: Reindex - Reorganiza um índice. Vaccum - Recupera espaço desperdiçado. Analyze - Calcula estatísticas. REINDEX [ idxname tablename ] ; ANALYZE [ tablename ] ; VACUUM [ANALYZE] [ table ] André Restivo (FEUP) PostgreSQL Performance February 24, / 45

DBMS%Performance% Carlos%Soares% (baseado%em%materiais%gen8lmente%cedidos% por%andré%res8vo,%joão%correia%lopes%e%do% livro%ramakrishnan%&%gehrke)% %

DBMS%Performance% Carlos%Soares% (baseado%em%materiais%gen8lmente%cedidos% por%andré%res8vo,%joão%correia%lopes%e%do% livro%ramakrishnan%&%gehrke)% % DBMS%Performance% Carlos%Soares% (baseado%em%materiais%gen8lmente%cedidos% por%andré%res8vo,%joão%correia%lopes%e%do% livro%ramakrishnan%&%gehrke)% % Plano% Contexto% Índices% Carga%da%base%de%dados%%

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

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 1 2º semestre A resolução deve ser claramente identificada com o número de grupo e entregue sob a forma

Leia mais

Bases de Dados. Parte IX: Organização Física dos Dados

Bases de Dados. Parte IX: Organização Física dos Dados Bases de Dados Parte IX Organização Física dos Dados Unidades de Medida da Informação A unidade fundamental é o byte. byte corresponde a 8 bits e cada bit permite representar ou um 0 ou um. Kilobyte (Kbyte

Leia mais

SQL - Criação de Tabelas

SQL - Criação de Tabelas SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas

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

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Adriano J. Holanda http://holanda.xyz 28/8/2015 Índices Para os testes com os índices criaremos uma tabela chamada tteste com o comando teste=> CREATE TABLE tteste (id int4);

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

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

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

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

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

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

ESTRUTURA INTERNA DO SISTEMA ESTRUTURA GERAL DO SGBD. Desempenho do BD ÙSatisfação do usuário. A performance do sistema depende:

ESTRUTURA INTERNA DO SISTEMA ESTRUTURA GERAL DO SGBD. Desempenho do BD ÙSatisfação do usuário. A performance do sistema depende: ESTRUTURA INTERNA DO SISTEMA ESTRUTURA GERAL DO SGBD Desempenho do BD ÙSatisfação do usuário USUÁRIO A performance do sistema depende: da eficiência das estruturas de dados utilizadas; como o sistema opera

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

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK

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

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes

Leia mais

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Exercícios de Lógica Exercícios de Fixação 08

Exercícios de Lógica Exercícios de Fixação 08 Exercícios Exercícios de Lógica Exercícios de Fixação 08 1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL (Data Definition Language). Assinale a alternativa

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 10- Indexação Prof. Daniela Barreiro Claro Indexação Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; FORMAS - UFBA 2 de X; X=23 Indexação Sintaxe: create

Leia mais

Arquitetura de SGBD Relacionais Previsão de Seletividade

Arquitetura de SGBD Relacionais Previsão de Seletividade Arquitetura de SGBD Relacionais Previsão de Seletividade Caetano Traina Jr. Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.usp.br

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

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

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

Um objeto de estatística contém informações de distribuição de valores de uma ou mais colunas de uma tabela ou view indexada

Um objeto de estatística contém informações de distribuição de valores de uma ou mais colunas de uma tabela ou view indexada Desvendando Estatísticas do SQL Server Parte 1 Nesta série de artigos vamos dar um mergulho profundo nas Teorias Probabilísticas (mais conhecido como estatísticas) do SQL Server. Introdução Estatísticas

Leia mais

Sistemas de Arquivos. André Luiz da Costa Carvalho

Sistemas de Arquivos. André Luiz da Costa Carvalho Sistemas de Arquivos André Luiz da Costa Carvalho Sistemas de arquivos Sistema de arquivos é o nome que se dá a implementação da organização de dados em discos. Vai desde o acesso a baixo nível até a interface

Leia mais

Prof. Bruno Calegaro

Prof. Bruno Calegaro Prof. Bruno Calegaro Fazendo o uso de chamadas de sistema, o usuário pode realizar operações de manipulação nos arquivos ou diretórios As operações de entrada e saída básicas são: create open read write

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Bases de Dados. Lab 1: Introdução ao ambiente

Bases de Dados. Lab 1: Introdução ao ambiente Departamento de Engenharia Informática 2010/2011 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

Leia mais

Bases de Dados 2005/2006. Aula 5

Bases de Dados 2005/2006. Aula 5 Bases de Dados 2005/2006 Aula 5 Sumário -1. (T.P.C.) Indique diferenças entre uma tabela e uma relação. 0. A base de dados Projecto 1. SQL Join (variantes) a. Cross Join b. Equi-Join c. Natural Join d.

Leia mais

Oracle Advanced Compression x External Tables (Armazenamento de dados históricos)

Oracle Advanced Compression x External Tables (Armazenamento de dados históricos) Oracle Advanced Compression x External Tables (Armazenamento de dados históricos) Agenda Sobre Rodrigo Mufalani Clico de dados Visão Geral Avanced Compression Visão Geral External Tables Performance Disponibilidade

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar - Aula 2 - ÍNDICE 1. INTRODUÇÃO Quando criamos a estrutura de um banco de dados temos que usar artifícios que melhorem a performance na recuperação dos dados que lá serão armazenados. Dentre várias técnicas

Leia mais

Gerência do Sistema de Arquivos. Adão de Melo Neto

Gerência do Sistema de Arquivos. Adão de Melo Neto Gerência do Sistema de Arquivos Adão de Melo Neto 1 Gerência do Sistema de Arquivos Organização dos arquivos Estrutura de diretório Gerência de espaço livre Gerência de alocação de espaços em disco Proteção

Leia mais

Índice. Introdução às bases de dados. Parte 1 ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17

Índice. Introdução às bases de dados. Parte 1 ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17 Índice ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17 Parte 1 Introdução às bases de dados 1. Introdução 21 1.1. Os sistemas de bases de dados 23 1.1.1. Breve historial 23

Leia mais

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação Bases de Dados Índices Discos transferência lenta e em blocos (512B ~ 4KB) transferência rápida e aos bytes memória disco BD / aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

Arquitetura de SGBD Relacionais Métodos de Acesso Físico

Arquitetura de SGBD Relacionais Métodos de Acesso Físico Arquitetura de SGBD Relacionais Métodos de Acesso Físico Caetano Traina Jr. Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.usp.br

Leia mais

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas. MySQL 101 Recapitulando Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas. As bases de dados são úteis quando necessitamos

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

Plano da aula de hoje

Plano da aula de hoje Lembrando Implementação de Arquivos Marcelo Johann Os dados no disco são organizados em arquivos e diretórios Facilidades de acontabilidade, de organização, de procura... O Sis. Op. mantém, para cada processo,

Leia mais

Armazenamento e Indexação 5

Armazenamento e Indexação 5 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.

Leia mais

Principal: construir uma base de dados para produção de informações sobre internações hospitalares;

Principal: construir uma base de dados para produção de informações sobre internações hospitalares; Principal: construir uma base de dados para produção de informações sobre internações hospitalares; Específicos: - criar um banco de dados para armazenar registros sobre internações hospitalares; - produzir

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

implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Fernando Ramos, Nuno Neves, Sistemas Operativos, 2014 2015

implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Fernando Ramos, Nuno Neves, Sistemas Operativos, 2014 2015 Sistemas de ficheiros: implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Objetivos da aula Descrever algunsdetalhes daimplementação deumsistema de ficheiros Discutir algoritmos

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

Regras de Integridade. Profa. Késsia Marchi

Regras de Integridade. Profa. Késsia Marchi Regras de Integridade Restrições de Integridade Integridade refere-se a precisão ou correção de dados em um banco de dados; Restrição refere-se a impor uma condição para qualquer atualização. Antes de

Leia mais

PostgreSQL e C++ (libpq)

PostgreSQL e C++ (libpq) PostgreSQL e C++ (libpq) André Restivo Faculdade de Engenharia da Universidade do Porto April 5, 2013 André Restivo (FEUP) PostgreSQL e C++ (libpq) April 5, 2013 1 / 18 Sumário 1 Introdução 2 Ligação 3

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

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1. Departamento de Engenharia Informática 2008/2009 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas

Leia mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

Capítulo 6 Sistemas de Arquivos

Capítulo 6 Sistemas de Arquivos Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios 6.3 Implementação do sistema de arquivos 6.4 Exemplos de sistemas de arquivos 1 Armazenamento da Informação a Longo Prazo 1. Deve ser possível

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

Cap. 3 Organização de Ficheiros e Indexação

Cap. 3 Organização de Ficheiros e Indexação Cap. 3 Organização de Ficheiros e Indexação If you don t find it in the index, look very carefully through the entire catalogue. -- Sears, Roebuck, and Co., Consumer s Guide, 1897 Abel J.P. Gomes Bibliografia:

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

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro SQL- Strutured Query Language é a linguagem mais usada nas bases dados relacionais. Originalmente desenvolvida pela IBM Actualmente é um standard, o mais recente é o SQL:2003

Leia mais

AULA 16 - Sistema de Arquivos

AULA 16 - Sistema de Arquivos AULA 16 - Sistema de Arquivos Arquivos podem ser vistos como recipientes que contêm dados ou como um grupo de registros correlatos. Os arquivos armazenam informações que serão utilizadas, em geral, por

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

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

Comandos DDL. id_modulo = id_m odulo

Comandos DDL. id_modulo = id_m odulo Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos

Leia mais

Sistemas de Base de Dados 2010/11 GRUPO 10 ANDRÉ MOURÃO Nº 35008 EDUARDO COSTA Nº 355049 RICARDO MARQUES Nº 35048

Sistemas de Base de Dados 2010/11 GRUPO 10 ANDRÉ MOURÃO Nº 35008 EDUARDO COSTA Nº 355049 RICARDO MARQUES Nº 35048 DEPARTAMENTO DE INFORMÁTICA TRABALHO FINAL POSTGRESQL Sistemas de Base de Dados 2010/11 Mestrado em Engenharia Informática GRUPO 10 ANDRÉ MOURÃO Nº 35008 EDUARDO COSTA Nº 355049 RICARDO MARQUES Nº 35048

Leia mais

Bases de Dados 1º semestre

Bases de Dados 1º semestre DepartamentodeEngenhariaInformática 2008/2009 BasesdeDados1ºsemestre Lab1:Introduçãoaoambiente O ficheiro create bank.sql contém um conjunto de instruções SQL para criar a base de dadosdeexemploilustradanafigura1.

Leia mais

PostgreSQL Troubleshooting e Monitoramento

PostgreSQL Troubleshooting e Monitoramento PostgreSQL Troubleshooting e Monitoramento Eduardo Ferreira dos Santos Dataprev Empresa de Tecnologia e Informações da Previdência Social eduardosantos@previdencia.gov.br eduardosan.wordpress.com 11 de

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de Dados

Leia mais

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

Cursos Guia DBA Pacote Curso SQL Server 2014 e o passo a passo para otimização SQL Server 2016

Cursos Guia DBA Pacote Curso SQL Server 2014 e o passo a passo para otimização SQL Server 2016 2015 Cursos Guia DBA Pacote Curso SQL Server 2014 e o passo a passo para otimização SQL Server 2016 O pacote inclui os dois cursos mais simulados para a prova de certificação, exercícios, e-book e app

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

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo Departamento de Engenharia Informática 2012/2013 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Tarefa Orientada 12 Junção Externa, Auto-Junção e União Tarefa Orientada 12 Junção Externa, Auto-Junção e União Objectivos: Junção externa (Outer JOIN) Junção externa à esquerda (LEFT Outer JOIN) Junção externa à direita (RIGHT Outer JOIN) Junção externa completa

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

Bases de Dados 2008/2009

Bases de Dados 2008/2009 Instituto Superior Técnico Bases de Dados 2008/2009 Exame de 30 de Janeiro de 2009 Sem consulta Duração: 2h30 1. Considere o seguinte cenário relativo a um stand de compra e venda de carros usados, em

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

Leia mais

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente

Leia mais

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

Sistemas de Ficheiros. 1. Ficheiros 2. Directórios 3. Implementação de sistemas de ficheiros 4. Exemplos de sistemas de ficheiros

Sistemas de Ficheiros. 1. Ficheiros 2. Directórios 3. Implementação de sistemas de ficheiros 4. Exemplos de sistemas de ficheiros Sistemas de Ficheiros 1. Ficheiros 2. Directórios 3. Implementação de sistemas de ficheiros 4. Exemplos de sistemas de ficheiros Organização de um Sistema Operativo System Call Handler File System 1...

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

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

Treinamento PostgreSQL - Aula 03

Treinamento PostgreSQL - Aula 03 Treinamento PostgreSQL - Aula 03 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 29 de Maio de 2013 Eduardo Ferreira dos Santos

Leia mais

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL SQL TGD/JMB 1 Projecto de Bases de Dados Linguagem SQL SQL TGD/JMB 2 O que é o SQL? SQL ("ess-que-el") significa Structured Query Language. É uma linguagem standard (universal) para comunicação com sistemas

Leia mais

Operação de União JOIN

Operação de União JOIN Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri Tipos de Índices Cristina Dutra de Aguiar Ciferri Tipos de Índice Ordenados em um único nível primário agrupamento (cluster) secundário Estruturas de dados de árvores índices multiníveis árvores-b, árvores-b+

Leia mais

Fundamentos de Banco de Dados

Fundamentos de Banco de Dados Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema

Leia mais

Sumário. Introdução... 1. 1 O Problema... 3

Sumário. Introdução... 1. 1 O Problema... 3 Sumário Introdução... 1 1 O Problema... 3 1.1 Definição do Problema... 3 1.2 A Solução... 3 1.2.1 Projeto Conceitual...4 1.2.2 Projeto Lógico... 5 1.2.3 Projeto Físico... 6 2 Criação de Bancos de Dados...

Leia mais

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 2 Entrega a 16 de Abril de 2011 2º semestre A resolução deve ser claramente identificada com o número de

Leia mais

Linguagem SQL Parte I

Linguagem SQL Parte I FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos chicowebmail@yahoo.com.br Slides gentilmente cedidos por André Vinicius R. P. Nascimento Conteúdo A Linguagem

Leia mais

Hugo Pedro Proença, 2007

Hugo Pedro Proença, 2007 Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações

Leia mais

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória.

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória. Bases de Dados Índices Discos transferência lenta transferência rápida e em blocos (512B ~ 4KB) e aos bytes memória disco aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000 tracks

Leia mais

Introdução ao PostgreSQL

Introdução ao PostgreSQL Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula

Leia mais