Tous les produits
Search
Centre de documentation

Data Management:Conception de schémas

Dernière mise à jour :Aug 09, 2026

Cette rubrique décrit les configurations de base, les points de contrôle, les facteurs, les actions et la bibliothèque de modèles pour la conception de schémas. Elle explique également comment modifier le modèle d'approbation par défaut et ajouter de nouvelles règles.

Informations générales

Un ticket de conception de schéma implique généralement plusieurs instances et suit un processus standard : concevoir le schéma dans un environnement de test, puis le publier dans un environnement de production. Par conséquent, les basic configurations, les design rules et les risk identification rules au sein des règles de sécurité pour la conception de schémas utilisent les règles de sécurité associées à la change baseline database (une base de données dans l'environnement de test).

  • Les Design rules incluent les options Save and Edit - Check Table Header, Save and Edit - Check Field et Save and Edit - Check Index. Sur la page de modification des règles de sécurité, ces trois points de contrôle apparaissent sous forme d'onglets dans la section Points de contrôle.

  • Les Risk identification rules comprennent les options Control Risks of Creating Tables, Control Risks of Modifying Fields, Control Risks of Modifying Indexes et Control Risks of SQL Executions. Elles apparaissent également sous forme d'onglets dans la section Points de contrôle.

Le processus d'approbation, en revanche, utilise les règles de sécurité de la base de données dans l'environnement de production. Par exemple, si un ticket de conception de schéma est publié sur la base de données B, le système applique les règles de sécurité de l'instance B.

Configurations de base

La conception de schémas comporte plusieurs configurations de base :

  • Activer la publication asymétrique : par défaut, les modifications de conception de schéma ne peuvent être publiées que de manière symétrique, ce qui signifie que les modifications apportées à une table ne peuvent être publiées que vers une table portant le même nom dans une autre base de données. Une fois la publication asymétrique activée, vous pouvez publier les modifications vers n'importe quelle table cible, quel que soit son nom.

    Avertissement

    Cette fonctionnalité présente des risques importants. Activez-la avec prudence et uniquement pour des scénarios spécifiques.

  • Processus de développement : il s'agit d'une configuration clé dans les règles de sécurité de conception de schémas. Il définit toutes les étapes du cycle de vie d'un ticket de conception de schéma. Le tableau suivant décrit ces options.

    Paramètre

    Description

    Step

    Comprend les nœuds Design et Publish.

    • Nœud de conception : le nœud de conception est défini par défaut et ne peut pas être supprimé. Il détermine l'environnement dans lequel la tâche de modification de schéma est conçue.

    • Nœud de publication : une fois la conception terminée, le processus passe à l'étape de publication pour appliquer les modifications. Vous pouvez ajouter plusieurs nœuds de publication.

    Node Name

    Un nom de nœud personnalisé, d'une longueur maximale de 10 caractères.

    Database Environment

    L'environnement dans lequel le nœud s'exécute.

    Execution Strategy

    • Immediately : la tâche est exécutée immédiatement après son approbation.

    • Timed : vous pouvez spécifier une heure pour publier la tâche. Si la tâche est approuvée avant l'heure spécifiée, elle est exécutée à ce moment-là. Sinon, la tâche est annulée.

    Can be Rolled Back

    Indique si la tâche de publication peut être restaurée vers le nœud Design.

    Can be Skipped

    Indique si l'étape actuelle peut être ignorée.

    Anchor

    Marque le point où la modification du ticket est gelée. Une fois l'étape ancrée terminée avec succès, le schéma ne peut plus être modifié et le statut du ticket passe à Published.

    Operation

    Vous pouvez supprimer un nœud Publish selon vos besoins.

  • Configuration du type de champ : configure les types de données autorisés pour l'option Add Field.

  • Configuration du type d'index : spécifie les types de données autorisés dans l'option Add Index.

  • Modèle de création de table : configure un modèle pour la création de tables. Les nouvelles tables chargent ce modèle par défaut. Ce modèle est facultatif et peut être modifié lors de la création de la table.

  • Interdire la modification des types de données des champs d'origine : interdit la modification des types de données des champs existants lors de la modification d'une table.

  • Interdire la suppression des champs d'origine : indique s'il faut interdire la suppression des champs existants lors de la modification d'une table. Il s'agit d'une opération à haut risque, nous vous recommandons donc d'activer cette option.

  • Interdire le renommage des champs d'origine : indique s'il faut interdire le renommage des champs existants lors de la modification d'une table. Le renommage des champs existants est une opération à haut risque. Nous vous recommandons d'activer cette option.

  • Configuration des autorisations de jeu de caractères de table : configure les jeux de caractères autorisés pour les nouvelles tables, tels que utf8 et utf8mb4.

  • Modèle d'approbation par défaut pour la conception de schémas : si aucune règle d'approbation n'est configurée pour le point de contrôle Approval Rule Check, les tickets de conception de schémas utilisent ce modèle d'approbation par défaut. Vous pouvez modifier le processus d'approbation du modèle par défaut en utilisant la fonctionnalité Switch Approval Template. Pour plus d'informations, consultez la section Modifier le modèle d'approbation par défaut.

  • Faire avancer automatiquement le ticket vers l'état fermé lors de la publication : si cette option est activée, après que le nœud contenant l'anchor dans le processus de développement a exécuté avec succès une modification, le système fait automatiquement avancer le ticket vers l'état fermé. (L'ancrage doit se trouver sur le dernier nœud de publication du processus de développement.)

Points de contrôle

La conception de schémas implique deux processus :

  • Processus d'enregistrement et de modification : ce processus correspond aux trois points de contrôle suivants, qui vérifient séquentiellement les spécifications des en-têtes de table, des champs et des index.

    • Save and Edit - Check Table Header

    • Save and Edit - Check Field

    • Save and Edit - Check Index

  • Processus d'exécution des modifications : ce processus correspond aux cinq points de contrôle suivants. Les quatre premiers identifient les risques liés aux modifications DDL (Data Definition Language), et le dernier spécifie le processus d'approbation pour chaque risque.

    • Control Risks of Creating Tables

    • Control Risks of Modifying Fields

    • Control Risks of Modifying Indexes

    • Control Risks of SQL Executions

    • Approval Rule Check

Ces deux processus disposent de nombreux modèles de règles de sécurité intégrés que vous pouvez utiliser directement ou personnaliser. Pour plus d'informations, consultez la section Ajouter une nouvelle règle.

Facteurs et actions

  • Facteur : un facteur est une variable système intégrée qui fournit des informations contextuelles pour les vérifications des règles de sécurité, telles que le type SQL ou le nombre de lignes affectées. Tous les facteurs commencent par @fac. suivi du nom du facteur. Chaque module propose différents facteurs pour différents points de contrôle. Le tableau suivant décrit les facteurs disponibles pour la schema change.

    Facteur

    Description

    @fac.table_kind

    Le type de table en cours de modification. Valeurs valides :

    • new : une nouvelle table.

    • old : une table existante.

    @fac.column_kind

    Le type de champ dans le schéma de la table. Valeurs valides :

    • new : un nouveau champ.

    • old : un champ existant.

    @fac.xxxx_old

    Récupère la valeur d'origine d'un champ ou d'un index à des fins de comparaison.

    @fac.column_is_primary

    Indique si un champ fait partie de la clé primaire. Valeurs valides :

    • true : le champ se trouve dans la clé primaire.

    • false : le champ ne se trouve pas dans la clé primaire.

    @fac.column_type_support_default

    Indique si une valeur par défaut peut être définie pour le type de données du champ. Valeurs valides :

    • true : pris en charge.

    • false : non pris en charge.

    Par exemple, le type de données CHAR prend en charge une valeur par défaut, mais le type de données TEXT ne le permet pas.

    @fac.index_kind

    Le type d'index dans le schéma de la table. Valeurs valides :

    • new : un nouvel index.

    • old : un index existant.

    @fac.index_column_count

    Le nombre de champs dans l'index.

    @fac.change_type

    Le type de modification de champ ou d'index identifié par la base de données où l'instruction DDL est exécutée. Valeurs valides :

    • add

    • modify

    • delete

    @fac.altered_table_size

    La taille de la table modifiée, en Mo.

    @fac.online_execute

    Indique si la modification peut être exécutée en ligne. Valeurs valides :

    • true : ONLINE

    • false : NOT ONLINE

    @fac.change_risk_level

    Le niveau de risque de la modification. Valeurs valides :

    • high : risque élevé

    • medium : risque moyen

    • low : faible risque

    @fac.env_type

    Le type d'environnement, qui est l'identifiant de l'environnement, tel que DEV ou PRODUCT. Pour plus d'informations sur les types d'environnement, consultez la section Modifier le type d'environnement d'une instance.

  • Action : une action est un comportement que le système exécute une fois qu'une condition if est remplie, comme l'interdiction de soumettre un ticket, la sélection d'un workflow, l'autorisation d'une exécution ou le refus d'une exécution. Ces actions définissent l'objectif principal d'une règle de sécurité. Toutes les actions commencent par @act. suivi du nom de l'action. Chaque module propose différentes actions pour différents points de contrôle. Le tableau suivant décrit les actions disponibles pour la schema design.

    Actions

    Description

    @act.block_submit

    Bloque la soumission et affiche un message d'erreur à l'étape d'enregistrement de la table. Utilisation : @act.block_submit 'Raison du blocage'.

    @act.show_warning

    Utilisé lors de l'étape d'enregistrement de la table. Affiche un message d'avertissement sans bloquer la soumission. Utilisation : @act.show_warning 'Contenu de l'avertissement'.

    @act.mark_middle_risk

    Utilisé lors de l'étape d'identification des risques. Marque la modification comme présentant un risque moyen. Utilisation : @act.mark_middle_risk 'Raison'.

    @act.mark_high_risk

    Utilisé lors de l'étape d'identification des risques. Marque la modification comme présentant un risque élevé. Utilisation : @act.mark_high_risk 'Raison'.

    @act.forbid_submit_publish

    Utilisé lors de l'étape de configuration du processus d'approbation. Empêche l'exécution de la modification. Utilisation : @act.forbid_submit_publish 'Raison'.

    @act.do_not_approve

    Spécifie l'ID d'un modèle d'approbation. Pour plus d'informations, consultez la section Définir le processus d'approbation.

    @act.choose_approve_template

    @act.choose_approve_template_with_reason

Bibliothèque de modèles

Security Rules propose de nombreux modèles de règles que vous pouvez activer directement ou modifier avant activation. Le tableau suivant répertorie les modèles pour la schema change.

Point de contrôle

Modèle

Save and Edit - Check Table Header

Interdire l'utilisation de mots-clés comme nom de table pour une nouvelle table

Limiter la longueur du nom d'une nouvelle table

Exiger des commentaires pour une nouvelle table

Exiger que le nom d'une nouvelle table soit en minuscules

Exiger une clé primaire (PK) pour une nouvelle table

Exiger une clé unique (PK/UK) pour une nouvelle table

Vérifier le nombre d'index et avertir l'utilisateur si ce nombre est excessif

Vérifier l'existence de certains champs pour une nouvelle table

Save and Edit - Check Field

Interdire l'utilisation de mots-clés comme nom de champ pour un nouveau champ

Exiger des commentaires pour un nouveau champ

Spécifier la sensibilité à la casse pour le nom d'un nouveau champ

Exiger une valeur par défaut lors de l'ajout d'un champ non nullable à une table existante

Exiger une valeur par défaut lors du passage d'un champ existant de nullable à non nullable

Exiger qu'un nouveau champ de clé primaire soit de type entier

Exiger que tous les champs d'une nouvelle table soient non nullables

Limiter la longueur d'un nouveau champ de type CHAR

Limiter la longueur d'un nouveau champ de type VARCHAR

Save and Edit - Check Index

Interdire l'utilisation de mots-clés comme nom d'index pour un nouvel index

Spécifier la sensibilité à la casse pour le nom d'un nouvel index

Limiter le format du nom d'un nouvel index UNIQUE

Limiter le format du nom d'un nouvel index NORMAL

Limiter le format du nom d'un nouvel index FULLTEXT

Limiter le format du nom d'un nouvel index SPATIAL

Limiter le nombre de nouveaux champs de clé primaire

Limiter le nombre de nouveaux champs d'index

Control Risks of Creating Tables

Contrôler le nombre de shards pour une table logique

Contrôler la clé primaire d'une table

Contrôler le nombre total d'index dans une table

Control Risks of Modifying Fields

Contrôler la suppression de champs

Contrôler le type de données d'un nouveau champ

Contrôler le renommage des champs

Contrôler la modification du type de données d'un champ

Control Risks of Modifying Indexes

Contrôler la suppression de la clé primaire

Contrôler la suppression d'index

Contrôler le changement d'une clé primaire vers un index

Contrôler les modifications des colonnes dans une clé primaire

Contrôler la modification d'un index commun

Contrôler le type d'un nouvel index

Control Risks of SQL Executions

Contrôler les risques liés aux instances principales

Contrôler le moteur de stockage d'une table

Contrôler les risques de verrouillage de table ou de modifications de schéma sur de grandes tables

Approval Rule Check

Interdire l'application de toute modification DDL à une base de données

Interdire l'application de toute modification DDL à une base de données de production

Configurer les modifications DDL sans approbation pour une base de données de test

Définir des règles d'approbation basées sur les niveaux de risque pour l'environnement de production

Modifier le modèle d'approbation par défaut

  1. Connectez-vous à DMS 5.0.

  2. Placez le pointeur sur l'icône 2023-01-28_15-57-17.png dans le coin supérieur gauche et choisissez All Features > Security and disaster recovery (DBS) > Security Rules.

    Remarque

    Si vous utilisez la console DMS en mode normal, choisissez Security and disaster recovery (DBS) > Security Rules dans la barre de navigation supérieure.

  3. Sur la page Security Rules, recherchez l'ensemble de règles cible et cliquez sur Edit dans la colonne Actions.

  4. Dans le volet de navigation de gauche de la page Details, cliquez sur Schema Design.

  5. Sous l'onglet Schema Design, cliquez sur Basic Configurations.

  6. Recherchez l'option Default Approval Template for Schema Design et cliquez sur Edit dans la colonne Actions.

  7. Dans la boîte de dialogue Edit Configuration Item, cliquez sur Switch Approval Template.

  8. Recherchez le modèle cible par son Template Name et cliquez sur Select dans la colonne Actions.

    Remarque

    Vous pouvez également cliquer sur Reset to No Approval pour permettre aux tickets d'ignorer le processus d'approbation.

  9. Cliquez sur Submit.

Ajouter une nouvelle règle

  1. Connectez-vous à DMS 5.0.

  2. Placez le pointeur sur l'icône 2023-01-28_15-57-17.png dans le coin supérieur gauche et choisissez All Features > Security and disaster recovery (DBS) > Security Rules.

    Remarque

    Si vous utilisez la console DMS en mode normal, choisissez Security and disaster recovery (DBS) > Security Rules dans la barre de navigation supérieure.

  3. Sur la page Security Rules, recherchez l'ensemble de règles cible et cliquez sur Edit dans la colonne Actions.

  4. Dans le volet de navigation de gauche de la page Details, cliquez sur Schema Design.

  5. Sous l'onglet Schema Design, cliquez sur Add Rule à droite de l'option Actions.

  6. Dans la boîte de dialogue Add Rule - Schema Design, configurez les paramètres suivants.

    Paramètre

    Description

    Checkpoint (obligatoire)

    Sélectionnez un point de contrôle pour la nouvelle règle. La conception de schémas propose plusieurs points de contrôle. Pour plus d'informations, consultez la section Points de contrôle.

    Template Library (facultatif)

    La bibliothèque de modèles propose de nombreux modèles de règles. Après avoir sélectionné un Checkpoint, vous pouvez charger un modèle de règle depuis la Template Library. Pour la liste des modèles disponibles, consultez la section Bibliothèque de modèles.

    Rule Name (obligatoire)

    Un nom personnalisé pour la règle. Si vous sélectionnez un modèle de règle dans la Template Library, ce champ est automatiquement renseigné.

    Rule DSL (obligatoire)

    Saisissez le DSL de la règle. Pour plus d'informations sur la syntaxe DSL, consultez la documentation. (Ce champ est automatiquement renseigné si vous sélectionnez un modèle de règle dans la Template Library.)

  7. Cliquez sur Submit.

  8. Par défaut, la nouvelle règle est à l'état Disabled. Recherchez la règle et cliquez sur Enable dans la colonne Actions.

  9. Dans la boîte de dialogue qui s'affiche, cliquez sur OK.