Você está na página 1de 20

Projeto de Banco de Dados

Aula 1 - Introdução

Profa. Ana Marilza Pernas


marilza@inf.ufpel.edu.br

Bacharelado em Ciência da Computação


Universidade Federal de Pelotas
Sumário

§ Alguns conceitos básicos


§ Projeto de Banco de Dados

Projeto de Banco de Dados – CComp - UFPel 2


Introdução

§ O que é Banco de Dados?


§ Para quê estudar Banco de Dados?

Onde tudo começou...

Projeto de Banco de Dados – CComp - UFPel 3


Introdução
§ Necessidade de se criar Sistemas de Informação
§ Aumento da quantidade dos dados – Fichários!
§ Necessidade de automatização
§ Sistemas de informação eram implementados
gradativamente
§ Exemplo - empresa hipotética
§ Implementa gradativamente sistemas para:
§ Vendas
§ Produção
§ Compras
§ Onde ficam os dados de produto?

Projeto de Banco de Dados – CComp - UFPel 4


Introdução

Projeto de Banco de Dados – CComp - UFPel 5


Introdução

§ Problema: redundância de dados

§ Tipos de redundância de dados


§ Redundância controlada de dados
§ software gerencia redundância

§ Redundância não controlada de dados


§ usuário gerencia redundância

Projeto de Banco de Dados – CComp - UFPel 6


Introdução
§ Alguns problemas recorrentes ...
§ Difícil manutenção dos dados
§ Exige manutenção em mais de um lugar
§ Gera inconsistências

§ Falta de uma padronização na definição dos dados


§ Mesmo dado com o formato e tipo diferentes
§ Isolamento

§ Limitações no compartilhamento dos dados


§ Cada usuário tem os seus arquivos e programas de aplicação
§ Gera ineficiência

Projeto de Banco de Dados – CComp - UFPel 7


Introdução
§ Solução – usar um banco de dados
§ Cada informação armazenada uma única vez
§ Compartilhamento de dados
§ Gerência centralizada

§ Mas o que é um Banco de Dados??

Projeto de Banco de Dados – CComp - UFPel 8


Conceitos Básicos

§ Dado – “Dados são fatos que podem ser gravados e


possuem um significado implícito”
(Elmasri & Navathe, 2010)
§ Exemplos de dados: nomes de pessoas, seus telefones,
endereço
§ Em um contexto organizacional os dados podem ser
descritos como os registros estruturados das
transações (Davenport & Pruzac, 1997)
§ Evento: Venda de gasolina
§ Gera alguns dados: data da compra, preço, quantidade de
gasolina vendida

Projeto de Banco de Dados – CComp - UFPel 9


Conceitos Básicos

§ Dados X Informação
§ Dado. Em um processo de decisão o dado é o ponto de
partida, a entrada para o processo de interpretação
(Tautz,2000)

§ Informação. Ao contrário dos dados a informação tem


significado (Davenport & Pruzac, 1997). Informação é o
dado interpretado sendo que esta interpretação pode dar a
um dado um diferente significado (Tautz, 2000)

Projeto de Banco de Dados – CComp - UFPel 10


Conceitos Básicos
§ Banco de Dados: conjunto de arquivos integrados que
atendem a um conjunto de sistemas

§ “Uma coleção de dados relacionados”


(Elmasri & Navathe, 2010)

§ “Conjunto de dados integrados que tem por objetivo


atender a uma comunidade de usuários” (Heuser,
2009)

Projeto de Banco de Dados – CComp - UFPel 11


Conceitos Básicos
§ Exemplo
Universidade
Alunos Ctrl. Acadêmico

Disciplinas Turmas Salas Ctrl. Adm.

Professores Departamentos
Ctrl. Pessoal

Institutos Funcionários

Projeto de Banco de Dados – CComp - UFPel 12


Conceitos Básicos
§ A adoção de banco de dados gera consequências ...

§ O compartilhamento de dados tem reflexos na


estrutura do software
§ Estrutura interna dos arquivos passa a ser mais complexa
§ Devem atender às necessidades dos diferentes sistemas

§ Solução
§ Usar um sistema de gerência de banco de dados

Projeto de Banco de Dados – CComp - UFPel 13


Conceitos Básicos
§ Sistema Gerenciador de Banco de Dados (SGBD)
§ Software que incorpora as funções de definição, recuperação e
alteração de dados em um banco
§ Provê um ambiente que seja conveniente e eficiente para
recuperar informações de banco de dados

“Uma coleção de dados inter-relacionados e um conjunto de programas


para acessá-los.[...] seu principal objetivo é prover um ambiente que
seja adequado e eficiente para recuperar e armazenar informações
de banco de dados. O SGBD deve fornecer meios para que seja
feita a definição das estruturas para armazenamento, uma forma de
manipulá-las e garantir a segurança e integridade dos dados.”
(Korth; Silberschatz; Sudarshan, 2006)

Projeto de Banco de Dados – CComp - UFPel 14


SGBDs
Usuários/Programadores

Aplicações/Consultas

SGBD
Sistema Gerenciador de Banco de
Dados

Catálogo/
Banco de Dados
Metadados

Sistema de Banco de Dados


Projeto de Banco de Dados – CComp - UFPel 15
SGBDs - Vantagens
§ Dá suporte as transações feitas sobre o BD (controle de
transações)

§ Propriedades (ACID):
§ Atomicidade: Uma transação é uma unidade indivisível, não
pode ser executada parcialmente
§ Consistência: Uma transação leva o banco de um estado
consistente a outro estado também consistente
§ Isolamento: Outras transações não devem “enxergar”
alterações feitas por uma transação até que ela seja
completada
§ Durabilidade: Quando uma transação for confirmada ela deve
ser permanente não podendo ser desfeita
Projeto de Banco de Dados – CComp - UFPel 16
Exemplo - Atomicidade

Saldo da conta T1
Transferindo um valor

X = 1000
read(X)
Y = 1000
lx := lx – 500
E se a transação T1 abortar write(X)
depois de gravar X ?
read(Y)
X=500 ly := ly + 500
Y=1000 write(Y)

Inconsistente!

Projeto de Banco de Dados – CComp - UFPel 17


Exemplo - Isolamento

Saldo da conta T1
Retirada da conta
T2
Depósito na conta

X = 1000
read(X)
lx := lx – 500
Observações: read(X)
− read(X) faz a leitura do valor
lx := lx + 400
armazenado
− lx é uma variável local write(X)
− write(X) grava os dados. A partir
desta gravação os dados estão write(X)
disponíveis para outros
usuários/transações (não
necessariamente em disco)

Projeto de Banco de Dados – CComp - UFPel 18


Exemplo - Durabilidade
T1 T2
Saldo da conta Retirada da conta Extrato da conta

X = 1000 read(X)
lx := lx – 500
write(X)

read(X)

T1 ABORTOU
antes de gravar
o novo valor de
X em disco!

Projeto de Banco de Dados – CComp - UFPel 19


Referências
§ DAVENPORT, T.; H, PRUZAC, L. Working Knowledge – How
Organizations Manage What They Know. Harvard Business School
Press, 1997. p. 224

§ ELMASRI, R.; NAVATHE, S. B. Fundamentals of Database Systems.


4. ed. Addison Wesley, 2003.

§ KORTH, H. F.; SILBERSCHATZ, A.; SUDARSHAN, S. . Sistema de


Banco de Dados. 5. ed. Rio de Janeiro: Elsevier, 2006.

§ TAUTZ C. Customizing Software Engineering Experience


Management Systems to Organizational Needs. Germany: Dept of
Computer Science/University of Kaiserslautern, 2000. 232p. (Tese
de Doutorado – Doutorado em Ciências da Computação)

Projeto de Banco de Dados – CComp - UFPel 20

Você também pode gostar