Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

35
Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Transcript of Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Page 1: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Introdução a Banco de Dados e a Sistemas Gerenciadores de

Banco de Dados (SGBD)

Page 2: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Conceitos Básicos

• Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação– Exemplos: endereço, data de nascimento

• Informação: dato útil que pode ser extraído direta ou indiretamente a partir dos dados– Exemplo: endereço da Maria, idade

Page 3: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Por quê usar BD?• Considere o contexto (“passado”) de uma grande

organização que NÃO utiliza BD– Exemplo: domínio da Universidade

• Várias divisões gerenciais (com suas aplicações)• Grande volume de dados • Aplicações manipulam dados comuns

Acadêmica Espaço Físico Pessoal Alunos Centros Centros Professores Departamentos Departamentos Disciplinas Cursos Professores Turmas Disciplinas Funcionários Salas

Page 4: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Gerenciamento de Dados sem BD

• Cada aplicação descreve os seus dados– Nomes e formatos próprios– Dados são particulares de cada aplicação

(isolamento)

• Gerenciamento local– Procedimentos de manipulação de dados

• Implementados pela própria aplicação• Implementados por softwares de gerenciamento de arquivos

– Manipulação de dados em mais baixo nível

» Varreduras em cadeias de bytes

Page 5: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Problemas com este Contexto

• Redundância não-controlada• Difícil manutenção

– Inclusão professor; alteração disciplina

• Falta de padronização– Dificulta integração e reutilização de programas

• Formas restritas de acesso– Novas operações de manipulação de dados exigem

mudança no código da aplicação

• Falta de segurança– Exemplo: falha em uma operação

Page 6: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Utilização de um BD

• Evita (ou minimiza) estes problemas!• Um BD é definido em mais detalhes como:

“Uma coleção de dados operacionais inter-relacionados e persistentes. Estes dados são gerenciados de forma independente dos programas que os utilizam, servindo

assim a múltiplas aplicações de um Organização.”

Page 7: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Exemplo de um BD

Page 8: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Vantagens do Uso de um BD

• Dados armazenados em um único local– Evita-se redefinições, minimiza-se redundância

• Dados compartilhados pelas aplicações– Facilita integração de aplicações; evita redefinições

• Maior independência de dados– Novas operações de manipulação de dados não requerem

modificação “pesada”no código da aplicação – Aplicações não se preocupam mais com o gerenciamento dos

dados

• Maior flexibilidade de acesso– Linguagem para BD

• Manipulação de dados em mais alto nível– Informa-se o QUÊ se deseja do BD e não COMO se deseja

Page 9: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Quando não usar um BD?

• Quando minha aplicação é simples– Lida com poucos dados operacionais

• Podem ser mantidos em um ou poucos arquivos

• Quando minha aplicação faz processamento pesado mas não requer gerenciamento de dados operacionais– Exemplo: algumas aplicações científicas

• Quando o custo para instalação e administração de um SGBD é muito alto– Equipamento, pessoal, treinamento,...

Page 10: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

SGBD

• Definição: “Sistema cujo objetivo principal é gerenciar o

acesso e a correta manutenção dos dados armazenados em um banco de dados.”

• Funções básicas– Métodos de acesso– Integridade Semântica– Segurança– Concorrência– Independência

Page 11: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Funções Básicas de um SGBD

• Métodos de acesso– DDL (Data Definition Language)

• especificação do esquema do BD (dados e seus tipos de dados, índices, ...)

– DML (Data Manipulation Language)• manipulação de dados (I, A, E, C)

• processamento eficaz de consultas– considera relacionamentos, predicados de seleção,

volume de dados, índices, ...– exemplo: buscar professores que lecionam em

turmas lotadas em salas do quarto andar

Page 12: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Alternativas de Processamento

Alternativa 1: (partindo de Professores)1. Profs – Turmas: 10x20 acessos (pior caso!) para associar os profs às suas turmas =

200 acessos (resultado: 20 dados)2. Profs com Turmas – Salas: 20x10 acessos (pior caso!) para associar as turmas com

seus profs às suas salas = 200 acessos (resultado: 20 dados)3. Profs com Turmas com Salas: filtrar as salas do 4o andar = 20 acessosTOTAL: 200 + 200 + 20 = 420 acessos

Alternativa 2: (partindo de Salas)1. Salas: filtrar as salas do 4o andar = 10 acessos (resultado: 5 dados)2. Salas – Turmas: 5x20 acessos (pior caso!) para associar as salas com as suas turmas

= 100 acessos (resultado: 6 dados – supor algumas turmas)3. Salas com Turmas – Profs: 6x10 acessos (pior caso!) para associar as turmas aos

seus profs = 60 acessosTOTAL: 10 + 100 + 60 = 170 acessos

Page 13: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Funções Básicas de um SGBD

• Integridade semântica– garantia de dados sempre corretos com relação ao

domínio de aplicação– exemplos

• estados válidos para os dados (sexo: F/M)• relacionamentos válidos entre os dados (turma N:1

disciplina; apenas professores doutores lecionam disciplinas de pós-graduação)

– especificação de Ris• testes, ações • parte integrante da DDL

Page 14: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Funções Básicas de um SGBD

• Segurança– evitar violação de consistência dos dados– segurança de acesso (usuários e aplicações)

• matrizes de autorização• visões

– segurança contra falhas (recovery)• monitoração de transações

– Transação» conjunto de operações a serem realizadas no BD» princípio do “tudo ou nada”

• categorias de falhas– transação, sistema e meio de armazenamento

• manutenção de histórico de atualizações (logs) e backups do BD

Page 15: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Exemplos de Registros Históricos

Page 16: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Funções Básicas de um SGBD

• Concorrência– evitar conflitos de acesso simultâneo a dados por transações

(scheduler)– principais técnicas

• bloqueio (lock) e timestamp

• Independência– transparência da organização dos dados– níveis de independência

• Independência física– transparência de organização (esquema) física dos dados– exemplos: organização dos arquivos, indexação, distribuição,

agrupamento• Independência lógica

– transparência do esquema lógico do BD– exemplo: visões (vários esquemas externos)

Page 17: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Funções Básicas de um SGBD

Page 18: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

SGBD em Detalhe

Page 19: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Meios de Armazenamento

Page 20: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Meios de Armazenamento

Page 21: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Meios de Armazenamento

Page 22: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Meios de Armazenamento

Page 23: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Meios de Armazenamento

Page 24: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Meios de Armazenamento

Page 25: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Usuários do SGBD

Page 26: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

DBA

Page 27: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

DBA

Page 28: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

DBA

Page 29: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

DBA

Page 30: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Aplicação (Desenvolvida no SGBD)

Page 31: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Aplicação

Page 32: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Usuário ad hoc

Page 33: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Usuário ad hoc

Page 34: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Programador

Page 35: Introdução a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Programador