Você está na página 1de 5

Bancos de dados:

- componente essencial da vida atual, pervasivos,


- Ex: saque/tranferencia/deposito em banco, reserva de hotel, acess o catálogo,
busca na internet, ...
*** Qualquer aplicação que mantenha os dados de forma persistente e organizada,
utiliza um banco de dados
- Qualquer dessas atividade envolverá algum uso de banco de dados

Bancos de dados especiais


- Banco de dados multimídia: Imagens, clipes de áudio, streams
- Banco de dados geográficos: dados relacionados à posições geográficas
- Processamento analítico: dados armazenados de forma a facilitar a análise rápida
de vários cenários (BI)
- Banco de dados em tempo real: aplicações críticas
- Bancos de dados para armazenamento de grande squanntidades de informações: Big
Data

*** Cada tipo de banco de dados vai requerer estruturas de armazenamento diferentes
com o intuito de facilitar o processamento de operações (consultas)

Começaremos pelo básico: sistemas tradicionais, transacionais

Bancos de dados: praticamente impossível existir uma aplicação útl que não use
bancos de dados

Definição
---------
Banco de dados: coleção de dados relacionados. Dados: fatos que podem ser
registrados e possuem significado implícito

Bastante genérica:
- inclui: uma agenda de telefones (caderno, celular, arquivo texto, planilha,
...)
- extrapolando: até mesmo um artigo, livro, etc

Mais específica:
- representa algum aspecto do mundo real: minimundo ou universo de discurso
- dados organizados de forma coerente e lógica, não aleatória
- projetado e construído com uma finalidade específica: possui uma aplicação,
e usuários

* fonte do mundo real da qual os dados se originam/derivam; e um público


interessado em seu conteúdo

Bancos de dados de diferentes tamanhos


- lista de contatos,
- preferências/configurações de um aplicativo
- catálogo de produtos disponíveis da amazon
- registro de usuários
- dados coletados pelo Google

----
Estamos interessados em bancos de dados informatizados
- NÃO em agenda, catálogo, arquivos em texto, etc

SGBD
-----
SGBD: software desenvolvido para facilitar a criação e manutenção de banco de dados
- definição, construção, manipulação e compartilhamento

Definir: especificar tipos, estruturas, restrições (metadados)


Construção: armazenar os dados
Manipulação: consulta e modificação dos dados
Compartilhamento: permitir o acesso à diversos usuários e programas

Abordagem SGBD: Programa aplicação envia consultas para o SGBD


Abordagem "customizado": programas manipulam dados diretamente

Outras funções:
- Proteção dos dados: proteção contra acesso (consulta, modificação) indevido;
proteção contra perda de dados (persistencia)

Sistema de banco de dados: banco de dados + SGBD


--------------------------

==========================================

1.2. Exemplos de bancos de dados:


- arquivos armazenam registros de dados do mesmo tipo

Definição do banco de dados:


- Espeficiar a estrutura dos registros: elementos de dados, tipo de dado

- Banco de dados UNIVERSIDADE: arquivos ALUNO, DISCIPLINA, TURMA,


HISTORICO_ESCOLAR, PRE_REQUISITO

Manipulação de dados: consultas e atualizações

Banco de dados parte do Sistema de Informação: computadores, sistemas de


armazenamento, software de aplicação e banco de dados

- Especificação e anaálise de requisitos

- Projeto conceitual, projeto lógico (modelo de dados), projeto físico, ou


representação física de dados

==========================================

1.3. Características da abordagem de banco de dados

- Processamento de arquivo: cada usuário/programa mantém seus dados


- Dificuldade de manter os dados atualizados entre diferentes sistemas
- Desperdício de espaço
- Acesso aos dados está imbutido no programa; redundancia de código na
manipulação dos dados

- Abordagem banco de dados:


- Repositório único
- Auto decrição
- Isolamento programa e dados
- Múltiplas visões de dados
- Compartilhamento de dados e processamento multiusuário

1.3.1 Autodescrição
- manter além dos dados (informações sobre a estrutura desses dados), i.e.
catálogo de metadados
(em arquivos o conhecimento do formato dos dados está embutido no programa)

- Um SGBD pode ser utilizado para vários bancos de dados, por várias aplicações

1.3.2 Isolamento entre programa e dados, abstração de dados


- Em arqivos, estrutura dde armazenamento está embutida nos programas; mudança
na estrutura requer mudança em todos os programas
- Numa abordagem BD e/ou SGBD não é preciso em todos os casos, por exemplo, um
campo foi adicionado

- Abstração de dados: separação entre representação conceitual e física

- CONCEITO: Modelo de dados é a forma de representação conceitua


- Baseada em conceitos abstratos: como objetos, entidades, tabelas e suas
propriedades/relacionamentos
- O modelo de dados esconde os detalhes de implementação e armazenamento

- Estrutura física é ocultada dos programas

1.3.3 Suporte à múltiplas visões


- Cada usuário/aplicação/programa pode ter uma visão parcial dos dados
- Uma visão pode ser derivada

1.3.4 Compartilhamento de dados e múltiplas transações


- Controle de acesso simultâneo (concorrência)
- Compartilhamento (e.g. por meio de rede)
- Transações (isolamento, atomicidade)

1.4. Atores

1.4.1 DBAs
- Monitoramento e manutenção dos recursos de hardware utilizados
- Controle de acesso (segurança)
- Backup (cópias de segurança)
- Garantir que o SGBD funcione de forma a atender às demandas

1.4.2 Projetistas de banco de dados


- Definição da estrutura de um banco de dados
- Comunicação com os usuários (usuários finais/aplicações) identificar as
necessidades de cada um
- Mantém os padrões
- Criação de visões

1.4.3 Usuários finais


-
1.4.4 Analistas de sistemas e programadores (engenheiros de software)

1.6 Vantagens do uso de DBMS

1.6.1 Controle de redundancia


- Problemas: duplicação do esforço, o acesso aos dados precisa ser codificado em
lugares separados, desperdício de espaço, dificuldade de sincronização (risco de
inconsistência)

- Na abordagem BD, idealmente, os dados são armazenados em um único lugar, e


diferentes visões são oferecidas
- Processo de normalização de dados consiste em eliminar a redundancia
- Na prática pode haver um nível de redundancia pode ser necessário para aumentar
o desempenho

1.6.2 Controle de acesso

1.6.3 Persistencia de objetos


- Redução da distância semântica

1.6.4 Estruturas de acesso e processamento de consultas


- Índices
- Cache de dados frequentemente consultados
- Processamento de consultas e otimização, planejamento de uma estratégia de
busca, imagine utilizando várias tabelas

1.6.5 Backup e recuperação


- Facilita recuperação em caso de falhas
- Não é preciso que cada programa preveja a forma de recuperar ou se proteger de
falhas
- Backup de vários arquivos e bancos de dados pode ser feito de forma uniforme

1.6.6 Múltiplas interfaces de usuário


- Web, local, linhas de comando
- Script

1.6.7 Relacionamentos complexos entre dados


- Muitos para um, um para muitos, muitos para muitos
- Facilidade de definir novos relacionamentos e atualizar os dados de forma
eficiente

1.6.8 Garantir restrições de integridade


- integridade de tipo
- integridade referencial (cada turma se refere a uma disciplina)
- integridade de unicidade

- regras de negócio, de uma determinada área de conhecimento

1.6.10
- Padronização
- Tempo de desenvolvimento reduzido
- Flexibilidade (facilidade de mudar a estrutura do banco de dados de acordo com
requerimentos)
- Disponibilidade (múltiplos usuarios)
- Economias de escala, gerenciamento unificado

1.8. Quando não usar um SGBD


- Complexidade e custos desncessários

- Aplicações com requisitos bem definidos que não vão mudar


- Dispositivos com limitações de processamento, armazenamento, SGBD de prpopsito
geral
- Aplicações standalone (i.e. word, etc)... mas existem SGBDs leves

Você também pode gostar