Aller au contenu

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 :

  1. Section 1 : Maîtriser l'interface en ligne de commande sqlite3 (fondamental pour le débogage mobile)
  2. 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
  • Introduction


    Découvrez SQLite, ses caractéristiques et ses cas d'usage

    Commencer

  • Section 1 : sqlite3 CLI


    Maîtrisez l'interface en ligne de commande

    Démarrer

  • Section 2 : DB Browser


    Utilisez l'outil graphique pour gérer vos bases

    Explorer

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ète
  • schema.sql : Script de création (tables, contraintes)
  • data.sql : Insertions de données de test
  • queries.sql : 10 requêtes variées commentées
  • README.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

# TP0 SQLite - [Nom de votre application]

**Auteur :** [Votre nom]
**Groupe :** [Votre groupe]
**Date :** [Date]

## 1. Présentation
[Description de l'application mobile choisie et objectifs]

## 2. Schéma de la base de données

### Tables créées

- **Table 1** : Description et rôle
- **Table 2** : Description et rôle
- **Table 3** : Description et rôle

### Diagramme relationnel

```
[Diagramme texte ou image des relations]
```

## 3. Contraintes d'intégrité
[Liste et justification des contraintes]

## 4. Vues et index
[Description des vues créées et des index avec justification]

## 5. Requêtes importantes
[3-5 requêtes clés avec explication]

## 6. Instructions d'utilisation

```bash
# Créer la base
sqlite3 votre_nom.db < schema.sql

# Insérer les données
sqlite3 votre_nom.db < data.sql

# Tester les requêtes
sqlite3 votre_nom.db < queries.sql
```

## 7. Conclusion


[Difficultés rencontrées, apprentissages]

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.

# 1. Accepter l'assignment GitHub Classroom (lien fourni par l'enseignant)
# 2. Cloner votre dépôt
git clone <url-de-votre-depot>
cd <nom-du-depot>

# 3. Travailler sur votre projet
# Créer vos fichiers SQL et la base de données

# 4. Commits réguliers
git add .
git commit -m "feat: création du schéma de base"
git push

git add data.sql
git commit -m "feat: ajout des données de test"
git push

# 5. Vérification finale avant la deadline
git status
git log --oneline

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