Modifications du modèle de données et leurs niveaux d'impact
Les modifications du modèle de données sont classifiées en trois niveaux, selon leur impact sur le modèle de données : Low, Medium et High.
Lorsque vous apportez des modifications à un modèle de données, le schéma de la base de données est mis à jour pour refléter ces modifications.
Voici quelques exemples de modifications de modèle de données, le niveau d'impact correspondant et les résultats dans la base de données :
Action |
Niveau d'impact |
Résultat |
---|---|---|
Ajouter un nouvel élément obligatoire sans valeur par défaut |
Haute |
La table des entités est supprimée et recréée, avec une colonne supplémentaire. |
Supprimer ou ajouter des types anonymes |
Haute |
Tous les types d'entités utilisant des types anonymes peuvent être supprimés et recréés. |
Modifier un élément simple de type facultatif en un élément obligatoire sans valeur par défaut (valeurs null existantes pour l'élément donné) |
Haute |
La table de l'entité est supprimée et créée à nouveau. |
Modifier un élément facultatif de type complexe en un élément obligatoire de type complexe |
Haute |
La table de l'entité est supprimée et créée à nouveau. |
Modifier le type d'un élément d'un type simple à un autre |
Haute |
N/A |
Modifiez l'occurrence maximum d'un élément de 1 à n ou vice-versa |
Haute |
La table de l'entité est supprimée et créée à nouveau. |
Modifier la valeur de totalDigits ou de fractionDigits d'un élément décimal |
Haute |
La table de l'entité est supprimée et créée à nouveau. |
Effectuer des modifications dans l'héritage |
Haute |
Toutes les table de l'arborescence de l'héritage sont supprimées et créées à nouveau. |
Effectuer des modifications avec impact élevé sur une entité ayant des relations de clés étrangères |
Haute |
La table de l’entité est supprimée et recréée, avec les tables de toutes les autres entités ayant des relations de clés étrangères avec cette entité. |
Supprimer un élément obligatoire ou facultatif de type simple dans un élément de type complexe |
Haute |
La table de l'entité est supprimée et créée à nouveau. |
Supprimer un élément obligatoire ou facultatif de type complexe |
Haute |
La table de l'entité est supprimée et créée à nouveau. |
Modifier un élément facultatif de type simple en un élément obligatoire avec une valeur par défaut (valeurs null existantes pour l'élément donné) |
Medium |
La colonne de la table de l'entité doit être mise à jour avec la valeur par défaut. |
Supprimer un élément obligatoire ou facultatif de type simple immédiatement sous une entité |
Medium |
La colonne de la table de l'entité est supprimée. |
Supprimer un élément obligatoire ou facultatif de clé étrangère |
Medium |
La colonne de la table de l'entité est supprimée. |
Supprimer une entité |
Medium |
La table de l'entité est supprimée. |
Renommer un élément facultatif |
Medium |
Une colonne avec un ancien nom reste et une nouvelle colonne avec un nouveau nom est créée. |
Ajouter un nouvel élément facultatif de type simple |
Basse |
Une nouvelle colonne est ajoutée à la table de l'entité. |
Ajouter un nouvel élément facultatif de type complexe |
Basse |
Une nouvelle colonne est ajoutée à la table de l'entité, et une nouvelle table est créée pour le type complexe. |
Ajouter un nouvel élément (de type String, Boolean ou Numeric) avec une valeur par défaut |
Basse |
Une nouvelle colonne est ajoutée à la table de l'entité avec la valeur par défaut. |
Modifier un élément obligatoire de type simple ou complexe en un élément facultatif |
Basse |
La définition de la colonne de la table de l'entité est modifiée. |
Modifier un élément facultatif de type simple en un élément obligatoire (pas de valeur null existante pour l'élément donné) |
Basse |
La définition de la colonne de la table de l'entité est modifiée. |
Modifier un élément facultatif multi-occurrence en un élément obligatoire multi-occurrence et vice-versa |
Basse |
La définition de la colonne de la table de l'entité est modifiée. |
Augmenter la longueur d'un élément de type String pour DB2/Oracle La longueur d'origine est inférieure ou égale à la longueur maximale d'une base de données de type VARCHAR et la longueur mise à jour est supérieure à la longueur maximale. 1 |
Haute | La table d'entités est déposée et recréée, le type de l'élément est converti de VARCHAR en CLOB dans la base de données et la longueur de la colonne est augmentée en conséquence. |
Augmenter la longueur d'un élément de type String pour MS SQL Server/MySQL/PostgreSQL La longueur d'origine est inférieure ou égale à la longueur maximale d'une base de données de type VARCHAR et la longueur mise à jour est supérieure à la longueur maximale. 1 |
Basse | Le type de l'élément est converti de VARCHAR en NVARCHAR(MAX)/TEXT/TEXT dans la base de données et la longueur de la colonne est augmentée en conséquence. |
Augmenter la longueur d'un élément de type String (hors les deux cas ci-dessus) | Basse | La longueur de la colonne est augmentée. |
Réduire la longueur d'un élément de type String La longueur d'origine est supérieure ou égale à la longueur maximale d'une base de données de type VARCHAR et la longueur mise à jour est inférieure ou égale à la longueur maximale. 1 |
Haute | La table d'entités est déposée et recréée, le type de l'élément est converti en VARCHAR dans la base de données et la longueur de la colonne est réduite en conséquence. |
Réduire la longueur d'un élément de type String La longueur d'origine et la longueur mise à jour sont inférieures ou égales à la longueur maximale de la base de données de type VARCHAR. 1 |
Haute | La table d'entités est déposée et recréée et la longueur de la colonne est réduite en conséquence. |
Réduire la longueur d'un élément de type String (hors les deux cas ci-dessus) | Basse | La longueur de la colonne est réduite en conséquence. |
1 La longueur maximale d'un type VARCHAR pour chaque base de données supportée :
Database | Longueur maximale du type VARCHAR (octets) |
---|---|
H2 | 255 |
DB2 | 255 |
MySQL | 255 |
MS SQL Server | 4000 |
Oracle | 4000 |
PostgreSQL | 255 |