Módulo I: Processamento de Transações. (Aulas 1 e 2) Clodis Boscarioli

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

Download "Módulo I: Processamento de Transações. (Aulas 1 e 2) Clodis Boscarioli"

Transcrição

1 Módulo I: Processamento de Transações (Aulas 1 e 2) Clodis Boscarioli

2 Agenda: Introdução: Apresentação da disciplina; Leitura do Plano de Ensino; Conceito de transação; Estados de uma transação; Teoria de Serialização: Serialização de conflito; Serialização de visão.

3 Visão Geral de um SGBD Usuários navegantes Interface com aplicações Programadores de aplicações Programas de aplicações Usuários sofisticados Consultas (queries) Administradores de BD Esquema de Banco de Dados Usuários Processador de consultas Programas de aplicações em código objeto Pré-compilador de comandos DML Compilador DML Interpretador DDL SGBD Componentes de execução de consultas Gerenciador de memória Gerenciador de transações Gerenciador de buffer Gerenciador de arquivos Armazenamento em disco Arquivos de dados Índices Dados estatísticos Dicionário de dados BD

4 Justificativa Um dos critérios de classificação para SGBDs é em relação ao número de usuários que podem usá-los ao mesmo tempo: Monousuário: apenas um usuário pode utilizar o sistema em um momento; Sistemas de BD que são projetados para uso em um micro-computador; Multiusuário: vários usuários podem utilizar o sistema em um momento. Sistemas de reserva de passagens aéreas; Sistemas bancários/financeiros; Sistemas de venda para WEB. Neste contexto, insere-se o conceito de multiprogramação. É permitida a existência de SGBDs multiusuários porque possibilita-se a execução de vários programas ao mesmo tempo. Na realidade, se existe apenas uma CPU, então parte dos programas são intercalados na execução e, a cada unidade de tempo, um programa apenas é executado; Comandos de um programa são executados e então o programa é suspenso para que comandos de um outro programa sejam executados.

5 A A Uma única CPU C CPU2 B B D CPU1 t 1 t n t 1 t n tempo Em SGBDs os dados do BD são os recursos primários que podem ser lidos/ recuperados e modificados. A execução de um programa de acesso e/ou modificação ao conteúdo do BD é chamado de transação.

6 Transações Um conjunto de várias operação em um BD pode ser visto pelo usuário como uma única unidade. Exemplo: A transferência de fundos de uma conta corrente pra uma conta poupança é uma operação única do ponto de vista do cliente, porém, dentro do sistemas de banco de dados, ela envolve várias operações. É essencial que todo o conjunto de operações seja concluído, ou que, no caso de uma falha, nenhuma delas ocorra. Essas operações, que formam uma única unidade lógica de trabalho são chamadas de transações. Um SGBD precisa: Garantir que a execução da transação seja completa; Administrar a execução simultânea de várias transações evitando inconsistências; Uma transação que calcula o total de dinheiro do cliente poderia trabalhar com o saldo da conta corrente antes do débito feito pela transação de transferência e, também, verificar o saldo da poupança depois do crédito. Com isso, obteria um resultado incorreto.

7 Operações de Leitura/Escrita As operações de acesso ao BD que uma transação pode fazer são: read(x): que transfere o item de dados x do BD para um buffer local alocado à transação que executou a operação de read. O valor de x é colocado dentro de uma variável de programa. write(x): que transfere o item de dados x do buffer local da transação que executou o write de volta para o BD. O valor da variável de programa é passado para o item de dado no BD. OBS.: para fins de simplificação, o item de dados e a variável de programa correspondente serão representados da mesma forma, x.

8 Execução das Operações Executar read(x): Encontrar o endereço do bloco de disco que contém x; Copiar este bloco de disco para dentro do buffer/memória principal, se ele já não estiver lá; Copiar o item x do buffer para a variável de programa. Executar write(x): Encontrar o endereço do bloco de disco que contém x; Copiar o bloco de disco para a memória principal se ele já não estiver lá; Copiar o item x da variável de programa x para a localização correta no buffer; Copiar o bloco alterado do buffer de volta para o disco (imediatamente ou mais tarde).

9 Exemplo de Transação A) read(x); x := x N; write(x); read(y); y := y + N; write(y); B) read(x); x := x + M; write(x); T 1 T 2 Acesso concorrente ao dado x.

10 Outro Exemplo Seja T 1 uma transação que transfere 50 reais da conta A para a conta B. Essa transação pode ser definida como: T 1 : read(a); A := A - 50; write(a); read(b); B := B + 50; write(b);

11 Propriedades das Transações (ACID) A Atomicidade: ou todas as operações da transação são refletidas corretamente no banco de dados ou nenhuma o será. Suponha que, durante a execução da transação T i, uma falha aconteça impedindo T i de se completar com sucesso (uma queda de energia). Suponha ainda que a falha tenha ocorrido depois da execução da operação write(a), mas antes da operação write(b). O que acontece? O estado do sistema não reflete mais um estado real do mundo que se supõe representado no BD. É um estado inconsistente. Estes estados não podem ser perceptíveis. Ou seja, estados inconsistente só são permitidos no momento de execução da transação, onde o usuário não terá qualquer tipo de acesso aos dados. Assegurar a atomicidade de uma transação é responsabilidade do SGBD, mais especificamente, do Componente de Gerenciamento de Transações e Recuperador de Falhas.

12 Propriedades das transações (ACID) C - Consistência: a execução de uma transação isolada (ou seja, sem a execução concorrente de outra transação) preserva a consistência do banco de dados. A exigência da consistência aqui significa que a soma de A com B deve permanecer inalterada após a execução da transação. Se o banco de dados está consistente antes de uma execução de transação, o banco de dados permanece consistente após a execução da transação. Responsabilidade do programador.

13 Propriedades das transações (ACID) I Isolamento: embora diversas transações possam ser executadas de forma concorrente, o sistema garante que, para todo par de transações T i e T j, T i tem a sensação de que T j terminou sua execução antes de T i começar, ou vice-versa. Cada transação não toma conhecimento de outras transações concorrentes a ela no sistema. A execução concorrente de várias transações implica no intercalamento de suas operações. Se este intercalamento é feito de forma inconveniente, inconsistências serão geradas. No exemplo dado, se uma transação concorrente ler o valor de A antes dele ser escrito mais depois do processamento A-50 ter sido feito, ela estará lendo um valor inconsistente. Execuções em série resolvem este problema mas a concorrência é benéfica por causa do tempo de execução (melhora do desempenho). Assegurar o isolamento é de responsabilidade do Controlador de Concorrência.

14 Propriedades das transações (ACID) D Durabilidade: depois da transação completar-se com sucesso, as mudanças que ela faz no banco de dados persistem, até mesmo se houver falhas no sistema. No exemplo dado, se a transação se completar com sucesso e o usuário que a disparou for notificado da transferência de fundos, isso significa que não houve nenhuma falha de sistema que tenha resultado em perda de dados relativa a essa transferência. Assegurar a durabilidade é responsabilidade do componente do SGBD chamado de Recuperador de Falhas.

15 Operações Adicionais Uma transação é uma unidade de trabalho atômica que é completada em sua totalidade ou nada dela deve ter efeito. Para tornar isso possível, as seguintes operações são necessárias: Begin-transaction: Denota o início da execução da transação; End-transaction: Especifica que as operações da transação terminaram e marca o limite final da execução da transação. Neste ponto é necessário verificar se o COMMIT ou o ABORT são necessários, caso já não tenham sido explicitados; Commit-transaction: Sinal de término com sucesso e que as alterações podem ser permanentemente gravadas no BD; Rollback (abort-transaction): Assinala que a transação não terminou com sucesso e que seus efeitos devem ser desfeitos; Undo: Desfaz uma operação; Redo: Refaz uma operação.

16 Exemplo com Operadores (1) Procedure Transfer; begin start; (begin transaction) input (FROMaccount, TOaccount, amount); temp := read(accounts[fromaccount]); if temp < amount then begin output( insufficient funds ); end. end else begin Abort; end; return; (end transaction) write(accounts[fromaccount],temp - amount); temp = read(accounts[toaccount]); write(accounts[toaccount], temp + amount); commit; output( transfer complete );

17 Exemplo com Operadores (2) begin transaction update TABELA1 set CAMPO1 = NOVO VALOR where CAMPO2 = 35 if <> 0 rollback else commit end transaction Suponha uma tabela que possua 6000 tuplas que satisfaçam a condição e que na tupla 4666 houve uma falha no sistema. Neste caso, a variável chamada guardará o código do erro, o comando ROLLBACK será executado e as 4666 tuplas já atualizadas serão automaticamente voltadas a seu estado anterior. Ao contrário, se tudo correr bem, o comando COMMIT será executado e todas as 6000 tuplas serão atualizadas com êxito.

18 Estados de uma Transação Read/Write Begin Transaction Ativa End Transaction Em efetivação parcial Efetivada Abort Abort Em falha Completa Diagrama de transição de estados para a execução da transação. Com sucesso ou com falha.

19 Considerações Uma transação entra no estado de falha quando o sistema determina que ela já não pode prosseguir sua execução normal. Essa transação deve ser desfeita e entra no estado de abortada. Nesse momento o sistema tem duas opções: Reiniciar a transação: somente se ela foi abortada como resultado de algum erro de hardware ou de software não criado pela lógica interna da transação. Uma transação reiniciada é considerada uma transação nova. Matar a transação: normalmente, isto é feito em decorrência de algum erro lógico interno e só pode ser corrigido refazendo o programa de aplicação. Esse erro dá-se ou porque a entrada de dados não era adequada ou porque os dados desejados não foram encontrados no banco de dados.

20 Considerações Escritas externas observáveis (escrever em um terminal ou em uma impressora): Uma escrita desse tipo não pode ser apagada já que é vista externamente ao sistema de banco de dados. Geralmente somente são permitidas após a transação ser efetivada.

21 Execução Concorrente Permitir que múltiplas transações concorram na atualização de dados traz diversas complicações em relação à consistência desses dados. Razões para permitir a concorrência: Uma transação consiste em diversos passos. Alguns envolvem atividades de I/O, outros atividades de CPU. A CPU e os discos podem operar em paralelo. Logo, a atividade de I/O pode ser feita em paralelo com o processamento na CPU, por meio das execuções paralelas das transações. Enquanto uma leitura ou escrita solicitada por uma transação está em desenvolvimento em um disco, outra transação pode ser processada na CPU, e outro disco pode estar executando uma leitura ou escrita solicitada por uma terceira transação. Assim aumenta-se o rendimento do sistema, ou seja, o número de transações que podem ser executadas em um determinado tempo. Pode haver uma mistura de transações em execução simultânea no sistema, algumas curtas e outras longas. Se a execução das transações for seqüencial, uma transação curta pode ser obrigada a esperar até que uma transação longa precedente se complete. Com a concorrência reduz-se o tempo médio de resposta, ou seja, o tempo médio para uma transação ser concluída após sua submissão.

22 Execução Concorrente Sejam T 1 e T 2 duas transações que transferem fundos de uma conta para outra. A transação T 1 transfere 50 dólares da conta A para a conta B. A transação T 2 transfere 10 por cento do saldo da conta A para a conta B.

23 Execução Concorrente T 1 : read(a); A := A 50; write(a); read(b); B := B + 50; write(b); T 2 : read(a); temp := A * 0,1; A := A temp; write(a); read(b); B := B + temp; write(b);

24 Execução Seqüencial Escalas de execução em seqüência: Observe que o estado do BD é sempre consistente. T 1 T 2 T 1 T 2 read(a); A := A 50; write(a); read(b); B := B + 50; write(b); read(a); temp := A * 0,1; A := A temp; write(a); read(b); B := B + temp; write(b); read(a); A := A 50; write(a); read(b); B := B + 50; write(b); read(a); temp := A * 0,1; A := A temp; write(a); read(b); B := B + temp; write(b);

25 Execução Concorrente Correta Incorreta T 1 T 2 T 1 T 2 read(a); A := A 50; write(a); read(a); temp := A * 0,1; A := A temp; write(a); read(a); A := A 50; read(a); temp := A * 0,1; A := A temp; write(a); read(b); B := B + 50; write(b); read(b); B := B + temp; write(b); write(a); read(b); B := B + 50; write(b); read(b); B := B + temp; write(b);

26 Problemas na Concorrência Problema de alterações perdidas; Problema de alteração temporária; Problema do resumo incorreto.

27 Problema de Alterações Perdidas Ocorre quando duas transações que acessam o mesmo item de BD possuem suas operações intercaladas de uma maneira que o valor de algum item de dado fique incorreto. T 1 T 2 read(x); x := x - N; write(x); read(y); read(x) x := x + M; write(x) y := y + N; write(y)

28 Problema de Alteração Temporária Ocorre quando uma transação altera um item de dados e depois ela falha por alguma razão. O item de dado é acessado por outra transação antes que o valor original seja estabelecido. T 1 T 2 read(x); x := x - N; write(x); read(x) x := x + M; write(x) falha read(y);

29 Problema de Resumo Incorreto Se uma transação está calculando uma função agregada com um conjunto de tuplas e outras transações estão alterando algumas destas tuplas, a função agregada pode calcular alguns valores antes deles serem alterados e outros depois de serem alterados. T 1 T 3 read(x); x := x - N; write(x); read(y); y := y + N; write(y) sum := 0; read(a); sum : sum + a; read(x) sum := sum + x; read(y); sum := sum + y;

30 Serialização (Seriação) O sistema de banco de dados deve controlar a execução concorrente de transações para assegurar que o estado do BD permaneça consistente. A consistência do banco de dados, sob execução concorrente, pode ser assegurada por meio da garantia de que qualquer escala executada tenha o mesmo efeito de outra que tivesse sido executada sem qualquer concorrência. Isto é, uma escala de execução deve, de alguma forma, ser equivalente a uma escala seqüencial. Formas de equivalência entre escalas de execução podem ser verificadas sob dois prismas: Por conflito; Por visão.

31 Serialização de Conflito Considere uma escala de execução S com duas intruções sucessivas, I i e I j, das transações T i e T j (i <> j), respectivamente. Se I i e I j referem-se a itens de dados diferentes, então é permitido alternar I i e I j sem afetar os resultados de qualquer instrução da escala. Se I i e I j referem-se ao mesmo item de dado Q, então a ordem dos dois passos pode importar.

32 Serialização de Conflito 1. I i = read(q) e I j = read(q) A seqüência de execução de I i e I j não importa, já que o mesmo valor de Q é lido por Ti e Tj, independentemente da ordem destas operações. 2. I i = read(q) e I j = write(q) Se I i vier antes de I j, então T i não lê o valor de Q que é escrito por T j na instrução I j. Se I j vier antes de I i, então T i lê o valor de Q que é escrito por T j. Assim, a ordem de I i e I j importa.

33 Serialização de Conflito 3. I i = write(q) e I j = read(q) A ordem de I i e I j importa por razões semelhantes às do caso anterior. 4. I i = write(q) e I j = write(q) Como ambas as instruções são operações de escrita, a ordem dessas instruções não afeta T i ou T j. Entretanto, o valor obtido pela próxima instrução read(q) em S é afetado, já que somente o resultado da última das duas instruções write(q) é preservado no banco de dados. Se não houver nenhuma outra instrução de write(q) depois de I i e I j em S, então a ordem de I i e I j afeta diretamente o valor final de Q no que se refere ao estado do banco de dados após a execução da escala S.

34 Serialização de Conflito Diz-se que duas instruções entram em conflito se elas são operações pertencentes a transações diferentes, agindo no mesmo item de dado, e pelo menos uma dessas instruções é uma operação de escrita. T 1 T 2 read(a) write(a) read(b) write(b) read(a) write(a) read(b) write(b) A instrução write(a) de T 1 entra em conflito com a instrução read(a) de T 2. Porém, a instrução write(a) e T 2 não está em conflito com a instrução read(b) de T 1.

35 Serialização de Conflito Seja I i e I j instruções consecutivas de uma escala de execução S. Se I i e I j são instruções de transações diferentes e não entram em conflito, então podemos trocar a ordem de I i e I j para produzir uma nova escala de execução S. Diz-se que S e S são equivalentes já que todas as instruções aparecem na mesma ordem em ambas as escalas de execução com exceção de I i e I j, cuja ordem não importa.

36 Serialização de Conflito Ainda segundo a escala S, a instrução write(a) de T 2 não entra em conflito com a instrução read(b) de T 1. Então, é permitido mudar a ordem dessas instruções para gerar uma escala de execução equivalente. T 1 T 2 read(a) write(a) read(b) write(b) read(a) write(a) read(b) write(b) Em relação a um mesmo estado inicial do sistema, ambas as escalas (S e esta) produzem o mesmo estado final no sistema.

37 Serialização de Conflito Se as seguintes trocas de instruções não-conflitantes forem feitas: read(b) de T 1 por read(a) de T 2 ; write(b) de T 1 por write(a) de T 2 ; write(b) de T 1 por read(a) de T uma escala com execuções seriais será obtida. Assim mostrou-se que a escala S é equivalente, por conflito, a uma escala seqüencial. Essa equivalência garante que para um mesmo estado inicial do sistema, a escala S produzirá o mesmo estado final produzido por essa escala seqüencial.

38 Serialização de Conflito Se uma escala de execução S puder ser transformada em outra, S, por uma série de trocas de instruções nãoconflitantes, dizemos que S e S são equivalentes por conflito. O conceito de equivalência por conflito leva ao conceito de serialização por conflito. Uma escala de execução S é serializável por conflito se ela é equivalente por conflito a uma escala de execução seqüencial.

39 Serialização de Conflito A escala abaixo não é serializável por conflito pois não é equivalente em conflito nem à escala seqüencial <T 3,T 4 > nem <T 4,T 3 >. T 3 T 4 read(a) write(a) write(a)

40 Serialização de Conflito A escala abaixo não é serializável por conflito, mas produz o mesmo resultado que uma escala seqüencial. Confira. T 1 T 2 read(a); A := A 50; write(a); read(b); B := B 10; write(b); read(b); B := B + 50; write(b); read(a); A := A + 10; write(a);

41 Teste de Serialização de Conflito Seja S uma escala. Para saber se ela é serializável em relação às operações conflitantes é necessário criar um grafo de precedência para S. G = (V,E) em que V é um conjunto de vértices e E é um conjunto de arestas. O conjunto de vértices é composto por todas as transações que participam da escala. O conjunto de arestas consiste em todas as arestas T i T j para as quais uma das seguintes condições é verdadeira: T i executa write(q) antes de T j executar read(q); T i executa read(q) antes de T j executar write(q); T i executa write(q) antes de T j executar write(q);

42 Teste de Serialização de Conflito Se existir uma aresta T i T j no grafo de precedência, então, em qualquer escala seqüencial S equivalente a S, T i deve aparecer antes de T j. Exemplo: T 1 T 2 read(a); A := A 50; write(a); read(b); B := B + 50; write(b); read(a); temp := A * 0,1; A := A temp; write(a); read(b); B := B + temp; write(b); T 1 T 2

43 Teste de Serialização de Conflito Exemplo: T 1 T 2 read(a) A := A - 50 write(a) read(b) B := B + 50 write(b) read(a) temp := A * 0,1 A := A temp write(a) read(b) B := B + temp; write(b) T 1 T 2 Ciclo no grafo: Se o grafo de precedência possui ciclo, então a escala S não é serializável por conflito. A ordem de serialização pode ser obtida por meio da classificação topológica, que estabelece uma ordem linear para a escala consistente com a ordem parcial do grafo de precedência.

44 Serialização de Visão Trata-se de uma forma de equivalência menos restritiva que a equivalência de conflito. Considere duas escalas de execução S e S, com o mesmo conjunto de transações participando de ambas. As escalas S e S são ditas equivalentes por visão se as três condições seguintes forem satisfeitas: Para cada item de dado Q, se a transação T i fizer uma leitura no valor inicial de Q na escala S, então a transação T i também deve, na escala S, ler o valor inicial de Q; Para cada item de dado Q, se a transação T i executar um read(q) na escala S, e aquele valor foi produzido por meio da transação T j (se houver), então a transação T i também deverá, na escala S, ler o valor de Q que foi produzido por meio da transação T j ; Para cada item de dado Q, a transação (se houver) que executa a operação final de write(q) na escala S tem de executar a operação de write(q) final na escala S ;

45 Serialização de Visão T 1 T 2 T 1 T 2 T 1 T 2 read(a); A := A 50; write(a); read(b); B := B + 50; write(b); read(a); temp := A * 0,1; A := A temp; write(a); read(b); B := B + temp; write(b); read(a); A := A 50; write(a); read(b); B := B + 50; write(b); read(a); temp := A * 0,1; A := A temp; write(a); read(b); B := B + temp; write(b); read(a); A := A 50; write(a); read(b); B := B + 50; write(b); read(a); temp := A * 0,1; A := A temp; write(a); read(b); B := B + temp; write(b); Não são equivalentes por visão São equivalentes por visão

46 Serialização de Visão O conceito de equivalência por visão leva ao conceito de serialização por visão. Uma escala é serializável por visão se ela for equivalente em visão a uma escala de execução seqüencial. T 1 T 2 T 3 read(q) write(q) write(q) write(q) É equivalente em visão à escala seqüencial <T 1,T 2,T 3 > já que uma instrução read(q) lê o valor inicial de Q em ambas as escalas e T 3 executa a escrita final de Q em ambas as escalas.

47 Serialização de Visão Modifica-se o grafo de precedência para serialização por conflito para testar se o escalonamento é serializável por visão. Verificando se o escalonamento abaixo é serializável por conflito: T 1 T 2 T 3 read(q) write(q) write(q) T 1 T 2 T 3 Gravações inúteis write(q)

48 Serialização de Visão Vejamos a seguinte situação: Seja S uma escala. Suponha que a transação T j leia o valor do item de dado Q escrito por T i. Se S é serializável por visão, então qualquer em escala seqüencial S, à qual S é equivalente, T i deve preceder T j. Suponha agora que, na escala S, a transação T k executou um write(q). Então, na escala S, T k deve preceder T i ou deve seguir T j. Ela não poderá aparecer entre T i e T j, porque dessa forma T j não leria o valor de Q escrito por T i e, S e S não seriam equivalentes por visão.

49 Serialização por Visão Se o grafo não contiver ciclos então o escalonamento é serializável por visão. Se o grafo contiver ciclos não significa, necessariamente, que o escalonamento não é serializável. Haverá então 2 n grafos diferentes, sendo que cada um contém apenas uma aresta de cada par. Se alguns desses grafos for acíclico, sabe-se que a escala correspondente é serializável por visão. O escalonamento serial equivalente é obtido seguindo a ordenação topológica do grafo acíclico.

50 Exemplo de Ordenação Topológica T i T i T i T j T k T j T k ou T k T j T m T m T m

51 Fontes Bibliográficas: Sistemas de Banco de Dados (Cap. 15). Abraham Silberchatz, Henry F. Korth, S Sudarshan. 5ª Ed. Elsevier, Sistemas de Banco de Dados (Cap. 17). Ramez Elmasri e Sham Navathe. 4ª Ed. Pearson, Controle de Concorrência e Distribuição de Dados: A teoria clássica, suas limitações e extensões modernas. João Eduardo Ferreira e Marcelo Finger. São Paulo: Escola Brasileira de Computação, 2001.

Bibliografia Relembrando Conceitos

Bibliografia Relembrando Conceitos Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Aula 07 - Gerenciamento de transações Objetivos 1. Compreender a necessidade do uso das transações; 2. Entender

Leia mais

Processamento de Transação

Processamento de Transação Processamento de Transação Banco de Dados II 3ª Série Transações Introdução a Transações Propriedades ACID Controle de Concorrência e Restauração Recuperação da Transação COMMIT de duas fases Estado da

Leia mais

Transações. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com. Material do Prof. Paulo Pires

Transações. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com. Material do Prof. Paulo Pires Transações Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material do Prof. Paulo Pires Introdução a Transações SGBD sistema de processamento de operações de acesso ao BD SGBDs são em geral multi-usuários

Leia mais

Módulo III: Técnicas de. Clodis Boscarioli

Módulo III: Técnicas de. Clodis Boscarioli Módulo III: Técnicas de Recuperação Clodis Boscarioli Agenda: Introdução; Conceitos de recuperação em BD; Técnicas de Recuperação: Com atualização adiada; Com modificação imediata. Recuperação com transações

Leia mais

Gerenciamento de Transações. Banco de Dados. Gerenciamento de Transações. Gerenciamento de Transações. Gerenciamento de Transações

Gerenciamento de Transações. Banco de Dados. Gerenciamento de Transações. Gerenciamento de Transações. Gerenciamento de Transações Banco de Dados Fernando Fonseca Ana Carolina Mono-usuário Multi-usuário Um dos critérios de classificação de um SGBD: NÚMERO DE USUÁRIOS que podem acessar o sistema concorrentemente Conceito de Multi-

Leia mais

Noções de Processamento de Transações, Controle de Concorrência e Recuperação de Falhas

Noções de Processamento de Transações, Controle de Concorrência e Recuperação de Falhas Noções de Processamento de, e Banco de Dados I 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 Transação

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Visão Geral Uma transação é uma unidade lógica de trabalho (processamento) formada por um conjunto de comandos SQL cujo objetivo é preservar a integridade e a consistência dos dados. Ao final

Leia mais

Controle de transações em SQL

Controle de transações em SQL Transações Controle de transações em SQL Uma transação é implicitamente iniciada quando ocorre uma operação que modifica o banco de dados (INSERT, UPDATE ou DELETE). Uma transação pode terminar normalmente

Leia mais

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Fundamentos de Banco de Dados Aula 01 Introdução aos Sistemas de Bancos de Dados Introdução aos Sistemas de BD Objetivo Apresentar

Leia mais

TRANSAÇÃO. Reconstrução ( recovery ) BANCO DE DADOS 2. Tipos de falhas (1) Tipos de falhas (2) Princípios

TRANSAÇÃO. Reconstrução ( recovery ) BANCO DE DADOS 2. Tipos de falhas (1) Tipos de falhas (2) Princípios BANCO DE DADOS TRANSAÇÃO Reconstrução ( recovery ) Idéia básica Em algum momento no tempo, todo sistema computacional apresentará uma falha. Prof. Edson Thizon O SGBD deve incorporar mecanismos de proteção

Leia mais

Processamento de Transações

Processamento de Transações UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Processamento de Transações Carlos Eduardo Portela Serra de Castro * Processamento de Transações Introdução Definição Problemas de consistência

Leia mais

CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento.

CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento. CONCORRÊNCIA 1. Introdução O termo concorrência se refere ao fato de que os SGBDs em geral permitem que muitas transações tenham acesso ao mesmo banco de dados ao mesmo tempo. Em um sistema desse tipo,

Leia mais

GBC043 Sistemas de Banco de Dados Transações, Controle de Concorrência e Recuperação de Dados

GBC043 Sistemas de Banco de Dados Transações, Controle de Concorrência e Recuperação de Dados GBC043 Sistemas de Banco de Dados Transações, Controle de Concorrência e Recuperação de Dados Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Introdução Sistemas multiusuário

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 Transações Ambiente com SGBD Distribuído Transações

Leia mais

RESUMO CAPÍTULO 16 OVERVIEW OF TRANSACTION MANAGEMENT. Prof.: Geovane Magalhães Alunos: Gabriela G. Martins Edmar R. S. de Rezende

RESUMO CAPÍTULO 16 OVERVIEW OF TRANSACTION MANAGEMENT. Prof.: Geovane Magalhães Alunos: Gabriela G. Martins Edmar R. S. de Rezende RESUMO CAPÍTULO 16 OVERVIEW OF TRANSACTION MANAGEMENT Prof.: Geovane Magalhães Alunos: Gabriela G. Martins Edmar R. S. de Rezende ÍNDICE ANALÍTICO 16.1 AS PROPRIEDADES ACID... 3 16.1.1 CONSISTÊNCIA E ISOLAMENTO...

Leia mais

O SGBD vê cada transação como uma seqüência de leituras e escritas delimitada por comandos begin e commit (ou abort).

O SGBD vê cada transação como uma seqüência de leituras e escritas delimitada por comandos begin e commit (ou abort). 1 Conceito básico para controle de concorrência e recuperação: a transação. Uma seqüência de ações que são consideradas uma unidade atômica (indivisível) de trabalho. Acões elementares do SGBD: Leituras

Leia mais

Banco de Dados I 2007. Módulo I: Introdução a Sistemas de Banco de Dados. (Aula 1) Clodis Boscarioli

Banco de Dados I 2007. Módulo I: Introdução a Sistemas de Banco de Dados. (Aula 1) Clodis Boscarioli Banco de Dados I 2007 Módulo I: Introdução a Sistemas de Banco de Dados (Aula 1) Clodis Boscarioli Agenda: Apresentação do Plano de Ensino; Aspectos Históricos; Estrutura Geral de um SGBD; Profissionais

Leia mais

Bancos de Dados I 2013/02. Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva

Bancos de Dados I 2013/02. Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva Bancos de Dados I 2013/02 Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva Visão Geral/Revisão ACID l Atomicidade: Gerenciador de transações l Consistência=controle concorrência/commit

Leia mais

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Faculdade INED Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan 1 Unidade 2 Imagem: BARBIERI, Carlos. 2

Leia mais

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

Leia mais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta

Leia mais

Controle de Concorrência. Banco de Dados II Profa. Késsia R. C. Marchi

Controle de Concorrência. Banco de Dados II Profa. Késsia R. C. Marchi Controle de Concorrência Banco de Dados II Profa. Késsia R. C. Marchi Transação Transação é uma unidade lógica de trabalho, envolvendo diversas operações de bancos dados. C. J. Date Uma transação inicia-se,

Leia mais

A compreensão do mecanismo de transações é essencial, sempre que a

A compreensão do mecanismo de transações é essencial, sempre que a Transações A compreensão do mecanismo de transações é essencial, sempre que a base de dados d servir várias clientes simultaneamente. Em SQL é possível definir explicitamente os limites de uma transação.

Leia mais

CONTROLE DE CONCORRÊNCIA EM BANCO DE DADOS: Estudo de Caso Microsoft SQL Server 2008

CONTROLE DE CONCORRÊNCIA EM BANCO DE DADOS: Estudo de Caso Microsoft SQL Server 2008 CONTROLE DE CONCORRÊNCIA EM BANCO DE DADOS: Estudo de Caso Microsoft SQL Server 2008 GERALDA SILVIA DE VASCONCELOS JARDIM 1 IREMAR NUNES DE LIMA 2 Resumo: Este artigo descreve a importância do mecanismo

Leia mais

Recuperação de Falhas

Recuperação de Falhas Recuperação de Falhas Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material do Prof. Paulo Pires Recuperação de Falhas Garantia de atomicidade e durabilidade de Transações requer um SGBD tolerante

Leia mais

Banco de Dados - Senado

Banco de Dados - Senado Banco de Dados - Senado Transações, Isolamento, Concorrência e Bloqueio Banco de Dados Distribuído Material preparado :Prof. Marcio Vitorino Ilka Kawashita kawashi@gmail.com Transações Uma transação é

Leia mais

Sumário. Recuperação de Falhas

Sumário. Recuperação de Falhas Sumário 1 Processamento de Consultas 2 Introdução a Transações 3 Recuperação de Falhas 4 Controle de Concorrência 5 Banco de Dados Distribuído Recuperação de Falhas Garantia de atomicidade e durabilidade

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

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

Transações. Banco de Dados. Introdução Conceito de Transação. Fundamentos de transações. Introdução Classificação dos SGBD

Transações. Banco de Dados. Introdução Conceito de Transação. Fundamentos de transações. Introdução Classificação dos SGBD Banco de Dados Fundamentos de transações rof. João arcelo B. josko ransações Conceito de ransação stados da ransação Conceito de Log ropriedades da ransação roblemas Subsistema de Controle de ipos de Falhas

Leia mais

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

Banco de Dados Distribuídos

Banco de Dados Distribuídos A imagem não pode ser exibida. Talvez o computador não tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer

Leia mais

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico Banco de Dados // 1 Banco de Dados // 2 Conceitos BásicosB Engenharia da Computação UNIVASF BANCO DE DADOS Aula 1 Introdução a Banco de Dados Campo representação informatizada de um dado real / menor unidade

Leia mais

18/9/2009. Recuperação após Falha (ou Restauração) Recuperação após Falha. Recuperação após Falha

18/9/2009. Recuperação após Falha (ou Restauração) Recuperação após Falha. Recuperação após Falha (ou Restauração) Banco de Dados Fernando Fonseca & Ana Carolina Salgado Após uma falha na execução de uma transação, o BD deve ser restaurado para um estado consistente anterior O Sistema deve manter informações

Leia mais

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD)

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD) Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados Introdução Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre de 2011 Motivação

Leia mais

Gerenciamento de Transações

Gerenciamento de Transações Gerenciamento de Transações Outros tipos de recuperação: Além das falhas causadas por transações incorretas, conforme vimos anteriormente, podem ocorrer outros tipos de falhas, que ocorrem por fatores

Leia mais

23/05/12. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperação de Falhas em SGBDD

23/05/12. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperabilidade. Recuperação de Falhas em SGBDD Recuperação de Falhas em SGBDD Aluno: Antônio Ezequiel de Mendonça daem@cin.ufpe.br Orientadora: Ana Carolina Brandão Salgado A recuperação de transações que falharam significa que o BD será restaurado

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Mecanismos de Recuperação

Mecanismos de Recuperação Mecanismos de Recuperação Banco de Dados: Teoria e Prática André Santanchè/Luiz Celso Gomes Jr Instituto de Computação UNICAMP Setembro 2013 Picture by Ben Collins [http://www.flickr.com/photos/graylight/]

Leia mais

Recuperação de Falhas

Recuperação de Falhas Recuperação de Falhas 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 Recuperação

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Sistemas de arquivos estruturados em log e jornalizados Aula 21 Sistemas de arquivos apresentam questões quanto: Desempenho no

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

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

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 Leitura Obrigatória ELMASRI,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS MACHADO/MAIA: CAPÍTULO 07, PÁGINA 101 Prof. Pedro Luís Antonelli Anhanguera Educacional sistemas multiprogramáveis Os sistemas multiprogramáveis

Leia mais

Tópicos Avançados de Bases de Dados Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, 2005/2006

Tópicos Avançados de Bases de Dados Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, 2005/2006 Programa de TABD 2004/2005 Componente teórica Tópicos Avançados de Bases de Dados Revisão e complemento de bases de dados relacionais Revisão de conceitos básicos Transacções e controlo de concorrência

Leia mais

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. 1. Introdução aos Sistemas de Bases de Dados Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. O conceito de base de dados faz hoje parte do nosso

Leia mais

Unidade III. Unidade III

Unidade III. Unidade III Unidade III 4 ADMINISTRAÇÃO DE SGBDs As pessoas que trabalham com um banco de dados podem ser categorizadas como usuários de banco de dados ou administradores de banco de dados. 1 Entre os usuários, existem

Leia mais

Software. Professora Milene Selbach Silveira Prof. Celso Maciel da Costa Faculdade de Informática - PUCRS

Software. Professora Milene Selbach Silveira Prof. Celso Maciel da Costa Faculdade de Informática - PUCRS Software Professora Milene Selbach Silveira Prof. Celso Maciel da Costa Faculdade de Informática - PUCRS ESQUEMA DE UM SISTEMA DE COMPUTADOR Unidades de Entrada - Teclado - Scanner - Caneta Ótica - Leitora

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

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 NA AULA PASSADA... 1. Apresentamos a proposta de ementa para a disciplina; 2. Discutimos quais as ferramentas computacionais

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

Sistemas de Informação

Sistemas de Informação 1 1 Bases de Dados SISTEMAs DE GESTÃO DE ANO LECTIVO 2001/2002 Sistemas de Informação 2 2 Sistemas de Informação e organizações Informação e Informação nas organizações Sistemas de Informação (SI) Planeamento

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Introdução Transação Uma transação é uma unidade lógica de trabalho (processamento), formada por um conjunto de comando SQL, que tem por objetivo preservar a integridade e a consistência

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS Bancos de Dados Conceitos Fundamentais Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

Bancos de Dados Distribuídos. Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte

Bancos de Dados Distribuídos. Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte Bancos de Dados Distribuídos Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte Conceitos Sistema distribuído. Banco de dados distribuído (BDD). Coleção de multiplos

Leia mais

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I CONCEITOS BÁSICOS 1. Conceitos básicos de BD, SBD e SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre Banco de Dados CursoTécnico em Informática Modalidade Integrado Instituto Federal do Sul de Minas, câmpus PousoAlegre Professora Michelle Nery Conteúdo Programático Introdução O que é Banco de Dados O

Leia mais

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior Armazenamento de Dados Prof. Antonio Almeida de Barros Junior 1 Armazenamento de Dados Todos os dados que utilizamos até o momento, ficavam armazenados apenas na memória. Ao final da execução dos programas,

Leia mais

Estudo Comparativo dos Sistemas Gerenciadores de Bancos de Dados: Oracle, SQL Server e PostgreSQL

Estudo Comparativo dos Sistemas Gerenciadores de Bancos de Dados: Oracle, SQL Server e PostgreSQL Estudo Comparativo dos Sistemas Gerenciadores de Bancos de Dados: Oracle, SQL Server e PostgreSQL Rodrigo de Carvalho Santos, Luís Augusto Mattos Mendes (Orientador) Departamento de Ciências da Computação

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 4 SUPORTE AO SISTEMA OPERACIONAL Prof. Luiz Gustavo A. Martins Sistema Operacional (S.O.) Programa responsável por: Gerenciar os recursos do computador. Controlar a execução

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro !"#$ Excepção: condição de erro; quando ocorre o erro é levantada uma excepção que interrompe o fluxo normal de execução do programa e o direcciona para uma rotina de tratamento

Leia mais

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 03 AT03 Diversos II Page 1 of 25 Indice EXEMPLOS COM GROUP BY E COM A CLÁUSULA HAVING - TOTALIZANDO DADOS... 3 GROUP BY... 3 Cláusula HAVING com GROUP BY... 5 ENTENDENDO

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante Banco de Dados 1 Programação sucinta do curso:. Conceitos fundamentais de Banco de Dados.. Arquitetura dos Sistemas Gerenciadores de Banco de Dados (SGBD ou DBMS).. Características típicas de um SGBD..

Leia mais

7 Processos. 7.1 Introdução

7 Processos. 7.1 Introdução 1 7 Processos 7.1 Introdução O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não se importando com qual programa

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

Introdução. Unidade 1. Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira

Introdução. Unidade 1. Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Unidade 1 Introduçã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é Pereira Contexto

Leia mais

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Prof. Antonio Almeida de Barros Jr. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação

Leia mais

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSOR RESPONSÁVEL : Josino Rodrigues Neto

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSOR RESPONSÁVEL : Josino Rodrigues Neto UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO Rua Dom Manoel de Medeiros, s/n Dois Irmãos 52171-900 Recife-PE Fone: 0xx-81-332060-40 proreitor@preg.ufrpe.br PLANO DE ENSINO

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

Softwares Aplicativos Banco de Dados

Softwares Aplicativos Banco de Dados Softwares Aplicativos Banco de Dados INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Serviços 3. Usuários 4. Evolução 5. Exemplos 03 Banco

Leia mais

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

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

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

Banco de Dados I 2007. Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 3) Clodis Boscarioli

Banco de Dados I 2007. Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 3) Clodis Boscarioli Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional (Aula 3) Clodis Boscarioli Agenda: Exercícios de Mapeamento ME-R para MR; Restrições de Domínio; Restrições de Chave

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Luiz Vivacqua (lavcm@terra.com.br) http://geocities.yahoo.com.br/lavcm 1 Ementa 1. Introdução (1) 2. Modelo Conceitual Diagrama de classes 3. Modelo Lógico Relacional Características Chaves Restrições

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

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

Parte 1 Processos e Threads (20%)

Parte 1 Processos e Threads (20%) INE 5645 Programação Paralela e Distribuída 2011.1 Turma 0238B Prof. Bosco Nome: BOSCO Matrícula: Parte 1 Processos e Threads (20%) 1.1 Explique, resumidamente, o que é um processo em Sistema Operacional.

Leia mais

Introdução aos Sistemas

Introdução aos Sistemas Introdução Introdução aos Sistemas Operacionais 1 2 3... n Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Compilador Editor de texto Browser Programas

Leia mais

BANCO DE DADOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

BANCO DE DADOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com BANCO DE DADOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Contexto Fazem parte do nosso dia a dia: Operações bancárias Matrícula na universidade Reserva de hotel Controle de biblioteca Comércio

Leia mais

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Entrada e Saída. Prof. Leonardo Barreto Campos 1 Entrada e Saída Prof. Leonardo Barreto Campos 1 Sumário Introdução; Dispositivos Externos; E/S Programada; E/S Dirigida por Interrupção; Acesso Direto à Memória; Bibliografia. Prof. Leonardo Barreto Campos

Leia mais

Programação Concorrente Introdução

Programação Concorrente Introdução Introdução Prof. Eduardo Alchieri (definição) Programação Concorrente Do inglês Concurrent Programming, onde Concurrent signifca "acontecendo ao mesmo tempo" Programação Concorrente é diferente de programação

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

OUTROS PARADIGMAS: PROGRAMAÇÃO

OUTROS PARADIGMAS: PROGRAMAÇÃO OUTROS PARADIGMAS: PROGRAMAÇÃO CONCORRENTE, MODELO DE DADOS RELACIONAL (SQL), REDES DE PETRI, ORIENTAÇÃO A ASPECTOS Luenne Nailam e Uendson Teles PROGRAMAÇÃO CONCORRENTE PROGRAMA O que é um Programa? O

Leia mais

Técnicas de Implementação de Banco de Dados. Escola Estadual de Educação Profissional - EEEP. Curso Técnico em Informática

Técnicas de Implementação de Banco de Dados. Escola Estadual de Educação Profissional - EEEP. Curso Técnico em Informática Escola Estadual de Educação Profissional - EEEP Curso Técnico em Informática Técnicas de Implementação de Banco de Dados Governador Cid Ferreira Gomes Vice Governador Francisco José Pinheiro Secretária

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch)

Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch) Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)? Roteiro BCC321 - Banco de Dados I Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Conceitos Básicos Banco

Leia mais