0% ont trouvé ce document utile (0 vote)
19 vues2 pages

Devoir BD Optimisation

Le document traite de l'optimisation d'une base de données pour une petite boutique en ligne rencontrant des problèmes de performance. Il propose une analyse de la structure des tables, des recommandations pour l'indexation, et des requêtes SQL optimisées pour améliorer les performances. Enfin, il aborde la sécurité avec des profils utilisateurs et un plan de sauvegarde quotidien.

Transféré par

f9xxtpgtgv
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
19 vues2 pages

Devoir BD Optimisation

Le document traite de l'optimisation d'une base de données pour une petite boutique en ligne rencontrant des problèmes de performance. Il propose une analyse de la structure des tables, des recommandations pour l'indexation, et des requêtes SQL optimisées pour améliorer les performances. Enfin, il aborde la sécurité avec des profils utilisateurs et un plan de sauvegarde quotidien.

Transféré par

f9xxtpgtgv
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Devoir en groupe - Administration des Bases de Données

Sujet : Optimisation d'une base de données pour une petite boutique en ligne

Une petite boutique en ligne présente des problèmes de performance avec sa base de données. Le système
comprend :
- Une table Produits (100 produits)
- Une table Clients (1000 clients)
- Une table Commandes
- Une table Détails_Commande

1. Analyse de la structure (6 points)


Le modèle de base de données inclut les tables suivantes :
- Clients (id_client PK, nom, email, téléphone, adresse)
- Produits (id_produit PK, nom, prix, stock, catégorie)
- Commandes (id_commande PK, id_client FK, date_commande, statut)
- Détails_Commande (id_detail PK, id_commande FK, id_produit FK, quantité, prix_unitaire)

Colonnes nécessitant des index


- Index sur id_client dans Commandes (recherche des commandes d'un client)
- Index sur id_produit dans Détails_Commande (vérification du stock et des ventes)
- Index sur date_commande dans Commandes (calcul des ventes par jour)

2. Optimisation (8 points)
Les requêtes suivantes ont été optimisées pour améliorer les performances :

1. Liste des produits les plus vendus du mois


SELECT p.nom, SUM(dc.quantite) AS total_vendus
FROM Details_Commande dc
JOIN Produits p ON dc.id_produit = p.id_produit
JOIN Commandes c ON dc.id_commande = c.id_commande
WHERE c.date_commande >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
GROUP BY p.nom
ORDER BY total_vendus DESC
LIMIT 10;

2. Historique des commandes d'un client


SELECT c.id_commande, c.date_commande, c.statut, SUM(dc.prix_unitaire * dc.quantite) AS
total
FROM Commandes c
JOIN Details_Commande dc ON c.id_commande = dc.id_commande
WHERE c.id_client = ?
GROUP BY c.id_commande, c.date_commande, c.statut;

3. Sécurité basique (6 points)


- Définition de 3 profils utilisateurs : Admin, Vendeur, Client
- Droits d'accès :
- Admin : accès total
- Vendeur : accès aux commandes et produits
- Client : accès à ses propres commandes
- Plan de sauvegarde quotidien avec une base de secours en cas de panne

Vous aimerez peut-être aussi