prof. jose fernando rodrigues junior material original: elaine parros machado de sousa introdução...

40
Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

Upload: internet

Post on 17-Apr-2015

113 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

Prof. Jose Fernando Rodrigues Junior

Material original: Elaine Parros Machado de Sousa

Introdução

SCC0141 - Bancos de Dados e Suas Aplicações

Page 2: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 2

Tópicos da aula Evolução dos Sistemas de

Informação Conceitos Básicos SGBDs Histórico

Page 3: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 3

Evolução dos Sistemas de Informação

Sistemas de Informação baseados em gerenciamento de arquivos 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

Page 4: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

AplicaçõesAplicações

Arquivo 1

Arquivo 2

Arquivo 3

DadosDados

Page 5: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

AplicaçõesAplicações

Arquivo 1

Arquivo 2

Arquivo 3

DadosDados

PROBLEMA?????

Page 6: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

Arquivos de Dados

de Produção

Arquivos de Dados de Vendas

Arquivos de Dados de Compras

Produtos Produtos Produtos

Aplicação de Produção

Aplicação de Vendas

Aplicação de Compras

REDUNDÂNCIA

Page 7: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

Arquivos de Dados

de Produção

Arquivos de Dados de Vendas

Produtos Produtos

Aplicação de Produção

Aplicação de Vendas

REDUNDÂNCIA INCONSISTÊNCIA

Nome: Notebook NroSerie:1111111

Fabricante: Y

Insere:

Nome: NotebookNroSerie:1111111

Fabricante: X

Insere:

Page 8: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 8

Consistência de Dados Dados em estado inconsistente

informações incorretas ou

contraditórias são fornecidas aos usuários

Page 9: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 9

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

Page 10: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 10

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

Page 11: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 11

Além disso... SIs baseados em arquivos dados

gravados em disco usando ESTRUTURAS DE DADOS

Acesso requer conhecimento destas estruturas DEPENDÊNCIA DE DADOS.

15

46

63

81

97

15

99

16

Page 12: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 12

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?

Dependência dos Dados

TODOS OS PROGRAMAS TERÃO QUE SER ALTERADOS

Page 13: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 13

Independência dos Dados

Como tornar os programas INDEPENDENTES da estrutura de dados?

CRIANDO UM SISTEMA QUE GERENCIE A ESTRUTURA

15

46

63

81

97

15

99

16

SistemaGerenciador de

DadosCompartilhados

Aplicação 1

Aplicação 2

Page 14: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 14

Independência dos Dados

Sistema de Gerenciamento de Bases (ou Banco) de DadosSGBD

15

46

63

81

97

15

99

16

SGBDAplicação 1

Aplicação 2

Page 15: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 15

Independência dos Dados

Sistema de Gerenciamento de Bases (ou Banco) de DadosSGBD

15

46

63

81

97

15

99

16

SGBDAplicação 1

Aplicação 2

Conceitos de abstração e interface

Page 16: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 16

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

Page 17: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 17

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

Page 18: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

Esquema - Definição da base de dados

Instância – Base de dados

SGBD

Aplicação Aplicação Aplicação

Page 19: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 19

SGBDs Requisitos Fundamentais:

Segurança Física (mais comum no passado) Lógica

Usernames e passwords Perfis de usuário

Page 20: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 20

SGBDs Requisitos Fundamentais (cont):

Integridade consistência validade

Restrições de Integridade!!!

Nome: Joaquim PereiraCargo: FaxineiroSalário:R$ 230.000,00

Arquivos de Dados

?????

Page 21: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 21

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

Page 22: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 22

SGBDs Requisitos Fundamentais (cont):

Recuperação / Tolerância a falhas Transações atômicas

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

Page 23: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 23

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

Page 24: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 24

Por que usar SGBDs?

Vantagens: reduz complexidade das aplicações segurança controle de acesso aos dados backup utilização de padrões

Page 25: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 25

Por que usar SGBDs?

Desvantagens Custo financeiro Um sistema a mais a ser aprendido e

gerenciado

Page 26: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 26

Componentes de um SGBD

Os componentes funcionais do SGBD: componentes de processamento de

consultas componentes de gerenciamento de

armazenamento

Dados eMetadados

Processador de Consultas

Gerenciador de Armazenamento

SGBDSGBDBanco de DadosBanco de Dados

Page 27: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 27

Componentes de um SGBD

Conceitos importantes: Pragmatismo: primeiro modelagem

(documentada), seguida de definição e instanciação, e só depois o uso

1. Modelagem: modelo entidade/relacionamento

2. Definição: SQL, subconjunto DDL3. Instanciação: SQL, subconjuntos DDL/DML4. Uso: SQL, subconjunto DML

Page 28: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 28

Componentes de um SGBD

Conceitos importantes: SQL - Data Definition LanguageSQL - 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

Page 29: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 29

Componentes de um SGBD

Conceitos importantes (cont.): MetadadosMetadados Dicionário de Dados: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

Page 30: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 30

Componentes de um SGBD

Conceitos importantes (cont.): SQL - Data Manipulation LanguageSQL - 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

Page 31: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 31

Componentes de um SGBD

Conceitos importantes (cont.): Data Manipulation LanguageData Manipulation Language (DML)

Exemplos em linguagem SQL insert select delete update ...

Page 32: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 32

Componentes de um SGBD

Conceitos importantes (cont.): 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

ex: SQL

A interface dos bancos de dados é definida pela linguagem declarativa SQL (DDL + DML)

Page 33: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

Usuários FinaisProgramador

es de aplicações

Usuários Sofisticados

DBAs

Interfaces de aplicação

Aplicações Consulta (Query)

Esquema de BD

Pré-compilador de Comandos DML DML embutido no .exe

Programas de Aplicações

em Código Objeto

Compilador DML

Interpretador DDL

Componente de avaliação e execução

de consultas

Gerenciador de Buffer

Gerenciador de

Transações

Gerenciador de Arquivos Gerenciador de Armazenamento

Processador de Consultas

SGBD

Page 34: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

Pré-compilador de

Comandos DML

Programas de Aplicações

em Código Objeto

Compilador DML

Interpretador DDL

Componente de execução de

consultas

Gerenciador de Buffer

Gerenciador de

Transações

Gerenciador de Arquivos

Gerenciador de Armazenamento

Processador de Consultas

SGBD

Índices

Dados Estatísticos

Dicionário de DadosArquivos de

Dados

[Silb

esr

chats

]

Page 35: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 35

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)

Page 36: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 36

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

Page 37: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 37

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)

Page 38: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 38

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

Page 39: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

USP – ICMC - GBDI 39

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

Page 40: Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução SCC0141 - Bancos de Dados e Suas Aplicações

Sugestão de leitura

Capítulos introdutórios dos livros citados na bibliografia básica da disciplina

USP – ICMC - GBDI 40