#1 Définition de la base de données

Open
opened 2 years ago by nas · 2 comments
nas commented 2 years ago

Définition des besoins

L’exploitation de la base de données vise à :

  • Trouver les organisations susceptibles de recourir à nos services
  • Contacter ces entreprises
  • Garder traces des contacts

Proposition technique

+-----------------------------------+
| entreprise                        |
+-----------------------------------+
| SIREN       id ( unsigned int(8)) | <-----------------------------+
| url                       string  |   +------------------------+  |
| gerante*     id ( unsigned int   )| ->| gerante                |  |
| adresse_num       unsigned int(4) |   +------------------------+  |
| adresse_rue                string |   | id        (unsigned id)|  |
| adresse_ville              string |   | nom       string       |  |
+-----------------------------------+   | prenom    string       |  |
+-----------------------------+         +------------------------+  |
| contact                     |                                     |
+-----------------------------+                                     |
| id          id unsigned int | ------------------------------------+
| date              timestamp |   +------------------------+
| type        unsigned tinyint|-->| contact_type           |
| reussite            boolean |   +------------------------+
| commentaire          string |   | id    unsigned tinyint |
| operatrice         smallint |-+ | nom             string |
+-----------------------------+ | +------------------------+
+---------------------+         |
| operatrice          |         |
+---------------------+         |
| id      id smallint |<--------+
| pseudo       string |
+---------------------+

Note :

  • Le numéro SIREN est constitué de 8 chiffres, et d’un numéro de vérification (1 ou 2). Ce numéro ne doit être considéré que lors de l’enregistrement, mais ne doit pas être stocké.

  • L’url peut permettre d’évaluer l’activité et les besoins de l’entreprises, mais aussi de pallier à un manque d’email de contact, en testant un contact@url ou prénom.nom du gérant.

    • La nomenclature pour les chaîne de caractère en SQL est normalement VARCHAR, et non string. TINYINT correspond à un entier sur 2 bit (256 possibilités), et un SMALLINT sur 4 bit (65 000 possibilités)

    • id préfixe le format des clef primaires

    • * suffixe les nom des clefs étrangère

## Définition des besoins L'exploitation de la base de données vise à : - Trouver les organisations susceptibles de recourir à nos services - Contacter ces entreprises - Garder traces des contacts ## Proposition technique ``` +-----------------------------------+ | entreprise | +-----------------------------------+ | SIREN id ( unsigned int(8)) | <-----------------------------+ | url string | +------------------------+ | | gerante* id ( unsigned int )| ->| gerante | | | adresse_num unsigned int(4) | +------------------------+ | | adresse_rue string | | id (unsigned id)| | | adresse_ville string | | nom string | | +-----------------------------------+ | prenom string | | +-----------------------------+ +------------------------+ | | contact | | +-----------------------------+ | | id id unsigned int | ------------------------------------+ | date timestamp | +------------------------+ | type unsigned tinyint|-->| contact_type | | reussite boolean | +------------------------+ | commentaire string | | id unsigned tinyint | | operatrice smallint |-+ | nom string | +-----------------------------+ | +------------------------+ +---------------------+ | | operatrice | | +---------------------+ | | id id smallint |<--------+ | pseudo string | +---------------------+ ``` Note : - Le numéro SIREN est constitué de 8 chiffres, et d'un numéro de vérification (1 ou 2). Ce numéro ne doit être considéré que lors de l'enregistrement, mais ne doit pas être stocké. - L'url peut permettre d'évaluer l'activité et les besoins de l'entreprises, mais aussi de pallier à un manque d'email de contact, en testant un contact@url ou prénom.nom du gérant. - La nomenclature pour les chaîne de caractère en SQL est normalement VARCHAR, et non string. TINYINT correspond à un entier sur 2 bit (256 possibilités), et un SMALLINT sur 4 bit (65 000 possibilités) - id préfixe le format des clef primaires - `*` suffixe les nom des clefs étrangère
nas commented 2 years ago
Owner

L’implémentation peut se faire dans une base de données SQL (mariadb, SQLITE ou postgreSQL), mais aussi en JSON. Selon le langage utilisé, ce dernier peut-être préféré, auquel cas il faudra re définir les besoins dans un diagramme orientée document, et non pas en relationnel (comme ci-dessus)

L'implémentation peut se faire dans une base de données SQL (mariadb, SQLITE ou postgreSQL), mais aussi en JSON. Selon le langage utilisé, ce dernier peut-être préféré, auquel cas il faudra re définir les besoins dans un diagramme orientée document, et non pas en relationnel (comme ci-dessus)
nas commented 2 years ago
Owner

Proposition technique en Json

"entreprise" : {
  "siren"         : "",
  "url"           : "",
  "gerante"       : {
    "nom"    : "",
    "prenom" : "" },
  "adresse" : {
    "num"   : "",
    "rue"   : "",
    "ville" : "",
    "cp"    : ""},
  "contact" : {
    "date"        : "",
    "type"        : "",
    "reussite"    : "",
    "commentaire" : "",
    "operatrice"  : ""},
}

Implémentation

Elle nécessite des fonctions contrôlant l’enregistrement des données :

  • contact.type doit correspondre à une liste prédéfinie, probablement hard codée
  • cp ne doit être constituée que d’entier et être de 5 caractères
  • siren doit-être une liste de 8 chiffres, correspondant au boolean de vérification supplémentaire
  • adresse.num doit être un entier

Lors de l’obtention des données :

  • Le boolean de vérification doit-être ajouté à fin de la chaîne de caractère
## Proposition technique en Json ``` "entreprise" : { "siren" : "", "url" : "", "gerante" : { "nom" : "", "prenom" : "" }, "adresse" : { "num" : "", "rue" : "", "ville" : "", "cp" : ""}, "contact" : { "date" : "", "type" : "", "reussite" : "", "commentaire" : "", "operatrice" : ""}, } ``` ## Implémentation Elle nécessite des fonctions contrôlant l'enregistrement des données : - *contact.type* doit correspondre à une liste prédéfinie, probablement hard codée - *cp* ne doit être constituée que d'entier et être de 5 caractères - *siren* doit-être une liste de 8 chiffres, correspondant au boolean de vérification supplémentaire - *adresse.num* doit être un entier Lors de l'obtention des données : - Le boolean de vérification doit-être ajouté à fin de la chaîne de caractère
Sign in to join this conversation.
No Label
No Milestone
No Assignees
1 Participants
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
Cancel
Save
There is no content yet.