Du producteur au consommateur

[30 min]

Soit le modèle relationnel suivant :

CTRL+C pour copier, CTRL+V pour coller
1
Producteur(#raison_sociale:chaîne(25), ville:chaîne(255))
2
Consommateur(#login:chaîne(10), #email:chaîne(50), nom:chaîne(50),prenom:chaîne(50), ville:chaîne(255))
3
Produit(#id:entier, description:chaîne(100), produit-par=>Producteur, consomme-par-login=>Consommateur, consomme-par-email=>Consommateur)
Producteur(#raison_sociale:chaîne(25), ville:chaîne(255))
Consommateur(#login:chaîne(10), #email:chaîne(50), nom:chaîne(50),prenom:chaîne(50), ville:chaîne(255))
Produit(#id:entier, description:chaîne(100), produit-par=>Producteur, consomme-par-login=>Consommateur, consomme-par-email=>Consommateur)

On ajoute que :

  • (nom,prenom,ville) est une clé candidate de Consommateur

  • Tous les produits sont produits

  • Tous les produits ne sont pas consommés

Question

Rétro-concevez le modèle conceptuel sous-jacent à ce modèle relationnel.

Question

Établissez le code LDD standard permettant d'implémenter ce modèle en SQL.

Question

Insérez les données dans votre base de données correspondant aux assertions suivantes :

  • L'entreprise de Compiègne "Pommes Picardes SARL" a produit 4 lots de pommes, et 2 lots de cidre.

  • Il existe trois utilisateurs consommateurs dans la base, donc les adresses mails sont :

    Al.Un@compiegne.fr - Bob.Deux@compiegne.fr - Charlie.Trois@compiegne.fr

    Ce sont des employés de la ville de Compiègne qui habitent cette ville. Leur mail est construit sur le modèle Prenom.Nom@compiegne.fr. Leur login est leur prénom.

Question

Modifiez les données de votre base de données pour intégrer les assertions suivantes :

  • 1 lots de pommes a été consommés par Al Un.

  • 2 lots de pomme ont été consommé par Bob Deux.

  • Tous les lots de cidre ont été consommés par Al Un.

Question

Charlie Trois n'ayant rien consommé, modifiez votre base de données afin de le supprimer de la base.