modelagem de dados unidade 1 visão geral luiz leão...

36
MODELAGEM DE DADOS Luiz Leão [email protected] http://www.luizleao.com UNIDADE 1 Visão Geral

Upload: vudat

Post on 10-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

MODELAGEM DE DADOS

Luiz Leão – [email protected]

http://www.luizleao.com

UNIDADE 1 – Visão Geral

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

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

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

• Sistemas de Gerenciamento de Arquivos (SGA):

– Características

– Dificuldades

– Desvantagens

Evolução Histórica dos Bancos de Dados

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

MODELAGEM 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

Evolução Histórica dos Bancos 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

• 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;

Usuários de Banco de Dados

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

MODELAGEM DE DADOS

• 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.

Conceitos Básicos

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

• Métodos de acesso

• Integridade Semântica

• Segurança

• Concorrência

• Independência

SGBD e Suas Funcionalidades

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

MODELAGEM DE DADOS

• 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

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

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

• 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.

Vantagens do SGBD

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

MODELAGEM DE DADOS

• 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.

Vantagens do SGBD

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

MODELAGEM DE DADOS

• 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.

Vantagens do SGBD

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

MODELAGEM DE DADOS

• 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

Vantagens do SGBD

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

MODELAGEM DE DADOS

• 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.)

Vantagens do SGBD

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

MODELAGEM DE DADOS

• 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:

Vantagens do SGBD

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

MODELAGEM DE DADOS

• 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

Vantagens do SGBD

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

• Bancos de Dados Monousuários;

• Bancos de Dados Multiusuários;

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

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

MODELAGEM DE DADOS

• Bancos de Dados Centralizados;

• Bancos de Dados Distribuídos;

Classificação Quanto a Localização

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

MODELAGEM DE DADOS

• Tendência que vem crescendo muito atualmente: distribuir na

arquitetura de SGBDs vários bancos de dados de

fornecedores diferentes

Bancos de Dados Heterogêneos