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 |