37
Banco de Dados Prof.: Clayton Maciel Costa [email protected] 1

Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

  • Upload
    buingoc

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

Banco de Dados

Prof.: Clayton Maciel Costa [email protected] 1

Page 2: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

Modelos de Dados, Esquemas e Instâncias

2

Page 3: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

• 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

3

Page 4: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

• 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

Page 5: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

• 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

Page 6: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

6

Modelos de Dados, Esquemas e Instâncias

Page 7: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

7

Modelos de Dados, Esquemas e Instâncias

Page 8: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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

Page 9: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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

Page 10: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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);

• Modelo orientado a objetos (OO).

Page 11: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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);

• Modelo hierárquico.

Page 12: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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);

Page 13: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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.

Arquitetura de um Sistema de BD

Page 14: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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.

Arquitetura de um Sistema de BD

Page 15: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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

Page 16: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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

Page 17: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

17

Arquitetura de um Sistema de BD – Exemplo 2

Page 18: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

• 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

Independência de Dados

Page 19: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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

Page 20: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

20

Independência de Dados

Page 21: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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,

primary key(matr)); 21

Page 22: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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

Page 23: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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;

23

Page 24: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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.

Page 25: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

Interfaces do SGBD

25

Interfaces gráficas: Exibe um esquema para o usuário na forma de diagramas. A consulta é construída manipulando o diagrama.

Page 26: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

Interfaces do SGBD

26

Para usuários leigos: Aplicações desenvolvidas por analistas e programadores

Page 27: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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 software

Page 28: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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.

Page 29: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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.

Page 30: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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.

• Utilizadas na otimização de consultas.

Page 31: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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

Arquivos de dados

índices Catálogo BD

DBA/Projetista Usuário experiente Programadores

Interpretador DDL

Page 32: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

• 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

32

Page 33: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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...

Ambientes de desenvolvimento: NetBeans, Delphi, etc...

Page 34: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

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;

• Distribuídos.

Page 35: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

35

Monousuário x Multiusuário

Classificação dos SGBDs

Page 36: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

Exemplo de um BD relacional

36

Page 37: Banco de Dados - Professor Baesse · •Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados; ... •Descreve quais dados

FIM

37