Buscar

Aula 02 - Banco de dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Banco de Dados 1 • Aula 02
Claudio Lobo Banco de Dados 1 Slide 2
Objetivos
• C03. - Conhecer e Comparar os principais modelos de 
organização de bancos de dados.
– C03H5. Identificar os principais modelos de organização de 
bancos de dados;
– C03H6. Ser capaz de escolher o melhor modelo para uma 
aplicação.
• C02. Entender o conceito de sistema gerenciador de 
banco de dados.
– C02H3. Compreender as definições relativas a SGBD;
– C02H4. Compreender o conceito de transação em um SGBD.
Claudio Lobo Banco de Dados 1 Slide 3
Introdução
• A criação do modelo conceitual de dados é um passo 
fundamental no desenvolvimento de qualquer sistema 
de Banco de Dados.
• Quanto melhor for feita a modelagem, o BD resultante 
vai suportar com maior facilidade os requisitos atuais e 
as reestruturações futuras que forem necessárias.
• O modelo conceitual é um modelo:
– Lógico
– Abstrato
– Independente de qualquer implementação.
Claudio Lobo Banco de Dados 1 Slide 4
Introdução
• Os diferentes modelos de bancos de dados
– Os bancos de dados apareceram no fim dos anos 60.
– Era uma época em que a necessidade de um sistema de 
gestão da informação flexível se fazia sentir. 
– Existem cinco modelos de SGBD, diferenciados de acordo com 
a representação dos dados que contêm:
• Hierárquico
• De Rede
• Relacional
• Orientado a Objeto
• Existe uma grande diferença na capacidade de 
modelagem dos vários modelos de BD existentes.
Claudio Lobo Banco de Dados 1 Slide 5
Modelos de Organização de BD
• Hierárquico
– Foi o 1º modelo reconhecido.
– Os dados estão estruturados em hierarquias ou árvores.
– As árvores são percorridas desde a raiz até ao nó que contém 
o registo pretendido, para ser efetuado o acesso ao dado.
– É adequado para acesso sequencial a dados, principalmente 
em casos em que, pela sua natureza, os dados estão 
organizados de forma sequencial.
– O registo que, numa hierarquia, precede outros, é chamado 
registro pai dos outros registos (registros filhos).
• Cada filho só pode ter um pai.
• O relacionamento entre um registo pai e registos filhos é de 
1:N no máximo.
Claudio Lobo Banco de Dados 1 Slide 6
Modelos de Organização de BD
• Hierárquico
Cliente
Encomenda 2
Produto A
Encomenda 1 Encomenda 3
Produto B Produto C Produto A Produto B Produto B Produto C
Claudio Lobo Banco de Dados 1 Slide 7
Modelos de Organização de BD
• Hierárquico
• Consultas realizadas "por faixas"
Cliente
Encomenda 2
Produto A
Encomenda 1 Encomenda 3
Produto B Produto C Produto A Produto B Produto B Produto C
Claudio Lobo Banco de Dados 1 Slide 8
Modelos de Organização de BD
• Hierárquico
– Problemas
• Não é possível consultar 
um produto enquanto 
ele não estiver associado
a uma encomenda.
• Para consultar um produto, é obrigatório consultar antes o 
cliente e a encomenda.
• Quando um produto é encomendado, ele é cadastrado 
novamente (redundância).
– Para contornar isso, usam-se hierarquias paralelas.
• A estrutura da árvore é difícil de manter quando o volume 
de dados aumenta. 
Claudio Lobo Banco de Dados 1 Slide 9
Modelos de Organização de BD
• Em Rede
– É uma extensão do modelo hierárquico.
– Elimina o conceito de hierarquia.
• Cada registro filho pode ser ligado a mais de um registro 
pai, criando conexões bastante complexas
– No modelo em rede os registos estão organizados em grafos.
– É possível representar relacionamentos:
• 1:1
• 1:n
• n:n
– Torna a pesquisa mais rápida e mais flexível, pois não 
depende de um único nó raiz como vetor de inicialização de 
pesquisa.
Claudio Lobo Banco de Dados 1 Slide 10
Modelos de Organização de BD
• Em Rede
Cliente
Conta Agência
João
Conta: 1234-5 Agência: 045-X
Maria
Conta: 9876-5
Claudio Lobo Banco de Dados 1 Slide 11
Modelos de Organização de BD
• Em Rede
– Ao contrário do Modelo Hierárquico, em que qualquer acesso 
aos dados passa pela raiz, no modelo em rede é possível 
acessar qualquer nó da rede.
• Problemas
– Ainda apresenta os mesmos problemas com relação ao projeto 
de estrutura do modelo hierárquico. 
– Qualquer alteração feita em uma classe de dados implica na 
criação de uma nova estrutura para suportar aquela alteração.
• Independência dos dados fica prejudicada. 
Claudio Lobo Banco de Dados 1 Slide 12
Modelos de Organização de BD
• Relacional
– Proposto por Ted Cold da IBM Research em 1990.
• Artigo intitulado ‘Um Modelo Relacional de Dados para 
Grandes Bancos de Dados Compartilhados’,
• Atraiu atenção imediata devido a sua simplicidade e base 
matemática.
– Surgiu devido às seguintes necessidades
• Aumentar a independência de dados nos sistemas 
gerenciadores de banco de dados.
• Prover um conjunto de funções apoiadas em álgebra 
relacional para armazenamento e recuperação de dados.
• Permitir processamento dedicado, exclusivo.
Claudio Lobo Banco de Dados 1 Slide 13
Modelos de Organização de BD
• Relacional
– Este Modelo seria mais flexível e apropriado ao solucionar os 
vários problemas que se colocam no nível da compreensão e 
implementação da base de dados.
– É um modelo padrão usado para aplicações comerciais, 
devido à sua simplicidade e desempenho.
• Implementaram este modelo: System R (IBM), DB2 (IBM), 
SQL-DS (IBM), Oracle, Informix, Ingres, Sybase, entre 
outros.
Claudio Lobo Banco de Dados 1 Slide 14
Modelos de Organização de BD
• Relacional
– Representa os dados num BD como uma coleção de tabelas 
(relações). 
• A tabela é composta por linhas (tuplas) e colunas 
(atributos).
– Todos os valores de uma coluna são do mesmo tipo de 
dados.
Nome Endereço Tel CEP
João SHS, Lote 5 32267012 23786632
Maria QNE 23, Bloco X 32263527 70227184
... ... ... ...
Pedro QNA 21, Lote 3 33322732 71266382
Tupla =>
Atributo
Valores do 
mesmo tipo
Claudio Lobo Banco de Dados 1 Slide 15
Modelos de Organização de BD
• Relacional
– Princípios matemáticos: 
• Uma relação é um subconjunto de um produto cartesiano 
de uma lista de domínios.
– Cada relação é um conjunto de linhas (tuplas) e colunas 
(atributos)
• Um BD é um conjunto de relações.
Claudio Lobo Banco de Dados 1 Slide 16
Modelos de Organização de BD
• Relacional
– Aspectos do Modelo RELACIONAL
• Estrutural
– O modelo é manipulado por meio de tabelas.
• Integridade
– As tabelas devem satisfazer a certas restrições de 
integridade (regras do negócio, chaves).
• Manipulativo
– Os operadores derivam tabelas de tabelas (ex: 
restrição, projeção e junção)
Claudio Lobo Banco de Dados 1 Slide 17
Modelos de Organização de BD
• Relacional
– Um banco de dados relacional é representado como uma 
coleção de relações, onde:
• Relação: é um conjunto de linhas, chamadas de tuplas.
• Tupla: é uma lista de valores de atributos.
– Cada valor de atributo é retirado de um domínio de 
possíveis valores. 
• Atributo: corresponde a uma coluna da tabela.
• Domínio: é um conjunto de valores atômicos.
– Cada valor no domínio é indivisível. (Nulo= 
desconhecido ou não existe)
• Grau: é o número de atributos.
Claudio Lobo Banco de Dados 1 Slide 18
Modelos de Organização de BD
• Relacional
– Um banco de dados relacional é representado como uma 
coleção de relações, onde:
• Esquema do banco de dados: é uma coleção de esquemas 
de relações. 
– Conjunto das descrições das relações em um banco de 
dados.
• Instância do banco de dados: conjunto de dados de um 
banco de dados em um determinado instante.
Claudio Lobo Banco de Dados 1 Slide 19
Modelos de Organização de BD
• Relacional
Nome Endereço Sexo Tel CEP
Caracter Caracter M, F Numérico Numérico
Nome Endereço Sexo Tel CEP
João SHS, Lote 5 M 32267012 23786632
Maria QNE23, Bloco X F 32263527 70227184
... ... ... ... ...
Pedro QNA 21, Lote 3 M 33322732 71266382
Tuplas Relação
Grau
Atributos
Domínios
Claudio Lobo Banco de Dados 1 Slide 20
Modelos de Organização de BD
• Relacional
– Não aparecem as anomalias de alteração que existem na 
abordagem hierárquica.
– A independência dos dados aumenta, pois programas não são 
influenciados pela presença/ausência de caminhos de acesso.
Claudio Lobo Banco de Dados 1 Slide 21
Modelos de Organização de BD
• Orientado a Objetos
– A técnica da Orientação a Objetos (OO) está cada vez mais 
popular para projetar e implementar sistemas de natureza 
variada. 
– Com relação a bancos de dados, essa técnica tem sido 
empregada, com predominância, nos casos onde os dados 
envolvidos na aplicação considerada apresentam estrutura 
complexa.
Claudio Lobo Banco de Dados 1 Slide 22
Modelos de Organização de BD
• Orientado a Objetos
– Diferença entre os modelos de dados tradicionais (relacional, 
hierárquico e em redes) e os modelos de dados orientados a 
objetos:
• A maneira como eles veem os dados.
– Os modelos de dados tradicionais veem os dados como uma 
coleção de tipos de registros ou relações, cada um tendo uma 
coleção de registros ou tuplas armazenadas em um arquivo. 
– No modelo de dados orientado a objetos, um banco de dados 
é uma coleção de objetos do mundo real.
Claudio Lobo Banco de Dados 1 Slide 23
Modelos de Organização de BD
• Orientado a Objetos
– Embora a informação sobre objetos complexos do mundo real 
possa ser traduzida em tabelas relacionais, a meta dos bancos 
de dados orientados a objetos é manter uma correspondência 
direta entre os objetos do mundo real e os do banco de dados, 
podendo estes serem identificados e manipulados como um 
todo. 
• Representar um objeto complexo no modelo relacional 
significa subdividir o objeto em um grande número de 
tuplas.
– Leva à necessidade de realizar um considerável 
número de operações de junção para recuperar o 
objeto.
Claudio Lobo Banco de Dados 1 Slide 24
Transações
• Sistemas monousuário versus multiusuário
– Um critério para classificar um SGBD é o número de usuários 
que podem usar o sistema ao mesmo tempo. 
• Um SGBD é monousuário se no máximo um usuário de 
cada vez pode utilizar o sistema
• Um SGBD é multiusuário se muitos usuários puderem 
acessar o banco de dados simultaneamente.
Claudio Lobo Banco de Dados 1 Slide 25
Transações
• Sistemas monousuário versus multiusuário
– Os SGBDs monousuário são principalmente restritos a 
sistemas de computador pessoal.
– A maioria dos outros SGBDs é multiusuário.
• Podem acessar os bancos de dados e usar sistemas de 
computação simultaneamente devido ao conceito da 
multiprogramação.
– A multiprogramação permite que o sistema operacional 
do computador execute vários programas (ou 
processos) ao mesmo tempo.
» De forma intercalada (apenas uma CPU).
» De forma realmente paralela (múltiplas CPU).
Claudio Lobo Banco de Dados 1 Slide 26
Transações
• Exemplos de sistemas multiusuários:
– Reservas de passagens aéreas.
– Bancários.
– Cartões de Crédito.
– Compras on-line.
– Caixas de supermercado.
• Exigem alta resposta e alta disponibilidade.
Claudio Lobo Banco de Dados 1 Slide 27
Transações
• Uma transação é um programa em execução que forma 
uma unidade lógica de processamento de banco de 
dados.
– Inclui uma ou mais operações de acesso ao banco de dados.
• Ex.: operações de inserção, exclusão, modificação ou 
recuperação.
• Uma transação deve ser concluída por inteiro para 
ganhar a exatidão que se espera dela.
• A transação pode ser embutida em programas 
(aplicações) ou serem interativas (em uma linguagem 
de consulta como o SQL).
Claudio Lobo Banco de Dados 1 Slide 28
Transações
• Uma transação é limitada pelas instruções explícitas 
BEGIN TRANSACTION e END TRANSACTION.
– Todas as operações contidas dentro do bloco especificado por 
essas instruções são consideradas uma única transação.
• Principais necessidades de uma transação:
– Controle de Concorrência.
– Mecanismo de Recuperação.
Claudio Lobo Banco de Dados 1 Slide 29
Transações
• Controle de Concorrência.
– Vários problemas podem acontecer quando transações 
simultâneas são executadas de uma maneira descontrolada.
– Ex.: Supondo um BD de reservas aéreas muito simplificado, 
em que um registro é armazenado para cada voo.
• Cada registro inclui o número de assentos reservados 
nesse voo.
• Os assentos podem ser transferidos entre voos.
Claudio Lobo Banco de Dados 1 Slide 30
Transações
• Controle de Concorrência.
– Problema da atualização perdida
• Ocorre quando duas transações que acessam o mesmo 
item do BD têm suas operações intercaladas, tornando 
alguns valores incorretos.
• Se V1 tiver o valor inicial de 100, ficará com o valor final de 
70, em vez de 90.
Tempo
Transação 1 Transação 2
1 Ler (V1)
2 V1= V1 - 10 Ler (V1)
3 V1 = V1 - 30
4 Grave (V1)
5 Grave (V1)
Claudio Lobo Banco de Dados 1 Slide 31
Transações
• Controle de Concorrência.
– Problema da atualização temporária
• Ocorre quando a transação atualiza um item e depois falha, 
por algum motivo. Nesse meio tempo, o item é lido por 
outra transação, antes de ter seu valor alterado de volta.
• Se V1 tiver o valor inicial de 100, ficará com o valor final de 
100 (ROLLBACK), em vez de 60.
Tempo
Transação 1 Transação 2
1 Ler (V1)
2 V1= V1 - 10
3 Grave (V1)
4 FALHA! Ler (V1)
5 V1 = V1 - 30
6 Grave (V1)
Claudio Lobo Banco de Dados 1 Slide 32
Transações
• Controle de Concorrência.
– Problema do resumo incorreto
• Ocorre quando a transação realiza cálculos sobre dados 
que estão sendo atualizados por outras transações. 
• Pode ocorrer que o cálculo seja feito parte sobre dados que 
já foram atualizados e parte sobre dados que ainda não 
foram, deixando a resposta incorreta.
Claudio Lobo Banco de Dados 1 Slide 33
Transações
• Mecanismos de recuperação
– Sempre que uma transação é submetida a um SGBD para 
execução, o sistema é responsável por garantir que:
• Todas as operações na transação sejam concluídas com 
sucesso e seu efeito seja registrado permanentemente no 
banco de dados
• Ou que a transação não tenha qualquer efeito no banco de 
dados ou quaisquer outras transações.
Claudio Lobo Banco de Dados 1 Slide 34
Transações
• Mecanismos de recuperação
– Tipos de falhas. As falhas geralmente são classificadas como 
falhas de transação, sistema e mídia. Existem vários motivos 
possíveis para uma transação falhar no meio da execução:
• Uma falha do computador (falha do sistema).
• Um erro de transação ou do sistema.
• Erros locais ou condições de exceção detectadas pela 
transação.
• Imposição de controle de concorrência.
• Falha de disco.
• Problemas físicos e catástrofes.
Claudio Lobo Banco de Dados 1 Slide 35
Transações
• Propriedades desejáveis
– As transações devem possuir várias propriedades, 
normalmente chamadas propriedades ACID.
• Atomicidade.
• Preservação da consistência.
• Isolamento.
• Durabilidade ou permanência.
– Elas devem ser impostas pelos métodos de controle de 
concorrência e recuperação do SGBD.
Claudio Lobo Banco de Dados 1 Slide 36
Transações
• Propriedades desejáveis
– Atomicidade.
• A transação se realiza como um todo ou não se realiza.
– Preservação da consistência.
• Se a transação for executada do começo ao fim, sem a 
interferência de outras transações, o BD deve ser levado de 
um estado de consistência a outro.
– Isolamento.
• A execução de uma transação não deve ser interferida por 
outras que executam simultaneamente.
– Durabilidade ou permanência.
• As mudanças feitas pela transação completada devem 
persistirno BD.
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36

Outros materiais