UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área...

26
UERJ © Oscar Luiz Monteiro de 1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

Transcript of UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área...

Page 1: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 1

Bancos de Dados

Mestrado em Engenharia de Computação área de concentração Geomática

Page 2: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 2

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

Conceitos de Sistemas de Banco de Dados e Arquitetura

Page 3: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 3

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

Page 4: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 4

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.

Page 5: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 5

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.

Page 6: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 6

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

Categorias de Modelo de Dados...

Page 7: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 7

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

Esquemas e Instâncias...

Page 8: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 8

Esquemas e Instâncias......DIAGRAMA DE SCHEMA

STUDENTName StudentNumber Class Major

COURSECourseName CourseNumber CreditHours Department

PREREQUISITECourseNumber PrerequisiteNumber

SECTIONSectionIdentifier CourseNumber Semester Year Instructor

GRADE_REPORTStudentNumber SectionIdentifier Grade

Page 9: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 9

Esquemas e Instâncias...

Estado da Base de Dados (Extensão)

Schema da Base de Dados (Intensão)

Page 10: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 10

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

Níveis de Modelagem - Origem...

Page 11: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 11

[antes da arquitetura em três níveis de schema]

Níveis de Modelagem - Origem...

N0 de esquemas para uma aplicação

= N0 de tipos de implementação

x N0 de diferentes visões

Page 12: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 12

Níveis de Modelagem - Origem...

IMP 1 IMP 2 IMP 3 IMP 4

Visão 1 Visão 2 Visão 3 Visão 4 Visão 5

[antes da arquitetura em três níveis de schema]

Page 13: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 13

Arquitetura ANSI-SPARC

VISÃO 1(esquema externo 1)

ESQUEMA CONCEITUAL

VISÃO N(esquema externo n)

NÍVEL NÍVEL EXTERNOEXTERNO

NÍVEL NÍVEL CONCEITUALCONCEITUAL

ESQUEMA INTERNO NÍVELNÍVELINTERNOINTERNO

USUÁRIOS FINAISUSUÁRIOS FINAIS

STORED DATABASESTORED DATABASE

Page 14: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 14

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 Conceitualrelacionado à representação lógica dos dados armazenados no banco de dados

• Nível Internomais próximo da representação física dos dados, aquele relacionado à forma como o dado é fisicamente armazenado

Page 15: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 15

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.

Page 16: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 16

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

Page 17: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 17

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.

Page 18: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 18

• É 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 set-

oriented) ex.: SQL– low-level ou procedural (record-at-a-time)

Linguagens de SGBD (DBMS Languages)...

Page 19: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 19

• 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

Linguagens de SGBD (DBMS Languages)...

Page 20: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 20

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

Page 21: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 21

Ambiente de um Sistema de Banco de Dados

Page 22: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 22

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

Ambiente de um Sistema de Banco de Dados

Page 23: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 23

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

Ambiente de um Sistema de Banco de Dados

Page 24: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 24

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.

Utilitários em um Sistema de Banco de Dados

Page 25: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 25

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

Page 26: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 26

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