Disciplina GBD 1 Profa. Sandra de Amo AULA 1 Roteiro O que um SGBD ? Para que ? Arquitetura Bsica Modelo de Dados SGBD o que isso ? SGBD = Sistema Gerenciador de Banco de Dados (Database Management System) Um software sofisticado para: Armazenar dados de forma eficiente Consultar dados obtendo respostas rpidas Modificar dados concorrentemente. SGBDs Para que ?
Quantidades gigantescas de dados so coletados e armazenados em empresas, corporaes, etc Dados de comrcio eletrnico, Dados de navegao na internet Dados de compras de clientes em grandes lojas de departamentos, supermercados, Dados de transaes bancrias, ou de carto de crdito
Ponto de Vista Comercial SGBDs Para que ? Dados coletados e armazenados a velocidades enormes (GB/hora) Sensores remotos em satlites Telescpios Microarrays gerando dados de expresses de genes Simulaes cientficas gerando terabytes de dados. Ponto de Vista Cientifico : Medicina, Biologia, Engenharia SGBD: Contextos em que so utilizados SGBDs so utilizados para manipular grandes volumes de dados: Dados sobre empregados alunos contas bancrias dados climatolgicos, dados geolgicos, etc. Atualmente, a rea de Banco de Dados abrange todas os diversos tipos de dados em larga escala, envolvendo tecnologia sofisticada: Busca na internet Minerao de Dados (Data Mining). Banco de Dados Cientficos e Medicais. Integrao de Informao. Ainda mais Voc pode no notar, mas Bancos de Dados esto por trs de tudo o que voc faz na Internet: Buscas no Google Compras nos sites da Amazon, do Mercado Livre, etc Um SGBD permite que consultas aos dados sejam respondidas de forma correta e rapidamente. Mais ainda Os SGBDs permitem a realizao no banco de dados de diversas atividades (transaes) por diferentes usurios simultaneamente Possuem mecanismos que permitem no confundir as diferentes aes: por exemplo, duas reservas simultneas para o mesmo assento num determinado vo. Mais ainda... Um SGBD tem mecanismos para esconder certas partes do banco de dados de certos usurios.
Arquitetura Bsica PROCESSADOR DE CONSULTAS GERENCIADOR DE ARMAZENAMENTO Disco de Armazenagem
DADOS METADADOS GERENCIADOR DE TRANSAES Usurio consulta O que um Modelo de Dados 1. Uma representao matemtica dos dados. Exemplos de Modelos Modelo Relacional: dados so reprentados por Relaes (ou Tabelas) Modelo Semi-estruturado (XML) = dados so representados por rvores/grafos. 2. Operaes permitindo manipular dados. 3. Restries nos dados. Modelo Relacional
Nome Fabricante Winterbrew Petes Bud Lite Anheuser-Busch
Cervejas Atributos (Nomes das colunas) Tuplas (linhas) Nome da Relao Esquemas Esquema de Relao = nome da relao + lista de atributos. Opcionalmente: tipos dos atributos. Exemplo: Cerveja(nome, fabr) ou Cerveja(nome: string, fabr: string) Banco de Dados = coleo de relaes. Esquema de Banco de Dados = conjunto de todos os esquemas de relao em um banco de dados. Por que utilizar relaes ? Modelo muito simples. Frequentemente corresponde maneira como pensamos sobre os dados. Modelo abstrato por trs da linguagem SQL (Structured Query Language), a linguagem de consultas de dados mais importante atualmente. Permite ver um Banco de Dados como uma Teoria da Lgica de Primeira Ordem (E.F.Codd)
Histrico do Modelo Relacional Criado em 1970 por Edgar Frank Codd Matemtico de Oxford (Inglaterra) Desenvolveu o Modelo Relacional de dados quando trabalhava na IBM Almaden Ganhou a Medalha Turing (o Prmio Nobel da Cincia da Computao)
http://pt.wikipedia.org/wiki/Edgar_Frank_Codd
Exemplo Cervejas(nome, fabr) Bares(nome, end, licena) Consumidores(nome, end, tel) Gosta(consumidor, cerveja) Vend(bar, cerveja, preo) Frequenta(consumidor, bar) Sublinhado = chave (tuplas no podem ter o mesmo valor em todos os atributos-chave). Um timo exemplo de Restrio de Dados Os 3 nveis de abstrao de um SGBD Nvel Fsico: como os dados so armazenados e estruturados em disco. Nvel Conceitual: como modelar uma situao real atravs de um esquema de banco de dados relacional criao dos esquemas relacionais. Nvel Externo: quais partes do modelo sero acessveis por cada grupo de usurios. Quem so as pessoas que lidam com SGBDs ? Implementadores de SGBDs Trabalham para companhias que fabricam os SGBDs IBM, Oracle, etc Programadores de Aplicativos Escrevem pacores de programas que facilitam a vida dos usurios finais. No interferem com a parte fsica dos dados. Utilizam apenas o esquema externo. Administradores de Banco de Dados (DBA) Projetam os esquemas conceituais e fisicos dos dados Projetam grande parte do esquema externo. Segurana e autorizao Usurios finais Vem de diversas reas- na maioria so leigos em tecnologia de BD Utilizam aplicativos escritos por programadores de aplicativos de BD Existem usurios mais sofisticados que escrevem suas prprias consultas em SQL.