Conceitos e Arquitetura de um SGBD

Propaganda
Modelos de Dados e
Arquitetura de um SGBD
Introdução – 1º Bimestre
Prof. Patrícia Lucas
Abstração
Modelo de Dados
Conjunto de conceitos que podem ser utilizados
para descrever a estrutura lógica e física de um
banco de dados.
Modelos de alto nível: fornece uma visão mais próxima do modo
como os usuários visualizam os dado.
 Modelos de baixo nível: fornece uma visão mais detalhada do modo
como os dados estão realmente armazenados no computador.
Estrutura
B
A
N
C
O
D
E
D
A
D
O
S
 Por “estrutura” podemos
compreender o tipo dos
dados, os relacionamentos
e as restrições que podem
recair sobre os dados
Esquemas e instâncias
 Os bancos de dados mudam a medida que
informações são inseridas ou apagadas
A coleção de informações armazenadas é
chamada de INSTÂNCIA do banco de dados
(mudam com frequência)
O projeto geral do banco de dados é chamado
ESQUEMA do banco de dados (não mudam com
frequência)
Esquemas e instâncias
Arquitetura de três-esquemas
 O nível interno: (ou esquema interno, o qual descreve a estrutura
de armazenamento físico do banco de dados, utiliza um modelo
de dados e descreve detalhadamente os dados armazenados e
os caminhos de acessoao banco de dados;
 O nível externo: ou esquema de visão, o qual descreve as visões do
banco de dados para um grupo de usuários, cada visão descreve
quais porções do banco de dados um grupo de usuários terá
acesso.
 O nível conceitual: ou esquema conceitual, o qual descreve a
estrutura do banco de dados como um todo, é uma descrição
global do banco de dados, que não fornece detalhes do modo
como os dados estão fisicamente armazenados;
Arquitetura de três-esquemas
Independência dos Dados
 O uso de bancos de dados permite modificar o
ESQUEMA dos dados em um nível sem afetar a
definição do esquema em um nível mais alto. Isto é
chamado de independência dos dados.
Minimundo
Projeto Conceitual
Níveis
De
Abstração
Projeto Lógico
esquema
Projeto Físico
instâncias
Independência de dados
 Existem 2 tipos de Independência
Independência física de dados: habilidade de modificar o
esquema físico sem a necessidade de reescrever os programa
aplicativos
Estas modificações são necessárias para melhorar o
desempenho
Independência lógica de dados: habilidade de modificar o
esquema conceitual sem a necessidade de reescrever os
programas aplicativos
Estas modificações são necessárias quando a estrutura
lógica é alterada.
Exemplo: adição de um novo atributo
Linguagem de Definição de Dados
(DDL)
 Um esquema de banco de dados é especificado por
um conjunto de definições expressas por uma
linguagem especial chamada linguagem de definição
de dados (Data Definition Language)
 O resultado da compilação de comandos de uma DDL
é o conjunto de tabelas que serão armazenadas no
dicionário (ou diretório) de dados
Linguagem de Definição de Dados
(DDL)
Um dicionário de dados contém metadados.
Este dicionário (diretório) é consultado antes
que os dados sejam lidos ou modificados no
sistema de banco de dados.
Linguagem de Manipulação de Dados
(DML)
 Manipulação de dados significa:
A busca da informação armazenada no BD
A inserção de novas informações no BD
A eliminação de informações do BD
A modificação dos dados armazenados no BD
 No nível físico precisamos definir algoritmos que
permitam acesso eficiente aos dados.
Linguagem de Manipulação de Dados
(DML)
A linguagem de manipulação dos dados
permite ao usuário manipular os dados da
seguinte forma:
Procedural: o usuário informa qual dado
deseja acessar e como obtê-lo
Não-procedural: o usuário informa qual dado
deseja acessar SEM especificar como obtê-lo
Linguagem de Manipulação de Dados
(DML)
Linguagens não-procedurais são usualmente
mais fáceis de aprender e usar do que DMLs
procedurais
Se o usuário NÃO especificar COMO obter os
dados, as linguagens não-procedurais poderão
gerar um código não tão eficiente.
Linguagem de Manipulação de Dados
(DML)
Uma consulta (QUERY) é um comando de
busca de uma informação no BD
A parte da DML que busca informações é
chamada LINGUAGEM DE CONSULTA
Arquitetura Geral de um SGBD
Exercícios
1. O que é um modelo de dados? Qual a diferença entre modelos de alto
nível e baixo nível?
2. Explique os conceitos: instância e esquemas.
3. Descreva a arquitetura de três-esquemas. Por que precisamos de
mapeamentos entre os níveis dos esquemas?
4. Qual a diferença entre independência de dados lógica e física?
5. Qual a diferença entre as DMLs procedural e não procedural?
6. O que é a Linguagem de Definição de Dados?
7. O que é a Linguagem de Manipulação de Dados?
8. O que é uma consulta?
Download