Introdução a Banco de Dados



Documentos relacionados
Modelo Relacional Álgebra Relacional

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Conceitos de Sistemas de Banco de Dados INE 5323

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Sistemas da Informação. Banco de Dados I. Edson Thizon

Introdução à Banco de Dados

INE 5423 Banco de Dados I

INE 5423 Banco de Dados I

Banco de Dados II. Transações. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD)

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

INF01145 Fundamentos de Banco de Dados Plano de ensino

DDL). O resultado da compilação dos parâmetros DDLs é

Banco de Dados I. Prof. Edson Thizon

BCD29008 Banco de dados

BCD29008 Banco de dados

Sistemas de Informação e Bases de Dados 2012/2013. Transações. Alberto Sardinha

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

Curso: Banco de Dados I. Conceitos Iniciais

Sistema Gestor de Bancos de Dados (SGBD)

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju

Introdução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Banco de Dados. Introdução e Definições

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

Roteiro. Noções de Recuperação de Falhas. BCC321 - Banco de Dados I. Ementa. Posicionamento

Banco de Dados 08/08/2010

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich

Resolução dos exercícios da lista BD01

Sumário. Recuperação de Falhas

MODELAGEM DE DADOS UNIDADE 1 Visão Geral. Luiz Leão

Banco de Dados Relacional

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

BANCO DE DADOS. Araújo Lima. Jan / Araújo

Prof. Fabiano Taguchi

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai

Sistemas de Informação e Bases de Dados 2012/2013. Modelo Relacional. Alberto Sardinha 2012 IST

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Modelo Relacional: Entidades e Relacionamentos. Cardinalidade. Normalização. Linguagem SQL: DDL e DML.

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Aula 01 Conceito de Banco de Dados e SGBD

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Unidade 1 Introdução

Sistemas de Banco de Dados

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Faculdade Ieducare 4º Semestre Sistemas de Informação Professor: Rhyan Ximenes

Banco de Dados. SGBDs. Professor: Charles Leite

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSORA RESPONSÁVEL: Roberta Macêdo Marques Gouveia

1. Conceitos de Bancos de Dados

MODELAGEM DE DADOS UNIDADE 2 Projeto de Banco de Dados. Luiz Leão

Banco de Dados I. Universidade Veiga de Almeida Luiz Antônio Vivacqua Corrêa Meyer

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Introdução. O que é um Banco de Dados (BD)?

AULA SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS

Bases de Dados. Parte I. Introdução: conceitos básicos

Processamento de Transações

Técnicas de Recuperação em Banco de Dados

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Livro texto: Capítulo 1

Banco de Dados e Aplicações em Negócios: Introdução.

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Bases de Dados. Apresentação da disciplina. Programa

2. Conceitos e Arquiteturas de um SGBD

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Recuperação. Carlos Eduardo Portela Serra de Castro

BANCO DE DADOS 2 TRANSAÇÃO

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Conceitos e arquitetura do banco de dados. Andre Noel

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK

Introdução a Banco de Dados

Introdução a Banco de Dados Prof. Msc Denival A. dos Santos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Universidade Federal do Maranhão

Projeto de Banco de Dados

MATA60 BANCO DE DADOS Aula 2- Sistema Gerenciador de Banco de Dados. Prof. Daniela Barreiro Claro

ANÁLISE E PROJETO DE BANCO DE DADOS

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

BANCO DE DADOS. Introdução. Prof. Marcelo Machado Cunha

INE 5323 Banco de Dados I

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

BANCO DE DADOS. TÁSSIO JOSÉ GONÇALVES GOMES

Korth Silberschatz Sundarshan. Sistema de Banco de Dados, 5/E

Adriano Maranhão PROFISSIONAIS E ATIVIDADES ENVOLVIDAS EM UM SGBD

Contato. professorluisleite.wordpress.com

Transcrição:

Introdução a Banco de Dados Prof. Mário A. Nascimento, Ph.D. mario@dcc.unicamp.br http://www.dcc.unicamp.br/~mario Material de autoria original de Raghu Ramakrishnan. 1

Bibliografia Ramakrishnan R., Database Management Systems, WCB McGraw-Hill, 1998. Elmasri, R. & Navathe, S., Fundamentals of Database Systems, Benjamin/Cummings, 1994, 2nd Ed. Korth, H.F.& Silberschatz, A., Sistemas de Banco de Dados, Makron do Brasil, 1995, 2a Ed. 2

Introdução 3

O que é SGBD? Uma grande coleção integrada de dados. Modelos do mundo real (enterprise) Entidades ( ex. estudantes, cursos) Relacionamentos (ex., Madonna está tendo CS564) Um Sistema de Gerenciamento de Banco de Dados (SGBD) é um pacote de software designado para guardar e gerenciar banco de dados. 4

Porque usar um SGBD? Acesso independente e eficiente a dados. Redução no tempo de desenvolvimento da aplicação. Integridade e segurança dos dados. Administração uniforme dos dados. Acesso concorrente, recuperação de crashes. 5

Porque estudar Banco de Dados? Mudança da computação para a informação. Em uma ponta: webspace (confuso!) Na outra ponta: aplicações científicas Conjuntos de dados aumentando em diversividade e volume.. Bibliotecas digitais, videos interativos, Projeto de Genoma Humano, projeto EOS,... Necessidade de SGBD cada vez maior SGBD permeia a maior parte da Computação. SOs, linguagens, teoria, IA, multimidia... 6

Modelos de Dados Um modelo de dados é uma coleção de conceitos para descrever dados. Um esquema é uma descrição de uma coleção particular de dados, usando algum modelo de dados. O modelo de dado relacional é o modelo mais usado hoje. Principal conceito: relação, basicamente uma tabela com linhas e colunas. Toda relação tem um esquema, que descreve as colunas, ou campos. 7

Níveis de Abstrações Muitas visões simples, esquema conceitual (lógico)e esquema físico. Visões descreve como usuários vêem o dado. Esquema conceitual define estrutura lógica. Esquema físico descreve o arquivo e indices usados. Visão 1... Visão N Esquema Conceitual Esquema Físico Esquemas são definidos usando uma DDL; Dados são modificados / consultados usando uma DML. 8

Ex.: Banco de Dados de uma Escola Esquema conceitual: Students(sid: string, name: string, login: string, age: integer, gpa:real) Courses(cid: string, cname:string, credits:integer) Enrolled(sid:string, cid:string, grade:string) Esquema Físico: Relações guardadas como arquivos desordenados. Índices na primeira colunas de estudantes. Esquema externo (Visão): Course_info(cid:string,enrollment:integer) 9

Independência de Dados Aplicações isoladas da maneira que os dados são estruturados e armazenados. Independência lógica de dados Proteção de trocas na estrutura lógica de dados. Independência física de dados Proteção de trocas na estrutura física de dados. Um dos mais importantes benefícios de usar um SGBD! 10

Controle da Concorrência. Execução da concorrência de processos é essencial para uma boa performance do SGBD. Acessos a discos são frequentes e lentos, é importante deixar a CPU alocada a diversos processos concorrentemente. Executar ações de diferentes processos pode levar a contradições: p.ex., o cheque compensado enquanto o saldo é computado. O SGBD evita tais problemas: usuários podem fingir que estão usando um sistema único. 11

Transação: Execução de um programa de BD O conceito chave é transação, uma seqüência atomica de ações no BD (leituras/gravações). Cada transação, executada completamente, deve deixar o BD num estado consistente (se o BD é consistente quando a transação começa). Usuários podem especificar algumas restrições de integridade, e o SGBD reforçará estas restrições. O SGBD não entende a semântica dos dados. Assim, assegurar que a transação preserve a consistência é definitivamente de responsabilidade do usuário! 12

Escalonando Transções Concorrentes SGBD garante que a execução de {T1,..., Tn} é equivalente a alguma execução em série T1...Tn. Antes de ler/escrever um objeto, uma transação requer um lock neste objecto, e espera até o SGBD retornar o lock. Todos os locks são liberados no final da transação. (protocolo 2PL estrito.) Idéia: Se uma ação de Ti, escrevendo X, afeta Tj, que lê X, um deles, digamos Ti, obterá o lock em X primeiro e Tj é forçado a esperar até Ti completar; isto efetivamente ordena as transações. E se Tj já tem um lock em Ye Ti mais tarde requer um lock em Y? (Deadlock!) Ti ou Tj é abortada e reiniciada. 13

Assegurando Atomicidade SGBD assegura atomicidade (tudo ou nada) sempre. Idéia: Construir um log (história) de todas ações realizadas pelo SGBD. Antes de uma mudança ser feita no BD, a entrada do log correspondente é forçada para um lugar seguro (WAL). Depois de um crash, os efeitos das transações parcialmentes executadas são desfeitos (undone) usando o log. (Devido ao WAL, se a entrada do log não foi salva antes do crash, a mudança correspondente não foi aplicada para o banco de dados!) 14

O Log As seguintes ações estão arquivadas no log: Ti escreve um objeto: valor anterior e novo. Registro de log deve ser gravado antes de da mudança efetiva.! Ti commits/aborts: um registro no log indicando tal ação. Registros no log são ligado por ids de transação, assim é fácil para desfazer uma específica transação. Log é seguro e frequentemente duplicado. Todas atividades relacionadas ao log (e de fato, todas atividades relacionadas a CC) são gerenciadas transparentemente pelo SGBD. 15

BDs fazem estas pessoas felizes... Usuários e fabricantes de BDs Programadores de aplicações em BD Administrador de BD (DBA) Projeta esquema logico e físico Gerencia segurança e autorizações Disponibilidades de dados, recuperação de desastres (crashes) Acerto do BD com o passar do tempo Tem que entender como um SGDB funciona! 16

Estrutura de um SGBD Um típico SGBD tem um arquitetura de camadas A figura não mostra CC e componentes de recuperação. Esta é uma das possíveis deferentes arquiteturas: cada sistema tem sua própria variação. Otimização e execução de consultas Operadores relacionais Arquivos e índices Gerenciamento de buffers Gerenciamento do disco BD Estas camadas tem que considerar CC e recuperação 17

Resumo SGBD usados para preservar, consultar grande conjuntos de dados. Benefícios: recuperação de crashes, acesso concorrente, agilidade no desenvolvimento, integridade e segurança dos dados, etc. Níveis de abstração independentes dos dados. Um SGBD típico tem uma arquitetura de camadas. Bons DBAs podem ganhar bem! Bastante P&D feita e a se fazer. 18