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
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
O mote do SQLite:
pequeno, rápido e fiável…
Luis Borges Gouveia, lmbg@ufp.edu.pt
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
A melhor forma de aprender é praticar e
experimentar
Luis Borges Gouveia, lmbg@ufp.edu.pt
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
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
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
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
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
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

SQLite: um motor de bases de dados relacional open source

  • 1.
    SQLite um motor debases de dados relacional open source Versão 1.0, Dezembro de 2016 Luís Borges Gouveia Universidade Fernando Pessoa lmbg@ufp.edu.pt
  • 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.
    O mote doSQLite: pequeno, rápido e fiável… Luis Borges Gouveia, lmbg@ufp.edu.pt
  • 4.
    Origens • a implementaçãooriginal 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.
    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.
    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.
    Para obter oSQLite • 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.
    Exemplos de entidadesque 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.
    Quando usar oSQLite? 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.
    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.
    O que oSQLite 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.
    Usos para oSQLite • 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.
    O Interface delinha 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.
    Existem alternativas deusar 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.
    Existem alternativas deusar 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.
    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.
    Duas categorias defunçõ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.
    Comandos básicos SQLpara 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.
    O (pequeno) exemplode 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.
    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.
    Comandos básicos SQLpara 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.
    Comandos básicos SQLpara 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.
    Comandos básicos SQLpara 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.
    Comandos básicos SQLpara 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.
    A melhor formade aprender é praticar e experimentar Luis Borges Gouveia, lmbg@ufp.edu.pt
  • 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.
    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.
    Proposta de trabalho1 • 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.
    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.
    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.
    Proposta de trabalho2 • 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