Gerência de Banco de Dados 1 Apresentação da Disciplina Profa. Sandra de Amo Bacharelado em Ciência Computação 2010 – 2 Roteiro Informações Gerais sobre a Disciplina Conteúdo da Disciplina GBD 1 Critério de Avaliação Bibliografia Introdução aos SGBDs Informações Gerais Homepage http://www.deamo.prof.ufu.br/CursoGBD-2010-2.html Conteúdo da Disciplina Arquitetura Básica de um SGBD Modelagem Entidade - Relacionamento Modelo Relacional de Dados Álgebra Relacional - Cálculo Relacional Chaves – Integridade Referencial Linguagem SQL Projeto de Banco de Dados Relacional Controle de Concorrência e Recuperação de Falhas Visões – Segurança Tópicos Avançados: Dados Semi-estruturados – XML Aulas de Exercícios Listas de exercícios a cada 2 semanas Aulas de exercícios a cada 2 semanas Bibliografia Database Management Systems – 3a Edição R.Ramakrishnan – J. Gehrke, 2003. Versão em portugues: Sistemas de Gerenciamentos de Bancos de Dados, 2008 Sistema de Banco de Dados. A. Silberschatz, H.F. Korth, S Sudarshan. Tradução da 5a. Edição: Database Systems Concepts, Rio de Janeiro, Elsevier, 2006. Critério de Avaliação Prova 1 (P1) = 30 pontos Prova 2 (P2) = 35 pontos Prova 3 (P3) = 35 pontos NF = P1 + P2 + P3 Prova Substitutiva = somente se NF < 60 Nota final com Sub no máximo = 60 Calendário das Avaliações Prova 1 : 17 de Setembro Prova 2 : 21 de Outubro Prova 3 : 10 de Dezembro Prova Substitutiva : 17 de Dezembro Final do Semestre : 21 de Dezembro O que é um SGBD ? Um SGBD (Sistema Gerenciador de Banco de Dados) é um software projetado para armazenar e manipular de forma eficiente grandes quantidades de dados (banco de dados) Sistemas de Arquivos versus SGBDs Gerenciamento de grandes quantidades de dados – passagem da memória principal para a memória secundária (ex. buffering, acesso orientado à pagina, etc) Códigos especiais para diferentes consultas. Deve impedir que os dados fiquem inconsistentes quando manipulados por diversos usuários concorrentemente. Deve fornecer mecanismos de recuperação dos dados após uma falha Deve fornecer mecanismos de segurança e controle de acesso aos dados. Por que utilizar um SGBD ? Independência dos dados e acesso eficiente. Redução do tempo de desenvolvimento de aplicativos. Integridade e Segurança dos dados. Administração uniforme dos dados. Acesso concorrente aos dados, recuperação de falhas. Por que estudar Banco de Dados ?? ? Programação versus Gerenciamento da Informação Banco de dados estão crescendo em diversidade e volume Bibliotecas digitais, vídeos interativos, projeto genoma,... SGBDs envolvem pesquisas de diferentes áreas da Ciência da Computação Sistemas Operacionais, Linguagens, Teoria da Computação, Lógica, Inteligência Artificial, Multimídia. Quem utiliza e se beneficia dos SGBDs ? Usuários finais e vendedores de SGBDs Programadores de aplicativos Ex: smart webmasters Administradores de Banco de Dados (DBA) Projetos lógicos /Esquemas Fisicos Manipula questões de segurança e autorizações Recuperação de Falhas Database Tuning (sintonia) conforme a necessidade DBAs devem entender muito bem como um SGBD funciona internamente !! As disciplinas de Banco de Dados no BCC GBD 1 Conceitos teóricos subjacentes a um SGBD (Sistema Gerenciador de Banco de Dados) Técnicas de Modelagem de dados Manipulação de dados - Linguagem SQL SBD Aprender a utilizar um SGBD particular (PostGres) – programação SQL em laboratório. GBD 2 Como SQL é implementado - algoritmos para os operadores de SQL Como os dados são armazenados em disco – estruturas de indice que agilizam as buscas em disco. Perspectiva Histórica dos SGBDs Relacionais Inicio dos anos 60: O primeiro SGBD – Integrated Data Store Projetista : Charles Bachman General Electric Modelo de dados em rede (Network Data Model) Charles Bachman – Primeiro ganhador da Medalha Turing (equivalente ao Prêmio Nobel) em 1973. Perspectiva Histórica dos SGBDs Relacionais Final dos anos 60: Information Management Systems (IMS) Desenvolvido na IBM – usado até hoje Modelo de dados hierárquico Sistema SABRE – para reservas de passagens aéreas American Airlines e IBM Já permite acesso concorrente aos dados através de uma rede de computadores Usado até hoje em alguns Serviços Web – Travelocity Perspectiva Histórica dos SGBDs Relacionais 1970 : Um marco histórico – Criação do Modelo Relacional Edgar Codd – IBM’s San Jose Research Laboratory Modelo Relacional de Dados 1981: Codd recebe a Medalha Turing Perspectiva Histórica dos SGBDs Relacionais Anos 80 Consolidação do Modelo Relacional como paradigma dos SGBDs SQL (parte do Sistema R Project da IBM) torna-se a linguagem padrão de consultas Execução concorrente de programas: Transações SGBDs incorporam módulo de Controle de Concorrência James Gray, pesquisador da IBM e Microsoft Research ganha Medalha Turing em 1999 Perspectiva Histórica dos SGBDs Relacionais Final dos anos 80 e anos 90: Pesquisas na criação de novos e mais poderosos modelos de dados Linguagens de consultas mais poderosas Armazenagem e manipulação de imagens e textos Consultas complexas Data Warehouses – grandes repositórios de dados originados de diferentes banco de dados locais Linguagem de consultas OLAP para análise de dados em Data Warehouses Perspectiva Histórica dos SGBDs Relacionais A era da Internet: primeira geração Primeira geração dos sites web: dados armazenados nos sistemas de arquivos dos sistemas operacionais A era da Internet: atualmente SGBDs são utilizados para manipular e armazenar dados na Web SGBDs são manipulados através do browser Consultas são geradas através de formulários web Respostas são formatadas usando HTML Banco de Dados na era da Internet Banco de dados multimídia, videos interativos, dados em fluxo, bibliotecas digitais, dados de projetos científicos (projeto genoma), ferramentas de auxilio à tomada de decisão (Data Mining) Níveis de Abstração Muitas Visões, um único esquema conceitual (lógico) and um único esquema físico. Visões descrevem como os usuários vêem os dados. Esquema conceitual define a estrutura lógica dos dados. Esquema fisico descreve os arquivos e os indices utilizados nas buscas. Visão 1 Visão 2 Visão 3 Esquema Conceitual Esquema Fisico * Esquemas são definidos utilizando DDL (Data Definition Language); * Dados são modificados e consultados usando DML (Data Manipulation Language). ARQUITETURA GERAL DE UM SGBD Sistemas de Banco de Dados Sistemas de Gerenciamento de Banco de Dados (SGBD) Relacionais (SGBDR) – puramente relacionais, sem suporte para dados complexos. Orientados a Objetos (nativos) – puramente orientado a objetos (O2) Semi-estruturados nativos (XML nativo) Objeto-Relacionais (SGBDOR): a maioria das novas versões dos SGBDs comerciais atuais- têm suporte a dados semi-estruturados (XML)