Vous êtes sur la page 1sur 3

Atelier

Création d’un modèle physique de données et représentation


sous MongoDB.

Étape 1 : Identifier les entités et leurs attributs

• Order Entity : order_id (primary key), order_date, order_total, products, customer_id


(foreign key).

• Customer Entity : customer_id (primary key), first_name, last_name, email,


phone_number, shipping_address.

• Product Entity : product_id (primary key), product_name, product_description,


product_price, product_desc, category_id (foreign key).

• Category Entity : category_id (primary key), category_name, category_desc.

Étape 2 : Établir des relations entre les entités

• Un client peut passer plusieurs commandes, mais chaque commande


n'appartient qu'à un seul client.

• Une commande peut contenir plusieurs produits, et un produit peut être inclus
dans plusieurs commandes. Pour représenter cette relation de plusieurs à
plusieurs, nous introduisons une entité intermédiaire appelée "article de
commande", qui a une relation de un à plusieurs avec les commandes et les
produits.

• Chaque produit appartient à une seule catégorie, et chaque catégorie peut


contenir plusieurs produits.
Étape 3 : Création d'un modèle logique de données

Étape 4 : Création d'un modèle physique de données


À l'aide du modèle de données logique, créez un modèle de données physique qui
représente le schéma de la base de données. Cela inclut la création de collections
(similaires aux tables d'une base de données relationnelle), la définition des champs
et de leurs types pour chaque collection, et la spécification des relations entre les
collections.

Category :
db.createCollection("Category");

"category_id": "<objectId>", //primary key


"category_name": "<string>",
"category_desc": "<string>"
Customer :
db.createCollection("Customer");

"customer_id": "<objectId>", //primary key


"first_name": "<string>",
"last_name": "<string>",
"email": "<string>",
"phone_number": "<string>",
"shipping_address": {
"address_line1": "<string>",
"address_line2": "<string>",
"city": "<string>",
"state": "<string>",
"zipcode": "<string>",
"country": "<string>"
}

Product :
db.createCollection("Product");

"product_id": "<objectId>", //primary key


"product_name": "<string>",
"product_description": "<string>",
"product_price": "<float>",
"category_id": "<objectId>" //foreign key

Order :
db.createCollection("Order");

"order_id": "<objectId>", //primary key


"order_date": "<date>",
"order_total": "<float>",
"products": [
{
"product_id": "<objectId>",
"product_name": "<string>",
"product_price": "<float>",
"quantity": "<int>"
}
],
"customer_id": "<objectId>" //foreign key

Vous aimerez peut-être aussi