Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Introdução...

Preview:

Citation preview

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

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

AplicaçõesAplicações

Arquivo 1

Arquivo 2

Arquivo 3

DadosDados

AplicaçõesAplicações

Arquivo 1

Arquivo 2

Arquivo 3

DadosDados

PROBLEMA?????

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

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:

USP – ICMC - GBDI 8

Consistência de Dados Dados em estado inconsistente

informações incorretas ou

contraditórias são fornecidas aos usuários

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

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

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

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

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

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

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

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

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

Esquema - Definição da base de dados

Instância – Base de dados

SGBD

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

USP – ICMC - GBDI 19

SGBDs Requisitos Fundamentais:

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

Usernames e passwords Perfis de usuário

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

?????

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

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

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

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

USP – ICMC - GBDI 25

Por que usar SGBDs?

Desvantagens Custo financeiro Um sistema a mais a ser aprendido e

gerenciado

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

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

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

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

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

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 ...

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)

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

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

]

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)

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

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)

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

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

Sugestão de leitura

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

USP – ICMC - GBDI 40

Recommended