Upload
nathalia-ramires-jardim
View
219
Download
0
Embed Size (px)
Citation preview
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
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
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
• 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
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
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
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