UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área...
-
Upload
martim-carvalho -
Category
Documents
-
view
214 -
download
0
Transcript of UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área...
UERJ © Oscar Luiz Monteiro de Farias 1
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
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
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.
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.
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...
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...
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
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)
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...
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
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]
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
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
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.
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).
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.
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)...
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)...
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
UERJ © Oscar Luiz Monteiro de Farias 21
Ambiente de um Sistema de Banco de Dados
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
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
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
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
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