SlideShare una empresa de Scribd logo
1 de 20
Banco de Dados
Sistema de arquivos X Sistemas de
             Banco de Dados
              Sistema de arquivos                     Sistema de Banco de Dados




                                                                            Dados
Aplicativos                  Dados      Aplicativos          SGBD
                                                                          (arquivos)
                           (arquivos)




                                          O acesso/gerenciamento aos/dos dados
 O acesso/gerenciamento aos/dos
                                          é feito pelo SGBD. O SGBD funciona
 dados é feito diretamente pelos
                                          como uma interface entre o BD e os
 programas aplicativos.
                                          programas aplicativos.
Definições ...
• Dados:
   – Algo que faz parte da realidade.
   – são fatos que podem ser gravados e que possuem um
     significado implícito.

• Banco de Dados (BD): é uma coleção de dados
  relacionados:
   – Representa aspectos do mundo real (minimundo ou universo de
     discurso) e mudanças no mundo real devem ser refletidas no
     BD.
   – É uma coleção lógica e coerente de dados com algum
     significado inerente. Uma organização randômica de dados não
     pode ser considerada um BD.
   – Um BD é construído em atendimento a uma proposta
     específica.
Definições ....
• Um Sistema Gerenciador de Banco de
  Dados (SGBD) é uma coleção de
  programas que permite aos usuários criar
  e manter um banco de dados.
  – É um sistema de software de propósito geral
    que facilita os processos de definição,
    construção, manipulação e compartilhamento
    de bancos de dados entre vários usuários e
    aplicações.
Interação ....
Principais Funções
• Inclusão (INSERT)
INSERT INTO clientes (codigo,nome,valor) VALUES (‘1234’,’José da Silva’,678.55)


• Alteração (UPDATE)
UPDATE clientes SET nome = ‘Antonio da Silva’ WHERE codigo = ‘1234’


• Exclusão (DELETE)
DELETE FROM clientes WHERE codigo = ‘1234’


• Consulta (SELECT)
SELECT * FROM clientes WHERE codigo = ‘1234’
SISTEMA DE BANCO
                         Usuários/Programadores
DE DADOS


               Programas de Aplicações / Consultas (Queries)



    SGBD
               Programas para Processamento de consultas /
                         gerenciamento de dados



              Software para Acesso aos Dados Armazenados




                                             Banco de dados
       Definição dos dados
                                              armazenados
Independência entre Programas e
            Dados
• É a capacidade de modificar a definição dos esquemas
  em determinado nível, sem afetar o esquema de nível
  superior.

   – Independência física de dados: é a capacidade de modificar o
     esquema físico sem que, com isso, qualquer programa de
     aplicação precise ser reescrito. Modificações no nível físico são
     necessárias, ocasionalmente, para aprimorar desempenho.
     (mais fácil de ser alcançada nos SBDs)

   – Independência lógica de dados: é a capacidade de modificar o
     esquema lógico sem que, com isso, qualquer programa de
     aplicação precise ser reescrito. Modificações no nível lógico são
     necessárias sempre que uma estrutura lógica do banco de
     dados é alterada (por exemplo, mudança do sistema monetário).
Utilitários de um SGBD
•   Carregamento (loading) : carrega arquivos e dados existentes
    dentro do banco de dados. Útil para transferência de dados entre
    SGBDs ou entre SGBDs e outros sistemas (são ferramentas de
    conversão).

•   Backup: cria uma cópia do banco de dados, geralmente
    descarregando (dumping) todo o banco de dados em uma fita (por
    exemplo). Também possibilita o backup incremental.

•   Reorganização de arquivos: reorganiza os arquivos do banco de
    dados em uma nova forma buscando melhorar seu desempenho.

•   Monitoramento de desempenho: monitora o uso do BD e fornece
    estatísticas para o DBA, que pode tomar decisões para melhorar o
    desempenho.
Utilitários de um SGBD
Espelhamento   Replicação   Clusterização




                  
                                    
                   
Arquitetura de Sistemas
             de Banco de Dados
•   Primeira arquitetura: Centralizada (uso de Mainframes)

•   O processamento principal e de todas as funções do sistema
    (aplicativos, interface e SGBD) eram executados nos mainframes.

•   Os usuários interagiam com o sistema via terminais sem poder de
    processamento, conectados ao mainframe por redes de
    comunicação.

•   Com o barateamento do hardware, os terminais foram sendo
    trocados por estações de trabalho e naturalmente a tecnologia de
    banco de dados começou a aproveitar esse potencial de
    processamento no lado do usuário.

•   Surge a segunda arquitetura.
Arquitetura de Sistemas de Banco
                 de Dados
•   Segunda arquitetura: Cliente-Servidor

•   Dividiu as tarefas de processamento criando servidores especializados
    como os servidores de arquivos.

•   As máquinas clientes disponibilizavam as interfaces para os usuários, de
    forma a capacitá-lo ao uso de servidores. Também tinham autonomia para
    executar aplicações locais.

•   No caso específico de banco de dados, nesta arquitetura, um SGBD
    centralizado é implantado no servidor, assim as consultas (servidor SQL) e
    funcionalidades transacionais são executadas no servidor.

•   No lado do cliente é possível formular as consultas e desenvolver
    programas aplicativos.

•   O servidor SQLé conhecido como Back-End Machine e o cliente como
    Front-End Machine.
Tipos de arquitetura
               Cliente / Servidor
• Ponto a ponto (peer          • Distribuído
  to peer)


      Servidor / Cliente   Servidor   Servidor   Servidor




      Cliente / Servidor   Cliente    Cliente     Cliente
Tipos de arquitetura
          Cliente / Servidor
• Remoto                     Frame Relay
                             VPN
                             Satélite           Roteador

             RS              ADSL

     HUB /                                       HUB /
    SWITCH                                      SWITCH
                  Roteador                 SP




                                                         
BANCOS DE DADOS NA INTERNET

• Normalmente baseados em WEB Servers, que geram
  automaticamente e dinamicamente páginas HTML a partir
  de consultas SQL;
• O WEB Server (Internet Information Services / Apache):
   – recebe solicitações (consultas SQL) dos clientes
     (navegadores WWW)
   – repassam as solicitações ao servidor de bancos de
     dados
   – recebem o resultado
   – montam uma página HTML com o resultado
   – repassam a página HTML para o cliente
Sistemas Comerciais
•   dBASE: Lançado pela Ashton-Tate e posteriormente adquirido pela
    Borland. Possuía uma linguagem de programação própria para
    desenvolvimento de aplicações, teve versões para DOS e Windows,
    trabalhava com gerenciamento de arquivos planos baseados em listas
    invertidas. A partir da versão 7, os direitos foram vendidos pela Borland.

•   Paradox: Possui ambiente integrado de desenvolvimento para criação de
    aplicativos. Os direitos de produção foram vendido pela Borland para a
    Corel. Teve versões para DOS e hoje possui apenas versões para
    Windows.

•   DataFlex: Popular para ambiente Unix, mas teve versões para DOS e
    Windows. Possui ambiente integrado para desenvolvimento de aplicações e
    hoje é comercializado com o nome de Visual Data Flex.

•   FoxBase/FoxPro: Concorrente do dBase com total compatibilidade em
    termos de arquivos e programas-fontes. Com recursos adicionais como a
    capacidade de pré-compilação dos códigos-fontes para melhorar
    performance. Hoje, após a aquisição pela Microsoft da Fox Software
    (produtora original), se chama: Visual FoxPro.
Sistemas Comerciais
•   Access: é padrão em banco de dados para microcomputadores do
    ambiente Windows. Possui ambiente integrado que permite a criação e
    gerenciamento do banco de dados, desenvolvimento de aplicações e
    geração de relatórios. A linguagem de programação usada neste ambiente
    deriva do Visual Basic.

•   Oracle: O primeiro em Banco de Dados Corporativos (cliente/servidor)
    possuindo grande variedade de distribuições (para Macintosh, Windows,
    Linux, FreeBSD, Unix) e para computadores de grande porte. É padrão
    SQL com uma linguagem própria para desenvolvimento de aplicações.

•   Interbase: Foi incluído, pela Borland, nas suas ferramentas de
    desenvolvimento (Delphi, C++Builder, JBuider). Teve uma versão liberada
    como Open Source.

•   MS-SQL Server: Produzido pela Microsoft, inicialmente era uma versão
    especial do Sybase. As versões atuais são independentes e opera
    exclusivamente sobre Windows.
Sistemas Comerciais
•   Sybase SQL Anywhere: Concorre com o Oracle no mercado corporativo. Aplicações
    para este banco são desenvolvidas com o PowerBuilder.

•   MySQL: Possui versões para Windows, Solaris, Unix, FreeBSD, Linux) e é gratuito.
    Muito poderoso, usado principalmente para desenvolvimento WEB como servidor de
    dados para comércio eletrônico.

•   PostgreSQL: Gratuito e com boa aceitação. Originalmente concebido para rodar em
    Linux. Possui versões para Windows. Principalmente usado para comércio eletrônico
    juntamente com linguagem PHP.

•   Informix: Boa escalabilidade e desempenho. Comercializado pela IBM.

•   DB2: Produzido pela IBM, nasceu nos ambientes de grande porte, sendo
    posteriormente portado para plataformas mais simples (microcomputadores).

•   Firebird: Nascido de uma iniciativa da Borland em abrir o código do InterBase 6,
    este sistema é open source e esbanja versatilidade e robustez. Possui recursos de
    trigger, store procedures e transações concorrentes.
Sistemas Comerciais
•   Além dos gerenciadores, pode-se citar algumas
    linguagens/ferramentas de desenvolvimento, que manipulam os
    banco de dados desses gerenciadores:

    – Clipper: Comumente utilizado junto ao dBase. O Brasil foi o líder
      mundial em vendas e uso dessa ferramenta.

    – Joiner: Produto nacional concorrente do Clipper, produzido por uma
      empresa paulista chamada Tuxon Software, com versões para DOS,
      Unix, e algum suporte para Windows.

    – Delphi/C++Builder/JBuilder: Ferramentas de desenvolvimento da
      Borland que possuem suporte nativo aos bancos de dados Interbase e
      MySQL. Delphi e C++Builder também podem acessar arquivos no
      formato dBase, Paradox e Access nativamente, enquanto outras bases
      de dados podem ser maipuladas através da tecnologia ODBC.

    – Visual Basic/Visual C++: O programador pode criar aplicações que
      acessam bancos de dados Access ou, por meio de ODBC, outros
      formatos.
Exemplo 01
                          ESCOLA
                                                 Professores
                                 Disciplinas     • código
                               Disciplinas
                                 •código         • nome
                              Disciplinas
                               •código
               Cursos              • professor
                              • código
                                • professor
               • código            • nome          Notas
Alunos                        • professor
                                • nome             • prontuário
• prontuário   • turma
                              • nome
                                                   • curso
• nome         • disciplina
                                                   • turma
• curso        • nome
                                                   • disciplina
• turma                                            • média

Más contenido relacionado

La actualidad más candente

Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileCloves da Rocha
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Softwareeros.viggiano
 
HTML5 - Tags semânticas
HTML5 - Tags semânticasHTML5 - Tags semânticas
HTML5 - Tags semânticasThiago Alvernaz
 
Como Criar, Estimar, Priorizar e Manter o Product Backlog
Como Criar, Estimar, Priorizar e Manter o Product BacklogComo Criar, Estimar, Priorizar e Manter o Product Backlog
Como Criar, Estimar, Priorizar e Manter o Product BacklogRildo (@rildosan) Santos
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)Gustavo Zimmermann
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Aula 3. frameworks front end
Aula 3. frameworks front endAula 3. frameworks front end
Aula 3. frameworks front endandreluizlc
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareAricelio Souza
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Gustavo Zimmermann
 
Segurança em Banco de Dados
Segurança em Banco de DadosSegurança em Banco de Dados
Segurança em Banco de DadosIorgama Porcely
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 

La actualidad más candente (20)

Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
HTML5 - Tags semânticas
HTML5 - Tags semânticasHTML5 - Tags semânticas
HTML5 - Tags semânticas
 
Desenvolvimento de Produto
Desenvolvimento de ProdutoDesenvolvimento de Produto
Desenvolvimento de Produto
 
Como Criar, Estimar, Priorizar e Manter o Product Backlog
Como Criar, Estimar, Priorizar e Manter o Product BacklogComo Criar, Estimar, Priorizar e Manter o Product Backlog
Como Criar, Estimar, Priorizar e Manter o Product Backlog
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Aula 3. frameworks front end
Aula 3. frameworks front endAula 3. frameworks front end
Aula 3. frameworks front end
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
Segurança em Banco de Dados
Segurança em Banco de DadosSegurança em Banco de Dados
Segurança em Banco de Dados
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 

Similar a Sistema Banco Dados

Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfisHélio Martins
 
Introdução à Banco de Dados
Introdução à Banco de DadosIntrodução à Banco de Dados
Introdução à Banco de DadosBruno Siqueira
 
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAntony Barbosa
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Finaljcaroso
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dadosElton Meira
 
Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Sugizo Akino
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosdiogocbj
 
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MERRodrigo Kiyoshi Saito
 
Banco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dadosDanielRibeiro136663
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 

Similar a Sistema Banco Dados (20)

Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfis
 
Fit Bd 01
Fit Bd 01Fit Bd 01
Fit Bd 01
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
BDD
BDDBDD
BDD
 
C # banco de dados
C # banco de dadosC # banco de dados
C # banco de dados
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Introdução à Banco de Dados
Introdução à Banco de DadosIntrodução à Banco de Dados
Introdução à Banco de Dados
 
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dados
 
Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01
 
BDI_1_conceitos
BDI_1_conceitosBDI_1_conceitos
BDI_1_conceitos
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
 
Banco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dados
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 

Sistema Banco Dados

  • 2. Sistema de arquivos X Sistemas de Banco de Dados Sistema de arquivos Sistema de Banco de Dados Dados Aplicativos Dados Aplicativos SGBD (arquivos) (arquivos) O acesso/gerenciamento aos/dos dados O acesso/gerenciamento aos/dos é feito pelo SGBD. O SGBD funciona dados é feito diretamente pelos como uma interface entre o BD e os programas aplicativos. programas aplicativos.
  • 3. Definições ... • Dados: – Algo que faz parte da realidade. – são fatos que podem ser gravados e que possuem um significado implícito. • Banco de Dados (BD): é uma coleção de dados relacionados: – Representa aspectos do mundo real (minimundo ou universo de discurso) e mudanças no mundo real devem ser refletidas no BD. – É uma coleção lógica e coerente de dados com algum significado inerente. Uma organização randômica de dados não pode ser considerada um BD. – Um BD é construído em atendimento a uma proposta específica.
  • 4. Definições .... • Um Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de programas que permite aos usuários criar e manter um banco de dados. – É um sistema de software de propósito geral que facilita os processos de definição, construção, manipulação e compartilhamento de bancos de dados entre vários usuários e aplicações.
  • 6. Principais Funções • Inclusão (INSERT) INSERT INTO clientes (codigo,nome,valor) VALUES (‘1234’,’José da Silva’,678.55) • Alteração (UPDATE) UPDATE clientes SET nome = ‘Antonio da Silva’ WHERE codigo = ‘1234’ • Exclusão (DELETE) DELETE FROM clientes WHERE codigo = ‘1234’ • Consulta (SELECT) SELECT * FROM clientes WHERE codigo = ‘1234’
  • 7. SISTEMA DE BANCO Usuários/Programadores DE DADOS Programas de Aplicações / Consultas (Queries) SGBD Programas para Processamento de consultas / gerenciamento de dados Software para Acesso aos Dados Armazenados Banco de dados Definição dos dados armazenados
  • 8. Independência entre Programas e Dados • É a capacidade de modificar a definição dos esquemas em determinado nível, sem afetar o esquema de nível superior. – Independência física de dados: é a capacidade de modificar o esquema físico sem que, com isso, qualquer programa de aplicação precise ser reescrito. Modificações no nível físico são necessárias, ocasionalmente, para aprimorar desempenho. (mais fácil de ser alcançada nos SBDs) – Independência lógica de dados: é a capacidade de modificar o esquema lógico sem que, com isso, qualquer programa de aplicação precise ser reescrito. Modificações no nível lógico são necessárias sempre que uma estrutura lógica do banco de dados é alterada (por exemplo, mudança do sistema monetário).
  • 9. Utilitários de um SGBD • Carregamento (loading) : carrega arquivos e dados existentes dentro do banco de dados. Útil para transferência de dados entre SGBDs ou entre SGBDs e outros sistemas (são ferramentas de conversão). • Backup: cria uma cópia do banco de dados, geralmente descarregando (dumping) todo o banco de dados em uma fita (por exemplo). Também possibilita o backup incremental. • Reorganização de arquivos: reorganiza os arquivos do banco de dados em uma nova forma buscando melhorar seu desempenho. • Monitoramento de desempenho: monitora o uso do BD e fornece estatísticas para o DBA, que pode tomar decisões para melhorar o desempenho.
  • 10. Utilitários de um SGBD Espelhamento Replicação Clusterização     
  • 11. Arquitetura de Sistemas de Banco de Dados • Primeira arquitetura: Centralizada (uso de Mainframes) • O processamento principal e de todas as funções do sistema (aplicativos, interface e SGBD) eram executados nos mainframes. • Os usuários interagiam com o sistema via terminais sem poder de processamento, conectados ao mainframe por redes de comunicação. • Com o barateamento do hardware, os terminais foram sendo trocados por estações de trabalho e naturalmente a tecnologia de banco de dados começou a aproveitar esse potencial de processamento no lado do usuário. • Surge a segunda arquitetura.
  • 12. Arquitetura de Sistemas de Banco de Dados • Segunda arquitetura: Cliente-Servidor • Dividiu as tarefas de processamento criando servidores especializados como os servidores de arquivos. • As máquinas clientes disponibilizavam as interfaces para os usuários, de forma a capacitá-lo ao uso de servidores. Também tinham autonomia para executar aplicações locais. • No caso específico de banco de dados, nesta arquitetura, um SGBD centralizado é implantado no servidor, assim as consultas (servidor SQL) e funcionalidades transacionais são executadas no servidor. • No lado do cliente é possível formular as consultas e desenvolver programas aplicativos. • O servidor SQLé conhecido como Back-End Machine e o cliente como Front-End Machine.
  • 13. Tipos de arquitetura Cliente / Servidor • Ponto a ponto (peer • Distribuído to peer) Servidor / Cliente Servidor Servidor Servidor Cliente / Servidor Cliente Cliente Cliente
  • 14. Tipos de arquitetura Cliente / Servidor • Remoto Frame Relay VPN Satélite Roteador RS ADSL HUB / HUB / SWITCH SWITCH Roteador SP 
  • 15. BANCOS DE DADOS NA INTERNET • Normalmente baseados em WEB Servers, que geram automaticamente e dinamicamente páginas HTML a partir de consultas SQL; • O WEB Server (Internet Information Services / Apache): – recebe solicitações (consultas SQL) dos clientes (navegadores WWW) – repassam as solicitações ao servidor de bancos de dados – recebem o resultado – montam uma página HTML com o resultado – repassam a página HTML para o cliente
  • 16. Sistemas Comerciais • dBASE: Lançado pela Ashton-Tate e posteriormente adquirido pela Borland. Possuía uma linguagem de programação própria para desenvolvimento de aplicações, teve versões para DOS e Windows, trabalhava com gerenciamento de arquivos planos baseados em listas invertidas. A partir da versão 7, os direitos foram vendidos pela Borland. • Paradox: Possui ambiente integrado de desenvolvimento para criação de aplicativos. Os direitos de produção foram vendido pela Borland para a Corel. Teve versões para DOS e hoje possui apenas versões para Windows. • DataFlex: Popular para ambiente Unix, mas teve versões para DOS e Windows. Possui ambiente integrado para desenvolvimento de aplicações e hoje é comercializado com o nome de Visual Data Flex. • FoxBase/FoxPro: Concorrente do dBase com total compatibilidade em termos de arquivos e programas-fontes. Com recursos adicionais como a capacidade de pré-compilação dos códigos-fontes para melhorar performance. Hoje, após a aquisição pela Microsoft da Fox Software (produtora original), se chama: Visual FoxPro.
  • 17. Sistemas Comerciais • Access: é padrão em banco de dados para microcomputadores do ambiente Windows. Possui ambiente integrado que permite a criação e gerenciamento do banco de dados, desenvolvimento de aplicações e geração de relatórios. A linguagem de programação usada neste ambiente deriva do Visual Basic. • Oracle: O primeiro em Banco de Dados Corporativos (cliente/servidor) possuindo grande variedade de distribuições (para Macintosh, Windows, Linux, FreeBSD, Unix) e para computadores de grande porte. É padrão SQL com uma linguagem própria para desenvolvimento de aplicações. • Interbase: Foi incluído, pela Borland, nas suas ferramentas de desenvolvimento (Delphi, C++Builder, JBuider). Teve uma versão liberada como Open Source. • MS-SQL Server: Produzido pela Microsoft, inicialmente era uma versão especial do Sybase. As versões atuais são independentes e opera exclusivamente sobre Windows.
  • 18. Sistemas Comerciais • Sybase SQL Anywhere: Concorre com o Oracle no mercado corporativo. Aplicações para este banco são desenvolvidas com o PowerBuilder. • MySQL: Possui versões para Windows, Solaris, Unix, FreeBSD, Linux) e é gratuito. Muito poderoso, usado principalmente para desenvolvimento WEB como servidor de dados para comércio eletrônico. • PostgreSQL: Gratuito e com boa aceitação. Originalmente concebido para rodar em Linux. Possui versões para Windows. Principalmente usado para comércio eletrônico juntamente com linguagem PHP. • Informix: Boa escalabilidade e desempenho. Comercializado pela IBM. • DB2: Produzido pela IBM, nasceu nos ambientes de grande porte, sendo posteriormente portado para plataformas mais simples (microcomputadores). • Firebird: Nascido de uma iniciativa da Borland em abrir o código do InterBase 6, este sistema é open source e esbanja versatilidade e robustez. Possui recursos de trigger, store procedures e transações concorrentes.
  • 19. Sistemas Comerciais • Além dos gerenciadores, pode-se citar algumas linguagens/ferramentas de desenvolvimento, que manipulam os banco de dados desses gerenciadores: – Clipper: Comumente utilizado junto ao dBase. O Brasil foi o líder mundial em vendas e uso dessa ferramenta. – Joiner: Produto nacional concorrente do Clipper, produzido por uma empresa paulista chamada Tuxon Software, com versões para DOS, Unix, e algum suporte para Windows. – Delphi/C++Builder/JBuilder: Ferramentas de desenvolvimento da Borland que possuem suporte nativo aos bancos de dados Interbase e MySQL. Delphi e C++Builder também podem acessar arquivos no formato dBase, Paradox e Access nativamente, enquanto outras bases de dados podem ser maipuladas através da tecnologia ODBC. – Visual Basic/Visual C++: O programador pode criar aplicações que acessam bancos de dados Access ou, por meio de ODBC, outros formatos.
  • 20. Exemplo 01 ESCOLA Professores Disciplinas • código Disciplinas •código • nome Disciplinas •código Cursos • professor • código • professor • código • nome Notas Alunos • professor • nome • prontuário • prontuário • turma • nome • curso • nome • disciplina • turma • curso • nome • disciplina • turma • média