Aula 03 - SGBD - Conceitos e Arquitetura - 2pp
-
Upload
ikaro-souza -
Category
Documents
-
view
20 -
download
1
description
Transcript of Aula 03 - SGBD - Conceitos e Arquitetura - 2pp
![Page 1: Aula 03 - SGBD - Conceitos e Arquitetura - 2pp](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/1.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/2.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/3.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/4.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/5.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/6.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/7.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/8.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/9.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/10.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/11.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/12.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/13.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/14.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/15.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/16.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/17.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/18.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/19.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/20.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/21.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/22.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/23.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/24.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/25.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042520/577c829b1a28abe054b17def/html5/thumbnails/26.jpg)
26