Você está na página 1de 36

MODELAGEM DE DADOS

UNIDADE 1 – Visão Geral

Luiz Leão – luizleao@gmail.com


http://www.luizleao.com
MODELAGEM DE DADOS

Conteúdo Programático

• 1.1 Visão geral: Banco de dados


• 1.2 Dados versus informação
• 1.3 Classificando os bancos de dados
• 1.4 Sistemas de Arquivos
• 1.5 SGBD (Sistema de Gerenciamento de
Banco de Dados)
• 1.6 Os Usuários de Banco de Dados
• 1.7 O SGBD e suas Funcionalidades
• 1.8 Vantagens do SGBD

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Evolução Histórica dos Bancos de Dados


• Final da década de 60  IBM, ORACLE e SYBASE

• Sistemas de Gerenciamento de Arquivos (SGA):


– Características
– Dificuldades
– Desvantagens

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Evolução Histórica dos Bancos de Dados


• Anos 80  SGBD (Sistema de Gerenciamento de Banco de
Dados

• Componentes de um SGBD:
– Programas de Aplicações/Consultas
– Sistema Gerenciador de Banco de Dados(SGBD)
– Base de Dados

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

SGA x SGBD

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Usuários de Banco de Dados


• Analistas de Sistemas: Fornecem a estrutura dos dados
através dos requisitos;
• Programadores de Aplicações: Programam a aplicação
com base nesses dados;
• Administradores de Bancos de Dados (DBA): Gerenciam
os dados através do SGBD;

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Conceitos Básicos
• Dados: Fatos que podem ser gravados e possuem um
significado implícito.

• Banco de Dados: Projetado, construído e composto por um


conjunto de dados para um propósito específico.

• Metadados: Dados que descrevem os próprios dados.


Representam a estrutura na qual os dados serão
organizados.

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Dados vs Informação
• Dado: É uma sequência de símbolos ou valores,
representados em algum meio, produzidos como resultado de
um processo natural ou artificial.

• Informação: É um conjunto de dados aos quais seres


humanos deram forma para torná-los significativos e úteis.
Pode ser entendida como dados organizados, dotados de
relevância!
• Ex.:
- Quantidade de vendas por produto;
- Total de vendas mensais;
- Total de alunos matriculados no período .

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

SGBD e Suas Funcionalidades


• Métodos de acesso
• Integridade Semântica
• Segurança
• Concorrência
• Independência

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Métodos de acesso
• DDL (Data Definition Language)
– Especificação do esquema do BD (dados e seus tipos de dados,
índices, ...)

• DML (Data Manipulation Language)


– Manipulação de dados (I, A, E, C)

• Processamento eficaz de consultas


– Considera relacionamentos, predicados de seleção, volume de dados,
índices, ...
– Exemplo: buscar professores que lecionam em turmas lotadas em
salas do quarto andar

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Métodos de acesso

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Integridade Semântica
• Garantia de dados sempre corretos com relação ao domínio
de aplicação
• Exemplos
– Estados válidos para os dados (I sexo; A salário)
– relacionamentos válidos entre os dados (turma N:1 disciplina; apenas
professores doutores lecionam disciplinas de pós-graduação)
• Especificação de RIs
– Testes, ações
– Parte integrante da DDL

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Segurança
• Evitar violação de consistência dos dados
• Segurança de acesso (usuários e aplicações)
– Matrizes de autorização
– Visões
• Segurança contra falhas (recovery):
– Monitoração de transações
• Transação:
– Conjunto de operações a serem realizadas no BD
– Princípio do “tudo ou nada”
– Categorias de falhas
• Transação, sistema e meio de armazenamento
– Manutenção de histórico de atualizações (logs) e backups do BD

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Segurança
• Exemplo de Registros Históricos

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Concorrência
• Evitar conflitos de acesso simultâneo a dados por transações
(scheduler)
• Principais técnicas
– bloqueio (lock) e timestamp

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Independência
• Transparência da organização dos dados
• Níveis de independência
– Independência Física:
• Transparência de organização (esquema) física dos
dados
• Exemplos: organização dos arquivos, indexação,
distribuição, agrupamento
– Independência Lógica:
• Transparência do esquema lógico do BD
• Exemplo: visões (vários esquemas externos)

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Independência
• Níveis de independência (níveis de abstração)
– Definem uma arquitetura de três esquemas

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Vantagens do SGBD
• 1. Independência entre programa e dados:

• Em sistemas que utilizam sistema de arquivos, a definição


das estruturas de dados é feita dentro do programa (como em
C, Pascal, Java).

• Ao contrario, SGBDs mantem um catalogo (ou dicionário de


dados) que consiste de metadados, ou seja, dados sobre os
dados. Assim, quando a estrutura dos dados é alterada isso
não implica na alteração dos programas que fazem a
manipulação dos dados.

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Vantagens do SGBD
• 2. Independência entre operação e programa:
• Em SGBDs OO e relacional/objeto, funções/procedimentos
para manipulação dos dados armazenados também fazem
parte do BD.
• Estes procedimentos escondem os detalhes sobre
armazenamento e implementação, que não são de interesse
da maior parte dos usuários de bancos de dados. Isto é
chamado de abstração de dados.
• Mantendo a interface destas funções inalterada, os
programas que as utilizam não precisam ser alterados
quando a implementação interna da função muda. Isto é
chamado de independência entre operação e programa.

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Vantagens do SGBD
• 3. Controle de acesso mais especializado

• 4. Suporte a Visões:Um mesmo conjunto de dados pode ser


apresentado a usuários diferentes de forma distinta.
Ex: visão do cliente do banco, visão do gerente

• 5. Controle de Redundância: Desvantagens da redundância


de dados: espaço de armazenamento desperdiçado,
inconsistência de dados.

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Vantagens do SGBD
• 6. Compartilhamento de Dados e Transações:
Exemplo:
– Caixa quer descontar um cheque de R$ 100 do cliente X
– Cliente X: quer sacar R$ 50 do caixa eletrônico

Se o saldo atual de X no banco é R$ 500, qual o saldo final no final


destas duas transações?

• 7. Armazenamento Persistente para Objetos de


Programas e Estruturas de Dados

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Vantagens do SGBD
• 8. Fornecimento de Interfaces Múltiplas do Usuário:
– Baseadas em menus
– Baseadas em formulários
– Gráficas
– De linguagem natural
– Para usuários leigos (específicos para uma aplicação)
– Para o DBA (criar contas, ajustar param do sistema, conceder
autorizações, modificar um esquema, reorganizar as estruturas de
armazenamento, etc.)

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Vantagens do SGBD
• 9. Imposição de restrições de integridade:
Ex:
– Restrições de tipo: saldo do tipo real
– Unicidade: não existe mais de cliente com o mesmo CPF
– Integridade de referência: toda transação deve ser de uma CC
existente.

• 10. Facilidades de Cópia e Recuperação:

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Vantagens do SGBD
• Algumas vantagens adicionais:
– Potencial para impor padrões
– Tempo reduzido para o desenvolvimento de aplicações
– Flexibilidade
– Disponibilidade de info. atualizadas para todos os usuários
– Economias de escala

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Classificação dos Banco de Dados quanto ao


modelo de dados
• Sistema de Arquivos (SA);

• Banco de Dados Hierárquico;

• Banco de Dados em Rede;

• Banco de Dados Relacional;

• Bancos de Dados Orientados a Objetos;

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Sistema de Arquivos (SA)


• Primeiro modelo de banco de dados;

• Dados são registros de tamanho fixo;

• Poucas consultas pré-definidas. Em geral, buscas por


igualdade de campo dos registros;

• Muito limitado comparando a modelos atuais;

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Banco de Dados Hierárquico


• IMS - Information Management System: desenvolvido pela
IBM e pela Rockwell no fim da década de 1960 para
ambientes de grande porte (OS/VS1, OS/VS2, MVS, MVS/XA
e ESA) – Os famosos Mainframe;
• Utiliza a organização de endereços físicos do disco na sua
estrutura
• Baseado em dois conceitos fundamentais: registros e
relacionamentos pai-filho
• Um registro "pai" pode se corresponder com vários registros
do lado "filho"

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Bancos de Dados em Rede


• Definidos pelo DBTG (Data Base Task Group) do comitê do
CODASYL (Conference on Data Systems Language) a partir
de 1971
• Permitem que um mesmo registro participe de vários
relacionamentos devido à eliminação da hierarquia
• Os comandos de manipulação de registros devem ser
incorporados a uma linguagem hospedeira (COBOL, a mais
comum, Pascal e FORTRAN)
• Estruturas fundamentais: registros (records) e conjuntos
(sets)
• Registros contêm dados relacionados e são agrupados em
tipos de registros que armazenam os mesmos tipos de
informações
UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Bancos de Dados Relacionais


• A maioria dos SGBDs atualmente em uso se enquadra no tipo
relacional
• Princípios básicos formulados por Edgard F. Codd em 1968
baseados na teoria dos conjuntos e da álgebra relacional
• Em 1985, Codd propôs um conjunto de doze regras para que
um banco de dados fosse considerado como relacional
• Organiza os dados em tabelas (relações) formadas por linhas
e colunas
• Tabelas são similares a conjuntos de elementos: relacionam
as informações de um mesmo assunto de um modo
organizado

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Bancos de Dados Orientados a Objetos


• Surgiram em meados de 1980 para armazenamento de dados
complexos, não adequados aos sistemas relacionais: GIS
(Geographical Information System) e CAD/CAM/CAE
• O modelo é caracterizado pela definição de objetos com suas
propriedades e operações
• O OMDG (Object Database Management Group) definiu um
padrão de estrutura para bancos de dados orientados a
objetos
• O grupo propôs um padrão conhecido como ODMG-93,
atualmente revisado e denomidado ODMG 2.0
• Linguagens: ODL (Object Definition Language) e OQL (Object
Query Language)

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Classificação dos Banco de Dados quanto ao


número de usuários
• Bancos de Dados Monousuários;

• Bancos de Dados Multiusuários;

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Classificação Quanto ao número de usuários


• Bancos de Dados Monousuários;

• Bancos de Dados Multiusuários;

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Classificação Quanto a Localização


• Bancos de Dados Centralizados;

• Bancos de Dados Distribuídos;

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)
MODELAGEM DE DADOS

Bancos de Dados Heterogêneos


• Tendência que vem crescendo muito atualmente: distribuir na
arquitetura de SGBDs vários bancos de dados de
fornecedores diferentes

UNIDADE 1 – Visão Geral: Banco de Dados e os Sistemas de Gerenciamento de Banco de Dados (SGBD)