Bancos de Dados
Mestrado em Engenharia de Computação
área de concentração Geomática
UERJ - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© Oscar Luiz Monteiro de Farias
7
Esquemas e Instâncias......
DIAGRAMA DE SCHEMA
STUDENT
Name
StudentNumber
COURSE
CourseName
Class
CourseNumber
Major
CreditHours
Department
PREREQUISITE
CourseNumber PrerequisiteNumber
SECTION
SectionIdentifier CourseNumber
GRADE_REPORT
StudentNumber SectionIdentifier
UERJ - Agosto 2000
Semester
Year
Instructor
Grade
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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
NÍVEL
INTERNO
ESQUEMA INTERNO 1
STORED DATABASE
UERJ - Agosto 2000
ESQUEMA CONCEITUAL
BD
ESQUEMA INTERNO M
BD
© Oscar Luiz Monteiro de Farias
BD
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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© Oscar Luiz Monteiro de Farias
20
Ambiente de um Sistema de Banco de Dados
UERJ - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© Oscar Luiz Monteiro de Farias
23
Utilitários em um Sistema de Banco de Dados
•
•
•
•
•
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.
UERJ - Agosto 2000
© 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 - Agosto 2000
© 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 - Agosto 2000
© Oscar Luiz Monteiro de Farias
26
Download

Bancos de Dados