Você está na página 1de 19

Sistemas de Arquivos versus SGBD

Curso Técnico de Informática – 3º ano integrado

Disciplina: Banco de Dados


1 – DEFINIÇÃO DE DADOS x INFORMAÇÃO

Versus

Prof: Edson Marchetti da Silva


emarchettisilva@decom.cefetmg.br
Sumário

Sistema de Arquivos versus SGBD

Arquitetura de 3 esquemas
1 – DEFINIÇÃO DE DADOS x INFORMAÇÃO

Modelo de banco de dados

Projeto de banco de dados

Arquitetura de implementação
Aplicações que acessam os Sistemas de Arquivos

 A aplicação tem de conhecer a estrutura e a localização


física de cada arquivo de dados;
 Não há regra para controle de integridade entre os arquivos;
 Não existe controle de acesso;
 Problemas da falta de integração de dados:
 Redundância - o mesmo objeto da realidade é
representado mais de uma vez na base de dados;
 Integridade – menor capacidade de representação
semântica do “minimundo”;
 Segurança e confiabilidade;
 Uso de linguagem de acesso procedural.
Processando Arquivos

#include <stdio.h>
typedef struct reg{ Estrutura do arquivo
int cod;
char nome[20];
float salario; Tem de conhecer a Localização
}; física do arquivo
int main(){
Para abrí-lo
reg dados;
FILE *arq;
if (!arq = fopen("arq.dat","rb")) {
printf (“Erro de abertura\n”); Ler de forma procedural
exit (-1); Registro a registro
}
fread(&dados[i], sizeof(dados[i]), 1,arq);
while (!feof(arq)) {
printf (“%d %s %7.2f\n”, dados.cod, dados.nome, dados.salario);
fread(&dados[i], sizeof(dados[i]), 1,arq);
}
fclose(arq);
}
Fechar o arquivo
Aplicações que Acessam um SGBD

Maior capacidade de expressar o “minimundo”:


Redundância;
Integridade Referencial;
Integridade de domínio.
Facilidade de integração dos aplicativos
Controle de acesso
Controle contra falhas
Backup online
Etc

SGBD – Sistema Gerenciador de Banco de Dados ou


DBMS – DataBase Management System
Acessando banco de dados
Referência do objeto de conexão
try{ Concatenando o comando
Connection con = ConnectionFactory.getConnection();
qry = "select senha, cod_perfil from cliente"+ Avaliando a sintaxe
" where cod_cli = ?"; do comando
PreparedStatement pstm = con.prepareStatement(qry);
pstm.setString(1, usuario);
ResultSet rs = pstm.executeQuery(); Pegando o resultado do
if (rs.next()){ comando exeutado no SGBD
if (rs.getString("senha").equals(CriptografarSenha (senha))){
perfil = rs.getString("cod_perfil");
}
}
pstm.close(); Liberando o recurso
ConnectionFactory.closeConnection(con, pstm);
}catch(Exception e){ Fechando a conexão
throw new LoginDAOException(e);
}
Componentes de um SGBD

Dicionário de dados (catálogo)


Utilitários para:
 Importar / exportar dados
 Recuperar falha
 Monitorar funcionamento
 Otimizar performance (tunning)
 Reorganizar tabela
 Consultas - Query by Example (QBE)
 Criação/modificação estrutura das tabelas
 Manutenção nos dados
 Backup (online)
Características de um SGBD

Independência de Dados – isolamento das aplicações em


relação aos dados;
Permite modificar a estrutura das tabelas sem necessidade de
reescrever ou recompilar programas que estão prontos;
Facilidade Uso/Desempenho
Uso de linguagem de acesso declarativas;
Integridade dos Dados – (Implementa restrições)
Características de um SGBD (cont)

Controle de Redundância dos Dados


Controle de acesso dos dados p/ somente usuário autorizados
Sistema de Recuperação após Falhas
Uso Compartilhado – acesso concorrente por múltiplos
usuários;
Controle de Espaço de Armazenamento p/ otimizar tempo de
acesso.
Abstração de Dados – Arquitetura de três esquemas

Nível Externo – é o mais alto de abstração (visão externa)


Expõe apenas parte do BD. (Visões dos usuários)

Nível Conceitual – descreve quais os dados são realmente


armazenados no BD e quais os relacionamentos existentes
entre eles. (Mapeamento externo/interno)

Nível Interno – é o nível mais baixo de abstração. (Físico).


Descreve como os dados são armazenados.
Independência de Dados

Nível Físico
É a capacidade de modificar o modelo físico, sem
precisar reescrever os programas de aplicação.

Nível Lógico
É a capacidade de se modificar o esquema lógico sem
a necessidade reescrever os programas de aplicação.
Modificações no nível lógico são necessárias sempre
que a estrutura lógica do BD for alterada.
A recompilação pode ser requerida (em alguns casos).
Modelo do Banco de Dados

Modelo de banco de dados é uma descrição dos tipos


de informações que estão armazenadas em um Banco de
Dados.

O objetivo é persistir de forma segura e compartilhada


dados utilizados pelas sistemas de informação em geral.

Por exemplo: o modelo pode informar que o BD armazena


informações sobre produtos e que, para cada produto, são
armazenados código, preço e descrição.

O modelo não informa QUAIS produtos serão armazenados,


apenas que informações contém.
Modelagem de dados

Para construir um modelo de dados, usa-se uma linguagem


de modelagem de dados.

Existem linguagens textuais e gráficas.

É possível descrever os modelos em diferentes níveis


de abstração e com diferentes objetivos.
Projeto do Banco de dados - Modelagem

Opções/fases de um projeto de BD:


Modelo Conceitual
 mais abstrato
 sem detalhes de implementação
 independente do SGBD usado
 é o ponto de partida para o projeto da base de
dados
Exemplo de um modelo conceitual textual:

1) Cadastro de Clientes - nome completo, tipo de pessoa


(física ou jurídica), endereço, bairro, cidade, estado,
telefone, e-mail.
Projeto do Banco de dados - Modelagem

Opções/fases de um projeto de BD:


Modelo Lógico
é a descrição da base de dados realizada pelo
desenvolvedor de aplicações.
é dependente do SGBD escolhido.
não contém detalhes de implementação (uma vez que o
SGBD oferece abstração e independência de dados).

Dicionário de Dados Diag.Entidade e Relacionamento

TipoDeProduto (Cod_TipoProd, Des_TipoProd)


Produto (Cod_Prod, Des_Prod, Prc_Prod,
Cod_TipoProd)
Cod_TipoProd referencia TipoDeProduto
Projeto do Banco de dados - Modelagem

Opções/fases de um projeto de BD:


Modelo Físico
é a descrição de como a base de dados é armazenada
internamente.
considera detalhes de implementação e de desempenho.

Esquema/script DDL
DER - Físico
Create table Veiculo (
cod_placa Char(7) NOT NULL,
ano_fabricacao Smallint NOT NULL,
ano_modelo Smallint NOT NULL,
cod_marca Char(3) NOT NULL,
cod_modelo Char(5) NOT NULL,
primary key (cod_placa)
)
Especificação do Esquema do Banco de dados

Esquema/Script - É a descrição textual (Data Definition


Language - DDL) formal da estrutura do BD que descreve
as informações que estão armazenadas.
Arquitetura de implementação
Monousuário
• BD está em um mesmo computador (stand alone) que as
aplicações;

Multiusuário com Processamento Central


• BD está no mesmo computador que as aplicações.
• Múltiplos usuários acessando através de terminais.
Cliente/Servidor
• Servidor dedicado executando o SGBD.
• As estações clientes executam as aplicações.
Arquitetura em camadas (Thin Client)
•Servidor dedicado executando o SGBD e outro de aplicação.
•As estações cliente executam apenas a camada de
apresentação.
Referências

ELMASRI, Ramez. Sistemas de Banco de Dados, São Paulo: 6ª ed. São Paulo,
Pearson, 2011.

SILBERSCHATZ,Abraham,KORTH,Henry F. Sistema de Banco de Dados. 5ª


ed., Makron Books.

SILVA, E. M. Benefício da modelagem de dados no ciclo de vida de um sistema.


Apostila – Cefet-MG, 2008.

Você também pode gostar