Banco de Dados - Introdução

Slides:



Advertisements
Apresentações semelhantes
Introdução aos Sistemas de Informação Gerencial
Advertisements

Teas 01 Banco de dados.
Banco de Dados Prof. Antonio.
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Evolução dos SGBD’s (2ª Parte).
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
BANCO DE DADOS Transparências baseadas no capítulo 1 do livro de KORTH e SILBERCHATZ e 1 e 2 do livro de ELMASRI e NAVATHE. Juliana Amaral e Rodrigo Baroni.
Funcionalidades de um SGBD
SISTEMAS DE INFORMAÇÃO
Introdução aos Bancos de dados
Maurício Edgar Stivanello
SGBD.
Sistema Gerenciador de Banco de Dados SGBD
Introdução aos Sistemas Gerenciadores de Banco de Dados
Sumário 1 SQL Embutida 2 Processamento de Consultas
Iniciando Banco de Dados
Introdução à Engenharia da Computação
SCC Bancos de Dados e Suas Aplicações
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,
Seminários Avançados I
Material III-Bimestre Wagner Santos C. de Jesus
Prof. Alexander Roberto Valdameri
Prof. Alexander Roberto Valdameri
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Professor Victor Sotero
Gerenciamento dos Recursos de Dados
RECUPERAÇÃO APÓS FALHA
Administração de Sistemas de Informação Banco de Dados
CONCEITOS Modelo de Dados
Tecnologias de Linguagens para Banco de Dados
Unidade 1-1 Processos e Threads
Banco de Dados II Prof. Antônio Cordeiro.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Banco de Dados e Usuários do Banco de Dados (capítulo 1)
BD.
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Tecnologia da Informação
Introdução a Banco de dados
Exercícios SGBD - CESPE
Controle de concorrência
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Bancos de Dados Orientados a Objetos Álvaro Vinícius de Souza Coêlho
Contexto da disciplina
A abordagem de banco de dados para gerenciamento de dados
Banco de Dados Aplicado ao Desenvolvimento de Software
Processos.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Introdução a Banco de Dados Aula 04
Bancos de Dados Estrutura e Funcionamento de um SGBD
Teste.
Mestrado em Engenharia de Computação área de concentração Geomática
Controle de Concorrência
Gerenciamento de Processos
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
Banco de Dados Representa o arquivo físico de dados, armazenado em dispositivos periféricos, para consulta e atualização pelo usuário. Possui uma série.
Projeto de Banco de Dados
UCSal – Bacharelado em Informática
Sistemas Operacionais IV – Gerenciamento de E/S
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
Plano de Ensino Conceitos e Características Tipos de Banco de Dados
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Professora: Kelly de Paula Cunha
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Banco de Dados Parte 1 Profa. Ana Karina Barbosa Fevereiro/2008.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
BANCO DE DADOS Prof. Marcelo West
Bruna Cavallero Martins Universidade Católica de Pelotas.
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

Banco de Dados - Introdução

O que são Bancos de Dados Coleção de dados que mantém relações entre si e estão armazenadas em algum dispositivo. Exemplos: Títulos de uma Biblioteca, Filmes de uma Videolocadora, Empregados de uma Empresa (mais informações de cargos, salários, etc.), Textos sobre um determinado assunto (BD Textuais), Imagens, Sons e Vídeos (BD Multimídia), etc.

O que são Bancos de Dados Um banco de dados apresenta algumas propriedades específicas: É uma coleção de dados com semântica própria: Não há sentido em armazenar dados em um banco senão por isso! É projetado, construído e povoado com o fim de atender a um propósito específico. Representa um modelo do mundo real.

O que são Bancos de Dados Um banco de dados é referido, muitas vezes, por sua instância ou por seu esquema. Instância: “Estado” de um BD em um determinado instante. Com as operações de atualização as instâncias vão mudando. Esquema: “Forma” de um BD. É o projeto Geral do BD, incluídas organização e dependência dos dados, dispositivos de performance e segurança. Por representar o aspecto mais volátil do BD, diz- se que a instância é uma visão em extensão dele. De maneira análoga, por representar seu aspecto mais estável, refere-se ao esquema como o BD visto em Intenção.

BD ou Arquivos? Porque? Vamos a um breve histórico Até 1960: Sistemas de Arquivos Integrados – ISAM, VSAM (IBM).

BD ou Arquivos? Porque? Crítica: pouco encapsulamento. Os arquivos, como entidades “passivas”, não dispunham eles mesmos de propriedades ativas e os controles de segurança, concorrência, integridade e recuperação de falhas ficavam a cargo dos programas aplicativos. Controle de segurança: Quem pode [ver/modificar/incluir/excluir] o que no BD.

BD ou Arquivos? Porque? Controle de interidade: O que está escrito precisa ser verdadeiro e válido no modelo. Controle de concorrência: É necessário permitir que vários usuários tenham acesso às informações. Recuperação de falhas: Se houver um problema, é necessário dispor novamente os dados com a garantia de que eles estão de acordo com as regras de integridade.

BD ou Arquivos? Porque? Se houvesse alguma modificação no modelo, como garantir que todos os programas respeitariam a “nova ordem”? Muito trabalhoso! Final dos aos 60: Modelo hierárquico – IMS (IBM).

BD ou Arquivos? Porque? Uma estrutura de registros pai-filho dispostos em seqüência, implementando relação um para muitos de cima para baixo. Implementava regras de integridade, embora com limitações, e aspectos de segurança, recuperação de falhas e controle de concorrência.

BD ou Arquivos? Porque? 1970 e início dos anos 80: Modelo de redes (Codasyl) – IDMS, DBMS-II (Unisys). Extensão do modelo hierárquico, com relações muitos para um estabelecidas e todas as direções. Modelava toda sorte de relacionamentos com facilidade.

BD ou Arquivos? Porque? Final dos anos 70: Modelo Relacional (Codd) – SQL-DS, DB2, (IBM), Oracle, Ingres. Relação entre dados, não através de estruturas internas do banco. Modela, como o em Rede, toda sorte de relacionamentos.

BD ou Arquivos? Porque? Tem performance inferior Mas tem linguagens DDL e DML como Quel e SQL mais simples. Fator decisivo. São dominantes hoje. Final dos anos 80: Modelo reacional- estendido. Orientado a Objeto. BDOO, O2, Oracle (a partir da versão 8) ...

BD ou Arquivos? Porque? Vê-se, portanto, que a tendência tem sido se afastar cada vez mais de arquivos, e utilizar banco de dados. Mas... porque?

BD ou Arquivos? Porque? Um paralelo entre SGBD e Sistemas de Arquivos: Armazena dados e meta-dados Meta-dados definidos pelo programa (Cobol, Pascal) Usa ferramentas e linguagens de consulta não-procedural (o quê) Tudo em linguagem procedural (como) Independência entre dados e programa Forte acoplamento entre dados e programas

BD ou Arquivos? Porque? Um paralelo entre SGBD e Sistemas de Arquivos: Permite abstração de dados (visão dos meta-dados) Não tem abstração natural de dados Múltiplas visões dos dados (de acordo com o usuário) Uma única visão dos dados Provê uma interface de acesso aos dados Interface definível apenas em aplicações

BD ou Arquivos? Porque? Um paralelo entre SGBD e Sistemas de Arquivos: Eficiência, compartilhamento, segurança e tolerância a falhas   Difícil padronização Dependente da aplicação Um processo que torna tudo um pouco mais lento Acesso direto, portanto mais rápido

BD ou Arquivos? Porque? Não há nenhuma situação em que se possa optar por sistemas de arquivos? Existem aplicações que são inviáveis para ser suportadas em SGBD Aplicações simples e não mutáveis (e utópicas!) Fortes requerimentos de tempo real Monousuário

O que são Bancos de Dados. FIM! “ A forca é o mais desagradável dos instrumentos de corda” Barão de Itararé

Sistemas Gerenciadores de Bancos de Dados - SGBD Diferença BD X SGBD. Entre o Dado e os aplicativos uma camada de programas: O Sistema Gerenciador de Banco de Dados. Programas que se somam na execução de tarefas de manipulação de dados.

SGBD Usuários/Programadores Programas e Aplicativos Programa para acessar consultas e procedimentos Programa para acessar dados armazenados Armazenamento das definições esquemáticas do BD (Meta-Dados) + Armazenamento do Banco de Dados Ambiente do Sistema Gerenciador de Bancos de Dados

SGBD Hipoteticamente um usuário solicita a seguinte informação: “Qual o saldo da conta número 14577-3?” Há um programa (o aplicativo que o usuário está usando no momento) que recebe esta solicitação e a transforma em uma consulta ou uma chamada a um procedimento interno do SGBD. No caso hipotético, uma consulta.

SGBD Em SQL seria algo como Select Saldo from conta Where Conta_Num = ‘14577-3’ Esta consulta segue até o SGBD onde é colocada na fila, junto com as demais que eventualmente existam.

SGBD Trata-se então dos aspectos de escalonamento, controle de concorrência e deadlock. Escalonamento? Controle de Concorrência? deadlock?

SGBD Não são escopo deste curso. Mas vamos lá: Escalonamento: Organizar as operações do BD de forma a atender a todas com a maior brevidade possível, e não deixar que nenhuma fique em espera indefinidamente.

SGBD Controle de Concorrência: Cuidar para que os repositórios de informações possam ser acessados por muitos processos, garantindo não haverem leituras inconsistentes ou anomalias de atualização/inclusão/exclusão.

SGBD Dead Lock: Quando um recurso está alocado para um processo, outro deverá aguardar a liberação para ter acesso. Isso pode gerar uma situação em que os recursos jamais seriam liberados (tipo A espera B, B espera C e C espera A). Um SGBD deve prever, detectar e resolver situações assim.

SGBD Voltando à consulta: Depois de Processada, a consulta segue para o nível dos programas de acesso efetivo aos dados. (linguagem interna) No exemplo, apenas a tradução para a linguagem interna é necessária. Eventualmente há uma análise, ao crivo dos meta-dados, da legalidade de uma operação.

SGBD Por exemplo, um controle de estoque não deve permitir a exclusão de um fornecedor que tenha algum produto cadastrado (um produto precisa ter seu fornecedor conhecido). Isto deverá estar, portanto, especificado no esquema (meta-dados) do BD.

SGBD Operações ilegais são barradas, e o SGBD devolve uma mensagem de erro. Processos semelhantes de geração de erro ocorrem também se o usuário tentar acessar alguma informação que não lhe é permitida (segurança) ou se alguma situação anormal acontecer (falha de mídia, erro do sistema, etc.)

SGBD Em sua arquitetura, um SGBD possui três camadas básicas

SGBD Solicitação do usuário Interface do Usuário Subsist. de Proc. de Consultas Meta-dados Análise/Tradução Subsistema de Integridade Subsistema de Segurança Otimização Scheduler Subsistema de Recuperação Subsistema de Armazenamento BD Buffers de Dados

SGBD As camadas: Interface de alto nível que provê consultas, manipulação e definição dos dados Acessível por usuários interativamente (SQL*Plus, Query Analizer) ou por aplicativos externos Recebe a solicitação (consulta ou chamada a procedimento) e envia à camada de Processamento de Transações

SGBD As camadas: Uma camada de processamento de transações com Tradutor – Linguagem Interna Otimizador – Qual o melhor caminho? Deve-se usar Índices, Buffers, etc? Verificação da visão do usuário do BD – O que ele está pedindo “existe” para ele? Controle de Integridade – As regras semânticas dos dados estão sendo salvaguardadas?

SGBD As camadas: Uma camada de processamento de transações com Controle de Concorrência – Atender a todos Controle de segurança – Não permitir acessos indevidos Controle de recuperação de falhas – Caso falhe a conexão, ou uma mídia, o BD deve voltar à normalidade.

SGBD As camadas: A camada de Processamento de Transações recebe uma consulta, ou uma chamada a procedimento e efetivamente prepara tudo para ser executado pela camada de acesso a dados.

SGBD As camadas: Uma camada de Acesso a Dados que usa o sistema de arquivos do Sistema Operacional para armazenar o BD e prover acesso eficiente aos dados físicos. Usa Buffers e cuida dos segmentos de RollBack e dos registros de Log (Redo) – de acordo com o que lhe foi passado pela camada de Processamento de Transações.

SGBD A divisão em camadas atende ao princípio “divide to conquest”. Cada SGBD implementa as funcionalidades de maneira específica – uns com mais eficiência que outros – embora os algoritmos sejam basicamente idênticos. Muitas variáveis de Administração de BD são decisivas no seu funcionamento.

SGBD. FIM! “ Viva todos os dias como se fosse o último. Um dia você acerta” L. F. Veríssimo. Degas