Upload
internet
View
113
Download
0
Embed Size (px)
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