La modélisation de données hybrides, à la fois avec des données structurées et semi-structurées, peut répondre aux exigences de flexibilité des applications web, mobiles et IoT modernes sans sacrifier les transactions ACID ou SQL standard.
Découvrez comment modéliser des données structurées et semi-structurées, indexer et interroger des documents JSON avec SQL et appliquer l’intégrité des données de documents JSON.
Visionner maintenantQue faire si vous voulez stocker des profils utilisateurs sur une seule ligne ? Oui, un utilisateur a un identifiant user_id, un nom et un pays (entre autres). Toutefois, les utilisateurs peuvent avoir des adresses électroniques personnelles et professionnelles ainsi que des numéros de téléphone mobiles et professionnels. Alors que certains utilisateurs ont des comptes Twitter et LinkedIn, d’autres peuvent avoir des comptes Facebook et Instagram. Et les intérêts ?
Les fonctions JSON vous permettent de stocker des profils d’utilisateurs dans une seule ligne.
user_id | name | country | attr |
---|---|---|---|
sjohnson | Shane | US | { "email": { "work": "shane.johnson@mariadb.com"}, "phone": { "mobile": "(555) 555-5555"}, "social": { "twitter": "@shane_dev", "linkedin": "/in/shanekjohnson"}, "interests": [ "Science Fiction", "Distributed Systems"] |
SELECT name, JSON_VALUE(attr, "$.email.personal") AS email, JSON_VALUE(attr, "$.social.twitter") AS twitter, JSON_VALUE(attr, "$.interests[0]") AS favorite_interest FROM tbl_user_profiles WHERE user_id = "sjohnson";
name | favorite_interest | ||
---|---|---|---|
Shane | none | @shane_dev | science fiction |
MariaDB inclut un ensemble complet de fonctions SQL pour créer et interroger des documents JSON – des champs de lecture et d'écriture, des tableaux et des objets à la création de documents JSON et à la fusion de données relationnelles.
En savoir plusDécouvrez comment modéliser des données structurées et semi-structurées, indexer et interroger des documents JSON avec SQL et appliquer l’intégrité des données de documents JSON.
Visionner maintenant