SQLite - Visão geral

Este capítulo ajuda a entender o que é SQLite, como ele difere do SQL, por que ele é necessário e a forma como trata o banco de dados das aplicações.

SQLite é uma biblioteca de software que implementa um mecanismo de banco de dados SQL transacional independente, sem servidor e com configuração zero. SQLite é um dos mecanismos de banco de dados de crescimento mais rápido, mas isso é crescimento em termos de popularidade, não tem nada a ver com seu tamanho. O código-fonte do SQLite é de domínio público.

O que é SQLite?

SQLite é uma biblioteca em processo que implementa um mecanismo de banco de dados SQL transacional independente, sem servidor e com configuração zero. É um banco de dados com configuração zero, o que significa que, como outros bancos de dados, você não precisa configurá-lo em seu sistema.

O motor SQLite não é um processo autônomo como outros bancos de dados, você pode vinculá-lo estaticamente ou dinamicamente de acordo com sua necessidade com seu aplicativo. O SQLite acessa seus arquivos de armazenamento diretamente.

Por que SQLite?

  • O SQLite não requer um processo ou sistema de servidor separado para operar (sem servidor).

  • O SQLite vem com configuração zero, o que significa nenhuma configuração ou administração necessária.

  • Um banco de dados SQLite completo é armazenado em um único arquivo de disco de plataforma cruzada.

  • SQLite é muito pequeno e leve, menos de 400 KiB totalmente configurado ou menos de 250 KiB com recursos opcionais omitidos.

  • SQLite é independente, o que significa que não há dependências externas.

  • As transações SQLite são totalmente compatíveis com ACID, permitindo acesso seguro a partir de vários processos ou threads.

  • SQLite oferece suporte à maioria dos recursos de linguagem de consulta encontrados no padrão SQL92 (SQL2).

  • SQLite é escrito em ANSI-C e fornece API simples e fácil de usar.

  • O SQLite está disponível em UNIX (Linux, Mac OS-X, Android, iOS) e Windows (Win32, WinCE, WinRT).

SQLite Uma breve história

  • 2000 - D. Richard Hipp projetou o SQLite com o propósito de dispensar a administração para operar um programa.

  • 2000 - Em agosto, o SQLite 1.0 é lançado com o GNU Database Manager.

  • 2011 - A Hipp anunciou a adição da interface UNQl ao banco de dados SQLite e o desenvolvimento do UNQLite (banco de dados orientado a documentos).

Limitações SQLite

Existem alguns recursos sem suporte do SQL92 no SQLite listados na tabela a seguir.

Sr. Não. Recurso e descrição
1

RIGHT OUTER JOIN

Apenas LEFT OUTER JOIN é implementado.

2

FULL OUTER JOIN

Apenas LEFT OUTER JOIN é implementado.

3

ALTER TABLE

As variantes RENAME TABLE e ADD COLUMN do comando ALTER TABLE são suportadas. DROP COLUMN, ALTER COLUMN e ADD CONSTRAINT não são suportados.

4

Trigger support

Os gatilhos FOR EACH ROW são suportados, mas não os gatilhos FOR EACH STATEMENT.

5

VIEWs

VIEWs no SQLite são somente leitura. Você não pode executar uma instrução DELETE, INSERT ou UPDATE em uma exibição.

6

GRANT and REVOKE

As únicas permissões de acesso que podem ser aplicadas são as permissões normais de acesso a arquivos do sistema operacional subjacente.

Comandos SQLite

Os comandos SQLite padrão para interagir com bancos de dados relacionais são semelhantes ao SQL. Eles são CREATE, SELECT, INSERT, UPDATE, DELETE e DROP. Esses comandos podem ser classificados em grupos com base em sua natureza operacional -

DDL - linguagem de definição de dados

Sr. Não. Comando e Descrição
1

CREATE

Cria uma nova tabela, uma visão de uma tabela ou outro objeto no banco de dados.

2

ALTER

Modifica um objeto de banco de dados existente, como uma tabela.

3

DROP

Exclui uma tabela inteira, uma visão de uma tabela ou outro objeto no banco de dados.

DML - linguagem de manipulação de dados

Sr. Não. Comando e Descrição
1

INSERT

Cria um registro

2

UPDATE

Modifica registros

3

DELETE

Exclui registros

DQL - linguagem de consulta de dados

Sr. Não. Comando e Descrição
1

SELECT

Recupera certos registros de uma ou mais tabelas