Skip to content

Il s'agit d'un projet de base de donnée pour une boutique de parfumeur.

Notifications You must be signed in to change notification settings

IbrahimAlsabr/BD-Parfumerie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BD Parfumerie

Il s'agit d'un projet de base de donnée de l'UE INF403 pour le parcours Informatiqe de déuxième année à l'université Grenoble Alpes.

Tableau De Contenu

Aperçu

Problématique

Une haute entreprise de commerce de parfums a informatisé ses données : produits en stock, magasins, clients, promotions, etc. La base de données a été construite sous la forme suivante :

Les Magasins : Cette entreprise possède plusieurs magasins répartis sur différentes régions, chaque magasin est connu par un code le désignant, et une adresse postale. Il possède un certain stock de parfums et ses clients.

Les Parfums : Le parfum est reconnu par un nom unique. Chaque parfum a une marque, un volume, un prix, et un magasin où il est présent en une certaine quantité. Le parfum peut figurer plusieurs fois, mais dans différents magasins et/ou sous différents volumes.

Les Clients : Un client est identifié par son nom et son prénom, auquel on ajoute sa date de naissance et son adresse. Il fréquente un ou plusieurs magasins. On note la date de sa dernière fréquentation par magasin. Chaque client peut déclarer ou non un parfum préféré (pour par exemple être notifié en cas de réapprovisionnement des stocks, ou d’une nouvelle version exclusive du parfum entrant sur le marché). Un client est enregistré dans la base de données après une première visite dans un des magasins.

Les Promotions : Tous les magasins appliquent ou non des promotions sur ces produits (au sein de l’entreprise entière). La promotion est identifiée par un code PROMO, un pourcentage, le nom du produit/parfum sur lequel la promotion est applicable. Un produit possède un code promo maximum (pourcentage et validité modifiable) et chaque code promo présent dans la base de donnée est valide (suppression automatique en fin de validité).

Les Marques : Les grandes marques sont reconnues à part, par leurs noms, avec leurs adresses, leurs numéros de téléphone et les délais de livraison en jours (ce qui facilite le placement de commandes).

Modèle UML

  • Live UML en Visual Paradigm : here

UML

Modèle Relationnel

  • Le fichier de Modèle Relationnel : here

Installation de l'environnement

Windows

Installer Python 3 avec l'installeur disponible sur le site officiel:

Suivre les étapes de l'installeur. S'assurer que l'option "Ajouter à la variable d'environnement PATH" est bien cochée.

Linux

Debian/Ubuntu

Dans un terminal:

sudo apt install -y python3 libsqlite3-dev

Préparation du projet

Une fois Python installé, il faut installer les dépendances du projet (module Python SQLite3). Dans un terminal, une fois dans le dossier extrait de l'archive source:

pip install --user -r requirements.txt

Utilisation

Il est possible d'utiliser le code de ce projet de deux façons.

Utilisation non-interactive

Dans un terminal:

python3 main.py

Cela va exécuter la méthode main contenue dans le script main.py.

Utilisation interactive

Dans un terminal, on peut exécuter python3, puis entrer le code nécessaire à l'exécution des différentes requêtes. C'est pratique pour faire des tests rapides:

$ python3
Python 3.9.2 (default, Feb 20 2021, 00:00:00)
[GCC 10.2.1 20201125 (Red Hat 10.2.1-9)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import main
>>> from utils import db
>>> db_file = "data/voile.db"
>>> conn = db.creer_connexion(db_file)
>>> main.select_tous_les_bateaux(conn)
(1, '2013-04-13', 'Pirate', 1005)
(2, '2011-04-07', 'Pirate', 1006)
(3, '2017-04-07', 'Classique', 1007)
>>> 

Utilisation d'un IDE

Vous pouvez travailler avec un IDE pour rendre plus facile la prise en main et production de code.

On vous conseille PyCharm (version libre Community) : https://www.jetbrains.com/pycharm/ Pour faire la liaison entre PyCharm et Python:

Add Configuration: config1


Add New Configuration -> Python: config2


Pointer vers main.py: config3


Clicker sur Play pour exécuter le programme: config4

Notre Travail

Autour Fichiers

Ici, dans ce fichier creation_tableaux.sql on a crée la base de données en respectant les contraintes imposés dans le UML ci-dessus .

Dans ce fichier insert_ok.sql on a testé la base de données crées en insérant des données correctement.

Et ici dans ce fichier insert_not_ok.sql, on a testé la base de données crées en insérant des données incorrectement, pour vérifier que les contraintes imopsées sont bien respectées.

Après lier notre base de données avec Python, dans ce fichier reqeutes.py on a fait des requetes en les écrivant dans des fonctions qui sont appelées dans ce fichier main.py.

Ici, dans ce fichier update_donnee.py , on a créé des requetes dans des fonctions pour mettre la possibilité de mettre à jour les données à travers Python.

Créer avec

HTML

forthebadge made-with-python

Resources et outils utiles

Author

Ibrahim Alsabr

GitHub LinkedIn Twitter

Bastien Riado

GitHub

Acknowledgments

About

Il s'agit d'un projet de base de donnée pour une boutique de parfumeur.

Topics

Resources

Stars

Watchers

Forks

Languages