# Bases de données - Activité 1 - Modélisation

## Objectifs

- Modéliser une base de données à partir de l'expression des besoins d'un client

## Évaluation

- C01: COMMUNIQUER EN SITUATION PROFESSIONNELLE (FRANÇAIS/ANGLAIS)
  - La présentation (typographie, orthographe, illustration, lisibilité) est soignée et soutient le discours avec des enchaînements cohérents
  - Le style, le ton et la terminologie utilisés sont adaptés à la personne et aux circonstances
- C04: ANALYSER UN SYSTÈME INFORMATIQUE
  - Les spécifications du cahier des charges sont extraites
  - Le travail est préparé de façon à satisfaire les exigences de qualité, d’efficacité et d’échéancier

## Validation

### Livrables

!!! warning Attention
    - Les rendus seront **individuels** pour cette activité
    - Il y a **2 compte rendus** à faire : un au format papier et un au format numérique PDF

- Compte rendu <u>**papier**</u> avec les modèles suivants :
  - **Dictionnaire de données**
  - **Modèle Conceptuel de Données**
  - **Modèle Logique de données**
- Compte rendu <u>**PDF**</u> avec : 
  - les mêmes documents modélisés avec le logiciel Looping
  - le **Modèle Physique de Données** pour PostgreSQL modélisé avec DrawDB
  - le **Langage de Définition de Données** pour créer la base PostgreSQL

Le compte rendu PDF aura le nom suivant : `YYYY-MM-DD_DB1_Modelisation_NOM_Prenom`.


## Ressources fournies

- Cours de modélisation de bases de données
- Expression du besoin client

## Étapes

### 1 - Modélisation sur papier

**Objectif :** Modéliser une base de données à partir de l'expression de besoin d'un client (cahier des charges) sur papier

!!! example À faire
    - Lire l'expression du besoin et comprendre le besoin du client
    - Créer le **dictionnaire de données**
    - Créer le **Modèle Conceptuel de Données** (aidez-vous du cours)
    - Valider avec le professeur
    - Créer le **Modèle Logique de Données** (aidez-vous du cours)

!!! note "Dans le compte rendu"
    L'ensemble de cette partie fera l'objet d'un compte-rendu papier présentant les modèles demandés.

### 2 - Modélisation numérique

**Objectif :** Modéliser une base de données à partir de l'expression du besoin d'un client à l'aide d'un logiciel spécialisé

!!! example À faire
    - Télécharger le logiciel [Looping](https://www.looping-mcd.fr) et le lancer
    - Reproduire le MCD que vous avez préparé à l'étape 1
    - Aller sur l'onglet MLD et valider le MLD préparé à l'étape 1

!!! note "Dans le compte rendu"
    - Ajouter les captures d'écran de vos modèles
    - S'il y a des différences entre votre modèle papier et votre modèle numérique, les commenter.

### 3 - Modèle Physique de Données et Langage de Définition de Données

**Objectif :** Créer le modèle physique de données adapté à un SGBD précis à l'aide d'un logiciel spécialisé, puis générer le langage de définition de données

!!! example À faire
    - Se rendre sur la page de [DrawDB](https://www.drawdb.app/editor)
    - Créer le modèle physique de données pour une base PostgreSQL à partir du MLD de la partie précédente
      - Attention aux types de données : vérifier dans la [documentation](https://www.postgresql.org/docs/current/datatype.html) leur usage et leurs spécificités
    - À l'aide de `Fichier > Exporter SQL` exporter le langage de définition de données de votre base. 
      - Le stocker en lieu sûr, dans un fichier avec l'extension `.sql`.
      - Nous le réutiliserons dans l'activité suivante

!!! note "Dans le compte rendu"
    - Prendre une capture d'écran de votre MPD final
    - Ajouter le code SQL généré



