Upload
vudat
View
215
Download
0
Embed Size (px)
Citation preview
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