applications multiutilisateurs ou nécessitant de la sécurité. Il y a lieu de bien s'informer
sur les possibilités et limitations de chaque système pour ne pas se trouver bloqué ou
avoir à faire des migrations pénibles. Pour une liste comparative des SGBD
relationnels, vous pouvez vous référer comme point d'entrée à l'article Comparison of
relational database management systems sur Wikipedia.
Par ailleurs, concernant l'accès programmatique au SGBD, le choix de la classe
PyQt QSqlDatabase que nous avons fait pour l'exemple n'est pas incontournable :
l'écosystème Python contient plusieurs modules pour accéder aux bases de données,
parfois avec une interface plus légère que celle offerte par PyQt (par exemple, les
requêtes SELECT génèrent directement des tuples Python pour représenter les
enregistrements sélectionnés). Pour canaliser les efforts et favoriser l'interopérabilité,
une spécification d'API Python a été définie, sous le nom de code PEP 249. Comme
modules souscrivant à cette spécification, on citera notamment le module standard
Python sqlite3 — accessible sans rien installer, donc ! — et le module tiers MySQLdb
qui permet de se connecter à MySQL.
Nous n'irons pas plus loin dans le cadre de cet ouvrage, mais je vous recommande
vivement si vous voulez faire du développement sérieux avec une base de données de
vous documenter sur le sujet et lire les manuels SQL.
172
sur les possibilités et limitations de chaque système pour ne pas se trouver bloqué ou
avoir à faire des migrations pénibles. Pour une liste comparative des SGBD
relationnels, vous pouvez vous référer comme point d'entrée à l'article Comparison of
relational database management systems sur Wikipedia.
Par ailleurs, concernant l'accès programmatique au SGBD, le choix de la classe
PyQt QSqlDatabase que nous avons fait pour l'exemple n'est pas incontournable :
l'écosystème Python contient plusieurs modules pour accéder aux bases de données,
parfois avec une interface plus légère que celle offerte par PyQt (par exemple, les
requêtes SELECT génèrent directement des tuples Python pour représenter les
enregistrements sélectionnés). Pour canaliser les efforts et favoriser l'interopérabilité,
une spécification d'API Python a été définie, sous le nom de code PEP 249. Comme
modules souscrivant à cette spécification, on citera notamment le module standard
Python sqlite3 — accessible sans rien installer, donc ! — et le module tiers MySQLdb
qui permet de se connecter à MySQL.
Nous n'irons pas plus loin dans le cadre de cet ouvrage, mais je vous recommande
vivement si vous voulez faire du développement sérieux avec une base de données de
vous documenter sur le sujet et lire les manuels SQL.
172
