Aula 1
1. Conceitos Basicos, Vantagens, Estrutura
1.1. Conceitos Basicos:
1.1.1. Aplicacoes de Banco de Dados:
  • tradicionais: sistema bancario, reserva de hotel e passagem, biblioteca
  • multimidia: armazena figura, video, som
  • sist. de informacao geografica (GIS)
  • datawarehouse e OLAP (on-line analytical processing) 
  • sistemas de tempo real e BD ativos
  • busca de info na WEB
1.1.2. Banco de dados: e' uma colecao de dados relacionados
  • possui:
    • minimundo: representa uma porcao/aspecto do mundo real
    • estrutura logica com significado inerente
    • aplicacao especifica e usuarios interessados na aplicacao
  • pode ser informatizado ou nao


1.1.3. SGBD (Sistema Gerenciador de Banco de Dados)

É um sistema de software de finalidade generica que facilita o processo de definicao, construção e manipulacao de banco de dados.


1.1.4. Sistema de Banco de dados:

                    Programa de Aplicacao
                              |
                             SGBD
                              |
                        Banco de Dados

Exemplo: Sistema Bancario

    Cliente: nome, CPF, endereco, telefone
    CC: numCC, CPF, saldo, limCredito
    credito: numTrans, CC, data, valor
    debito:  numTrans, CC, data, valor
     
  • elemento de dados (campos)
  • tipo de dado
  • "definir um BD": especificar os elementos de dados e seus tipos
  • "construir um BD": povoar o BD
  • "manipular um BD": consultar, atualizar


1.1.5. Profissionais:
 

  • DBA (administradores de BD): responsavel por autorizar o acesso,  cooredenar e monitorar sua utilizacao, adquirir recursos de hardware e software quando necessoario, avaliar desempenho e problemas de seguranca do sistema.
  • Projetista do BD: responsavel por escolher as estruturas para   representar e armazenar dados e visoes
  • Usuario Final: podem interagir com o BD atraves de:
    • aplicacoes de BD: usuarios leigos
    • linguagens do SGBD: usuarios casuais a sofisticados
  • Analista de Sistemas e Programadores: determinam as necessidades dos usuarios finais e implementam as aplicacoes
  • Projetistas do SGBD: que especificaram e implementaram o SGBD
  • Produtores de Ferramentas para o SGBD


1.2. Vantagens de Utilizar um SGBD

1) Independencia entre programa e dados:

Em sistemas que utilizam sist. de arquivos, a definicao das estruturas de dados e' feita dentro do programa (como em C, Pascal, Java). Ao contrario, SGBDs mantem um catalogo (ou dicionario de dados) que consiste de metadados, ou seja, dados sobre os dados. Assim, quando a estrutura dos dados e' alterada isso nao implica na alteracao dos programas que fazem a manipulacao dos dados.
2) Independencia entre operacao e programa:
Em SGBDs OO e relacional/objeto, funcoes/procedimentos para manipulacaodos dados armazenados tambem fazem parte do BD.  Estes procedimentos escondem os detalhes sobre armazenamento e implementacao, que nao sao de interesse da maior parte dos usuarios de bancos de dados.  Isto e' chamado de abstracao de dados. Mantendo a interface destas funcoes inalterada, os programas que as utilizam nao precisam ser alterados quando a implementacao interna da funcao muda.  Isto e' chamado de independencia entre operacao e programa.
3) Controle de acesso mais especializado

4) Suporte a Visoes:

Um mesmo conjunto de dados pode ser apresentado a usuarios diferentes de forma distinta.  Ex: visao do cliente do banco, visao do gerente
5) Controle de Redundancia:
Desvantagens da redundancia de dados: espaco de armazenamento desperdicado, inconsistencia de dados.
6) Compartilhamento de Dados e Trnasacoes:
Exemplo:
  • caixa quer descontar um cheque de R$ 100 do cliente X
  • Cliente X: quer sacar R$ 50 do caixa eletronico
Se o saldo atual de X no banco e' R$ 500, qual o saldo final no final destas duas transacoes?
7) Armazenamento Persistente para Objetos de Programas e Estruturas de Dados 

8) Fornecimento de Interfaces Multiplas do Usuario:

  • baseadas em menus
  • baseadas em formularios
  • graficas
  • de linguagem natural
  • para usuarios leigos (especificos para uma aplicacao)
  • para o DBA (criar contas, ajustar param do sistema, conceder autorizacoes, modificar um esquema, reorganizar as estruturas de armazenamento, etc.)
9) Imposicao de restricoes de integridade:
    Ex: - restricoes de tipo: saldo do tipo real
    • unicidade: nao existe mais de cliente com o mesmo CPF
    • integridade de referencia: toda transacao deve ser de uma CC existente. 
10) Facilidades de Copia e Recuperacao
Algumas vantagens adicionais:
  • potencial para impor padroes
  • tempo reduzido para o desenvolvimento de aplicacoes
  • flexibilidade
  • disponibilidade de info. atualizadas para todos os usuarios
  • economias de escala
1.3. Modelo de Dados
Uma coletanea de conceitos que podem ser utilizados para descrever a estrutura de um banco de dados (tipos de dados, relacionamentos e restricoes) e tambem um conjunto de operacoes basicas para especificar recuperacoes e atualizacoes no banco de dados.
1.3.1. Esquemas e Instancias
Esquema: e' a descricao do banco de dados.  Em uma ling. de programacao comum, isto e' equivalente a definicao de um  tipo de dado.

Instancia: e' o banco de dados em si.  Em uma ling. de programacao, isto e' equivalente a uma declaracao de uma variavel do tipo definido e o seu valor.


1.3.2. Arquitetura de Tres Niveis

Para garantir a independencia de dados.

                                                  Esquema    Linguagem
Usuario Final  ....  Usuario Final                -------    ---------
    |                      |
  VISAO                  VISAO        Nivel       externo    VDL (View
  EXTERNA                EXTERNA      Externo                Def. Lang)
     \                    /
       ESQUEMA CONCEITUAL             Nivel       conceitual DDL (Data
              |                       Conceitual             Def. Lang)
              |
       ESQUEMA INTERNO                Nivel       interno    SDL (Storage
              |                       Interno                Def. Lang)
              |
    Banco de Dados Armazenado                                DML (Data
                                                             Manipulation 
                                                             Lang)
 

devem existir transformacoes de solicitacoes entre os diversos niveis: mapeamento externo/conceitual e mapeamento conceitual/interno

1.3.3. independencia de dados:

  • logica: possibilidade de alterar o esquema conceitual sem algeara o esquema externo (de aplicacao)
  • fisica: possibilidade de alterar o esquema fisico sem alterar o esquema conceitual 


1.3.4. Utilitarios de um SGBD:

  • para carga (de outros sistemas e arquivos)
  • para backup
  • reorganizacao de arquivos
  • monitoramento de desempenho
  • ferramentas CASE para projeto do BD
  • dicionario de dados: alem do catalogo, guarda decisoes de projeto, padroes de utilizacao, etc.
  • ambientes de desenvolvimento de aplicacoes: Ex: PowerBuilder
  • software de comunicacoes
1.4. Classificacao de SGBDs:
  • por modelo: relacional, objeto, relacional-objeto (ou relacional estendido), rede, hierarquico, XML
  • por numero de usuarios: monousuario, multiusuario
  • por numero de sites:
    • centralizado
    • distribuido :
      • homogeneo
      • heterogeneo (ou SGBD federado)


[voltar]