• Nenhum resultado encontrado

Prof.: Clayton Maciel Costa

N/A
N/A
Protected

Academic year: 2021

Share "Prof.: Clayton Maciel Costa"

Copied!
37
0
0

Texto

(1)

Programação com acesso a BD

Prof.: Clayton Maciel Costa

(2)

Modelos de Dados, Esquemas e

Instâncias

(3)

Modelo de dados: Conjunto de conceitos descrevem a estrutura

de um BD:

• Abstração de dados;

• Estrutura = tipos de dados + relacionamentos + restrições (+operações => recuperação e atualização).

Esquema: Descrição (textual ou gráfica) da estrutura de um BD

de acordo com um determinado modelo de dados

;

Instância: Conjunto de dados armazenados no BD em um

determinado instante de tempo.

Modelos de Dados, Esquemas e

Instâncias

(4)

Por exemplo:

Modelos de Dados, Esquemas e

Instâncias

4

Detalhes que não interessam a estes usuários não aparecem

Modelo 1

Modelo 2

(5)

Estrutura de um banco de dados: 5 B A N C O D E D A D O S

Modelos de Dados, Esquemas e

Instâncias

(6)

6

Modelos de Dados, Esquemas e

Instâncias

(7)

7

Modelos de Dados, Esquemas e

Instâncias

(8)

8

Esquema do BD:

Armazenado no catálogo;

Mudanças muito menos frequentes.

Estado do BD:

Dados do banco em qualquer ponto do tempo;

Inicialmente vazio;

Muda frequentemente;

Validade parcialmente garantida pelo SGBD.

Modelos de Dados, Esquemas e

Instâncias

(9)

9

Nos dados

A todo momento

Diagrama

de Esquema

Novas Versões

Alterações :

Instâncias :

Estado:

Vazio 101001001001010 101010010010010 100111101010101 001001010101010 Populado / Carregado

Modelos de Dados, Esquemas e

Instâncias

(10)

Categorias de Modelo de Dados

10

MODELOS CONCEITUAIS (Alto Nível)

Descrevem a estrutura de um BD de uma

forma mais

próxima da percepção dos usuários

;

Independente de aspectos de implementação;

Conceitos: entidades, atributos, relacionamentos;

Exemplos:

Modelo entidade-relacionamento (ER);

(11)

Categorias de Modelo de Dados

11

MODELOS REPRESENTACIONAIS (Nível Intermediário)

Descrevem a estrutura de um BD da forma

como será

manipulado através de SGBD

;

Mais dependente das estruturas físicas de

armazenamento de dados;

Exemplos:

Modelo relacional;

Modelo de rede (CODASYL);

(12)

Categorias de Modelo de Dados

12

MODELOS FÍSICOS (Baixo Nível)

Descrevem como os dados são fisicamente

armazenados;

Conceitos: formatos dos registros, ordenamento dos

registros, caminhos de acesso (eficiência);

(13)

13

Características do enfoque de BD:

Isolamento de programas e dados;

Suporte de visões múltiplas de usuários;

Catálogo para armazenar a descrição (esquema) do

BD.

Arquitetura de três níveis:

Mantém independência de dados e programas;

Suporta múltiplas visões.

(14)

14

Esquema Interno

:

Descreve como os dados estão fisicamente armazenados;

Exemplo:

• Organização de arquivo:

• seqüencial-indexado, hashing, seqüencial, heap.

• Alocação em disco:

• Contígua, lista encadeada, lista encadeada utilizando índice.

• Tipo de registro:

• Fixo, variável.

Esquema Conceitual

:

Descreve quais dados estão armazenados no banco de dados;

Descreve os relacionamentos entre os dados armazenados.

Esquema Externo

:

Descreve parte do banco de dados;

• Simplificar a visão do usuário;

• “Ver” só o que interessa;

• Segurança.

(15)

15 Esquema Externo 1 Esquema Externo 2 Esquema Externo n Esquema Conceitual Esquema Interno

(Banco de Dados armazenado)

Esquema Conceitual Esquema Interno (Físico) Esquema Externo

Arquitetura de um Sistema de BD

(16)

16

Esquema conceitual

:

Estudantes (eid: string, nome: string, login: string, idade: integer,

gpa:real);

Cursos (cid: string, cnome:string, creditos:integer);

Matricula (eid:string, cid:string, nota:string).

Esquema Físico

:

Relações guardadas como arquivos desordenados;

Índices na primeira colunas de estudantes.

Esquema externo (Visão)

:

Info_Curso(cid:string, horário:string).

Arquitetura de um Sistema de BD –

Exemplo 1

(17)

17

Arquitetura de um Sistema de BD –

Exemplo 2

(18)

Capacidade de se alterar o esquema em um

determinado nível

sem

alterar o esquema (ou

esquemas) do nível imediatamente mais alto.

VANTAGEM:

Imunidade dos programas em relação a mudanças na

estrutura do banco de dados;

Um dos maiores benefícios de usar SGBD.

18

(19)

19

Independência de Dados

Habilidade de modificar

o

esquema físico

sem

causar redefinição dos

programas de aplicação

Modificações são

necessárias para

melhorar

desempenho

Habilidade de modificar

o

esquema lógico

sem

causar redefinição dos

programas de aplicação

Modificações são

necessárias quando a

estrutura lógica

da

base é alterada

(20)

20

(21)

Linguagens de Banco de Dados

Finalidade:

• garantir a especificação do esquema de um banco de dados;

• permitir consultas e atualizações sobre o banco de dados.

Componentes:

DDL - Data Definition Language:

• Utilizada para especificar o esquema de um BD;

• Expressões da DDL:

• Interpretadas (compilados) gerando a especificação de um conjunto de tabelas;

• A especificação das tabelas é armazenada no catálogo do banco de dados.

• Exemplo (SQL):

create table Empregado

(matr integer not null,

nome varchar(35), salario real,

(22)

Linguagens de Banco de Dados

Componentes (cont.)

DML - Data Manipulation Language:

• Utilizada para permitir:

• Consultas sobre um BD

• Exemplo (SQL)

select nome from Empregado where salario > 7000

• Inserções em uma tabela

• Exemplo (SQL)

insert into Empregado values(123, “Bárbara”, 5000.00)

• Remoções em uma tabela

• Exemplo (SQL)

delete from Empregado where matr=14

• Atualizar valores de atributos de uma tabela

• Exemplo (SQL)

update Empregado set salário=salário*1.15 where salário<1500.00

22 DML

Procedural

- requer a especificação de quais dados devem ser acessados e como devem ser acessados

Não procedural

- requer somente a especificação de quais dados devem ser acessados

(23)

Linguagens de Banco de Dados

Componentes (cont.)

VDL – View Definition Language:

Utilizada para criar visões de usuários

Exemplo (SQL):

Create View Info_Renda_Emp as

Select nome, salario From Empregado;

(24)

Interfaces do SGBD

24

Baseadas em menus:

Apresenta

uma lista de menus que

conduzem através da formulação

de uma solicitação.

Baseadas em formulários:

Os

usuários podem preencher as

entradas do formulário.

(25)

Interfaces do SGBD

25

Interfaces gráficas:

Exibe um

esquema para o usuário na

forma de diagramas. A consulta

é construída manipulando o

(26)

Interfaces do SGBD

26

Para usuários leigos:

Aplicações desenvolvidas por

analistas e programadores

(27)

Interfaces do SGBD

27

Para o DBA:

Ambiente onde o

DBA pode colocar em prática

todos os detalhes técnicos

definidos nos modelos, usando

comandos ou opções do

(28)

Módulos Componentes do SGBD

28

SGBD

Processador de Consultas + Sistema de Armazenamento

Processador de Consultas

Compilador DML

• Analisa sintaticamente e semanticamente comandos DML expressos em uma linguagem de consulta (ex. SQL);

• Traduz estes comandos para uma das formas de representação interna de consultas (ex. álgebra relacional).

Pré-Compilador DML

• Traduz comandos DML em chamadas a procedimentos (rotinas) na linguagem hospedeira.

Interpretador DDL

• Interpreta comandos DDL e os armazena no catálogo:

• Tabelas e descrição do banco de dados  Esquema

Mecanismo de Consultas

• Responsável pela otimização e geração de planos de execução de consultas.

(29)

Módulos Componentes do SGBD

29

SGBD

Sistema de Armazenamento

Gerenciador de Transações

• Controle de concorrência;

• Recuperação do banco de dados após falhas.

Gerenciador de Buffer

• Responsável para recuperar objetos em disco e carregá-los na memória principal em forma de páginas;

• SGBD possui uma área de buffer em memória principal.

Gerenciador de Arquivo (File System)

Responsável pelo armazenamento físico em disco; Gerencia a alocação de espaço em disco.

(30)

Módulos Componentes do SGBD

30

BD

Arquivos de dados + Índices + Catálogo

Arquivos de dados

• Armazena os dados.

Índices

• Estruturas de índices para os arquivos de dados.

Catálogo

• Armazena esquema do banco de dados (meta-dados): • Nomes das tabelas;

• Atributos de cada tabela;

• Definição de índice para uma tabela, etc…

• Armazena informações estatísticas: • Exemplo:

• Cardinalidade de uma tabela.

(31)

Módulos Componentes do SGBD

31 Esquema Consulta Programa Aplicativo Gerenciador de Transações Mecanismo de Consultas Gerenciador de Buffer Gerenciador de Arquivo Compilador DML Pre-compilador DML Sistema de Armazenamento Processador de Consultas SGBD SBD Código Objeto

aplicativos índices Arquivos de dados Catálogo BD

DBA/Projetista Usuário experiente

Programadores

Interpretador DDL

(32)

Carga (loading)

Arquivos dados  Banco de Dados.

Cópia de segurança (backup)

Para restaurar em caso de falhas.

(Re-)Organização de arquivos

Melhorar o desempenho.

Monitoramento do desempenho

Fornece estatísticas para o DBA: informações sobre

desempenho  reorganização

Utilitários do Sistema de Banco de

Dados

(33)

Ferramentas, Ambientes de Aplicações e

Facilidades de Comunicações

33

Software de comunicação

: Utiliza os recursos disponíveis na rede.

Ferramentas

: SQL Power Architect, DbDesigner , PowerDesigner, etc...

(34)

Classificação dos SGBDs

34

Quanto ao modelo de dados adotado:

• De rede;

• Hierárquicos;

Relacionais;

• Orientados a objetos;

• Objeto-relacionais.

Quanto ao número de usuários suportados:

• Monousuários;

• Multiusuários.

Quanto à localização dos dados:

• Centralizados;

(35)

35

Monousuário

x

Multiusuário

(36)

Exemplo de um BD relacional

(37)

FIM

Referências

Documentos relacionados