Bonjour,
Je me replonge dans MySQL et PHP et je dois créer une base de donnée qui contrindra pas mal de donnée.
J'hésite à utiliser des jointures. Donc, créer 3 tables donc la deuxième aura l'id de la premiere.
Ou j'ai je crée une table et les informations seront enregistre coup par coup.
Ce que fais mon application. Je mesure des données via des capteurs et LoRaWAN. Ces infos me sont retrounées (JSON) sur mon serveur. Je les traite et les enregistrent dans MySQL.
Voici concretement les données:
Je pense donc créer une tables tb_measures avec les champs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 { "app_id":"lora", "dev_id":"featherwings", "hardware_serial":"98TTTTTTTTTT0000", "port":1, "counter":34, "payload_raw":"Mzg4LDIzLCwsNDgsODAABBAABBAABBAA==", "payload_fields":{"al":"","ba":"388","da":"","hu":"48","la":"","lo":"","lu":"16","mo":"807","pr":"","te":"23","uv":""}, "metadata": { "time":"2017-10-04T19:49:20.310914635Z", "frequency":868.5, "modulation":"LORA", "data_rate":"SF7BW125", "coding_rate":"4/5", "gateways": [ { "gtw_id":"exx-b827xxxxxxxxxxxx", "timestamp":3767303051, "time":"2017-10-04T19:49:20.25902Z", "channel":2, "rssi":-51, "snr":7, "rf_chain":1, "latitude":44.21944, "longitude":5.14136, "altitude":40 } ] }, "downlink_url":"https://something.thethingsnetwork.org/ttn-eu/api/v2/down/lora/featherwings?key=something" }
et rajouter les champs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 app_id dev_id hardware_serial port counter payload_raw
pour enregistrer les valeurs de 'payload_fields'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 al ba te lu etc
idem pour 'gateway'
J'hésite de créer une table tb_payload ou j'insérai les valeur de 'payload_field' avec une jointure sur tb_measure.
Idem pour 'gateway', un peu comme ceci
Je me pose la question ce que vous feriez? Utiliseriez-vous une jointure ou feriez-vous tous dans la meme table avec un grand nombres de champs pour chaque valeur.
Par la suite, je vais devoir extraire les informations de 'payload_fields' pour faire un chart. Je n'ai pas variement besoin des autres informations, mais je pense que c'est bien de les avoir enregistrés de toute manière.
Merci pour votre point de vu
Partager