aula 03 - sgbd - conceitos e arquitetura - 2pp
DESCRIPTION
Aula 03 - SGBD - Conceitos e Arquitetura - 2ppTRANSCRIPT
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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/
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
21
Arquitetura SGBD Centralizada• Motivada pelo alto custo das
máquinas
Arquitetura Cliente-Servidor• Grande números de componentes
computacionais conectados via rede
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
23
Arquitetura Cliente-Servidor Duas Camadas
Arquitetura Cliente-Servidor Três Camadas
Regras de negócioIncremento de segurança
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
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
26