Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SQLite: um motor de bases de dados relacional open source

1,567 views

Published on

Uma introdução operacional ao uso do SQLite, com indicação de recursos para aprofundar aprática

Published in: Education
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @Rui Melo obrigado, é sempre bom saber que o trabalho é apreciado e, mais importante, utilizado
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Grande e avantajado trabalho. Vou experimentar mais um brilhante trbalho do meu amigo Luís.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

SQLite: um motor de bases de dados relacional open source

  1. 1. SQLite um motor de bases de dados relacional open source Versão 1.0, Dezembro de 2016 Luís Borges Gouveia Universidade Fernando Pessoa lmbg@ufp.edu.pt
  2. 2. O que é o SQLite • É uma biblioteca em linguagem C que implementa um sistema de gestão de bases de dados (SGBD) relacional • É um motor autocontido, embebido, sem servidor, transacional e sem necessidade de configuração • Está disponível em open source e sem custos associados • Multiplataforma (Windows, Apple, Linux, Android) • Site oficial: http://www.sqlite.org • Logo do SQLite… Luis Borges Gouveia, lmbg@ufp.edu.pt
  3. 3. O mote do SQLite: pequeno, rápido e fiável… Luis Borges Gouveia, lmbg@ufp.edu.pt
  4. 4. Origens • a implementação original do SQLite foi desenvolvida por Richard Hipp (1961, ) • o software destinava-se a ser utilizado em sistemas de misseis teleguiados e, por isso mesmo, com recursos limitados para o correr • um dos requisitos para o programa era o de permitir correr sem uma instalação de bases de dados ou de administração de dados (originou a criação de um motor próprio, com pouca exigência de recursos, para gerir os dados) • levou ao desenvolvimento em C, de um gestor de bases de dados Luis Borges Gouveia, lmbg@ufp.edu.pt
  5. 5. História do SQLite • Versão 1.0: Maio de 2000 • A versão inicial foi baseada no gestor de bases de dados GNU (GDBM) • Versão 2.0: Setembro de 2001 • Substituida a implementação GBDM por uma estrutura de árvores binárias clássica (B-tree) • Versão 3.0: Junho de 2004 • Adicionou muitas das funcionalidades mais sofisticadas e comerciais, fazendo do software, uma excelente opção para o uso de bases de dados locais e para o ensino de bases de dados • Atualmente (v 3.15.2) tem utilização à escala global e o suporte de inúmeras empresas, que formaram um consórcio para suportar o SQLite Luis Borges Gouveia, lmbg@ufp.edu.pt
  6. 6. Especificações do SQLite • O SQLite trabalha com formatos de aplicação de ficheiros: • possui mecanismo de armazenamento seguro com transações ACID (atomicidade, consistência, isolamento e durabilidade) • triggers com funcionalidade de desfazer e refazer • Análise de dados temporários: • com um cliente de linha de commando • importação de ficheiros csv • uso de SQL para analisar e gerar relatórios • Respeita a norma SQL: • implementa a maior parte da especificação da norma SQL92 • Testado e contido: • limita o potencial dano • Dispositivos embebidos: • pequeno: usa apenas ANSI C e VFS, com o formato de ficheiros multiplataforma • fiável: com corbetura de teste a 100%, código em open source e portável e base de dados de erros reportados e com transações ACID, mesmo em caso de falha de energia • rápido: biblioteca de 300 KB, corre com poucos recursos, 16 KB pilha e 100 KB heap Luis Borges Gouveia, lmbg@ufp.edu.pt
  7. 7. Para obter o SQLite • Existe uma página que concentra os diferentes recursos para descarregar: https://www.sqlite.org/download.html • O código fonte • A documentação • Os executáveis, utilitários e código fonte, para diferentes ambientes: • Android • Linux • MAC OS X • Windows Luis Borges Gouveia, lmbg@ufp.edu.pt
  8. 8. Exemplos de entidades que usam o SQLite • Adobe: embebido no Photoshop e AcrobatAdobe reader • Airbus: no software de voo dos aviões • Apple: usado no itunes e na maioria das aplicações que correm MAC OS X, iPhones e iPods; email, etc. • Google: usado no Android e no browser Chrome • Dropbox: no arquivo de ficheiros e serviço de sincronização • As linguagens de programação PHP e Python incluem o SQLite nas suas instalações base • Outras : • Facebook, General Electric, Intuit, MacAfee; Microsoft; Skype; Mozilla Firefox Luis Borges Gouveia, lmbg@ufp.edu.pt
  9. 9. Quando usar o SQLite? Os dados estão separados da aplicação por uma rede? Escolher um sistema cliente / servidor Existe a necessidade de muitas escritas concorrentes? Escolher um sistema cliente / servidor Existe a necessidade de lidar com muitos dados (Big Data)? Escolher um sistema cliente / servidor Outra situação? Escolher o SQLite… Luis Borges Gouveia, lmbg@ufp.edu.pt
  10. 10. Caraterísticas do SQLite vantagens • Não possui configuração • basta instalar e começar a usar • Não existe um processo de servidor para administrar ou contas de utilizadores para gerir • É facil de realizar cópias de segurança e transmitir a base de dados • basta copiar um ficheiro • Possui tipos dinâmicos por valores de colunose e tamanhos variáveis para registos de colunas • As consultas podem referenciar múltiplos ficheiros de bases de dados • Possui algumas extensões não normalizadas SQL Luis Borges Gouveia, lmbg@ufp.edu.pt
  11. 11. O que o SQLite não possui desvantagens • Sistema de alta concorrência • bloqueio de leitura e escrita na totalidade do ficheiro • Conjuntos de dados alargados: • a base de dados não pode exceder os TB (Terabytes) e está limitada aos recursos do sistema para a dimensão de um ficheiro • Controlo de acesso: • não existe uma implementação Luis Borges Gouveia, lmbg@ufp.edu.pt
  12. 12. Usos para o SQLite • O objetivo principal do SQLite é ser simples • Usar para: • sites com menos de cem mil requisições por dia • dispositivos e sistemas embarcados • aplicações desktop • ferramentas estatísticas e de análise • ensino e aprendizagem do bases de dados • Implementação de novas extensões de SQL Luis Borges Gouveia, lmbg@ufp.edu.pt
  13. 13. O Interface de linha de comando do SQLite • Corre numa janela de comando e permite dois tipos de comandos: • De sistema, do SQLite, iniciados por . (ponto) • exemplo: .help • Da norma SQL, que são finalizados por ; (ponto e vírgula) • exemplo: create table fcp(tit text); Luis Borges Gouveia, lmbg@ufp.edu.pt
  14. 14. Existem alternativas de usar o SQLite, além da linha de comando • SQLiteStudio (3.1.1) • http://sqlitestudio.pl/ • também open source Luis Borges Gouveia, lmbg@ufp.edu.pt
  15. 15. Existem alternativas de usar o SQLite, além da linha de comando • DBBrowser (3.9.1) • http://sqlitebrowser.org/ • também open source Luis Borges Gouveia, lmbg@ufp.edu.pt
  16. 16. O que é o SQL • É uma linguagem de quarta geração (4GL) orientada para a consulta e operação em bases de dados, com recurso à linguagem corrente (Inglês) • SQL é o acrónimo de Structure Query Language (Linguagem estruturada de consultas) • Originado do SEQUEL (Structured English Query Language, parte do sistema R, da IBM – 1974) • É uma norma ISO e ANSI: SQL/92 ou SQL2, suportada pelo SQLite • existe um SQL99 ou SQL3… Luis Borges Gouveia, lmbg@ufp.edu.pt
  17. 17. Duas categorias de funções do SQL Simplificando… • DDL – Data Definition Language • Engloba os comandos para criar as bases de dados e o respetivo esquema • Permite especificar a criação, alteração e eliminação de tabelas e seus atributos • Também permite especificação de outros objetos de bases de dados, como os índices e as vistas e definir os direitos de acesso… • DML – Data Manipulation Language • Engloba os comandos para lidar e manipular os dados de uma base de dados • Inclui os comandos SQL para se poder inserir, atualizar, eliminar e consultar os dados de uma base de dados • O SQL do SQLite: http://www.sqlite.org/lang.html Luis Borges Gouveia, lmbg@ufp.edu.pt
  18. 18. Comandos básicos SQL para manipular uma base de dados • Os dados numa base de dados relacional estão organizados em tabelas que são matrizes • Em que a matriz, constitui a entidade a representar (exemplo: a entidade aluno) • Em que as colunas, constituem os diferentes atributos da entidade (por exemplo: os atributos de número, nome, país de origem, constituem três atributos da entidade aluno) • Em que as linhas são os elementos ou instâncias da entidade • (por exemplo: os dados Luis, Joana, António e Rita, com os respetivos atributos de número, nome e país de origem, constituem quatro instâncias ou ocorrências da entidade aluno) Luis Borges Gouveia, lmbg@ufp.edu.pt
  19. 19. O (pequeno) exemplo de uma tabela Número Nome País 40451 Luis Portugal 41384 Joana UK 42224 António Brasil 52001 Rita USA • as tabelas são os elementos que constituem as componentes onde se encontram os dados de uma base de dados relacional, como o SQLite • tabela: estudante e atributos: num, nome e pais • conteúdo: quatro (4) ocorrências ou instâncias de aluno Luis Borges Gouveia, lmbg@ufp.edu.pt
  20. 20. Comandos SQL (DDL) para as tabelas • CREATE TABLE (para criar uma tabela) • CREATE TABLE estudante(num INTEGER, nome TEXT) ; • ALTER TABLE (para alterar uma tabela) • ALTER TABLE estudante ADD COLUMN pais TEXT; • DROP TABLE (para eliminar uma tabela) • DROP TABLE estudante; Luis Borges Gouveia, lmbg@ufp.edu.pt
  21. 21. Comandos básicos SQL para manipular os dados • CRUD – Create, Read, Update, Delete • Criar a instância para o aluno 40451, Luis de Portugal • INSERT INTO estudante VALUES (40451, ‘Luis’, ‘Portugal’); • Criar a instância para a aluna 41384, Joana do Reino Unido (UK) • INSERT INTO estudante VALUES(41384, ‘Joana’, ‘UK’); • Criar a instância para o aluno 42224, António, do Brasil • INSERT INTO estudante VALUES(42224, ‘António’, ‘Brasil’); • Criar a instância para a aluna 52001, Rita, dos USA • INSERT INTO estudante VALUES(52001, ‘Rita’, ‘USA’); Luis Borges Gouveia, lmbg@ufp.edu.pt
  22. 22. Comandos básicos SQL para manipular uma base de dados • CRUD – Create, Read, Update, Delete • Selecionar todos os alunos da tabela estudante • SELECT * FROM estudante; • SELECT num, nome, pais FROM estudante; • Selecionar o nome e pais dos alunos • SELECT nome, pais FROM estudante; • Selecionar os dados associados com o aluno número 52001 (a Rita) • SELECT * FROM estudante WHERE num=52001; • As consultas de dados podem ser muito sofisticadas ao incluir funções que contam ocorrência, calculam médias, máximos e mínimos, usam expressões ou relacionam valores e até exploram os resultados de outras consultas embebidas Luis Borges Gouveia, lmbg@ufp.edu.pt
  23. 23. Comandos básicos SQL para manipular uma base de dados • CRUD – Create, Read, Update, Delete • Atualizar o nome Luis para Luís (colocar o acento…) • UPDATE estudante SET nome = ‘Luís’ WHERE num = 40451; • Atualizar a informação de país de origem para Portugal, para todos os estudantes • UPDATE estudante SET pais = ‘Portugal’; Luis Borges Gouveia, lmbg@ufp.edu.pt
  24. 24. Comandos básicos SQL para manipular uma base de dados • CRUD – Create, Read, Update, Delete • Eliminar todos os elementos da tabela estudante • DELETE FROM estudante; • Eliminar a Joana da tabela de estudantes (concluiu o seu estudo…) • DELETE FROM estudante WHERE num = 41384; Luis Borges Gouveia, lmbg@ufp.edu.pt
  25. 25. A melhor forma de aprender é praticar e experimentar Luis Borges Gouveia, lmbg@ufp.edu.pt
  26. 26. Experimentar (I) • 1º conjunto de slides: Um exemplo do uso de bases de dados, SQLite e a exploração SQL • Introduz o SQLite e o seu uso e apresenta um exemplo para prática em contexto efetivo da criação e consulta a uma base de dados • http://www.slideshare.net/lmbg/sqlite-select-exemp2013 Luis Borges Gouveia, lmbg@ufp.edu.pt
  27. 27. Experimentar (II) • 2º conjunto de slides: Base de dados: desafio 1 • Responde ao desafio colocado no slide final do primeiro conjunto de slides. Os resultados apresentados apenas listam os dados de 2013, pelo que a informação associada aos dados de 2015 não consta nos slides • http://www.slideshare.net/lmbg/base-de-dados-desafio-1 Luis Borges Gouveia, lmbg@ufp.edu.pt
  28. 28. Proposta de trabalho 1 • Fazer uma apresentação em MS Powerpoint que apresente do mesmo modo que os slides do 2º conjunto, os resultados para todos os dados, incluindo os 3 livros de 2015 Luis Borges Gouveia, lmbg@ufp.edu.pt
  29. 29. Experimentar (III) • 3º conjunto de slides: Base de dados: desafio 2 • Apresenta um conjunto de extensões de funcionalidade para a base de dados sobre livros, com inclusão de empréstimos e anotações sobre os livros • http://www.slideshare.net/lmbg/base-de-dados-desafio2 Luis Borges Gouveia, lmbg@ufp.edu.pt
  30. 30. Experimentar (IV) • 4º conjunto de slides: Mais um exemplo do recurso a base de dados relacionais em SQLite • Apresenta uma nova base de dados, desta vez associada com as orientações • http://www.slideshare.net/lmbg/um-exemplo-do-uso-do-sqlite- uma-base-de-dados-para-alumni Luis Borges Gouveia, lmbg@ufp.edu.pt
  31. 31. Proposta de trabalho 2 • Fazer uma apresentação em MS Powerpoint que apresente a atualização dos dados associados com os alumni (alunos que concluíram os seus trabalhos com sucesso), tendo em conta os dados que constam já na base de dados e os que compõem a lista mais atual que está disponível, em http://homepage.ufp.pt/lmbg/mono_on.htm Luis Borges Gouveia, lmbg@ufp.edu.pt

×