Database Class - Pontos de defasagem e questões de brinde.

Post on 10-Jul-2015

102 views 0 download

description

Com objetivo de abordar pontos de defasagem da graduação ao ensinar banco de dados. Esta aula aborda pontos fundamentais de conceitos, arquitetura (com base no Oracle DB 11g), transações, níveis de isolamento abordando os fenômenos envolvidos, e sublinguagens SQL.

Transcript of Database Class - Pontos de defasagem e questões de brinde.

Database

Jann Claude Mousquer

Revisão de pontos de defasagem, confusão com algumas perguntas de brinde.

O que é então ?Banco de Dados ou Base de Dados

≠DER

≠Sistema Gerenciador de Banco de Dados (SGBD)

≠Sistema de Banco de Dados

DER

Entidade { <= Atributo

Relacionamento =>

PerguntaQuestão 33) “Na terminologia formal do modelo relacional, uma linha é chamada de ___________, um cabeçalho da coluna é chamado de ______________ e a tabela é chamada de ________”. A frase anterior pode ser corretamente completada com os termos contidos em uma das alternativas apresentadas a seguir. Assinale a alternativa correta.a) atributo – tupla – relaçãob) relação – tupla – atributoc) tupla – relação – atributod) tupla – atributo – relaçãoe) atributo – relação – tupla

Concurso BanPará (2013) - Técnico em informática com foco em banco de dados.

TableRelação =>

Tupla =

<= Atributos

RespostaQuestão 33) “Na terminologia formal do modelo relacional, uma linha é chamada de ___________, um cabeçalho da coluna é chamado de ______________ e a tabela é chamada de ________”. A frase anterior pode ser corretamente completada com os termos contidos em uma das alternativas apresentadas a seguir. Assinale a alternativa correta.a) atributo – tupla – relaçãob) relação – tupla – atributoc) tupla – relação – atributod) tupla – atributo – relaçãoe) atributo – relação – tupla

Concurso BanPará (2013) - Técnico em informática com foco em banco de dados.

Talvez...

...VOCÊ CONHEÇA ISSO…

SAIBA QUE EXISTE TUDO ISSO… !!!(e muito mais)

Compreendendo o básico

DE MODO MAIS SIMPLIFICADO E ABSTRAÍDO...

PerguntaQuestão 36) Tanto para fins de auditoria como para recuperação de falhas que afetam transações, o sistema mantém um arquivo sequencial para registrar todas as operações de transação que afetam os valores dos itens de banco de dados. Tecnicamente esse arquivo é denominado:a) idb) bugc) logd) dumpe) help

Concurso BanPará (2013) - Técnico em informática com foco em banco de dados.

RespostaQuestão 36) Tanto para fins de auditoria como para recuperação de falhas que afetam transações, o sistema mantém um arquivo sequencial para registrar todas as operações de transação que afetam os valores dos itens de banco de dados. Tecnicamente esse arquivo é denominado:a) idb) bugc) logd) dumpe) help

Concurso BanPará (2013) - Técnico em informática com foco em banco de dados.

ExplicandoTodos os SGBDs que trabalham com o conceito de transação utilizam, de uma forma ou de outra, um arquivo para o armazenamento das informações relacionadas às transações com que o banco de dados lida.

No SQL Server chama seus arquivos de Transaction Log, enquanto o Oracle utiliza o termo Redo Log Files.

Agora...

...vamos entender melhor de transações...

TransaçõesTransação é uma unidade lógica e atômica que contém uma ou mais instruções SQL. Uma transação impõem que uma ou nenhuma das intruções seja efetuada, respeitando assim as propriedades ACID.

http://docs.oracle.com/cd/E11882_01/server.112/e10713/transact.htm#CNCPT016

PerguntaQuestão 37) As transações devem possuir várias propriedades para garantir a integridade, normalmente chamadas propriedades ACID. A sigla ACID representa as seguintes propriedades:a) Atomicidade – consistência – isolamento – durabilidadeb) Aceitação – considerabilidade – isolamento – durabilidadec) Atomicidade – consistência – impolidez – defasagemd) Aceitação – consistência – isolamento – defasageme) Atomicidade – considerabilidade – impolidez – durabilidade

Concurso BanPará (2013) - Técnico em informática com foco em banco de dados.

RespostaQuestão 37) As transações devem possuir várias propriedades para garantir a integridade, normalmente chamadas propriedades ACID. A sigla ACID representa as seguintes propriedades:a) Atomicidade – consistência – isolamento – durabilidadeb) Aceitação – considerabilidade – isolamento – durabilidadec) Atomicidade – consistência – impolidez – defasagemd) Aceitação – consistência – isolamento – defasageme) Atomicidade – considerabilidade – impolidez – durabilidade

Concurso BanPará (2013) - Técnico em informática com foco em banco de dados.

ACIDAtomicidade: transação como algo que não pode ser dividido. A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhum resultado deve ser refletido sobre a base de dados em caso de falha;Consistência: diz que a execução de uma transação deve levar o banco de dados de um estado consistente a outro estado consistente, ou seja, uma transação deve respeitar as regras de integridade dos dados;Isolamento: agrupa um conjunto de técnicas que tentam evitar que transações paralelas interfiram umas nas outras, fazendo com que o resultado de várias transações em paralelo gere o mesmo resultado destas quando as transações forem executadas de forma serializada, ou seja, uma após a outra;Durabilidade: foca em como os efeitos de uma transação finalizada com sucesso (commit) devem ser persistidos no banco de dados mesmo quando acontecer alguma falha após a transação ter sido finalizada. A durabilidade também garante que os dados estarão disponíveis após o término da transação.

Isolamento

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;ALTER SESSION SET ISOLATION_LEVEL = READ COMMITTED;

Isolamento

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;ALTER SESSION SET ISOLATION_LEVEL = READ COMMITTED;

Dirty Read

Dirty Read

Non-repeatable Reads

Non-repeatable Reads

Phantom Reads

Phantom Reads

PerguntaConsidere os seguintes comportamentos em transações de banco de dados:

- Dirty Read

- Nonrepeatable Read

- Phantom Read

O(s) comportamento(s) possível(eis) no nível de isolamento READ COMMITTED do padrão SQL-92 é(são):

a) Nonrepeatable Read, somente.

b) Phantom Read, somente.

c) Nonrepeatable Read e Phantom Read, somente.

d) Dirty Read e Nonrepeatable Read, somente.

e) Dirty Read, Nonrepeatable Read e Phantom Read.

CESGRANRIO - 2007 - REFAP SA - Analista de Sistemas Junior

RespostaConsidere os seguintes comportamentos em transações de banco de dados:

- Dirty Read

- Nonrepeatable Read

- Phantom Read

O(s) comportamento(s) possível(eis) no nível de isolamento READ COMMITTED do padrão SQL-92 é(são):

a) Nonrepeatable Read, somente.

b) Phantom Read, somente.

c) Nonrepeatable Read e Phantom Read, somente.

d) Dirty Read e Nonrepeatable Read, somente.

e) Dirty Read, Nonrepeatable Read e Phantom Read.

CESGRANRIO - 2007 - REFAP SA - Analista de Sistemas Junior

SQL (Structured Query Language)

DDL (Data Definition Language)DCL (Data Control Language)DML (Data Manipulation Language)DTL (Data Transaction Language)DQL (Data Query Language)

PerguntaQuestão 21) A linguagem SQL é dividida em subconjuntos, de acordo com as operações que queremos efetuar sobre um banco de dados. Os comandos básicos da DCL, pertencente ao subconjunto do SQL, são:a) REVOKE e DROPb) CREATE e DROPc) CREATE e GRANTd) GRANT e REVOKEe) CREATE e REVOKE

Concurso BanPará (2013) - Técnico em informática com foco em banco de dados.

SQLDDL (Data Definition Language): Contém os comandos para criação, alteração e exclusão de objetos do banco de dados. Estes comandos começam com as palavras chaves CREATE, ALTER e DROP;DCL (Data Control Language): Contém os comandos que manipulam permissões de acesso aos objetos. Este grupo contém os comandos GRANT, DENY e REVOKE;DML (Data Manipulation Language): Os comandos DML são os mais utilizados porque eles permitem a manipulação de dados (consulta, inclusão, alteração e exclusão). Os comandos deste grupo começam com SELECT, INSERT, UPDATE e DELETE;

DTL (Data Transaction Language): Comandos para trabalhar com transações, como BEGIN WORK, COMMIT E ROLLBACK;

DQL (Data Query Language)- Linguagem para consulta de dados.

RespostaQuestão 21) A linguagem SQL é dividida em subconjuntos, de acordo com as operações que queremos efetuar sobre um banco de dados. Os comandos básicos da DCL, pertencente ao subconjunto do SQL, são:a) REVOKE e DROPb) CREATE e DROPc) CREATE e GRANTd) GRANT e REVOKEe) CREATE e REVOKE

Concurso BanPará (2013) - Técnico em informática com foco em banco de dados.

Referênciashttp://docs.oracle.com/cd/B28359_01/server.111/b28318/consist.htm#CNCPT1321http://docs.oracle.com/cd/E11882_01/server.112/e10713/transact.htm#CNCPT016http://www.devmedia.com.br/concurso-banpara-questoes-resolvidas/30165http://en.wikipedia.org/wiki/Isolation_(database_systems)

ContatoJann Claude Mousquer

jannclaude@gmail.comlinkedin.com/in/janncmgithub.com/janncmslideshare.net/JannClaudeMousquer