2.9k likes | 3.23k Views
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. Dados.
E N D
USP – ICMC - GBDI 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
Dados Aplicações Arquivo 1 Arquivo 2 Arquivo 3 PROBLEMA?????
Aplicação de Produção Aplicação de Vendas Aplicação de Compras Arquivos de Dados de Produção Arquivos de Dados de Vendas Arquivos de Dados de Compras Produtos Produtos Produtos REDUNDÂNCIA
Insere: Insere: Nome: Notebook NroSerie:1111111 Fabricante: Y Nome: Notebook NroSerie:1111111 Fabricante: X Produtos Produtos REDUNDÂNCIA INCONSISTÊNCIA Aplicação de Produção Aplicação de Vendas Arquivos de Dados de Produção Arquivos de Dados de Vendas
USP – ICMC - GBDI Consistência de Dados • Dados em estado inconsistente informações incorretas ou contraditórias são fornecidas aos usuários
USP – ICMC - GBDI 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 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 15 15 46 16 63 81 97 99 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 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 15 15 46 16 63 81 CRIANDO UM SISTEMA QUE GERENCIE A ESTRUTURA 97 99 Sistema Gerenciador de Dados Compartilhados Aplicação 1 Aplicação 2 Independência dos Dados • Como tornar os programas INDEPENDENTES da estrutura de dados?
USP – ICMC - GBDI 15 15 46 16 63 81 97 99 SGBD Aplicação 1 Aplicação 2 Independência dos Dados Sistema de Gerenciamento de Bases (ou Banco) de Dados SGBD
USP – ICMC - GBDI 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 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
Aplicação Aplicação Aplicação SGBD Esquema - Definição da base de dados Instância – Base de dados
USP – ICMC - GBDI SGBDs • Requisitos Fundamentais: • Segurança • Física (mais comum no passado) • Lógica • Usernames e passwords • Perfis de usuário
USP – ICMC - GBDI Arquivos de Dados Nome: Joaquim Pereira Cargo: Faxineiro Salário:R$ 230.000,00 ????? SGBDs • Requisitos Fundamentais (cont): • Integridade • consistência • validade Restrições de Integridade!!!
USP – ICMC - GBDI 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 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 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 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 Por que usar SGBDs? • Desvantagens • Custo financeiro • Um sistema a mais a ser aprendido e gerenciado
USP – ICMC - GBDI Componentes de um SGBD Banco de Dados • Os componentes funcionais do SGBD: • componentes de processamento de consultas • componentes de gerenciamento de armazenamento SGBD Processador de Consultas Gerenciador de Armazenamento Dados e Metadados
USP – ICMC - GBDI 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 Componentes de um SGBD • Conceitos importantes: • SQL - Data DefinitionLanguage (DDL) • conjunto de comandos para definição do esquema da base de dados • Exemplos em linguagem SQL • createtable • altertable • droptable • Compilador/Interpretador DDL
USP – ICMC - GBDI 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 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 Componentes de um SGBD • Conceitos importantes (cont.): • Data Manipulation Language (DML) • Exemplos em linguagem SQL • insert • select • delete • update • ...
USP – ICMC - GBDI Componentes de um SGBD • Conceitos importantes (cont.): • Proceduralvs 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 é definidapelalinguagemdeclarativa SQL (DDL + DML)
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 Gerenciador de Arquivos Gerenciador de Armazenamento
SGBD 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
USP – ICMC - GBDI Evolução dos Sistemas de Bases de Dados
USP – ICMC - GBDI Evolução dos Sistemas de Bases de Dados Os programas de aplicação são executados no servidor de dados – os terminais “burros” executam quase nenhum processamento.
USP – ICMC - GBDI Evolução dos Sistemas de Bases de Dados PC
USP – ICMC - GBDI Evolução dos Sistemas de Bases de Dados PCs mais potentes executam tanto o programa de aplicação quanto o SGBD. O servidor de arquivos provê espaço de armazenamento, escasso à época. PC
USP – ICMC - GBDI Evolução dos Sistemas de Bases de Dados
USP – ICMC - GBDI Arquitetura Cliente/Servidor Aplicações Dados e Regras SGBD Servidor Cliente
USP – ICMC - GBDI Arquitetura Cliente/Servidor • Duas camadas Dados e Regras Aplicações SGBD Servidor Cliente BD + parte (pequena) da lógica de negócio Interface + maior parte da lógica de negócio
USP – ICMC - GBDI Arquitetura Cliente/Servidor • Três camadas Aplicações-Cliente Servidor de Aplicação Dados e Regras SGBD Servidor Cliente BD + parte comum da lógica de negócio Interface + parte específica da lógica de negócio
USP – ICMC - GBDI Arquitetura Cliente/Servidor • Quatro camadas Aplicações-Cliente Servidor de Interface Servidor de Aplicação Dados e Regras SGBD Servidor Cliente
Aplicação Aplicação Aplicação SGBD Definição da base de dados armazenada Base de dados armazenada INSTÂNCIA ESQUEMA
Esquema e Instância • Banco de dados: Esquema • Definição • Estático (ou quase!) Instância • Manipulação • Dinâmica Esquema Instância
Esquema e Instância Esquema pode ser definido em 3 níveis • Three-Schema Architecture
Arquitetura Esquema de Três • Three-Schema Architecture (ou arquitetura ANSI/SPARC) • múltiplas visões para os usuários • armazenamento da descrição da base de dados (esquema) em diferentes níveis de abstração • independência de dados • Incorporação de características importantes da filosofia de bases de dados
Three-Schema Architecture Nível Externo ou de Visão ... Visão 1 Visão 2 Visão N Sub-Esquemas (views) Esquema Conceitual e/ou Esquema Lógico Nível Conceitual ou Lógico Esquema Físico Nível Interno ou Físico
Three-Schema Architecture • Nível Interno – esquema físico • descreve estrutura física de armazenamento da base de dados • como os dados estão armazenados
Three-Schema Architecture • Nível Conceitual – esquema conceitual e/ou lógico • descreve a estrutura da base de dados sem detalhes de estrutura de armazenamento físico • quais dados estão armazenados e como estão relacionados • descrição do esquema conceitual/lógico: • modelo conceitual (ex: MER) • modelo de implementação (ex: Modelo Relacional)
Three-Schema Architecture • Nível Externo – sub-esquemas • define as visões dos usuários • descreve a parte da base de dados em que cada grupo de usuários tem interesse • descrição de sub-esquemas: • modelo conceitual (ex: MER) • modelo de implementação (ex: Modelo Relacional)
Three-Schema Architecture ... Visão 1 Visão 2 Visão N Nível Externo ou de Visão mapeamento externo/conceitual Nível Conceitual ou Lógico mapeamento conceitual/interno Nível Interno ou Físico
Three-Schema Architecture • Visualização de níveis de esquema em sistemas de banco de dados ABSTRAÇÃO • escondendo detalhes e complexidade nos diferentes níveis • visão mais geral ou mais específica
Recordando.... • Three-Schema Architecture (ou arquitetura ANSI/SPARC) • independência de dados • múltiplas visões para os usuários • armazenamento da descrição da base de dados (esquema) em diferentes níveis de abstração OK!!!! OK!!!!