> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration de NoSQL vers SQL

> Migration des bases de données NoSQL vers SQL pour améliorer la cohérence des données et l'intégrité relationnelle

export const PromptBlock = ({children, type, agent, intent, playbookId}) => {
  var utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=prompt-block';
  var tag = 'docs-use-case-gallery';
  var agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  var label = type === 'schedule' ? 'Schedule in Devin' : type === 'playbook' ? 'Create Playbook' : type === 'knowledge' ? 'Add to Knowledge' : agent === 'advanced' ? 'Try in Devin' : agent === 'dana' ? 'Try in Dana' : agent === 'ada' ? 'Try in Ask Devin' : 'Try in Devin';
  var buildUrl = function (text) {
    var encoded = encodeURIComponent(text);
    if (type === 'schedule') return 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + '&prompt=' + encoded;
    if (type === 'playbook') return 'https://app.devin.ai/settings/playbooks/create?' + utm + '&body=' + encoded;
    if (type === 'knowledge') return 'https://app.devin.ai/knowledge?' + utm + '&body=' + encoded;
    if (agent === 'ada') return 'https://app.devin.ai/search?' + utm + '&noSubmit=true&prompt=' + encoded;
    return 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encoded;
  };
  const ref = React.useRef(null);
  const [href, setHref] = React.useState('#');
  React.useEffect(() => {
    if (!ref.current) return;
    var codeEl = ref.current.querySelector('pre code');
    if (codeEl) {
      var text = codeEl.textContent.trim();
      if (text) setHref(buildUrl(text));
    }
    var header = ref.current.querySelector('[data-component-part="code-block-header"]');
    if (header && !header.querySelector('.prompt-block-devin-link')) {
      var link = document.createElement('a');
      link.href = href;
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      link.className = 'prompt-block-devin-link';
      link.style.cssText = 'display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;background:#317CFF;transition:background 0.2s;margin-left:8px;';
      link.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg> ' + label;
      link.onmouseenter = function () {
        link.style.background = '#2968D9';
      };
      link.onmouseleave = function () {
        link.style.background = '#317CFF';
      };
      header.appendChild(link);
    }
    var existingLink = ref.current.querySelector('.prompt-block-devin-link');
    if (existingLink && href !== '#') existingLink.href = href;
  });
  return <div className="prompt-block" ref={ref}>{children}</div>;
};

<div id="overview">
  ## Aperçu
</div>

Devin peut aider à migrer des applications de bases de données NoSQL vers SQL, en prenant en charge la conception du schéma, la transformation des données et la refactorisation des requêtes. Que vous passiez de MongoDB à PostgreSQL ou de DynamoDB à MySQL, Devin peut convertir de manière systématique vos modèles de données, migrer vos données et mettre à jour le code de votre application pour fonctionner avec des bases de données relationnelles.

<iframe width="840" height="473" src="https://www.youtube.com/embed/KiQJtRIWcK4" title="Lecteur vidéo YouTube" className="max-w-full" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

<div id="why-migrate-to-sql">
  ## Pourquoi passer à SQL ?
</div>

<div id="data-integrity-benefits">
  ### Avantages en matière d’intégrité des données
</div>

* **Conformité ACID** : garantir la cohérence des données grâce aux transactions
* **Intégrité référentielle** : faire respecter les relations à l’aide de clés étrangères
* **Validation du schéma** : empêcher les données invalides au niveau de la base de données
* **Requêtes complexes** : tirer parti d’opérations JOIN puissantes et d’agrégations

<div id="operational-advantages">
  ### Avantages opérationnels
</div>

* **Outils matures** : Accès à des décennies d’outils d’optimisation et de supervision SQL
* **Standardisation** : Utilisation du SQL standard du secteur sur différentes bases de données
* **Analyses améliorées** : Reporting simplifié et intégration à des solutions de business intelligence
* **Optimisation des coûts** : Optimiser le stockage grâce à la normalisation et à l’indexation

<div id="common-migration-scenarios">
  ## Scénarios de migration courants
</div>

<div id="mongodb-to-postgresql">
  ### MongoDB vers PostgreSQL
</div>

* Convertir les collections de documents en tables normalisées
* Transformer les documents imbriqués en tables liées
* Migrer les requêtes MongoDB vers SQL avec les JOIN appropriés
* Mettre en place des index pour l’optimisation des requêtes

<div id="dynamodb-to-mysql">
  ### DynamoDB vers MySQL
</div>

* Faire correspondre les clés de partition et les clés de tri aux clés primaires
* Convertir les modèles d'accès NoSQL en requêtes SQL
* Gérer les index secondaires et les tables globales
* Migrer le code de l'application du SDK AWS vers des drivers SQL

<div id="schema-design-and-normalization">
  ### Conception de schémas et normalisation
</div>

* Analyser les structures de données NoSQL et leurs relations
* Concevoir des schémas normalisés selon les bonnes pratiques
* Créer des scripts de migration avec validation des données
* Définir des contraintes et des index appropriés

<div id="additional-resources">
  ## Ressources supplémentaires
</div>

* [Documentation PostgreSQL](https://www.postgresql.org/docs/)
* [Documentation MySQL](https://dev.mysql.com/doc/)
* [Devin Playbooks](/fr/product-guides/creating-playbooks) - Créez des workflows de migration réutilisables
* [Devin Knowledge](/fr/product-guides/knowledge) - Stockez des modèles propres à chaque base de données

<div id="related-use-cases">
  ## Cas d’usage associés
</div>

* [Migration et modernisation](/fr/use-cases/migration-modernization)
* [Analyse de données](/fr/use-cases/data-analysis)
* [Tests et refactorisation](/fr/use-cases/testing-refactoring)
