Introduction à SQLite¶
Ce TP vous permettra de découvrir SQLite, le système de gestion de base de données embarqué le plus utilisé au monde. En tant que moteur de base de données sans serveur et auto-suffisant, SQLite est omniprésent dans les smartphones (Android, iOS), les systèmes embarqués, les navigateurs web et les applications IoT.
Dans le cadre de cette matière Bases de données embarquées et mobiles, vous apprendrez à maîtriser SQLite en vue de son utilisation dans vos applications Android. Vous découvrirez à la fois l'interface en ligne de commande sqlite3 et l'outil graphique DB Browser.
Méthodologie de travail¶
Ce TP se compose de deux sections complémentaires :
- Section 1 : Maîtriser l'interface en ligne de commande
sqlite3(fondamental pour le débogage mobile) - Section 2 : Utiliser DB Browser pour SQLite comme outil graphique (conception et prototypage)
Chaque section contient des exercices pratiques pour vous préparer à l'intégration de SQLite dans vos applications Android.
Prérequis¶
- Aucune connaissance préalable de SQLite n'est requise
- Des notions de base en SQL sont recommandées
- Un ordinateur avec droits d'installation de logiciels
Lien avec les TPs Android
Ce TP prépare les bases pour les TPs suivants où vous utiliserez Room Persistence Library dans vos applications Android. Comprendre SQLite directement vous permettra de mieux maîtriser Room.
Objectifs d'apprentissage¶
À la fin de ce TP, vous serez capable de :
- Comprendre pourquoi SQLite est idéal pour les systèmes embarqués et mobiles
- Utiliser l'interface en ligne de commande
sqlite3(utile pour déboguer les bases Android) - Créer et manipuler des bases de données SQLite locales
- Utiliser DB Browser pour visualiser et tester vos schémas de base de données
- Effectuer des opérations CRUD optimisées pour le mobile
- Comprendre les contraintes d'intégrité essentielles aux applications mobiles
- Préparer vos compétences pour l'intégration de Room dans Android
Navigation¶
Travail à rendre¶
Rendu via GitHub Classroom
Ce TP sera évalué via GitHub Classroom. Vous recevrez une invitation à accepter le devoir qui créera automatiquement un dépôt Git privé pour votre travail.
Consignes¶
Créez une base de données SQLite complète pour une application mobile Android (choisissez parmi : To-Do app, gestion de budget, fitness tracker, etc.).
Livrables dans votre dépôt Git :
votre_nom.db: Base de données SQLite complèteschema.sql: Script de création (tables, contraintes)data.sql: Insertions de données de testqueries.sql: 10 requêtes variées commentéesREADME.md: Documentation du projet
Exigences minimales :
- Au moins 3 tables avec relations (1:N et/ou N:M)
- Contraintes d'intégrité (PK, FK, UNIQUE, CHECK)
- Au moins 10 enregistrements par table
- 10 requêtes SQL variées : INSERT (2), SELECT (3), JOIN (2), GROUP BY (1), UPDATE (1), DELETE (1)
- Au moins 2 vues utiles
- Au moins 2 index pertinents
Structure du README.md¶
Workflow Git recommandé¶
Besoin d'apprendre Git et GitHub ?
Si vous débutez avec Git et GitHub, consultez notre guide d'introduction à Git et GitHub pour vous familiariser avec les concepts de base.
Bonnes pratiques Git
- Faites des commits atomiques (une fonctionnalité = un commit)
- Utilisez des messages de commit clairs :
feat:,fix:,docs: - Poussez régulièrement votre travail (évitez de tout perdre !)
- Testez vos scripts SQL avant de commiter
Date limite
[À définir par l'enseignant] Le dernier commit avant la deadline sera évalué. Les commits après la date limite ne seront pas pris en compte.
Ressources¶
- 🔗 Documentation SQLite
- 🔗 Guide GitHub Classroom (étudiant)
- 🔗 Sections du TP pour des exemples de requêtes