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]
|