Banco de Dados - Professor Baesse...•Utilizada para permitir: •Consultas sobre um BD •Exemplo...

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

Transcript of Banco de Dados - Professor Baesse...•Utilizada para permitir: •Consultas sobre um BD •Exemplo...

  • Banco de Dados

    Prof.: Clayton Maciel Costa [email protected] 1

  • Modelos de Dados, Esquemas e Instâncias

    2

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

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

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

    Modelos de Dados, Esquemas e Instâncias

  • 7

    Modelos de Dados, Esquemas e Instâncias

  • 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

    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

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

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

  • 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

    • 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

  • 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

  • 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

    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

    Arquitetura de um Sistema de BD – Exemplo 2

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

  • 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

    Independência de 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

  • 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

  • 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

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

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

  • Interfaces do SGBD

    26

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

  • 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

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

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

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

  • 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

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

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

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

  • 35

    Monousuário x Multiusuário

    Classificação dos SGBDs

  • Exemplo de um BD relacional

    36

  • FIM

    37