A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SCC Bancos de Dados e Suas Aplicações

Apresentações semelhantes


Apresentação em tema: "SCC Bancos de Dados e Suas Aplicações"— Transcrição da apresentação:

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

2 Tópicos da aula Evolução dos Sistemas de Informação Conceitos Básicos
SGBDs Histórico Informatização começou pela automatização de tarefas manuais. A tecnologia de gerenciamento de arquivos inicialmente utilizada não responde às necessidades. Necessidade de tecnologia que reduza tempo de desenvolvimento e facilite a manutenção. A tecnologia de base de dados vai tentar responder a dois objetivos: encontrar um forma mais natural de pensar os sistemas de informação; acelerar o processo de desenvolvimento de novos sistemas e facilitar a sua manutenção. 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 USP – ICMC - GBDI

4 Dados Aplicações Arquivo 1 Arquivo 2 Arquivo 3
Sistemas desenvolvidos de forma autônoma por cada nova aplicação. Definiam-se novas estruturas de dados e programas por cada aplicação. Os mesmos dados são armazenados em arquivos diferentes. Dados são atualizados independentemente o que leva a incoerências.

5 PROBLEMA????? Dados Aplicações Arquivo 1 Arquivo 2 Arquivo 3
Sistemas desenvolvidos de forma autônoma por cada nova aplicação. Definiam-se novas estruturas de dados e programas por cada aplicação. Os mesmos dados são armazenados em arquivos diferentes. Dados são atualizados independentemente o que leva a incoerências.

6 Arquivos de Dados de Vendas Arquivos de Dados de Compras
REDUNDÂNCIA Arquivos de Dados de Produção Arquivos de Dados de Vendas Arquivos de Dados de Compras Produtos Aplicação de Produção Aplicação de Vendas Aplicação de Compras

7 Arquivos de Dados de Vendas
REDUNDÂNCIA INCONSISTÊNCIA Aplicação de Produção Aplicação de Vendas Nome: Notebook NroSerie: Fabricante: Y Insere: Nome: Notebook NroSerie: Fabricante: X Insere: Arquivos de Dados de Produção Arquivos de Dados de Vendas Produtos Produtos

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 dificuldade de acesso aos dados: são necessárias aplicações para recuperar os dados isolamento: dados dispersos e em formato diferentes 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 99 16 USP – ICMC - GBDI

12 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 Uma aplicação que utilize um determinado arquivo (ou estrutura de dados) tem que ter uma interface física com esse arquivo. Uma alteração no arquivo tem que ser propagada por todas as aplicações que o utilizam. O acesso concorrente dos dados é um problema a ser resolvido pelas aplicações, o que prejudica a confiabilidade dos dados. Por estas razões estes sistemas evitam partilhar dados, tendem a ser autônomos. 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 99 16 Sistema Gerenciador de Dados Compartilhados Aplicação 1 Aplicação 2 USP – ICMC - GBDI

14 Independência dos Dados
Sistema de Gerenciamento de Bases (ou Banco) de Dados SGBD 15 46 63 81 97 99 16 SGBD Aplicação 1 Aplicação 2 Os dados são organizados num único conjunto. Todos os acessos físicos aos dados passam a ser feitos pelo SGBD. USP – ICMC - GBDI

15 Independência dos Dados
Conceitos de abstração e interface Sistema de Gerenciamento de Bases (ou Banco) de Dados SGBD 15 46 63 81 97 99 16 SGBD Aplicação 1 Aplicação 2 Os dados são organizados num único conjunto. Todos os acessos físicos aos dados passam a ser feitos pelo SGBD. 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 USP – ICMC - GBDI

18 SGBD Aplicação Aplicação Aplicação Esquema - Definição
da base de dados Instância – Base de dados

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 Nome: Joaquim Pereira Cargo: Faxineiro Salário:R$ ,00 Arquivos de Dados ????? Integridade - uma base de dados está num estado de integridade se contem apenas dados válidos, isto é, que não contradizem a realidade que estão a representar, antes a refletem corretamente. A manutenção da integridade pressupõe proteger a BD de acessos inválidos por parte dos utilizadores autorizados, impedindo-os de executar operações que ponham em risco a correção dos dados. Apenas as operações de atualização da BD (inserção, alteração ou remoção de dados) podem comprometer a integridade. As operações de atualização são governadas por um conjunto de regras – 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. Restrições de Integridade!!! 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 Integridade - uma base de dados está num estado de integridade se contem apenas dados válidos, isto é, que não contradizem a realidade que estão a representar, antes a refletem corretamente. A manutenção da integridade pressupõe proteger a BD de acessos inválidos por parte dos utilizadores autorizados, impedindo-os de executar operações que ponham em risco a correção dos dados. Apenas as operações de atualização da BD (inserção, alteração ou remoção de dados) podem comprometer a integridade. As operações de atualização são governadas por um conjunto de regras – 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 Controle da concorrência - relaciona-se com a coordenação da partilha dos dados por várias aplicações e usuários. — A unidade base do controle de concorrência é a transação. — Transação - conjunto de ações originadas por um usuário ou aplicação que, como um todo, acessam a uma BD para consultar ou modificar o seu conteúdo. — Uma transação só pode ser executada na totalidade – ou todas as ações ou nenhuma. — Exemplo: transferência de valores entre duas contas bancárias. 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 SGBD Os componentes funcionais do SGBD:
Banco de Dados Processador de Consultas SGBD Gerenciador de Armazenamento Dados e Metadados Os componentes funcionais do SGBD: componentes de processamento de consultas componentes de gerenciamento de armazenamento 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 Modelagem: modelo entidade/relacionamento Definição: SQL, subconjunto DDL Instanciação: SQL, subconjuntos DDL/DML Uso: SQL, subconjunto DML USP – ICMC - GBDI

28 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

29 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

30 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

31 Componentes de um SGBD Conceitos importantes (cont.):
Data 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) USP – ICMC - GBDI

33 Processador de Consultas
Programadores de aplicações Usuários Sofisticados DBAs Usuários Finais Interfaces de aplicação Aplicações Consulta (Query) Esquema de BD SGBD 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 Processador de Consultas Gerenciador de Transações Gerenciador de Buffer Programas de aplicações: comandos DML precedidos por caracter especial – precompilador extrai comandos DML, interage com o Compilador DML, gera código apropriado (chamada de procedimento) e envia ao compilador da linguagem hospedeira. Gerenciador de Arquivos Gerenciador de Armazenamento

34 SGBD [Silbesrchats] Programas de Aplicações em Código Objeto
Pré-compilador de Comandos DML Compilador DML Interpretador DDL Componente de execução de consultas Processador de Consultas Gerenciador de Transações Gerenciador de Buffer Gerenciador de Arquivos Gerenciador de Armazenamento Índices Dados Estatísticos Dicionário de Dados [Silbesrchats] Arquivos de Dados

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) The IBM 305 RAMAC, publicly announced on September 13, 1956, was the first commercial computer that used a moving head hard disk drive (magnetic disk storage) for secondary storage. RAMAC stood for "Random Access Method of Accounting and Control". Its design was motivated by the need for real-time accounting in business. The IBM 350 disk system stored 5 million 8-bit (7-bits plus 1 odd parity bit) characters. It had fifty 24-inch-diameter (610 mm) disks. 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 CODASYL: Conference on Data Systems Languages – usado para se referir a certos sistemas de (de rede) pré-relacionais IMS: Information Management System 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) Hierarchical databases were blown away by relational versions because it was difficult to model a many-to-many relationship - the very basis of the hierarchical model is that each child element has only one parent element. Hierarchical databases fell out of favor with the advent of relational databases due to their lack of flexibility because it wouldn’t easily support data access outside the original design of the data structure. For example, in the customer-order schema you could only access an order through a customer, you couldn’t easily find all the orders that included the sale of a widget because the schema isn’t designed to all that. Despite all the drawbacks of hierarchical databases, there are some specific applications where they fit nicely. Some good candidates for hierarchical databases are- White pages" information, User credential & security group information, Network configuration and service policies, Application deployment policies etc. 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 SQL surgiu de projetos vinculados ao Sistema R. Em 1980’s SQL se tornou um padrão. Padrão atual: SQL-99 USP – ICMC - GBDI

39 Cronologia Década de 1990 em diante: SGBDs orientados a objetos
ObjectStore Objectivity/DB Jasmine SGBDs objeto-relacionais Oracle8, Oracle9, Oracle10g, Oracle 11g PostGreSQL Informix USP – ICMC - GBDI

40 Sugestão de leitura Capítulos introdutórios dos livros citados na bibliografia básica da disciplina USP – ICMC - GBDI


Carregar ppt "SCC Bancos de Dados e Suas Aplicações"

Apresentações semelhantes


Anúncios Google