57
BANCO DE DADOS Prof. Marcelo West [email protected] r Nov/2015

BANCO DE DADOS Prof. Marcelo West [email protected] Nov/2015

Embed Size (px)

Citation preview

BANCODE DADOS

Prof. Marcelo [email protected]

Nov/2015

Objetivos

• Introduzir a tecnologia de Bancos de Dados e seus principais conceitos

• Apresentar os Sistemas Gerenciadores de Bancos de Dados e suas características

• Conceituar Banco de Dados, indicando os seus principais componentes básicos.

• Mostrar a importância e o significado de um SGBD dentro de um Sistema de Banco de Dados

2

Conceitos Iniciais

Dados X Informação

500

O paraíso fica a 500 km.

A pessoa mais gorda do mundo pesa 500 kg.

3

Dados

Dados: são fatos ou observações sem tratamento, normalmente sobre fenômenos físicos ou transações de negócios. Mais especificamente, os dados são medidas objetivas dos atributos (características) de entidades como pessoas, lugares, coisas e eventos.

4

Informações

Informações: • São dados processados que foram colocados

em um contexto significativo e útil para um usuário final.

• Os dados são submetidos a um processo de “valor adicionado” (processamento de dados ou processamento de informação).

• É o dado trabalhado que permite ao executivo tomar decisões.

5

Os sistemas de informação manipulam informações

6

Geram

Valor dos Dados

• Valor para os objetivos da empresa• Custo para obtenção e manutenção• Desvantagens para a organização em não

possuí-los ou não poder obtê-lo imediatamente

• É preciso organizar e manter os dados de uma organização tendo em vista sua utilização por múltiplos usuários

7

Conceitos Iniciais

Mini-mundo ou Universo do Discurso− Uma abstração do mundo real, onde

consideramos apenas as propriedades dos objetos que nos interessam para fins de processamento computacional.− Exemplo: cadastro de clientes: “cpf”,

“nome”, “endereço”, “telefone”, “e-mail”

8

O que é um Banco de Dados?

9

O que é um Banco de Dados

Definião de [Elmasri & Navathe, 2000]• Um banco de dados é uma coleção de dados

relacionados, representando algum aspecto do mundo real (mini-mundo ou universo de discurso)

• Logicamente coerente, com algum significado• Projetado, construído e gerado (“povoado”) para

uma aplicação específica

BD

10

O que é um Banco de Dados?

Uma coleção compartilhada de dados inter-relacionados, projetados para atender as necessidades dos múltiplos tipos de usuários.

isto é

Uma coleção de dados da qual, múltiplos usuários com visões diferentes utilizam em suas aplicações

11

O que é um Banco de Dados?

Um conjunto de arquivos relacionados entre si. (Chu,1983)

É uma coleção de dados operacionais armazenados usados pelas diversas aplicações de uma organização. (Date, 1985)

É uma coleção de dados relacionados. (Navathe, 2000)

12

Exemplos de Bancos de Dados

• Uma vídeo locadora que armazena os dados de seus clientes

• Seus dados referentes a uma conta bancária• Cadastro de alunos do IFNMG• Possivelmente você já é autor de um mini

banco de dados (Mala direta do Word)• “Minha mãe vende bolo e ela tem um

caderninho com a lista dos clientes a serem visitados”

13

Exemplos de Bancos de Dados

14

• SGBD (Sistema Gerenciador de Banco de Dados)− Software que auxilia a criação e manutenção dos

dados em um sistema de banco de dados− Exemplos: MySQL, Firebird, Oracle Database,

PostgreSQL, entre outros.

Mais conceitos

15

Mais conceitos

• Gerenciador de Banco de Dados− Conjunto de programas (software) para gerenciar

(criando, modificando e usando) um banco de dados e garantir a integridade e segurança dos dados

− Exemplos: IBOConsole, IBExpert, MySQL Workbench, entre outros.

16

Mais conceitos

• Sistema de Banco de dados− É o conjunto formado pelos aplicativos, SGDB e por

todos os dados manipulados por este.− Algumas vantagens de usar um sistema de BD:

• Rapidez na manipulação e acesso no acesso à informação;• Redução do esforço humano;• Disponibilização no tempo necessário;• Redução de redundância e de inconsistência de

informações;• Compartilhamento de dados;• Redução de problemas de integridade.

17

Sistema de Banco de Dados

18

Consolidando Conceitos

Responda rápido:• Qual diferença entre Dados e Informação?• O que é Banco de Dados?• O que é o SGBD?• O que é um Sistema de Banco de Dados?

19

Resposta 01

Qual a diferença entre Dados e Informação?− Dados: fatos ou informações sem tratamento. − Informações: dados processados que foram

colocados em um contexto significativo e útil para um usuário final.

20

Respostas 02 e 03

O que é Banco de Dados?Uma coleção compartilhada de dados inter-

relacionados, projetados para atender as necessidades dos múltiplos tipos de usuário

O que é o SGBD?(Sistema Gerenciador de Banco de Dados) Software

que auxilia a criação e manutenção dos dados em um sistema de banco de dados

21

Resposta 04

O que é um Sistema de Banco de Dados?− É o conjunto formado pelos aplicativos, SGDB e

por todos os dados manipulados por este.− é um sistema de manutenção de registros por

computador envolvendo quatro componentes principais , sendo eles: dados, hardware, software e usuários.

22

Evolução dos Sistemas de Banco de Dados

• Aplicações tradicionais (processamento de arquivos): − orientadas a programas;− Pesquisa sequencial;− Arquivos de dados sem padronização.

• Aplicações com SGBD:− orientadas a dados e processos;− Pesquisas otimizadas (com uso de índices);− Aumento da padronização.

23

24

Processamento de arquivos típico

25

Aplicações com Banco de dados

Usuários de um Sistema de Banco de Dados

Usuários

• Usuários finais: casuais, leigos e especialistas

• Analistas de Sistema• Programadores de

Sistema

Profissionais de BD

• Projetista de Banco de Dados (Analista de Dados)

• DBA – Administrador de Banco de Dados

26

Principais Características do SGBD

• Integridade− Dados corretos

• Consistência ou Compartilhamento de Dados− Dados em um único local

• Segurança ou Restrição de Acesso− Níveis de acesso:

• Leitura• Leitura e gravação• Somente Gravação 27

Principais Características do SGBD

• Restauração ou Tolerância a Falhas− Facilidade de recuperar de falhas de hardware e

software

• Não Redundância ou Controle de Redundância− Como os dados estão centralizados é possível eliminar

(ou reduzir) a redundância

• Padronização dos Dados− Dados padronizados. Ex.: sexo “M” ou “masc”?

28

Reflexão

Quando devemos utilizar Sistemas de Gerenciamento de Banco de Dados

(SGBD)?

29

Considerações

• Custos:− do próprio software;− para implantação;− de manutenção;− de treinamentos;− da possível sobrecarga no ambiente.

30

Quando utilizar BD?

• Existência de um conjunto de dados estruturados que a organização necessite compartilhar entre diversos usuários

• Quando necessitar de um software que auxilie o gerenciamento deste processo

• Diversidade de usuários desejando sempre a mesma informação

• Banco de dados como base ao sistema de informação da organização

31

Quando NÃO utilizar BD?

• Aplicações simples e bem definidas onde não se espera mudanças

• Aplicações de tempo real• Aplicações em que não há necessidade do

compartilhamento entre múltiplos usuários

32

33

Quando NÃO utilizar BD?

•Motivo Investimento inicial alto¹ Generalidade na definição e manipulação

dos dados² Custo adicional para prover outras

facilidades funcionais (manutenção de segurança, controle de concorrência, recuperação de falhas, etc.)

Benefícios do uso de SGBD’s

• Definição pelo dicionário de dados• Manutenção da Integridade dos dados• Acelerar o processo de desenvolvimento de

aplicações• Manutenção da Padronização• Economia de espaço (compressão)• Facilita a eliminação de redundâncias• Recuperação de informações não programadas

34

O Discurso do Controle Centralizado

• Redundância reduzida• Inconsistência pode ser evitada• Manutenção da integridade• Compartilhamento de dados• Padronização e segurança

35

Alguns outros conceitos

• Esquema

• Sub-Esquema

• Instância

36

do banco de dados é a concepção global do banco de dados (arquivos/files) nos aspectos físicos e lógicos.

é a visão do esquema global para atendimento às necessidades específicas de uma aplicação ou de um usuário (VIEW)

é a coleção de informações armazenadas no banco de dados em um particular instante.

Independência de Dados

• Física:

• Lógica:

37

É a capacidade de se modificar o esquema físico sem precisar alterar a programação de acesso.

É a capacidade de se modificar o esquema conceitual sem alterar a programação de acesso.

Arquitetura de um banco de dados

Arquitetura de Três Esquemasou de Três Níveis

Proposta para suportar a independência dos dados e possibilitar múltiplas visões dos dados

38

Arquitetura de um banco de dados

Arquitetura de Três Esquemasou de Três Níveis

Nível externo, visão do usuário, userview, Esquema externo e/ou Sub-esquema: descreve parte de um banco de dados para determinado grupo ou determinada aplicação

39

Arquitetura de um banco de dados

Arquitetura de Três Esquemasou de Três Níveis

Nível conceitual, comunidade de visões, visão lógica geral, esquema conceitual: descreve quais dados estão armazenados e as relações que existem entre eles

40

Arquitetura de um banco de dados

Arquitetura de Três Esquemasou de Três Níveis

Nível interno, visão física, esquema interno ou nível físico: descreve como os dados estão realmente armazenados

41

Arquitetura de um banco de dados

A cada nível um

esquema: View ou

userview, Esquema

conceitual,

Esquema físico

42

Resumindo: O que é um SGBD?

• Definição de dados

• Definição da ligação entre os dados

• Proteção dos dados (back-up, restore, back-out, recuperação de blocos, passwords, etc...)

• Geração de relatórios

• Controle físico dos arquivos (espaço, número de registros, layout, última atualização)

• Controle de performance• Funções de criação,

modificação e eliminação de informações

• E outras (depende do SGBD)

Um conjunto de programas que permite:

43

Componentes de um SGBD

• Gerenciador de arquivos• Gerenciador de banco de dados• Processador de consultas• Pré-compilador DML• Compilador DDL• Arquivo de dados• Dicionário de dados• Índices

44

Componentes de um SGBD

• Gerenciador de arquivos− Gerencia a alocação do espaço necessário para

a armazenagem do arquivo no disco e as estruturas de dados utilizadas para representar a informação armazenada.

45

Componentes de um SGBD

• Gerenciador de banco de dados− Fornece a interface entre os dados armazenados,

os programas de aplicação e as solicitações submetidas ao sistema.

46

Componentes de um SGBD

• Principais tarefas do Gerenciador de banco de dados− Interage com o Gerenciador de Arquivos;− Segurança;− Integridade;− Cópias de segurança e recuperação;− Controle de concorrência.

47

Componentes de um SGBD

• Processador de consultas− Traduz comandos numa linguagem de consulta em

instruções de baixo nível de tal forma que o Gerenciador do Banco de Dados entenda

48

Componentes de um SGBD

• Pré-compilador DML− Converte comandos DML embutidos em um

aplicativo para chamadas de procedimento normal na linguagem hospedeira. Interage com o Processador de Consultas para gerar o código apropriado

49

Componentes de um SGBD

• Compilador DDL− Converte comandos DDL em um conjunto de

tabelas contendo METADADOS (dados acerca dos dados) que são armazenados em um Catálogo de Dados

50

Componentes de um SGBD

• Arquivos de dados− Conjunto de arquivos ou os dados propriamente

ditos

• Dicionário de dados− Metadados ou dados sobre dados

51

Funcionamento de um SGBD

• O programa de aplicação chama o SGBD para ler um registro lógico fornecendo critérios de pesquisa

• O SGBD verifica se o que o usuário quer ler existe e se ele tem autorização para isso

• O SGBD verifica na visão lógica (esquema conceitual) qual(is) o(s) tipo(s) de dado(s) lógicos necessários

52

Funcionamento de um SGBD

• O SGBD examina a descrição física e determina qual(is) registro(s) físico(s) será(ão) lido(s)

• O SGBD emite uma ordem ao sistema operacional instituindo a ler o(s) registro(s) solicitado(s).

• O sistema operacional interage com o meio físico onde os dados estão armazenados.

53

Funcionamento de um SGBD

• Os dados são transmitidos para um buffer do SGBD.

• Comparando o sub-esquema e o esquema, o SGBD deriva dos dados do buffer o registro lógico solicitado.

• O SGBD transfere os dados para o programa de aplicação.

54

Funcionamento de um SGBD

• SGBD fornece um código de status ao programa, informando o resultado da operação, inclusive indicação de erros.

• Finalmente, o programa de aplicação reassume o controle e pode operar com os dados na área de comunicação.

55

Atividade em Dupla

• Modelo de dados (tipo de banco de dados):

− Para qual tipo de aplicação é usado cada um dos modelos?; quais as vantagens e desvantagens de cada modelo? Modelo de dados relacional; Modelo de dados hierárquico; Modelo de dados orientado a objetos; Modelo de dados em redes.

56

FIM

57