| 1 | # MCD Au format MeriseAcide. |
|---|
| 2 | |
|---|
| 3 | # Déclaration d'une entité. |
|---|
| 4 | [Ville] |
|---|
| 5 | |
|---|
| 6 | # Un + déclare CodePostal comme identifiant (clé). |
|---|
| 7 | +CodePostal |
|---|
| 8 | |
|---|
| 9 | # Déclaration d'un champ. |
|---|
| 10 | Nom |
|---|
| 11 | |
|---|
| 12 | # Une autre entité. |
|---|
| 13 | [Personne] |
|---|
| 14 | |
|---|
| 15 | +ID_ # Le tiret bas indique que la clé |
|---|
| 16 | # devra être suffixée du nom |
|---|
| 17 | # de l'entité. Dans le cas |
|---|
| 18 | # présent le résultat sera : ID_Personne. |
|---|
| 19 | |
|---|
| 20 | Nom_ # Le principe du suffixe automatique |
|---|
| 21 | # s'applique aussi au champs. |
|---|
| 22 | |
|---|
| 23 | # Il est possible de préfixer en |
|---|
| 24 | # plaçant le tiret bas devant. |
|---|
| 25 | _Prénom |
|---|
| 26 | |
|---|
| 27 | # Ici, le type est explicitement défini, |
|---|
| 28 | # directement en SQL. |
|---|
| 29 | NumeroRue INTEGER(3) |
|---|
| 30 | # Lorsque le type n'est pas défini, |
|---|
| 31 | # Un type adaptée aux clés ou |
|---|
| 32 | # au champs sera choisi en fonction |
|---|
| 33 | # du type de base de données |
|---|
| 34 | # choisis pour la sortie SQL. |
|---|
| 35 | |
|---|
| 36 | # D'autres champ... |
|---|
| 37 | NomRue VARCHAR(70) |
|---|
| 38 | DateNaissance DATE |
|---|
| 39 | |
|---|
| 40 | # Voici maintenant une association. |
|---|
| 41 | # S'écrit comme se présente sur un MCD. |
|---|
| 42 | Personne 0,2 Hériter 0,n Personne |
|---|
| 43 | Personne 1,1 Habiter 0,n Rue |
|---|
| 44 | # ^ ^ ^ ^ ^ |
|---|
| 45 | # Entité / Nom d'association \ Entité |
|---|
| 46 | # Cardinalitée Cardinalitée |
|---|
| 47 | |
|---|
| 48 | [Quartier] |
|---|
| 49 | +ID_ INTEGER(5) NOT NULL |
|---|
| 50 | Nom |
|---|
| 51 | |
|---|
| 52 | # Ici, une association relative est définie. |
|---|
| 53 | Ville 0,n Posséder (1,1) Quartier |
|---|
| 54 | |
|---|
| 55 | [Rue] |
|---|
| 56 | +ID_ |
|---|
| 57 | Nom |
|---|
| 58 | |
|---|
| 59 | Quartier 0,n Avoir (1,1) Rue |
|---|
| 60 | |
|---|
| 61 | [Abonnement] |
|---|
| 62 | +ID_ |
|---|
| 63 | Prix NUMERIC(5,2) |
|---|
| 64 | DateAbonnement DATE |
|---|
| 65 | |
|---|
| 66 | Abonnement 1,1 Payer 0,n Personne |
|---|
| 67 | |
|---|
| 68 | # Ici, une association ternaire est définie. |
|---|
| 69 | Abonnement 0,n Concerne 0,n Personne, Matière |
|---|
| 70 | DateInscription DATE |
|---|
| 71 | # Un champ d'association aussi défini, les règles sont |
|---|
| 72 | # identique à celles des entités. |
|---|
| 73 | |
|---|
| 74 | # Tests du parser : |
|---|
| 75 | # ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓ |
|---|
| 76 | |
|---|
| 77 | [ Matière ] |
|---|
| 78 | + ID_ |
|---|
| 79 | Nom |
|---|
| 80 | |
|---|
| 81 | Abonnement 1,1 Associer 0,n Matière |
|---|
| 82 | |
|---|
| 83 | [Niveau ] |
|---|
| 84 | +ID_ |
|---|
| 85 | Nom |
|---|
| 86 | |
|---|
| 87 | Abonnement 1,1 Commencer 0,n Niveau |
|---|
| 88 | Abonnement 1,1 Terminer 0,n Niveau |
|---|
| 89 | |
|---|
| 90 | [ Versement] |
|---|
| 91 | + ID_ |
|---|
| 92 | Somme NUMERIC(5,2) |
|---|
| 93 | |
|---|
| 94 | Versement 1,1 Verser 0,n Abonnement |
|---|
| 95 | |
|---|
| 96 | [ModePayement] |
|---|
| 97 | |
|---|
| 98 | + _ID |
|---|
| 99 | |
|---|
| 100 | Nom |
|---|
| 101 | |
|---|
| 102 | ModePayement 0,n Utiliser 1,1 Versement |
|---|
| 103 | |
|---|