UniAnhanguera BANCO DE DADOS Prof. Giovanni Março/2015 DEFINIÇÕES GERAIS • Dados : fatos que podem ser armazenados. Ex: nomes, número de telefones, endereços... • Banco de Dados: coleção de dados interrelacionados, representando informações sobre um domínio específico. Ex:Lista Telefônica, fichas do acervo de uma biblioteca... • Sistema de Banco de Dados:Consiste em uma coleção de dados inter-relacionados e uma coleção de programas para prover o acesso a esses dados. HISTÓRICO Histórico dos Banco de Dados • • O banco de dados foi fundamentado na empresa IBM com o objetivo de automatizar as funções de escritório e diminuir os custos com mão de obra humana no armazenamento e organização de arquivos já que era necessário um grande número de pessoas para realizar essa função. Tecnologia mais barata e mecanicamente mais eficiente. Década de 60 • • • • Os computadores se tornam parte efetiva do cotidiano das empresas juntamente com o crescimento da capacidade de armazenamento. Foram desenvolvidos dois principais modelos de dados: **modelo em rede **modelo hierárquico Década de 60 • • • O acesso ao BD era feito através de operações de ponteiros que unem (links) os registros. Para alterar qualquer informação já armazenada era necessária reescrever os fundamentos de acesso assim todo sistema era modificado Os usuários precisavam conhecer a estrutura física do BD para poder realizar uma consulta. Década de 60 • Modelo de dados em rede é representado por um diagrama constituído por caixas e linhas; Década de 60 • Modelo de dados hierárquico é organizado na forma de uma arvore com raiz; Década de 70 • • Edgar Frank Codd propõe o modelo de dados relacional, entre 1970 e 1972, que se tornou um marco em como pensar em banco de dados e se tornou padrão dentrodas empresas. Ele desconectou a estrutura lógica do banco de dados do método de armazenamento físico. Década de 70 • • • Dois principais protótipos de sistema relacional foram desenvolvidos entre 1974 e 1977: Ingres: Desenvolvido pela UCB. Que serviu como base para Ingres Corp., Sybase, MS SQL Server, Britton-Lee, Wang PACE entre outros. System R: Desenvolvido pela IBM que serviu Década de 70 Década de 80 • • No início dos anos 80, a comercializãção de sistemas relacionais começa a virar uma febre entre as organizações. Na metade dos anos 80, a Linguagem Estruturada de Consulta – SQL, se torna um padrão mundial. Os modelos em rede e hierárquico passam a ficar em segundo plano praticamente sem desenvolvimentos. Década de 90 • • O modelo cliente-servidor (client-server) passa a ser uma regra para futuras decisões de negócios e vemos o desenvolvimento de ferramentas de produtividade como Excel/Access (Microsoft). Na metade dos anos 90, é quando vemos a explosão da Internet e um crescimento exponencial na tecnologia Web/BD. Década de 90 • • Aumentam o uso de Processos de transação em tempo real (OLTP - On-Line Transaction Process) e processos analíticos em tempo real (OLAP > On-Line Analitical Process). Esses processossão feitos através de PDVs (Ponto de Venda). Década de 90 • • No final dos anos 90 houve um grande aumento nas vendas de ferramentas para conexão Web/Internet/BD. Front Page, Java, JDBC, Enterprise Java Beans, Dream Weaver, Oracle Developer 2000, são um exemplo dessas ferramentas. Dias atuais • • Vimos sólidos crescimentos em aplicações para BD. Aparecem mais aplicações que interagem com PDAs (Personal Digital Assistant) e transações em PDVs, o que gera uma consolidação nas vendas. Três companhias predominam no amplo mercado de BD: IBM, Microsoft e Oracle. MODELOS Modelos de Banco de Dados – anos 80 a 90 • Hierárquico • Rede • Relacional • Direcionado a objeto Chave primaria Permite a classificação única de cada registro de uma tabela Ex: • • • • Rg. CPF Matricula Ataques Hackers Vírus Ataques internos e externos Soluções • Criptografia • Backup • Password • Firewall . Antivirus constantemente atualizados LINGUAGEM SQL Linguagem SQL - Strutured Query Language É tão somente uma linguagem utilizada para facilitar o acesso de informações (por meio de consultas, atualizações e manipulações de dados) armazenadas em bancos de dados do tipo relacional. Características da Linguagem SQL Com a linguagem SQL é possível: Criar, Alterar e Remover todos os componentes de uma Base de Dados (ex: tabelas) Inserir, Aterar e Apagar dados: Interrogar a Base de dados; Controlar o acesso dos utilizadores à Base de Dados ad operações a que cada um deles pode ter acesso; Obter a garantia da consistência e integridade dos dados. A linguagem SQL tem duas vertentes: DDL Data Definiton Language DML Data Manipulation Language Aplicabilidade É tanto uma linguagem de definição como de manipulação de dados, isto é, com a SQL podemos tanto definir e construir relações (tabelas), como manipular diversas relações de forma a obter resultados desejados. O QUE É UM SGBD? SISTEMA GERENCIADOR DE BANCO DE DADOS • Conjunto de programas que permitem armazenar, modificar e extrair informação de um banco de dados. • Implica a criação e manutenção de bases de dados, elimina a necessidade de especificação de definição de dados, age como interface entre os programas de aplicação e os ficheiros de dados físicos e separa as visões lógica e de concepção dos dados. COMO FUNCIONA UM SGBD? EXEMPLOS DE BANCO DE DADOS Postgre SQL; Firebird; MySQL; SQL Server; Oracle; Microsoft Access (a maioria o considera um SGBD). GERENCIADORES MySQL VANTAGENS DESVANTAGENS Roda em mais de 20 plataformas. Maturidade. Simples. Para projetos robustos deixa a desejar. Open Source. Lentidão ao criar um grande número de tabelas no mesmo banco de dados. Ampla e bem suportado. Disponibilidade de formação não muito difundida. Flexível e “escalável”. Rentável. Utilizado para aplicações Web. Postgre SQL VANTAGENS DESVANTAGENS Maturidade. Existem algumas características não implementadas ainda. Roda na maiorida das plataformas de Sist. Operacionais. Não tem capacidade de backup. Processo de instalação produtivo. Sem recuperação de falhas. Performance estável, confiável e robusta. Não tem otimizações avançadas. Gratuito tanto para uso comercial quando não comercial. Considerado por muitos como um mini-Oracle. Firebird VANTAGENS DESVANTAGENS Simples de instalar e administrar. Falta de confiabilidade no backup. É bem rápido. Falta um esquema de replicação interna. Tem um conjunto excelente de recursos de desenvolvimento. Ferramentas de administração. Sincronia de meta-data. Oracle VANTAGENS DESVANTAGENS Roda em principais plataformas de OS. Muito caro. Gerencia grande quantidade de dados em ambiente multiusuários. Instalação complexa. Potente mecanismo de integridade referencial. Exigência de instalações gráficas. Facilidade na administração de recursos. Importante mecanismo Data Manager. Segurança e suporte diferenciado. Java como linguagem padrão. Microsoft Access O Access 2007: é o programa de banco de dados que faz parte do pacote de escritório Office 2007, da Microsoft. • • • • É um dos mais populares e Fácil Programa usado para Banco de Dados. Usa o tipo relacional, ou seja, através de tabelas. Estoque, lista de livros, cadastro de clientes, registros de aulas, entre outros. tabelas, relatórios, formulários e consultas. TRABALHOS RELACIONADOS BANCOS DE DADOS DISTRIBUÍDOS INTERNET E INTRANETS ORGANIZACIONAIS SISTEMAS DE INFORMAÇÕES GEOGRÁFICAS (GIS) BANCO DE DADOS MULTIMÍDIA DATA WAREHOUSES UTILIDADE Bando de Dados contra a Pedofilia Vegetação da Amazônia Legal e Banco de Dados “O IBGE está disponibilizando uma ferramenta poderosa para que se conheça um pouco mais dessa região do País tão carente de informações a seu respeito. Esse O FUTURO • • • Abreviação de Extensible Markup (Linguagem extensível de formatação). Language Desenvolvida pela W3C (World Wide Web Consortium - entidade responsável pela definição da área gráfica da internet). Feita para superar as limitações do HTML, que é o padrão das páginas da Web. • • Definida como o formato universal para dados estruturados na Web, que consistem em tabelas, desenhos, parâmetros de configuração, etc. A linguagem então trata de definir regras que permitem escrever esses documentos de forma que sejam adequadamente visíveis ao computador. Diferença entre HTML e XML: • Em ambas as linguagens, cada tag consiste em duas partes, uma que inicia e outra que fecha o comando. No entanto, em muitos casos, se uma tag é aberta no HTML e não é fechada, a página é exibida mesmo assim. Já no XML, se houver qualquer erro desse tipo, a aplicação simplesmente pára. • • O HTML é uma linguagem mais tolerante, enquanto o XML é altamente rígido. XML é uma linguagem estável. ex: Para um melhor entendimento, veja o seguinte fato: no HTML, a tag <p> </p> indica o início e o fim de um parágrafo. No XML, as tags são usadas para definir blocos de dados. O que isso quer dizer? Quer dizer que, <p> </p> podem significar qualquer coisa que o programador desejar. Por exemplo, <p> </p> podem • • o XML é até considerado por muitos uma linguagem capaz de gerar outras linguagens, visto que quem define os comandos e suas funções é o programador. A extensibilidade do XML é tanta, que muitas corporações vêm adicionando funções XML em seus produtos, como a Microsoft, Oracle, IBM, Google e Sun. É uma linguagem que tende a alcançar um sucesso cada vez maior, não só no segmento de comércio eletrônico, como vem acontecendo, mas em praticamente todas as áreas da Web. Navegação em Nuvem Cloud computing Cloud Computing Computação nuvem é modelo computação onde ou em um de a Algumas características o usuário pode acessar determinadas aplicações independente do seu sistema operacional ou de hardware; o usuário não precisa se preocupar com a estrutura para executar a aplicação; compartilhamento de dados e trabalho colaborativo se tornam mais fáceis; o usuário pode contar com melhor controle de gastos. Exemplos de aplicações Google Apps; Amazon; Live Mesh; Aprex; Panda Cloud Antivirus.