La présente introduction explique comment modéliser une base de données pour un projet web. L'approche est simple :
- Définir les entités (Tables)
- Identifier les attributs de chaques tables
- Définir les relations et les cardinalités entre chaques tables
Définir les entités
Cette étape conciste donc à identifier les entités que vous aurez besoin. Prenons comme exemple simple, un site de type Digg-Like tel que del.icio.us ou Digg. Votre base de données aura certainement les tables :- USAGER (Contients les données de l'utilisateur ; email, usager, mot de passe ...)
- SITE (Contients les données des sites ajoutés par l'utilisateur)
Définir les attributs
Une fois que vous avez déterminé les entités nécessaires, nous allons leur définir des attributs. C'est attribut représente dans les faits les champs de chaques tables. Dans notre exemple nous aurons les attributs suivants pour chacunes des tables.USAGER
-----------
id_usager_pk (Primary Key)
nickname
mot_de_passe
date_inscription
SITE
-----------
id_site_pk (Primary Key)
site_url
site_description
date_inscription
total_usager_partage
Définir les relations
Notre base de données très simple fonctionne de la manière suivante : Un usager ajoute un site qui peut être partagé par les autres usager. Les cardinalités des relations entre la table USAGER et SITE seront :- USAGER > SITE (M:M) - Plusieur à plusieurs (Many to Many) - Un usager peut ajouter plus d'un site.
- SITE > USER (M:M) - Plusieur à plusieurs (Many to Many) - Un site peut être partagé par plus d'un usager.
PARTAGE
-----------
id_partage_pk (Primary Key)
id_usager (Foreign Key > USAGER)
id_site (Foreign Key > SITE)
soumis_par (boolean: Détermine si l'usager courant à soumis le site)