Sommaire

Introduction

Le langage de définition des données s’appuie sur trois ordres : CREATE, ALTER et DROP déclinés pour chaque objet de la base de données. Chaque objet peut correspondre soit à un objet physique, donc à des fichiers dans les systèmes de fichiers, soit à un objet logique, et donc seulement une définition stockée dans le catalogue de la base de données.

L’exécution de ces ordres implique nécessairement un verrouillage exclusif des objets concernés. Ce verrouillage étant exclusif, aucun autre verrou en lecture ou en écriture ne peut être maintenu. Ceci ne pose pas de problème lors de la création d’un objet puisqu’aucune session concurrente ne peut l’avoir réclamé mais lors de la suppression d’un objet, il faut attendre que tous les verrous existants soient relâchés. En ce qui concerne une base de données par exemple, il ne doit pas y avoir de sessions connectées à cette base.

L’impact le plus important concerne la modification d’un objet, car le verrou est conservé durant tout le temps d’exécution de la commande, et ceci peut donc avoir un impact sur l’exécution de requêtes concurrentes.

Les ordres de définition des données doivent donc être exécutés avec précaution si possible en choisissant une fenêtre de temps opportune.