Bancos de Dados

Propaganda
Bancos de Dados
Mestrado em Engenharia de Computação
área de concentração Geomática
UERJ
© Oscar Luiz Monteiro de Farias
1
Conceitos de Sistemas de Banco de Dados e
Arquitetura
• Modelos de Dados, Esquemas e Instâncias
• Arquitetura de Banco de Dados e Independência
de Dados
• Linguagem de Banco de Dados e Interfaces
• O Ambiente de Sistemas de Banco de Dados
• Classificação de Sistemas Gerenciadores de Banco
de Dados (SGBDs)
UERJ
© Oscar Luiz Monteiro de Farias
2
Modelos de Dados...
• Abstração de dados - oculta os detalhes de
armazenamento de dados que não são necessários
à maioria dos usuários do banco de dados.
• Um Modelo de Dados é um conjunto de conceitos
que pode ser usado para descrever a estrutura de
um banco de dados.
• Estrutura de um BD - tipos de dados, relações,
restrições, operações básicas e comportamentos
que devem valer para os dados
UERJ
© Oscar Luiz Monteiro de Farias
3
Modelo de Dados...
Modelo: é a representação abstrata e
simplificada de um sistema real, com a qual
se pode explicar ou testar o seu
comportamento, em seu todo ou em partes.
UERJ
© Oscar Luiz Monteiro de Farias
4
Categorias de Modelo de Dados...
• Conceitual (Alto-nível) - provê conceitos que
estão próximos à forma pela qual os usuários
percebem os dados.
• Físico (Baixo-nível) - provê conceitos que
descrevem os detalhes de como os dados são
armazenados no computador.
• Lógico (Representacional/ Implementacional ) provê conceitos que podem ser entendidos pelos
usuários, mas que estão, de certo modo,
vinculados à forma como os dados estão
organizados no computador.
UERJ
© Oscar Luiz Monteiro de Farias
5
Categorias de Modelo de Dados...
• Modelos Conceituais
– Entidade/Relacionamento (ER)
– Modelos Orientados a Objetos (Object-oriented data
models)
• Modelos Lógicos
– Relacional
– Hierárquico
– Rede
• Modelos Físicos: métodos de acesso + estruturas
de armazenamento...
UERJ
© Oscar Luiz Monteiro de Farias
6
Esquemas e Instâncias...
• Esquemas são unidades de especificação que
servem de mapeamento para as estruturas de um
banco de dados.
• Diagrama de Schema - é a descrição da base de
dados (meta-dados)
• Schema construct - cada objeto do schema
• Estado da Base de Dados - é o conjunto de dados
na Base de Dados em um determinado instante
(conjunto de ocorrências ou instância)
UERJ
© Oscar Luiz Monteiro de Farias
7
Esquemas e Instâncias......
D
IA
G
R
A
M
AD
ESC
H
E
M
A
ST
U
D
E
N
T
N
am
e
StudentN
um
ber
C
O
U
R
SE
C
ourseN
am
e
C
lass
C
ourseN
um
ber
M
ajor
C
reditH
ours
D
epartm
ent
PR
E
R
E
Q
U
ISIT
E
C
ourseN
um
ber PrerequisiteN
um
ber
SE
C
T
IO
N
SectionIdentifier C
ourseN
um
ber
G
R
A
D
E
_R
E
PO
R
T
StudentN
um
ber SectionIdentifier
UERJ
Sem
ester Y
ear Instructor
G
rade
© Oscar Luiz Monteiro de Farias
8
Esquemas e Instâncias...
Estado da Base de Dados (Extensão)

Schema da Base de Dados (Intensão)
UERJ
© Oscar Luiz Monteiro de Farias
9
Níveis de Modelagem - Origem...
• Dificuldades existentes antes da arquitetura
em três níveis de schema (arquitetura
ANSI-SPARC):
Um mesmo modelo de dados, concebido para
uma aplicação, necessitava de um esquema para
cada tipo de implementação do SGBD
(relacional, hierárquico, rede, etc.) e para cada
visão.
UERJ
© Oscar Luiz Monteiro de Farias
10
Níveis de Modelagem - Origem...
N0 de esquemas para uma aplicação
=
N0 de tipos de implementação
x
N0 de diferentes visões
[antes da arquitetura em três níveis de schema]
UERJ
© Oscar Luiz Monteiro de Farias
11
Níveis de Modelagem - Origem...
IMP 1
Visão 1
IMP 2
Visão 2
Visão 3
IMP 3
Visão 4
IMP 4
Visão 5
[antes da arquitetura em três níveis de schema]
UERJ
© Oscar Luiz Monteiro de Farias
12
Arquitetura ANSI-SPARC
USUÁRIOS FINAIS
NÍVEL
EXTERNO
VISÃO 1
VISÃO N
(esquema externo 1)
(esquema externo n)
NÍVEL
CONCEITUAL
ESQUEMA CONCEITUAL
NÍVEL
INTERNO
ESQUEMA INTERNO
STORED DATABASE
UERJ
© Oscar Luiz Monteiro de Farias
13
Arquitetura em 3 níveis (ANSI-SPARC)
• Nível Externo
mais próximo do usuário, relacionado à forma como o
dado é percebido (visto) pelo usuário
• Nível Conceitual
relacionado à representação lógica dos dados armazenados
no banco de dados
• Nível Interno
mais próximo da representação física dos dados, aquele
relacionado à forma como o dado é fisicamente
armazenado
UERJ
© Oscar Luiz Monteiro de Farias
14
Arquitetura em 3 níveis de esquema
• Os três níveis de schema são apenas descrições
dos dados
• Os dados reais existem apenas no nível físico
• Mapeamento: é o processo de transformar pedidos
e resultados entre os diferentes níveis da
arquitetura
• o catálogo deve ser expandido em um SGBD de 3
níveis de esquema para incluir informações
relativas a como mapear pedidos e dados entre os
diversos níveis.
UERJ
© Oscar Luiz Monteiro de Farias
15
Independência de Dados
• Independência de dados: é a capacidade de alterar
o schema em um nível do Sistema de Banco de
Dados, sem ter que alterar o schema do nível
superior mais próximo.
• Independência lógica de dados: é a capacidade de
alterar o schema conceitual sem ter que alterar
schemas externos ou programas aplicativos.
• Independência física de dados: é a capacidade de
alterar o schema interno sem ter que alterar o
schema conceitual (externo).
UERJ
© Oscar Luiz Monteiro de Farias
16
Linguagens de SGBD (DBMS Languages)...
• Data Definition Language (DDL): utilizada para definir os
schemas conceitual e interno (níveis lógico e físico), em
SGBDs em que não há uma separação estrita entre estes
dois níveis.
• Storage Definition Language (SDL): usada para especificar
o esquema interno.
• View Definition Language (VDL): usada para especificar
as visões dos usuários e o seu mapeamento no esquema
conceitual.
• Data Manipulation Language (DML): usda para consultas
e atualizações na base de dados.
UERJ
© Oscar Luiz Monteiro de Farias
17
Linguagens de SGBD (DBMS Languages)...
• É comum nos SGBDs não separar os diferentes
tipos de linguagem (SDL, DDL, VDL e DML).
Um exemplo típico é a linguagem de banco de
dados relacional SQL - structured query language.
• Há dois tipos de DMLs:
– high level ou nonprocedural (set-at-a-time or setoriented) ex.: SQL
– low-level ou procedural (record-at-a-time)
UERJ
© Oscar Luiz Monteiro de Farias
18
Linguagens de SGBD (DBMS Languages)...
• Host-language - linguagem de programação
de uso geral em que são inseridos comandos
DML.
• data sublanguage - a linguagem DML que é
inserida na host-language
• user-friendly interfaces - para usuários naive e
paramétricos
UERJ
© Oscar Luiz Monteiro de Farias
19
Interfaces dos SGBDs
• browsing - permitem ao usuário varrer o conteúdo da base
de dados em uma forma não estruturada
• baseadas em menus
• gráficas
• baseadas em formulários
• linguagens naturais
• para usuários paramétricos - pequeno conjunto de
comandos abreviados
• para os DBAs - incluem comandos privilegiados
UERJ
© Oscar Luiz Monteiro de Farias
20
Ambiente de um Sistema de Banco de Dados
UERJ
© Oscar Luiz Monteiro de Farias
21
Ambiente de um Sistema de Banco de Dados
• Stored Data Manager - controla o acesso à
informação do SGBD armazenada em disco (base
de dados + catálogo).
• DDL Compiler - processa definições de esquemas
(meta-dados), especificadas na DDL, e armazenaas no catálogo do SGBD.
• Run-time database processor - responsável pelo
acesso à base de dados em tempo de execução (o
acesso a disco é feito via SDM).
UERJ
© Oscar Luiz Monteiro de Farias
22
Ambiente de um Sistema de Banco de Dados
• Query Compiler - processa consultas de alto nível
que são submetidas interativamente.
Faz o parsing e analisa a consulta, após o que gera
calls ao run-time-processor para executar os
pedidos.
• Precompiler - extrai os comandos DML de
programas aplicativos escritos em uma linguagem
hospedeira.
• DML Compiler - compila comandos DML em
código objeto que provê acesso ao banco de dados.
UERJ
© Oscar Luiz Monteiro de Farias
23
Utilitários em um Sistema de Banco de Dados
•
•
•
•
•
UERJ
Database utilities ajudam o DBA a executar o Sistema de
Banco de Dados.
Loading - usado para conversões: formato corrente do
arquivo => estruturas de arquivos do BD.
Backup
Reorganização de arquivos - utilizado para melhorar a
performance do sistema.
Monitoramento de performance
outros utilitários - sorting files, compressão de dados,
monitoramento de acesso, sistemas de dicionários de dados
expandidos.
© Oscar Luiz Monteiro de Farias
24
Facilidades de Comunicação
• Interface com Software de Comunicação: sua
função é possibilitar a usuários remotos o acesso
ao Banco de Dados, através de terminais,
workstations, microcomputadores, etc.
• O sistema integrado SGBD/sistema de
comunicação de dados é chamado de sistema
DB/DC.
• Arquitetura Client-Server
UERJ
© Oscar Luiz Monteiro de Farias
25
Classificação dos SGBDs
• Modelo de dados: relacional, network,
hierárquico, orientado a objetos
• N0 de usuários: multi-usuário, stand-alone
• Centralizado x Distribuído
• Homogêneo x Heterogêneo
• Custo
• Propósito geral x propósito específico
UERJ
© Oscar Luiz Monteiro de Farias
26
Download