Unidade 1 - Luiz Leao

Propaganda
MODELAGEM DE DADOS
UNIDADE 1 – Visão Geral
Luiz Leão – [email protected]
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)
Download