Aula01_Introducao

Propaganda
SCC0141 - Bancos de Dados e
Suas Aplicações
Prof. Jose Fernando Rodrigues Junior
Material original: Elaine Parros Machado de Sousa
Introdução
Tópicos da aula




Evolução dos Sistemas de Informação
Conceitos Básicos
SGBDs
Histórico
USP – ICMC - GBDI
2
Evolução dos Sistemas de
Informação

Sistemas de Informação
gerenciamento de arquivos



baseados
em
programas e arquivos orientados a cada unidade
organizacional
rotinas específicas para tarefas específicas
dados armazenados em disco, usando uma
determinada estrutura de dados
USP – ICMC - GBDI
3
Dados
Aplicações
Arquivo 1
Arquivo 2
Arquivo 3
Dados
Aplicações
Arquivo 1
PROBLEMA?????
Arquivo 2
Arquivo 3
REDUNDÂNCIA
Aplicação de
Produção
Arquivos de Dados
de Produção
Produtos
Aplicação de
Vendas
Aplicação de
Compras
Arquivos de Dados
de Vendas
Arquivos de Dados
de Compras
Produtos
Produtos
REDUNDÂNCIA
Aplicação de
Produção
INCONSISTÊNCIA
Aplicação de
Vendas
Insere:
Insere:
Nome: Notebook
NroSerie:1111111
Nome: Notebook
NroSerie:1111111
Fabricante: Y
Fabricante: X
Arquivos de Dados
de Produção
Produtos
Arquivos de Dados
de Vendas
Produtos
Consistência de Dados

Dados em estado inconsistente
informações incorretas ou
contraditórias são fornecidas aos
usuários
USP – ICMC - GBDI
8
Consistência de Dados


Consistência é “estado ou caráter do que é
coerente, do que tem solidez, veracidade,
credibilidade, estabilidade, realidade”.
Consistência: se determinada informação é
replicada (redundância), seu valor é sempre o
mesmo
USP – ICMC - GBDI
9
SIs baseados em arquivos
Problemas?






Redundância e inconsistência de dados
Dificuldade de acesso aos dados
Isolamento de dados
Anomalias no acesso concorrente
Segurança
USP – ICMC - GBDI
10
Além disso...


SIs baseados em arquivos  dados gravados em
disco usando ESTRUTURAS DE DADOS
Acesso requer conhecimento destas estruturas 
DEPENDÊNCIA DE DADOS.
USP – ICMC - GBDI
15
15
46
63
81
97
16

99
11
Dependência dos Dados


Vários programas compartilhando os mesmos
dados  todos devem conhecer e manipular
as mesmas estruturas
E se houver uma alteração na estrutura de
dados?
TODOS OS PROGRAMAS TERÃO QUE SER ALTERADOS
USP – ICMC - GBDI
12
Independência dos Dados

Como tornar os programas
INDEPENDENTES da estrutura de dados?
CRIANDO UM SISTEMA QUE GERENCIE A ESTRUTURA
Aplicação 1
Sistema
Gerenciador de
Dados
Compartilhados
15
46
63
81
97
15
16

99
Aplicação 2
USP – ICMC - GBDI
13
Independência dos Dados
Sistema de Gerenciamento de Bases (ou Banco) de Dados
SGBD
Aplicação 1
SGBD
15
46
63
81
15
16
97
99

Aplicação 2
USP – ICMC - GBDI
14
Independência dos Dados
Sistema de Gerenciamento
de Basese(ou
Banco) de Dados
Conceitos de abstração
interface
SGBD
Aplicação 1
SGBD
15
46
63
81
15
16
97
99

Aplicação 2
USP – ICMC - GBDI
15
SGBD
Sistema de Gerenciamento de Bases de Dados

conjunto de dados


base (banco) de dados
conjunto de programas para acesso e manipulação
dos dados
USP – ICMC - GBDI
16
SGBD

Sistema de propósito geral

armazenar grandes volumes de dados

permitir busca e atualização dos dados


eficiência
Manutenção de um conjunto lógico e organizado
de dados

completamente autônomo em relação às aplicações
USP – ICMC - GBDI
17
Aplicação
Aplicação
Aplicação
SGBD
Esquema - Definição
da base de dados
Instância –
Base de dados
SGBDs

Requisitos Fundamentais:

Segurança


Física (mais comum no passado)
Lógica

Usernames e passwords

Perfis de usuário
USP – ICMC - GBDI
19
SGBDs

Requisitos Fundamentais

(cont):
Integridade


consistência
validade
Nome: Joaquim Pereira
Cargo: Faxineiro
Salário:R$ 230.000,00
Arquivos de
Dados
?????
Restrições de Integridade!!!
USP – ICMC - GBDI
20
SGBDs

Requisitos Fundamentais



(cont):
Integridade - se contem apenas dados válidos, que
não contradizem a realidade que estão a representar.
Restrições de integridade, que definem o que é
válido e o que não é válido. Exemplos:
– um funcionário não pode pertencer a mais do que um
departamento
– o preço de venda de um produto deverá ser superior ao seu
custo.
– a referência de cada produto deve ser única
USP – ICMC - GBDI
21
SGBDs

Requisitos Fundamentais

Recuperação / Tolerância a falhas

Transações atômicas


(cont):
unidades lógicas de trabalho, em geral envolvendo várias
operações

Registros de Log

Backup
Controle da concorrência

gerenciamento de transações concorrentes
USP – ICMC - GBDI
22
Por que usar SGBDs?

Vantagens:






armazenamento persistente de dados e estruturas
de dados;
INDEPENDÊNCIA DE DADOS;
CONSISTÊNCIA DE DADOS;
ABSTRAÇÃO E INTERFACE;
acesso compartilhado (multiusuário e concorrente)
à informação;
distribuição de informações
USP – ICMC - GBDI
23
Por que usar SGBDs?

Vantagens:

reduz complexidade das aplicações
segurança
controle de acesso aos dados

backup

utilização de padrões


USP – ICMC - GBDI
24
Por que usar SGBDs?

Desvantagens


Custo financeiro
Um sistema a mais a ser aprendido e gerenciado
USP – ICMC - GBDI
25
Componentes de um SGBD
SGBD
Processador de
Consultas

Gerenciador de
Armazenamento
Banco de Dados
Dados e
Metadados
Os componentes funcionais do SGBD:


componentes de processamento de consultas
componentes de gerenciamento de
armazenamento
USP – ICMC - GBDI
26
Componentes de um SGBD

Conceitos importantes:
 Pragmatismo:
primeiro
modelagem
(documentada), seguida de definição e
instanciação, e só depois o uso
1.
2.
3.
4.
Modelagem: modelo entidade/relacionamento
Definição: SQL, subconjunto DDL
Instanciação: SQL, subconjuntos DDL/DML
Uso: SQL, subconjunto DML
USP – ICMC - GBDI
27
Componentes de um SGBD

Conceitos importantes:

SQL - Data Definition Language (DDL)


conjunto de comandos para definição do esquema da
base de dados
Exemplos em linguagem SQL




create table
alter table
drop table
Compilador/Interpretador DDL
USP – ICMC - GBDI
28
Componentes de um SGBD

Conceitos importantes


(cont.):
Metadados
Dicionário de Dados:





banco de dados do sistema
armazena descrição do esquema
armazena metadados
armazena restrições de segurança e integridade
outras denominações: catálogo de dados, diretório
de dados
USP – ICMC - GBDI
29
Componentes de um SGBD

Conceitos importantes

(cont.):
SQL - Data Manipulation Language (DML)





recuperação (consulta)
inserção
remoção
modificação
DML viabiliza manipulação dos dados de maneira
compatível com o modelo de dados
USP – ICMC - GBDI
30
Componentes de um SGBD

Conceitos importantes

(cont.):
Data Manipulation Language (DML)

Exemplos em linguagem SQL





insert
select
delete
update
...
USP – ICMC - GBDI
31
Componentes de um SGBD

Conceitos importantes

Procedural vs Declarativo

Procedural: exige especificação de quais dados são necessários, e
como obtê-los



requer uma sequência específica de operações a serem executadas
ex.: linguagens de programação como C e Pascal, e a linguagem de
projeto de bancos de dados álgebra relacional
Não-Procedural (Declarativo): exige apenas especificação de
quais dados são necessários, e não de como obtê-los


(cont.):
ex: SQL
A interface dos bancos de dados é definida pela
linguagem declarativa SQL (DDL + DML)
USP – ICMC - GBDI
32
Programadores
de aplicações
Usuários Finais
Interfaces de
aplicação
Aplicações
Usuários
Sofisticados
Consulta (Query)
DBAs
Esquema de BD
SGBD
Pré-compilador
de Comandos
DML  DML
embutido no .exe
Programas de
Aplicações em
Código Objeto
Compilador
DML
Componente de
avaliação e execução de
consultas
Gerenciador de
Transações
Interpretador
DDL
Processador de Consultas
Gerenciador de
Buffer
Gerenciador de
Arquivos
Gerenciador de Armazenamento
SGBD
Programas de
Aplicações em
Código Objeto
Processador
de Consultas
Pré-compilador
de Comandos
DML
[Silbesrchats]
Interpretador
DDL
Componente de
execução de consultas
Gerenciador de
Transações
Gerenciador de
Armazenamento
Compilador
DML
Gerenciador de
Buffer
Gerenciador de
Arquivos
Índices
Arquivos de
Dados
Dados
Estatísticos
Dicionário de
Dados
Cronologia

Década de 1950:




Primeiros computadores.
Programação em linguagem de máquina
Surgimento
de
Sistemas
Operacionais
e
Linguagens de Programação
Sistemas de arquivos com acesso aleatório (não
seqüencial)

1959: Sistema RAMAC (IBM)
USP – ICMC - GBDI
35
Cronologia

Década de 1960:



CODASYL: consórcio da indústria  COBOL
Conceituação de SGBD e modelos de dados
Primeiro SGBD comercialmente disponível
Modelo Hierárquico



IMS – IBM
Integração com a linguagem COBOL
Ainda em uso corrente
USP – ICMC - GBDI
36
-
Cronologia

Década de 1970:


Proposta do Modelo Relacional
Surgimento de protótipos de SGBDR



INGRES (UC – Berkeley)
Sistema R (IBM)
Proposta do Modelo Entidade-Relacionamento
(MER)
USP – ICMC - GBDI
37
Cronologia

Década de 1980:

Primeiro SGBDR de grande porte disponível




DB2 – IBM
Surge SQL vinculada ao Sistema R
SQL torna-se padrão
Modelos Orientados a Objetos
USP – ICMC - GBDI
38
Cronologia

Década de 1990 em diante:

SGBDs orientados a objetos






O2
ObjectStore
Objectivity/DB
Jasmine
…
SGBDs objeto-relacionais



Oracle8, Oracle9, Oracle10g, Oracle 11g
PostGreSQL
Informix
USP – ICMC - GBDI
39
Sugestão de leitura

Capítulos introdutórios dos livros citados
na bibliografia básica da disciplina
USP – ICMC - GBDI
40
Download