Introdução aos Sistemas Gerenciadores de Banco de Dados Profa. Sandra de Amo 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 • Armazenagem e manipulação de imagens e textos – Linguagens de consultas mais poderosas • 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) e 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)