---
sidebar_position: 5
title: "CP 5"
description: "Synthèse de la CP 5 \"Créer une base de données\" du titre professionnel Développeur Web et Web Mobile (DWWM TP-01280m03, référentiel expiré)."
---

import Admonition from '@theme/Admonition';

# Créer une base de données

<Admonition type="warning" title="Attention, tu es en train de consulter un référentiel expiré !">
    [Aller sur le contenu du nouveau référentiel en vigueur](/titres-professionnels/DWWM/intro)
</Admonition>

## 📚 Références

- REAC _(mise à jour du 27/04/2018)_, pages 21 et 22
- RC _(mise à jour du 19/04/2018)_, page 10

## 🚀 Contexte

Je pense que les mots sont dits : il faut créer une base de données 🙃  
OK c'est vrai que si on part de ce principe, la CP est vite complétée et on passerait à la CP 6 de suite, mais ça va plus loin en réalité !

Comme pour la CP 1, on va avant toute chose parler de la conception, soit : La modélisation de la base de données.  
Et pour modéliser notre base de données, on va se baser sur la méthode [Merise](https://fr.wikipedia.org/wiki/Merise_(informatique)).

Dans cette méthode on retrouvera plusieurs schémas, notamment ces derniers :

- Le dictionnaire des données qui permet de définir les données de chaque entité.
- Le MCD _(Modèle Conceptuel de Données)_ qui permet de définir les entités et les relations entre ces entités.
- Le MLD _(Modèle Logique de Données)_ qui permet de définir les tables et les relations entre ces tables.
- Le MPD _(Modèle Physique de Données)_ qui permet de définir les tables, les relations, les types de données, les contraintes, etc.

Bien qu'il existe des outils pour réaliser ces modèles, il est tout à fait possible de les réaliser avec un papier et un crayon.  
Toutefois, un super outil pour réaliser tout cette conception existe : [Looping](https://www.looping.fr/).

<Admonition type="warning" title="Compatibilité">
    Looping est un logiciel qui fonctionne sous Windows.  
    Pour les utilisateurs de Mac ou Linux, il faudra passer par une machine virtuelle ou un émulateur comme [Wine](https://www.winehq.org/).
</Admonition>

<Admonition type="warning" title="Conformité des schémas">
    Même si la base de données peut évoluer au travers du développement, le fait de maintenir à jour les schémas _(tous, sans exception !)_ est primordial.  
    Votre jury sera très attentif à la conformité de vos schémas, alors ne négligez pas cette partie.
</Admonition>

## ➕ Informations complémentaires

Tout comme la <abbr title="Compétence Professionnelle">CP</abbr> 1, on serait tenté de se plonger immédiatement dans le code, mais il est important de bien modéliser sa base de données avant de commencer à coder.

Voici les étapes à suivre pour bien modéliser sa base de données :

1. **Définition des besoins**
    - Il est important de bien comprendre les besoins du client pour définir les données à stocker.
2. **Dictionnaire des données**
    - Il permet de définir les données de chaque entité, avec des types génériques comme "alphanumérique", "alphabétique", "numérique", "date", etc.
3. **Modèle Conceptuel de Données _(MCD)_**
    - Il permet de définir les entités et les relations entre ces entités, sans se soucier des contraintes techniques.
4. **Modèle Logique de Données _(MLD)_**
    - Il permet de définir les tables et les relations entre ces tables, en prenant en compte les contraintes techniques.
5. **Modèle Physique de Données _(MPD)_**
    - Il permet de définir les tables, les relations, les types de données, les contraintes, etc. pour la base de données.

<Admonition type="warning" title="Intentions pour le MCD">
    N'oubliez pas que le <abbr title="Modèle Conceptuel de Données">MCD</abbr> est un modèle conceptuel, il ne doit pas contenir de contraintes techniques ni de termes techniques.  
    Ce dernier est avant tout destiné à être compris par le client.
</Admonition>

<Admonition type="warning" title="Liaisons graphiques entre entités/tables">
    Les liaisons entre les entités/tables au travers de la méthode Merise ne doivent en aucun cas se faire avec la notation "crow's foot" _(pattes de corbeau)_.  
    Cette dernière n'est pas conforme à cette méthode et est davantage utilisée dans la méthode [UML](https://fr.wikipedia.org/wiki/UML_(informatique)).
</Admonition>

## 🎯 Critères d'évaluation

- La base de données est conforme au schéma physique
- Les scripts de création de bases de données et d'insertion des données de test s'exécutent sans erreurs
- Les besoins de sécurité du <abbr title="Système de Gestion de Base de Données">SGBD</abbr> sont exprimés selon l'état de l'art et les exigences de sécurité identifiées
- La démarche de recherche permet de résoudre un problème technique ou de mettre en œuvre une nouvelle fonctionnalité
- La documentation technique liée aux technologies associées, rédigée en langue anglaise, est comprise _(sans contre-sens, ...)_

---

## 🧠 Documentation

- [Éditions ENI - Merise - Guide pratique (4e édition), par **Jean-Luc Baptiste**](https://www.editions-eni.fr/livre/merise-guide-pratique-4e-edition-modelisation-des-donnees-et-des-traitements-manipulations-avec-le-langage-sql-conception-d-une-application-mobile-android-ou-ios-9782409046667)

## 🛠 Outils

- [Looping](https://www.looping.fr/)
