aula 03 - sgbd - conceitos e arquitetura - 2pp

26
1 DIM0434 Conceitos e Arquitetura Marcel Oliveira Na aula de hoje... Terminologia e conceitos básicos – Modelos de dados, conceitos, instâncias – Arquitetura de SGBD – Tipos de interface e linguagens oferecidas por um SGBD – Visão geral de tipos de arquiteturas cliente/servidor – Classificação dos tipos de pacotes SGBD

Upload: ikaro-souza

Post on 13-Jul-2016

22 views

Category:

Documents


1 download

DESCRIPTION

Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

TRANSCRIPT

Page 1: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

1

DIM0434Conceitos e ArquiteturaMarcel Oliveira

Na aula de hoje...

• Terminologia e conceitos básicos– Modelos de dados, conceitos,

instâncias

– Arquitetura de SGBD

– Tipos de interface e linguagens oferecidas por um SGBD

– Visão geral de tipos de arquiteturas cliente/servidor

– Classificação dos tipos de pacotes SGBD

Page 2: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

2

Modelos de Dados

• Permite abstração de dados– Ocultam detalhes do armazenamento

dos dados

• Conjunto de conceitos usados para descrever a estrutura e as operações básicas de um BD– Tipos de dados

– Relacionamentos

– Restrições

Modelo de Dados

• Informações adicionais– Operações básicas

• Recuperação e atualização

– Aspectos dinâmicos (comportamento)• Operações definidas pelos usuários

– CALCULE_IRA

Page 3: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

3

Modelos de DadosCategorias• Modelos de dados conceituais

– Alto nível– Descrevem os dados como os usuários os

percebem

• Modelos de dados representacionais– Implementação– Podem ser estendidos e utilizados pelos

usuários finais– Não estão distante do modelo físico

• Modelos de dados físicos– Baixo nível– Descrevem os detalhes de como os dados

estão armazenados no computador

Modelos de Dados Conceituais• Utiliza conceitos como:

– Entidades

– Atributo

– Relacionamentos

– Generalização/Especialização

Page 4: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

4

Modelos de Dados de Implementação• São os mais utilizados pelos SGBD

comerciais

• Exemplos– Modelo de dados

relacional

– Modelos legados • Rede

• Hierárquico

– Modelo de dados OO • Mais próximos dos modelos conceituais, sendo

usado algumas vezes como tal

Modelos de Dados Físicos

• Descrevem– Como os dados estão armazenados

em arquivos no computador• Formato do registro

• Ordem dos registros

• Rotas de acesso

Page 5: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

5

Esquemas, Instâncias e Estados de BD• Esquema de BD (Intenção)

– Descrição do BD definida durante o projeto do BD

– Dada ao SGBD na construção do BD

– Poucas alterações

– Diagrama esquemático

• Nome dos tipos de registro, itens de dados, e restrições

Construtores

Tipos e Relacionamentos ???

Esquemas, Instâncias e Estados de BD• Estado do BD (Extensão)

– Snapshot em um determinado momento dos dados que estão no BD

– Inicialmente vazio

– Conjunto corrente de instâncias

InserçãoRemoçãoAlteração

Estado Inicial Estado Final

T1 T2

Page 6: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

6

Esquemas, Instâncias e Estados de BD• Estado do BD (Extensão)

– SGBD é responsável por verificar que cada estado é válido

– SGBD armazena descrição dos construtores e restrições

InserçãoRemoçãoAlteração

Estado Inicial Estado Final

T1 T2

Esquemas, Instâncias e Estados de BD• Evolução do esquema

– Alteração do esquema do BD

– Evolução dinâmica é suportada pela maioria dos BDs modernos

Page 7: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

7

Arquitetura de Três Esquemas• Revendo características da

abordagem BD– Separação de programas e dados

– Suporte a múltiplas visões de usuários

– Uso de catálogo para armazenar esquema do BD

• Arquitetura três esquemas– Proposta para auxiliar a realização e

visualização dessas características

Arquitetura de Três Esquemas

• Descreve estrutura de armazenamento físico do BD

• Descreve estrutura de do BD para todos osusuários- Entidades- Tipos de dados- Conexões- Operações- Restrições• Geralmente utiliza modelo de dados representacional

• Esquemasexternos (visões de usuários)

Page 8: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

8

Arquitetura de Três Esquemas• A maioria dos SGBDs não separa

os três níveis completamente, mas oferecem suporte aos três níveis de alguma maneira– Detalhes do nível físico no esquema

conceitual

– Esquemas externos especificados no mesmo modelo do nível conceitual

Arquitetura de Três Esquemas• Esquemas são apenas descrições

dos dados– O nível físico é que existe

– Mapeamentos

Page 9: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

9

Independência de Dados

• Independência lógica– Capacidade de alterar o esquema

conceitual sem alterar o esquema externo ou programa

Expansão do BDAlteração de

restriçõesRedução do BD

Independência de DadosLógica• Exemplo

Nível ExternoNível Conceitual

ALTERARDefinição da visão

Mapeamentos

Page 10: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

10

Independência de Dados

• Independência física– Capacidade de alterar o esquema

interno sem alterar o esquema conceitual

Reorganização dosarquivos físicos para melhorar desempenho

Independência de Dados

• Mapeamentos geram overhead em consultas

• Poucos SGBDs têm sido implementado dessa maneira

Page 11: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

11

Linguagens de SGBD• Linguagem de Definição de Dados

(DDL)– Usada pelos DBA e pelos projetistas para

definir os esquemas conceitual e interno do BD

• Linguagem de Definição de Armazenamento (SDL)– Usada em BDs que separam claramente o

esquema conceitual do interno para especificar o último

• Mapeamentos entre esquema conceitual e interno é feito usando quaisquer uma dessas linguagens

Linguagens de SGBD

• Linguagem de Definição de Visões (VDL)– Seria usada para especificar visões e

seus mapeamentos– Porém na maioria dos SGBD a DDL é

usada na definição dos esquemas conceitual e externo

• Linguagem de Manipulação de Dados (DML)– Usada para manipular o BD

• Recuperação, inserção, remoção e modificação

Page 12: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

12

Linguagens de SGBD

• Nos SGBDs atuais, os tipos de linguagens são consideradas linguagens não distintas

• Linguagens integradas – Exemplo: SQL

• DDL + VDL + DML + Comandos para...– Restrições, evolução de esquema, etc

• SDL foi removida da SQL para mantê-la apenas nos níveis conceitual e externo

Linguagens de SGBD

• Tipos de DML– Baixo nível

• Embutida em uma LP de propósito geral

• Comando DML precisa ser embutido na LP

– Devem ser identificados, extraídos e processados pelo SGBD

• Recuperam um registro por vez

• Precisam usar construtores da LP como loops para processar conjunto de registros

Page 13: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

13

Linguagens de SGBD

Linguagens de SGBD

• Tipos de DML– Alto nível

• Usadas para especificar operações complexas no BD

• Muitos SGBD oferecem interfaces para execução interativa

• Comando DML podem ser embutidos em uma LP

• Recuperam conjuntos de registro por vez

• Chamadas declarativas– Declara quais dados recuperar

Page 14: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

14

Linguagens de SGBD

• Embutindo a DML em uma LP– LP

• Linguagem hospedeira

– DML• Sublinguagem de dados

• Linguagem de consulta (se usada de maneira iterativa e isoladamente)

Interfaces do SGBD

• Interfaces baseadas em menu para clientes Web

Page 15: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

15

Interfaces do SGBD• Interfaces baseadas em

formulários– Exibição de formulários para

cada usuário

– Alguns SGBDs possuem linguagens para especificação de formulários

– Exemplo: formulários do Access

• Interface gráficas para usuários (GUI)– Exibe esquema para usuário

para formulário diagramático

– Usuário especifica consulta manipulando o diagrama

Interfaces do SGBD

• Interfaces com linguagem natural– Query em linguagem natural

– Tentativa de interpretação• Inicial

• Iterativa

• Interface para usuários parametrizáveis– Interface especial para cada tipo de

usuários permitindo uso mínimo de teclas

– Exemplo• caixas de banco

• ATM para clientes do banco

• Interface para o DBA

Page 16: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

16

Módulos Componentes do SGBD

Utilitários do SGBD

• Carregamento– Usado para carregar arquivo de

dados existentes para dentro do BD

– Ferramentas de conversão

DATA CONVERSOR

Formato do Arquivo Fonte Estrutura do BD

Page 17: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

17

Utilitários do SGBD

• Backup– Dumping

– Incremental

• Reorganização– Busca melhora de desempenho

• Monitoramento de desempenho– Estatísticas de desempenho e uso

• Classificação e

Compressão de dados

Outras Ferramentas

• Ferramentas CASE para fase de projeto– http://www.databaseanswers.org/mod

elling_tools.htm

– Modelo E-R• BRModelo

• ERWin

• Dia

• Lucid Chart

Page 18: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

18

Outras Ferramentas

– Relacional• Microsoft Access

• PhPMyAdmin

• Quantum DB

• MySQL Workbench– http://en.wikipedia.org/wiki/Comparison_of_database_tools

SGBDs

Fonte em 19/02/2013 : http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

DB2

Firebird

Access

PostgreSQL

Page 19: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

19

SGBDs

Fonte em 08/02/2010 : http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

Outras Ferramentas

• Ambiente de desenvolvimento– Plug-ins eclipse

• http://quantum.sourceforge.net/

Page 20: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

20

Outras Ferramentas

• Softwares de comunicação– Permitem a comunicação remota com o BD

• Usuário <> BD

• BD <> BD

– DB/DC (DataBase/Data Communication)

Evolução dos SGBDs

• Evolução reflete tendências da computação em geral

Mainframes PCs / Workstations

BD Monolíticos BD Modulares

Redes de Comunicação

WEB PRINTER FILES

Clientes

Servidores

Page 21: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

21

Arquitetura SGBD Centralizada• Motivada pelo alto custo das

máquinas

Arquitetura Cliente-Servidor• Grande números de componentes

computacionais conectados via rede

Page 22: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

22

Arquitetura Cliente-Servidor Duas Camadas

Servido de Consultas/Transações(Servidor SQL)

Interface com Usuário / Aplicações

Padrão ODBCOpen Database Connectivity

Conexão

Arquitetura Cliente-Servidor Duas Camadas

ServidorServidor de Consultas/Transações

(Servidor SQL)

Cliente

Driver ODBC

Aplicação

DB API

JDBC-ODBC Bridge

Page 23: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

23

Arquitetura Cliente-Servidor Duas Camadas

Arquitetura Cliente-Servidor Três Camadas

Regras de negócioIncremento de segurança

Page 24: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

24

Classificação dos SGBD

• Vários critérios são utilizados

• Modelo de dados– Modelo Relacional

• Mais utilizado

– Modelo de Objetos• Não muito difundido

– Modelo Objeto-Relacional• Evolução do relacional

– Modelo Hierárquico

– Modelo em Rede

Classificação dos SGBD

• Número de usuários– Mono-usuário– Multi-usuário

• Número de sítios– Centralizado– Distribuído

• Homogêneos: usam o mesmo software de SGBD em todos os sítios

• Heterogêneos: tendência atual

– Confederado: SGBD fracamente acoplados com autonomia local

Page 25: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

25

Resumo• Introdução aos principais conceitos de

sistemas de BD– Modelos de dados e seus níveis

• Intensão x Extensão• Arquitetura em três esquemas

– Interno, Conceitual, Externo– Mapeamentos

• Tipos de linguagem de BD– SDL, DDL, VDL, DML

• Tipos de interface do SGBD• Módulos componentes do SGBD• Arquiteturas para aplicações de BD • Classificação de BD

Leitura

• Capítulo 2

Page 26: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp

26