Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sortie de SQLite 3.6.19
SQLite s'offre la gestion de foreign keys

Le , par Emmanuel Lecoester

0PARTAGES

0  0 
SQLite Release 3.6.19 On 2009 Oct 14 (3.6.19)

Changes associated with this release include the following:

* Added support for foreign key constraints. Foreign key constraints are disabled by default. Use the foreign_keys pragma to turn them on.
* Generalized the IS and IS NOT operators to take arbitrary expressions on their right-hand side.
* The TCL Interface has been enhanced to use the Non-Recursive Engine (NRE) interface to the TCL interpreter when linked against TCL 8.6 or later.
* Fix a bug introduced in 3.6.18 that can lead to a segfault when an attempt is made to write on a read-only database.
Que pensez-vous de cette nouveauté ?
Va-t-elle permettre un nouveau regain d'intérêt pour cette base de données ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de _skip
Expert éminent https://www.developpez.com
Le 15/10/2009 à 8:14
Voilà qui invalide mon affirmation d'hier...

J'ai essayé il y a 1-2 ans d'insérer tout le contenu d'en-tête d'un newsgroup dans sqlite (uniqueID / Groupe / ArticleId / titre / auteur/ date). Les performance en ajout étaient impressionnantes jusqu'à 100'000 enregistrements (4-5000 insertions secondes). Par contre passé le million ça tombait dans les 200/sec.

A ce que j'ai pu lire, cette lenteur viendrait des contraintes d'unicité qui sont des btree et non des hash index. Je me demande si ce problème est d'actualité.
0  0 
Avatar de Rapha222
Membre habitué https://www.developpez.com
Le 17/10/2009 à 17:36
Citation Envoyé par Emmanuel Lecoester Voir le message
SQLite Release 3.6.19 On 2009 Oct 14 (3.6.19)

Que pensez-vous de cette nouveauté ?
Va-t-elle permettre un nouveau regain d'intérêt pour cette base de données ?
Absolument génial \o/.

J'espère que ça sera vite implanté à peu près partout (sur les distribs linux en tout cas), comme ca ou pourra commencer à l'utiliser dans nos programmes, car la c'était tout à fait possible, mais il fallait passer par des générateurs de triggers, c'est un peu lourd quand on a une dixaine de tables ou plus ...
0  0 
Avatar de sidev
Membre du Club https://www.developpez.com
Le 17/10/2009 à 17:48
ça va vraiment accélérer les choses je pense. Mais j'attend de tester voir ce que ça donne par rapport à mon bien aimé SqlServeur
0  0 
Avatar de Rapha222
Membre habitué https://www.developpez.com
Le 17/10/2009 à 17:54
Citation Envoyé par sidev Voir le message
ça va vraiment accélérer les choses je pense. Mais j'attend de tester voir ce que ça donne par rapport à mon bien aimé SqlServeur
C'est pas du tout la même utilisation, sqlite étant une BDD embarquée (ou alors il faut utiliser SQL Server CE, mais je sais pas où ca en est niveau fonctionnalités).
SQLite est de plus en plus utilisée, beaucoup d'applis Linux l'utilisent, c'est la BDD intégrée à MacOS (et sa version mobile) et Android, ...
Personnelement je l'utilise en C#, ce qui me permet de faire fonctionner mes applis aussi bien sur Linux/OS X avec Mono que sur Windows avec .NET
Le fait qu'elle évolue bien devrait se ressentir sur les applications qui l'utilisent

Edit:
Il manque tout de même pour moi quelques petites choses à SQLite pour rendre son utilisation vraiment agréable:
* Pouvoir mettre des sous-requêtes dans les contraintes ;
* Les vues modifiables (on peut s'en passer avec des triggers INSTEAD OF) ;
* Plus de fonctions intégrées: il n'y a presque pas de fonctions mathématiques (SQRT, SIN, ...) par exemple;
* Un index FULLTEXT.

Mais comme dit plus haut, l'objectif de SQLite n'est pas de gérer des grosses tables (> 200 000 enregistrements). En théorie, une application qui utilise SQLite ne devrait jamais arriver à cette limite, si c'est le cas, il faut passer son chemin. Par exemple, Banshee utilise SQLite pour gérer sa bibliothèque multimedia, et c'est vraiment efficace et rapide, comparé à ses concurrents, ...
0  0 
Avatar de sidev
Membre du Club https://www.developpez.com
Le 17/10/2009 à 18:36
Citation Envoyé par Rapha222 Voir le message
(ou alors il faut utiliser SQL Server CE, mais je sais pas où ca en est niveau fonctionnalités).
...
Même si SQL Server CE et Sqlite joue dans la même catégorie il faut signaler que
Sqlite est très simple (c'est ça qui fait sa force). SQL Server CE est plus complexe d'autant plus qu'il fournit des fonctionnalités bcp plus avancés.
0  0 
Avatar de Rapha222
Membre habitué https://www.developpez.com
Le 17/10/2009 à 18:40
Citation Envoyé par sidev Voir le message
Même si SQL Server CE et Sqlite joue dans la même catégorie il faut signaler que
Sqlite est très simple (c'est ça qui fait sa force). SQL Server CE est plus complexe d'autant plus qu'il fournit des fonctionnalités bcp plus avancés.
Je ne connais pas très bien SQL Server CE, car j'utilise principalement Mono.
Tu saurais rapidement donner ce qu'il y a en moins dans la CE par rapport à la version serveur ou/et ce que CE supporte par rapport à SQLite (par example, support-il les requêtes récursives, comme la version serveur ?).

Merci
0  0 
Avatar de sidev
Membre du Club https://www.developpez.com
Le 17/10/2009 à 19:24
Citation Envoyé par Rapha222 Voir le message
Je ne connais pas très bien SQL Server CE, car j'utilise principalement Mono.
Tu saurais rapidement donner ce qu'il y a en moins dans la CE par rapport à la version serveur ou/et ce que CE supporte par rapport à SQLite (par example, support-il les requêtes récursives, comme la version serveur ?).

Merci
La récursivité non je pense pas. Mais il offre plus de fonctions math que Sqlite.
On peut même faire de la réplication de données avec SqlServer 2000 et ultérieurs , ceci fait partie de ces nouvelles fonctionnalités.
0  0 
Avatar de robert_trudel
Membre éclairé https://www.developpez.com
Le 17/10/2009 à 22:24
Citation Envoyé par sidev Voir le message
ça va vraiment accélérer les choses je pense. Mais j'attend de tester voir ce que ça donne par rapport à mon bien aimé SqlServeur
lequel?

mysql, oracle, db2?
0  0 
Avatar de Rapha222
Membre habitué https://www.developpez.com
Le 17/10/2009 à 22:30
Citation Envoyé par robert_trudel Voir le message
lequel?

mysql, oracle, db2?
Non, SQL Server, il l'a dit ^^'
0  0 
Avatar de
https://www.developpez.com
Le 18/10/2009 à 16:47
Citation Envoyé par Rapha222 Voir le message
Mais comme dit plus haut, l'objectif de SQLite n'est pas de gérer des grosses tables (> 200 000 enregistrements). En théorie, une application qui utilise SQLite ne devrait jamais arriver à cette limite, si c'est le cas, il faut passer son chemin. Par exemple, Banshee utilise SQLite pour gérer sa bibliothèque multimedia, et c'est vraiment efficace et rapide, comparé à ses concurrents, ...
Je suis en désaccord avec ça : un SGBD qui ne peut pas tenir la charge serait à éviter absolument (tous les projets grossissent). Ce n'est pas le cas d'sqLite :
Mon projet a commencé à 100 lignes, il approche aujourd'hui le million et j'espere bien qu'il ira jusq'à 50 M pourquoi n'irait-il pas ? contrairement à access il ne connait pas de chute brutale de perf mais je n'ai pas encore testé à pleine charge.
0  0