Pergunta

usos SQLite algo que os autores chamam de " Manifest Typing ", que basicamente significa que SQLite é tipagem dinâmica:. você pode armazenar um valor varchar em uma coluna "int" se você quiser

Esta é uma decisão de design interessante, mas sempre que eu tenho sqlite usado, eu usei-o como um RDMS padrão e tratados os tipos, como se fossem estática. Na verdade, eu nunca sequer desejava colunas tipagem dinâmica ao projetar bancos de dados em outros sistemas.

Assim, quando este recurso é útil? Alguém encontrou um bom uso para ele na prática, que não poderia ter sido feito com a mesma facilidade com colunas de tipagem estática?

Foi útil?

Solução

É realmente só faz tipos mais fáceis de usar. Você não precisa se preocupar com o quão grande esse campo precisa estar em um nível de banco de dados mais, ou quantos digets seus intergers pode ser. Mais ou menos é um 'por que não?' coisa.

Por outro lado, tipagem estática em SQL Server permite que o sistema de pesquisa e índice melhor, em alguns casos, muito melhor, mas para a metade de todas as aplicações, duvido que as melhorias de desempenho do banco de dados teria importância, ou seu desempenho é 'pobre 'por outras razões (tabelas temporárias sendo criado a cada seleto, seleciona exponenciais, etc).

Eu uso SQLite o tempo todo para meus projetos .NET como um cache do cliente, porque é simplesmente muito fácil também usar. Agora, se eles só podem obtê-lo para usar GUIDs o mesmo servidor SQL eu seria um campista feliz.

Outras dicas

digitando

dinâmico é útil para armazenar coisas como definições de configuração. Tome o Registro do Windows, por exemplo. Cada chave é um pouco como ter uma tabela SQLite da forma:

criar configurações de tabela (nome da TEXTO chave primária, Valor);

onde valor pode ser nulo (REG_NONE) ou um inteiro (REG_DWORD / REG_QWORD), TEXT (REG_SZ), ou BLOB (REG_BINARY).

Além disso, eu vou ter que concordar com os Jasons sobre a utilidade de não impor um tamanho máximo para strings. Como grande parte do tempo, esses limites são puramente arbitrária, e você pode contar com um dia encontrar uma string de 32 bytes que precisa ser armazenado em seu VARCHAR (30).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top