Ceci est une ancienne révision du document !
Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172
Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149
Warning: Trying to access array offset on value of type null in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149
Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172
Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172
Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172
Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172
Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Table des matières
Projet SQL et Python
On souhaite développer une application de gestion d'une base de données.
Vous êtes libre du contenu de la BDD. Par exemple :
- élèves d'un lycée,
- site marchand,
- déroulement du championnat de ligue 1 de football,
- banque de données sur des jeux vidéos,
- etc.
Votre travail
- Vous devez définir votre base de données,
- en donnant le diagramme entité - association
- en donnant les requêtes SQL permettant de créer la base vide.
- Vous devez créer une interface simple permettant de manipuler le contenu de la BDD :
- ajouter des items,
- consulter le contenu
- naviguer d'un item à l'autre
Votre application doit pouvoir être utilisée par un non informaticien : L'utilisateur n'a pas à produire lui-même des requêtes SQL.
Exemple
Reprenons la base de données sur les films que nous avons déjà rencontrée. Soit le diagramme suivant :
On sait déjà – voir ce cours – qu'une telle base peut être crée par les requêtes
CREATE TABLE ARTISTE (
idArtiste INTEGER PRIMARY KEY,
nom VARCHAR(20),
prénom VARCHAR(20),
biographie TEXT,
naissance DATE
);
CREATE TABLE FILM (
idFilm INTEGER PRIMARY KEY,
titreVO VARCHAR(40),
titreVF VARCHAR(40),
année INTEGER,
idReal INTEGER NOT NULL,
FOREIGN KEY(idReal) REFERENCES ARTISTE(idArtiste)
);
CREATE TABLE JOUEDANS (
idArtiste INTEGER NOT NULL,
idFilm INTEGER NOT NULL,
rôle VARCHAR(20),
PRIMARY KEY (idArtiste, idFilm),
FOREIGN KEY(idArtiste) REFERENCES ARTISTE(idArtiste),
FOREIGN KEY(idFilm) REFERENCES FILM(idFilm)
);
Vous êtes libre d'utiliser un logiciel comme SQLiteBrowser pour créer la vase vide.
Supposons que nous avons créé la base films.db. Elle est vide à la première utilisation mais au gré des utilisations, elle va se remplir.
Votre application, en Python, propose une interface utilisateur permettant la manipulation de la BDD.
Je présente un exemple très simple en mode texte. Vous êtes libres de prévoir plus compliqué, par exemple avec tkinter. Faites attention : Une interface graphique n'est pas difficile à faire mais cela prend beaucoup de temps car chaque type de vue doit être réalisée spécifiquement. Par exemple ici, il faudrait créer un formulaire spécial pour l'ajout d'artiste, un formulaire pour l'ajout de film, un formulaire pour l'ajout de rôle, etc. C'est un travail répétitif et long.
Je propose une interface en mode texte.
Écran d'accueil
Lors du démarrage de l'application, on affiche :
1. Ajouter un artiste 2. Ajouter un film 3. Voir les artistes 4. Voir les films 5. Quitter Entrez une réponse.
Ajout d'artiste
Si on sélectionne “1. Ajouter un artiste” on obtient la série de questions :
Entrez un nom : Entrez un prénom : Entrez une biographie : Entrée une date de naissance :
Si vous souhaitez que la biographie contienne des retours lignes, il faudra réfléchir à une interface adéquat. Il faudra aussi tenir compte du format particulier des dates.
Ajout de film
Si on sélectionne “2. Ajouter un film” on obtient la série de questions :
Entrez un titre VO : Entrez un titre VF : Entrez une année :
Puis il faudrait prévoir une liste des artistes afin de pouvoir en sélectionner un comme réalisateur. Cette interface pourrait ressembler à ce qui va suivre pour l'affichage des artistes.
Affichage des artistes
1. Brice Willis 2. John McTiernan 3. Alan Rickman 4. Bonnie Bedelia 5. Terry Gilliam 6. Madeleine Stowe 7. Christopher Plummer 8. Brad Pitt 9. Quentin Tarantino P. Précédent S. Suivant R. Abandon - Retour menu Entrez votre choix :
Le menu est assez clair pour se passer de commentaires. Ce menu pourrait servir à sélectionner un artiste lors de la création d'un film et il sert bien-sûr à atteindre la fiche de chaque artiste.
Affichage artiste
Si on a demander à voir un artiste, on obtient une fiche comme :
Bruce Willis - Né le 19/03/1955 ------------ Né sur une base américaine à Idar-Oberstein en Allemagne de l'Ouest où son père, un soldat américain, était affecté, Bruce Willis passe le reste de son enfance dans le New Jersey. Au Collège d'Etat de Montclair, il s'adonne à la musique, joue de l'harmonica et suit les cours de la section théâtrale. Rôles ----- 1. John Mc Lain dans Piège de Cristal 2. James Cole dans L'armée des 12 singes 8. Butch Coolidge dans Pulp Fiction Action ------ Entrez un nombre pour voir le film A pour ajouter un rôle R pour retour menu principal SupRole pour supprimer un rôle SupArtiste pour supprimer l'artiste
Etc.
Je vous laisse imaginer les autres menus utiles.
Comme déjà dit c'est un travail répétitif et il faut bien vous organiser pour ne pas perdre du temps à réécrire 2x le même code.

