TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Banco De Dados II

Trabalho Universitário: Banco De Dados II. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  5/11/2014  •  7.492 Palavras (30 Páginas)  •  350 Visualizações

Página 1 de 30

Banco de Dados II

Profa MSc. Tanisi Carvalho

Profa MSc. Simone Vicari

Notas de Aula

Sumário

1 GERÊNCIA DE TRANSAÇÕES 3

1.1 PROPRIEDADES DA TRANSAÇÃO 4

1.2 ESTADOS DA TRANSAÇÃO 4

2 CONTROLE DE CONCORRÊNCIA 7

2.1 PROBLEMAS ASSOCIADOS À EXECUÇÃO CONCORRENTE DE TAS 8

2.2 MECANISMOS PARA CONTROLE DE CONCORRÊNCIA 9

2.2.1 Bloqueio simples 9

2.2.2 Bloqueio de Duas Fases (2PL) 10

2.3 DEADLOCK 12

2.3.1 Prevenção de Deadlock 12

2.3.2 Detecção e Recuperação de Deadlock 13

2.4 GRANULARIDADE MÚLTIPLA 13

3 RECUPERAÇÃO APÓS FALHAS 17

3.1 PROJETO DE UM SUBSISTEMA DE RECOVERY 17

3.2 PROCEDIMENTOS PARA RECUPERAÇÃO DE FALHAS BASEADOS EM LOG 18

3.2.1 Checkpoints 20

4 SEGURANÇA EM SGBDS 22

4.1 AUTORIZAÇÃO DE ACESSO 23

4.1.1 Criando usuários 23

4.1.2 Concedendo/Revogando privilégios de acesso 23

4.1.3 Roles 24

4.1.4 Sinônimos 25

5 VISÕES 26

5.1 USO DE VISÕES 27

5.2 PROBLEMAS ASSOCIADOS ÀS VISÕES 28

6 RESTRIÇÕES DE INTEGRIDADE 29

6.1 CLASSIFICAÇÃO DAS RESTRIÇÕES DE INTEGRIDADE 29

6.1.1 Segundo seu alcance 29

6.1.2 Segundo o momento do teste 29

6.1.3 RIs que regulamentam a atualização de valores 29

6.1.4 RIs que devem ser testadas na ocorrência de eventos externos 30

6.2 RESTRIÇÕES DE INTEGRIDADE NO MODELO RELACIONAL 30

6.2.1 Restrição de domínio 30

6.2.2 Restrição de valor nulo (NULL) 31

6.2.3 Restrição de chave primária 31

6.2.4 Restrição de integridade referencial 31

6.3 ESPECIFICAÇÃO DE RESTRIÇÕES DE INTEGRIDADE 31

7 ANEXOS 33

7.1 ARQUITETURA BÁSICA DE UM SGBD 33

7.2 ARQUITETURA DO GERENCIADOR DE BANCO DE DADOS 34

1 Gerência de Transações

Um conceito bastante importante no contexto de sistemas gerenciadores de banco de dados (SGBDs) é o conceito da transação:

 A transação é uma unidade de trabalho do usuário (da aplicação) que é atômica do ponto de vista da aplicação [DAT 81]

 A transação é uma unidade de execução de programa que acessa e, possivelmente, atualiza vários itens de dados. Geralmente, é o resultado da execução de um programa escrito em uma linguagem de manipulação de dados de alto nível ou em uma linguagem de programação (por exemplo, SQL, COBOL, C ou Pascal) [SIL 99]

A partir dos dois conceitos acima é importante definir que:

• a transação sempre leva o banco de dados de um estado inicial consistente a um outro final, também consistente;

• a transação é atômica, ou seja, a transação deve ser tratada pelo SGBD como uma unidade única, ou todas as alterações devem estar no BD ou nada deve acontecer.

Normalmente, as transações definidas em linguagens de manipulação apresentam comandos para marcar o início e o fim da transação (begin transaction/end transaction). A Figura 1.1 1 apresenta um exemplo de uma transação que retira R$ 100,00 de uma Conta Bancária. A Figura 1.1 2 apresenta o mesmo exemplo em SQL.

Begin transaction

Read(Cta=x, saldo)

Saldo = saldo - 100 (valor informado)

Write(cta=x, saldo)

end transaction

Figura 1.1 1: Exemplo de transação

Como pode ser observado na Figura 1.1 2, não aparece o comando de início de transação. O padrão SQL92 define que uma transação inicia a partir do primeiro comando SQL, todos os comandos subseqüentes são considerados da mesma transação até que seja encontrado um comando de fim de transação (COMMIT ou ROLLBACK).

UPDATE CONTA

SET saldo = saldo - 100

WHERE nro_conta = x;

COMMIT;

Figura 1.1 2: Exemplo de transação em SQL

1.1 Propriedades da Transação

Para garantir a integridade do banco de dados é necessário que o sistema de banco de dados mantenha as seguintes propriedades da transação:

• Atomicidade: o programa que representa a transação deve, ou executar por completo e com sucesso sobre o banco de dados, ou deve parecer nunca ter executado (Lei do Tudo-Ou-Nada). Essa propriedade é, normalmente, garantida pelo SGBD, através de seu componente de recuperação após falhas;

• Consistência: a transação só pode realizar operações corretas, do ponto e vista da aplicação, sobre o banco de dados. Isto é, a transação não pode transgredir qualquer restrição de integridade (RI) declarada ao SGBD (restrições de integridade de chave primária e restrições de integridade de chave estrangeira.

• Isolamento: em um ambiente multiusuário (multiprogramado),

...

Baixar como (para membros premium)  txt (53 Kb)  
Continuar por mais 29 páginas »
Disponível apenas no TrabalhosGratuitos.com