Universidade Estadual de Mato Grosso do Sul Ciência da

Propaganda
Universidade Estadual de Mato Grosso do Sul
Ciência da Computação
Banco de Dados
Prof. Nilton
[email protected]
Modelagem
Conceitos e arquitetura do SBD;
Modelo de dados entidade-relacionamento – modelo ER;
Modelo de dados relacional;
Mapeamento ER para o relacional.
2
Modelos de Dados
Modelo (de banco) de dados
para descrever a estrutura do banco de dados numa
determinada etapa do projeto
Classificação segundo o nível de abstração
Modelo conceitual
Modelo lógico
Modelo físico
3
Modelo Conceitual
descreve a estrutura de um BD de forma
independente de qualquer implementação
exemplo
Modelo Entidade-Relacionamento
representado pelo diagrama E-R
notação de Peter Chen
idcli
nomecli
Cliente
dtadm
N
classe
idfilme
loca
N
nomefilme
Filme
genero
4
Modelo Lógico
descreve a estrutura do banco de dados em função
de uma futura implementação usando um SGBD
lógico
para perseguir a implementação ideal
primar pela qualidade
exemplo
Modelo Relacional
 baseado em relações
 representação tabular (plana)
5
Modelo Físico
descreve os detalhes de armazenamento (interno)
dos dados e das formas de acesso a esses dados
físico
para garantir a implementação possível
primar pelo desempenho
derivado a partir do respectivo modelo lógico
como?
detalhes de armazenamento: organização de arquivos
acesso aos dados: utilização de índices
6
Esquemas e Instâncias
Um banco de dados apresenta um esquema e uma
instância
Esquema
Definição do BD
Estático, invariante no tempo
Instância
Manipulação do BD
Dinâmica, variante no tempo
Esquema
Instância
7
Esquemas e Instâncias
8
Arquitetura de 3 Esquemas
•Ajuda a obter e visualizar as três características
importantes de um SBD (isolamento entre dados e programas, suporte a
múltiplas visões e a natureza autocontida)
Visão 1
Visão 2
Visão N
Nível externo ou de visão
Nível conceitual
Nível interno
Banco de dados
(tabelas e restrições de integridade)
Mecanismos de desempenho
no acesso ao banco de dados
9
Esquemas de Visão
ou esquemas externos ou visões do usuário
definem as visões dos usuários do banco de dados,
isto é, uma parte do banco de dados de interesse de
um grupo de usuários
cada um vê o banco de dados ao seu modo
Uso de um modelo de dados de alto nível ou um
modelo de dados de implementação
10
Esquema Conceitual
 definição conceitual do banco de dados, isto é, descreve a
estrutura de todo banco de dados para uma comunidade de
usuários
 no modelo relacional: tabelas (campos e tuplas), relacionamentos e
restrições de integridade
 unificador das visões dos usuários
 daí, os esquemas de visão definitivos são estabelecidos
depois que se definiu o esquema conceitual
 Uso de um modelo de dados de alto nível ou um modelo de
dados de implementação
11
Esquema Interno
descreve a estrutura de armazenamento físico do
banco de dados com objetivo de melhorar o
desempenho
caminhos de acesso
índices
hashing
12
Independência de Dados
A arquitetura de 3 esquemas pode ser utilizada para
explicar o conceito de independência de dados
É a capacidade de mudar o esquema num nível de
um SBD sem ter que mudar o(s) esquema(s) no(s)
nível(eis) seguinte(s) mais alto.
Independência lógica de dados
 Ex: expandir o banco de dados adicionando um tipo de
registro ou um item de dados
Independência física de dados
 Ex: criar estruturas de acesso adicionais
Arquitetura de 3 esquemas ajuda a alcançar a independência dos dados, tanto física
como a lógica, mas o mapeamento desses níveis requer trabalho adicional durante a
execução de uma consulta. Por isto, poucos SGBDs implementam a arquitetura de 3 13
esquemas completamente.
Linguagens do SGBD
Linguagem de definição de dados
(DDL – Data Definition Language)
Linguagem de definição do armazenamento
(SDL – Storage Definition Language)
Linguagem de definição de visão
(VDL – View Definition Language)
Linguagem de manipulação de dados
(DML – Data Manipulation Language)
Linguagem hospedeira
14
DDL: data definition language
 definir os esquemas conceitual e interno quando
não existe separação entre níveis conceitual e
interno
 definir o esquema conceitual quando há a
separação entre os níveis...
15
SDL: storage definition language
 definir o esquema interno
 o mapeamento entre os dois esquemas (conceitual
e interno) pode ser especificado por qualquer uma
das linguagens (DDL, SDL).
16
VDL: view definition language
 especificar as visões dos usuários e seus
mapeamentos para o esquema conceitual
 alguns SGBD usam DDL para especificar tanto o
esquema conceitual como o externo
17
DML: data manipulation language
para incluir/alterar/modificar/consultar os dados
DML de alto nível ou não procedural
utilizada sozinha em operações complexas do BD
orientada a conjuntos de registros
DML de baixo nível ou procedural
embutida numa linguagem de programação
orientada a registros (usa(usa-se loops
loops))
18
Linguagem hospedeira
os comandos da DML estão embutidos
na linguagem de programação
Nos SGBDs atuais as linguagens apresentadas não são
consideradas distintas, é utilizada uma linguagem
integrada compreensiva.
Ex: linguagem SQL (DDL+VDL+DML)
19
Interfaces do SGBD
 Interfaces baseadas em menus
 Interfaces baseadas em formulários
 Interfaces gráficas (diagramas  menus+forms
menus+forms))
 Interfaces de linguagem natural
 Interfaces para usuários leigos
 Interfaces para DBAs
20
Módulos Típicos de um SGBD
21
Utilitários de um SGBD
 Carregador de arquivos
 Backup
 Reorganizador de arquivos
 Gerador de relatórios
 Monitor de desempenho
 ...
22
Classificação dos SGBDs
 Critério principal
1. Modelo de dados
 Relacional, Objeto, ObjetoObjeto-Relacional (atuais), Hierárquico
e Rede e outros
 Outros critérios
2. Número de usuários
 Monousuário, Multiusuário
3. Número de locais
 Centralizado, Distribuído (homogêneo/heterogêneo)
4. Preço (US$)
 100 a 3.000 (monousuários, PC), 10.000 a 100.000 (a
maioria),
> 10.000 (alguns mais elaborados)
5. Propósito
 Geral, específico (OLTP)
23
Bancos de Dados Centralizados
24
Redes de Microcomputadores
25
Arquitetura Cliente/Servidor
com Servidor de Arquivos
26
Arquitetura Cliente/Servidor
com Servidor de Bancos de Dados
27
Arquitetura Cliente/Servidor com Múltiplos
Servidores de Bancos de Dados Cooperativos
28
Banco de Dados Cliente/Servidor com
Gerência de Dados Remota
29
Banco de Dados Cliente/Servidor com
Gerência de Dados Distribuída
30
Banco de Dados Cliente/Servidor com
três níveis (three-tier architecture)
31
Bancos de Dados via Web
32
Arquitetura de Intregração
33
Download