SlideShare ist ein Scribd-Unternehmen logo
1 von 31
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

Weitere ähnliche Inhalte

Was ist angesagt?

SQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaEduardo Castro
 
Express JS Rest API Tutorial
Express JS Rest API TutorialExpress JS Rest API Tutorial
Express JS Rest API TutorialSimplilearn
 
Introduction to Hibernate Framework
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate FrameworkMohit Kanwar
 
Intro to Pentesting Jenkins
Intro to Pentesting JenkinsIntro to Pentesting Jenkins
Intro to Pentesting JenkinsBrian Hysell
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
REST API Best Practices & Implementing in Codeigniter
REST API Best Practices & Implementing in CodeigniterREST API Best Practices & Implementing in Codeigniter
REST API Best Practices & Implementing in CodeigniterSachin G Kulkarni
 
JSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworksJSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworksDmitry Kornilov
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Leinylson Fontinele
 
How To Think In Go
How To Think In GoHow To Think In Go
How To Think In Golestrrat
 
01 php - introdução ao php
01   php - introdução ao php01   php - introdução ao php
01 php - introdução ao phpRoney Sousa
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02thomasdacosta
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Leinylson Fontinele
 
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Leinylson Fontinele
 
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB FundamentalsMongoDB
 
ORM: Object-relational mapping
ORM: Object-relational mappingORM: Object-relational mapping
ORM: Object-relational mappingAbhilash M A
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Leinylson Fontinele
 

Was ist angesagt? (20)

Database storage engines
Database storage enginesDatabase storage engines
Database storage engines
 
SQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en Memoria
 
Express JS Rest API Tutorial
Express JS Rest API TutorialExpress JS Rest API Tutorial
Express JS Rest API Tutorial
 
Introduction to Hibernate Framework
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate Framework
 
Intro to Pentesting Jenkins
Intro to Pentesting JenkinsIntro to Pentesting Jenkins
Intro to Pentesting Jenkins
 
Oracle 12c Architecture
Oracle 12c ArchitectureOracle 12c Architecture
Oracle 12c Architecture
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
REST API Best Practices & Implementing in Codeigniter
REST API Best Practices & Implementing in CodeigniterREST API Best Practices & Implementing in Codeigniter
REST API Best Practices & Implementing in Codeigniter
 
JSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworksJSONB introduction and comparison with other frameworks
JSONB introduction and comparison with other frameworks
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
 
How To Think In Go
How To Think In GoHow To Think In Go
How To Think In Go
 
Mongo db intro.pptx
Mongo db intro.pptxMongo db intro.pptx
Mongo db intro.pptx
 
01 php - introdução ao php
01   php - introdução ao php01   php - introdução ao php
01 php - introdução ao php
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
 
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB Fundamentals
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
ORM: Object-relational mapping
ORM: Object-relational mappingORM: Object-relational mapping
ORM: Object-relational mapping
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 

Andere mochten auch

Privacidade, CiberSegurança e Regulamentação Económica
Privacidade, CiberSegurança e Regulamentação EconómicaPrivacidade, CiberSegurança e Regulamentação Económica
Privacidade, CiberSegurança e Regulamentação EconómicaLuis Borges Gouveia
 
Exemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dadosExemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dadosLuis Borges Gouveia
 
Um exemplo do uso do SQLite: uma base de dados para alumni
Um exemplo do uso do SQLite: uma base de dados para alumniUm exemplo do uso do SQLite: uma base de dados para alumni
Um exemplo do uso do SQLite: uma base de dados para alumniLuis Borges Gouveia
 
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreLuis Borges Gouveia
 
Holacracy as an alternative to organisations governance
Holacracy as an alternative to organisations governanceHolacracy as an alternative to organisations governance
Holacracy as an alternative to organisations governanceLuis Borges Gouveia
 
Normas trabalhos cientificos a submeter à Comissão de Ética
Normas trabalhos cientificos a submeter à Comissão de ÉticaNormas trabalhos cientificos a submeter à Comissão de Ética
Normas trabalhos cientificos a submeter à Comissão de ÉticaLuis Borges Gouveia
 
Android Studio: Primeiros Passos
Android Studio: Primeiros PassosAndroid Studio: Primeiros Passos
Android Studio: Primeiros PassosRomualdo Andre
 
O digital, a sustentabilidade e a viagem do open source ao open data
O digital, a sustentabilidade e a viagem do open source ao open dataO digital, a sustentabilidade e a viagem do open source ao open data
O digital, a sustentabilidade e a viagem do open source ao open dataLuis Borges Gouveia
 
Local e-government: a governação digital na autarquia
Local e-government: a governação digital na autarquiaLocal e-government: a governação digital na autarquia
Local e-government: a governação digital na autarquiaLuis Borges Gouveia
 
Higher Education in the XXI century: challenging everything and also the libr...
Higher Education in the XXI century: challenging everything and also the libr...Higher Education in the XXI century: challenging everything and also the libr...
Higher Education in the XXI century: challenging everything and also the libr...Luis Borges Gouveia
 
O que é a ciência de dados (data science). Discussão do conceito
O que é a ciência de dados (data science). Discussão do conceitoO que é a ciência de dados (data science). Discussão do conceito
O que é a ciência de dados (data science). Discussão do conceitoLuis Borges Gouveia
 
Fórum da Arrábida: painel de discussão Privacidade e cibersegurança
Fórum da Arrábida: painel de discussão Privacidade e cibersegurança Fórum da Arrábida: painel de discussão Privacidade e cibersegurança
Fórum da Arrábida: painel de discussão Privacidade e cibersegurança Luis Borges Gouveia
 
Módulo X - Filosofia da Mente e Inteligência Artificial
Módulo X - Filosofia da Mente e Inteligência ArtificialMódulo X - Filosofia da Mente e Inteligência Artificial
Módulo X - Filosofia da Mente e Inteligência ArtificialBernardo Motta
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosPatrícia Morais
 
Unit 9: Responsible Tourism Good Practice For Cultural Heritage Sites In Vietnam
Unit 9: Responsible Tourism Good Practice For Cultural Heritage Sites In VietnamUnit 9: Responsible Tourism Good Practice For Cultural Heritage Sites In Vietnam
Unit 9: Responsible Tourism Good Practice For Cultural Heritage Sites In Vietnamduanesrt
 

Andere mochten auch (20)

Privacidade, CiberSegurança e Regulamentação Económica
Privacidade, CiberSegurança e Regulamentação EconómicaPrivacidade, CiberSegurança e Regulamentação Económica
Privacidade, CiberSegurança e Regulamentação Económica
 
Exemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dadosExemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dados
 
Um exemplo do uso do SQLite: uma base de dados para alumni
Um exemplo do uso do SQLite: uma base de dados para alumniUm exemplo do uso do SQLite: uma base de dados para alumni
Um exemplo do uso do SQLite: uma base de dados para alumni
 
Base de dados: desafio 1
Base de dados: desafio 1Base de dados: desafio 1
Base de dados: desafio 1
 
Base de dados desafio 2
Base de dados desafio 2Base de dados desafio 2
Base de dados desafio 2
 
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livre
 
Holacracy as an alternative to organisations governance
Holacracy as an alternative to organisations governanceHolacracy as an alternative to organisations governance
Holacracy as an alternative to organisations governance
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
Normas trabalhos cientificos a submeter à Comissão de Ética
Normas trabalhos cientificos a submeter à Comissão de ÉticaNormas trabalhos cientificos a submeter à Comissão de Ética
Normas trabalhos cientificos a submeter à Comissão de Ética
 
Android Studio: Primeiros Passos
Android Studio: Primeiros PassosAndroid Studio: Primeiros Passos
Android Studio: Primeiros Passos
 
O digital, a sustentabilidade e a viagem do open source ao open data
O digital, a sustentabilidade e a viagem do open source ao open dataO digital, a sustentabilidade e a viagem do open source ao open data
O digital, a sustentabilidade e a viagem do open source ao open data
 
Local e-government: a governação digital na autarquia
Local e-government: a governação digital na autarquiaLocal e-government: a governação digital na autarquia
Local e-government: a governação digital na autarquia
 
Fórum da arrábida 2015
Fórum da arrábida 2015Fórum da arrábida 2015
Fórum da arrábida 2015
 
Higher Education in the XXI century: challenging everything and also the libr...
Higher Education in the XXI century: challenging everything and also the libr...Higher Education in the XXI century: challenging everything and also the libr...
Higher Education in the XXI century: challenging everything and also the libr...
 
O que é a ciência de dados (data science). Discussão do conceito
O que é a ciência de dados (data science). Discussão do conceitoO que é a ciência de dados (data science). Discussão do conceito
O que é a ciência de dados (data science). Discussão do conceito
 
Fórum da Arrábida: painel de discussão Privacidade e cibersegurança
Fórum da Arrábida: painel de discussão Privacidade e cibersegurança Fórum da Arrábida: painel de discussão Privacidade e cibersegurança
Fórum da Arrábida: painel de discussão Privacidade e cibersegurança
 
Módulo X - Filosofia da Mente e Inteligência Artificial
Módulo X - Filosofia da Mente e Inteligência ArtificialMódulo X - Filosofia da Mente e Inteligência Artificial
Módulo X - Filosofia da Mente e Inteligência Artificial
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dados
 
Unit 9: Responsible Tourism Good Practice For Cultural Heritage Sites In Vietnam
Unit 9: Responsible Tourism Good Practice For Cultural Heritage Sites In VietnamUnit 9: Responsible Tourism Good Practice For Cultural Heritage Sites In Vietnam
Unit 9: Responsible Tourism Good Practice For Cultural Heritage Sites In Vietnam
 
Digital para que te quero...
Digital para que te quero...Digital para que te quero...
Digital para que te quero...
 

Ähnlich wie SQLite: um motor de bases de dados relacional open source

Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsRenato Groff
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
26 - Slides Modulo 1 SQLDS.pdf
26 - Slides Modulo 1 SQLDS.pdf26 - Slides Modulo 1 SQLDS.pdf
26 - Slides Modulo 1 SQLDS.pdfDeborah237501
 
Diego araujo-introdução-a-banco-de-dados-livre-–-mysql
Diego araujo-introdução-a-banco-de-dados-livre-–-mysqlDiego araujo-introdução-a-banco-de-dados-livre-–-mysql
Diego araujo-introdução-a-banco-de-dados-livre-–-mysqlDiego Rivera Tavares
 
Diego araujo-introdução-a-banco-de-dados-livre-–-mysql
Diego araujo-introdução-a-banco-de-dados-livre-–-mysqlDiego araujo-introdução-a-banco-de-dados-livre-–-mysql
Diego araujo-introdução-a-banco-de-dados-livre-–-mysqlDiego Rivera Tavares
 
BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIAlvaro Viebrantz
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensAlessandro Binhara
 
Planode Aula
Planode AulaPlanode Aula
Planode Aulasofteam
 

Ähnlich wie SQLite: um motor de bases de dados relacional open source (20)

Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Plsql
PlsqlPlsql
Plsql
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application Insights
 
FLISOL 2017 - SQL Server no Linux
FLISOL 2017 - SQL Server no LinuxFLISOL 2017 - SQL Server no Linux
FLISOL 2017 - SQL Server no Linux
 
Aula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLiteAula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLite
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
26 - Slides Modulo 1 SQLDS.pdf
26 - Slides Modulo 1 SQLDS.pdf26 - Slides Modulo 1 SQLDS.pdf
26 - Slides Modulo 1 SQLDS.pdf
 
Banco de dados
Banco de dados   Banco de dados
Banco de dados
 
Diego araujo-introdução-a-banco-de-dados-livre-–-mysql
Diego araujo-introdução-a-banco-de-dados-livre-–-mysqlDiego araujo-introdução-a-banco-de-dados-livre-–-mysql
Diego araujo-introdução-a-banco-de-dados-livre-–-mysql
 
Diego araujo-introdução-a-banco-de-dados-livre-–-mysql
Diego araujo-introdução-a-banco-de-dados-livre-–-mysqlDiego araujo-introdução-a-banco-de-dados-livre-–-mysql
Diego araujo-introdução-a-banco-de-dados-livre-–-mysql
 
BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage API
 
Moodle como framework
Moodle como frameworkMoodle como framework
Moodle como framework
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
 

Mehr von Luis Borges Gouveia

A Sala de Aula como um espaço de oportunidade num tempo pós pandémico
A Sala de Aula como um espaço de oportunidade num tempo pós pandémicoA Sala de Aula como um espaço de oportunidade num tempo pós pandémico
A Sala de Aula como um espaço de oportunidade num tempo pós pandémicoLuis Borges Gouveia
 
Sharing ongoing research from *TRS group on ICT for teaching and learning
Sharing ongoing research from *TRS group on ICT for teaching and learningSharing ongoing research from *TRS group on ICT for teaching and learning
Sharing ongoing research from *TRS group on ICT for teaching and learningLuis Borges Gouveia
 
Casos de Estudo e Estudos de Caso. Práticas e Operacionalização: como resolve...
Casos de Estudo e Estudos de Caso. Práticas e Operacionalização: como resolve...Casos de Estudo e Estudos de Caso. Práticas e Operacionalização: como resolve...
Casos de Estudo e Estudos de Caso. Práticas e Operacionalização: como resolve...Luis Borges Gouveia
 
Contribuições para o uso da MVR - Matriz de Valor e Relevância - Indicadores ...
Contribuições para o uso da MVR - Matriz de Valor e Relevância - Indicadores ...Contribuições para o uso da MVR - Matriz de Valor e Relevância - Indicadores ...
Contribuições para o uso da MVR - Matriz de Valor e Relevância - Indicadores ...Luis Borges Gouveia
 
Inteligência Artificial e o seu uso em contexto militar
Inteligência Artificial e o seu uso em contexto militarInteligência Artificial e o seu uso em contexto militar
Inteligência Artificial e o seu uso em contexto militarLuis Borges Gouveia
 
Curadoria Digital de Conteúdo para Educação a Distância
Curadoria Digital de Conteúdo para Educação a DistânciaCuradoria Digital de Conteúdo para Educação a Distância
Curadoria Digital de Conteúdo para Educação a DistânciaLuis Borges Gouveia
 
Proposta de um Modelo de Matriz de Correlação e Relevância – ODS e indicadore...
Proposta de um Modelo de Matriz de Correlação e Relevância – ODS e indicadore...Proposta de um Modelo de Matriz de Correlação e Relevância – ODS e indicadore...
Proposta de um Modelo de Matriz de Correlação e Relevância – ODS e indicadore...Luis Borges Gouveia
 
Livro de Resumos do Seminário PhD CI - SiTEGI 2020
Livro de Resumos do Seminário PhD CI - SiTEGI 2020Livro de Resumos do Seminário PhD CI - SiTEGI 2020
Livro de Resumos do Seminário PhD CI - SiTEGI 2020Luis Borges Gouveia
 
O Digital e um espaço de oportunidades num oceano de desafios
O Digital e um espaço de oportunidades num oceano de desafiosO Digital e um espaço de oportunidades num oceano de desafios
O Digital e um espaço de oportunidades num oceano de desafiosLuis Borges Gouveia
 
Uma análise prévia do ensino de emergência em tempos de pandemia e o impacto ...
Uma análise prévia do ensino de emergência em tempos de pandemia e o impacto ...Uma análise prévia do ensino de emergência em tempos de pandemia e o impacto ...
Uma análise prévia do ensino de emergência em tempos de pandemia e o impacto ...Luis Borges Gouveia
 
A oportunidade de um novo normal no ensino superior
A oportunidade de um novo normal no ensino superiorA oportunidade de um novo normal no ensino superior
A oportunidade de um novo normal no ensino superiorLuis Borges Gouveia
 
CULTURA DIGITAL DEFINIÇÃO E DIMENSÕES CONSTITUTIVAS: uma proposta para mapear...
CULTURA DIGITAL DEFINIÇÃO E DIMENSÕES CONSTITUTIVAS: uma proposta para mapear...CULTURA DIGITAL DEFINIÇÃO E DIMENSÕES CONSTITUTIVAS: uma proposta para mapear...
CULTURA DIGITAL DEFINIÇÃO E DIMENSÕES CONSTITUTIVAS: uma proposta para mapear...Luis Borges Gouveia
 
Transformação digital e gestão da informação
Transformação digital e gestão da informaçãoTransformação digital e gestão da informação
Transformação digital e gestão da informaçãoLuis Borges Gouveia
 
O momento da Transformação digital
O momento da Transformação digitalO momento da Transformação digital
O momento da Transformação digitalLuis Borges Gouveia
 
Emerging alternatives to leadership and governance in a digital ecosystem
Emerging alternatives to leadership and governance in a digital ecosystemEmerging alternatives to leadership and governance in a digital ecosystem
Emerging alternatives to leadership and governance in a digital ecosystemLuis Borges Gouveia
 
O lugar da leitura como espaço de convergência entre o real e o digital
O lugar da leitura como espaço de convergência entre o real e o digitalO lugar da leitura como espaço de convergência entre o real e o digital
O lugar da leitura como espaço de convergência entre o real e o digitalLuis Borges Gouveia
 
Responder a um contexto digital nas IES
Responder a um contexto digital nas IESResponder a um contexto digital nas IES
Responder a um contexto digital nas IES Luis Borges Gouveia
 

Mehr von Luis Borges Gouveia (20)

A Sala de Aula como um espaço de oportunidade num tempo pós pandémico
A Sala de Aula como um espaço de oportunidade num tempo pós pandémicoA Sala de Aula como um espaço de oportunidade num tempo pós pandémico
A Sala de Aula como um espaço de oportunidade num tempo pós pandémico
 
Sharing ongoing research from *TRS group on ICT for teaching and learning
Sharing ongoing research from *TRS group on ICT for teaching and learningSharing ongoing research from *TRS group on ICT for teaching and learning
Sharing ongoing research from *TRS group on ICT for teaching and learning
 
Casos de Estudo e Estudos de Caso. Práticas e Operacionalização: como resolve...
Casos de Estudo e Estudos de Caso. Práticas e Operacionalização: como resolve...Casos de Estudo e Estudos de Caso. Práticas e Operacionalização: como resolve...
Casos de Estudo e Estudos de Caso. Práticas e Operacionalização: como resolve...
 
Contribuições para o uso da MVR - Matriz de Valor e Relevância - Indicadores ...
Contribuições para o uso da MVR - Matriz de Valor e Relevância - Indicadores ...Contribuições para o uso da MVR - Matriz de Valor e Relevância - Indicadores ...
Contribuições para o uso da MVR - Matriz de Valor e Relevância - Indicadores ...
 
Inteligência Artificial e o seu uso em contexto militar
Inteligência Artificial e o seu uso em contexto militarInteligência Artificial e o seu uso em contexto militar
Inteligência Artificial e o seu uso em contexto militar
 
Eventos PhD CI SiTEGI UFP
Eventos PhD CI SiTEGI UFPEventos PhD CI SiTEGI UFP
Eventos PhD CI SiTEGI UFP
 
Information Science PhD event
Information Science PhD eventInformation Science PhD event
Information Science PhD event
 
Curadoria Digital de Conteúdo para Educação a Distância
Curadoria Digital de Conteúdo para Educação a DistânciaCuradoria Digital de Conteúdo para Educação a Distância
Curadoria Digital de Conteúdo para Educação a Distância
 
Proposta de um Modelo de Matriz de Correlação e Relevância – ODS e indicadore...
Proposta de um Modelo de Matriz de Correlação e Relevância – ODS e indicadore...Proposta de um Modelo de Matriz de Correlação e Relevância – ODS e indicadore...
Proposta de um Modelo de Matriz de Correlação e Relevância – ODS e indicadore...
 
Livro de Resumos do Seminário PhD CI - SiTEGI 2020
Livro de Resumos do Seminário PhD CI - SiTEGI 2020Livro de Resumos do Seminário PhD CI - SiTEGI 2020
Livro de Resumos do Seminário PhD CI - SiTEGI 2020
 
O Digital e um espaço de oportunidades num oceano de desafios
O Digital e um espaço de oportunidades num oceano de desafiosO Digital e um espaço de oportunidades num oceano de desafios
O Digital e um espaço de oportunidades num oceano de desafios
 
Uma análise prévia do ensino de emergência em tempos de pandemia e o impacto ...
Uma análise prévia do ensino de emergência em tempos de pandemia e o impacto ...Uma análise prévia do ensino de emergência em tempos de pandemia e o impacto ...
Uma análise prévia do ensino de emergência em tempos de pandemia e o impacto ...
 
A oportunidade de um novo normal no ensino superior
A oportunidade de um novo normal no ensino superiorA oportunidade de um novo normal no ensino superior
A oportunidade de um novo normal no ensino superior
 
CULTURA DIGITAL DEFINIÇÃO E DIMENSÕES CONSTITUTIVAS: uma proposta para mapear...
CULTURA DIGITAL DEFINIÇÃO E DIMENSÕES CONSTITUTIVAS: uma proposta para mapear...CULTURA DIGITAL DEFINIÇÃO E DIMENSÕES CONSTITUTIVAS: uma proposta para mapear...
CULTURA DIGITAL DEFINIÇÃO E DIMENSÕES CONSTITUTIVAS: uma proposta para mapear...
 
Transformação digital e gestão da informação
Transformação digital e gestão da informaçãoTransformação digital e gestão da informação
Transformação digital e gestão da informação
 
O momento da Transformação digital
O momento da Transformação digitalO momento da Transformação digital
O momento da Transformação digital
 
Emerging alternatives to leadership and governance in a digital ecosystem
Emerging alternatives to leadership and governance in a digital ecosystemEmerging alternatives to leadership and governance in a digital ecosystem
Emerging alternatives to leadership and governance in a digital ecosystem
 
Sobre Cultura Digital
Sobre Cultura DigitalSobre Cultura Digital
Sobre Cultura Digital
 
O lugar da leitura como espaço de convergência entre o real e o digital
O lugar da leitura como espaço de convergência entre o real e o digitalO lugar da leitura como espaço de convergência entre o real e o digital
O lugar da leitura como espaço de convergência entre o real e o digital
 
Responder a um contexto digital nas IES
Responder a um contexto digital nas IESResponder a um contexto digital nas IES
Responder a um contexto digital nas IES
 

Kürzlich hochgeladen

Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxSamiraMiresVieiradeM
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Atividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas GeográficasAtividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas Geográficasprofcamilamanz
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e CaracterísticassAugusto Costa
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfjanainadfsilva
 

Kürzlich hochgeladen (20)

Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Atividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas GeográficasAtividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas Geográficas
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e Característicass
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
 

SQLite: um motor de bases de dados relacional open source

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