Créer une table avec SQL Server Management Studio

La création d’une table dans SQL Server est délicate : le concepteur de tables de SQL Server Management Studio vous facilite la tâche.

La création d’une table dans SQL Server s’apparente à un casse-tête, surtout si vous débutez dans le développement de base de données.

En plus des colonnes qui forment la table, vous devez définir les contraintes qui limitent le type de données que vous pouvez insérer dans ces colonnes, et sans oublier de prendre en compte l’association des schémas, le placement de groupes de fichiers et l’interclassement de caractères !

Le concepteur de tables de SQL Server Management Studio vous facilite la tâche : dans son interface conviviale, vous définissez simplement les différents éléments qui forment la configuration d’une table.

Créez la table

Lancez le concepteur de tables de SQL Server Management Studio : connectez-vous à une instance SQL Server, développez le noeud Databases (Bases de données) dans Object Explorer (Explorateur d’objets), puis développez la base de données à laquelle vous souhaitez ajouter la table. (Pour cet article, j’ai utilisé la base de données AdventureWorks2012 dans une instance locale de SQL Server 2012.) Votre base de données cible est maintenant développée.

Cliquez avec le bouton droit sur le noeud Tables, puis sur New Table (Nouvelle table) : le concepteur de tables s’affiche dans sa propre fenêtre, comme illustré en figure 1.


Figure 1

Le concepteur de tables de SQL Server Management Studio est le panneau central qui se subdivise en deux volets. Vous définissez vos colonnes de départ dans le volet du haut puis, dans le volet du bas, vous configurez les propriétés supplémentaires pour chaque colonne. Les propriétés affichées dans le volet du bas sont associées aux colonnes sélectionnées dans le volet du haut. Comme nous n’avons pas encore défini de colonnes, aucune propriété n’apparaît dans le volet du bas.

Lorsque vous utilisez le concepteur de tables, vous voudrez généralement ouvrir la fenêtre Properties (Propriétés), à droite dans la figure 1. C’est dans cette fenêtre des propriétés que vous configurerez les propriétés associées à la table dans son ensemble.

Vous pouvez par exemple donner un nom à votre table, indiquer une description, assigner la table à un schéma et spécifier un groupe de fichiers. La figure 2 montre en détail la fenêtre des propriétés de notre nouvelle table, après configuration des propriétés Name (Nom) et Schema (Schéma).


Figure 2

Vous voudrez au moins modifier la propriété Name (Nom) et indiquer le nom que vous aurez choisi pour votre table. SQL Server attribue par défaut un nom du type Table_1. Dans mon exemple, j’ai choisi le nom SpecialtyProducts (Produits spécialisés). J’ai aussi changé la propriété Schema (Schéma) par défaut, dbo, en schéma de Production.

J’ai laissé les autres propriétés telles qu’elles étaient, mais toutes les options qui ne sont pas grisées sont modifiables. Par exemple, vous pouvez sélectionner un autre groupe de fichiers que PRIMARY (PRIMAIRE), s’il y en a un autre de disponible, ou modifier l’escalade des verrous. Pour ces propriétés comme pour toutes celles disponibles dans le concepteur de tables, prenez le temps de bien vous familiariser avec la fonction de chacune. Si vous doutez du sens d’une propriété ou de son fonctionnement, reportez-vous à SQL Server Books Online pour obtenir des informations complémentaires.

Ajoutez des colonnes

Retournons à la fenêtre du concepteur de tables de SQL Server Management Studio et ajoutons des colonnes. La première colonne est StoreID (ID magasin), configurée avec le type de données int. Pour ajouter cette colonne, saisissez son nom dans la première ligne de la première colonne de la grille dans le volet supérieur (voir figure 3). Comme type de données, sélectionnez int, puis désélectionnez l’option Allow Nulls (Autoriser les valeurs Null).


Figure 3

Lorsque vous ajoutez une colonne dans la grille du haut, le volet du bas affiche les propriétés de cette colonne. Les propriétés Name (Nom), Allow Nulls (Autoriser les valeurs Null) et Data Type (Type de données) apparaissent également dans le volet du bas.

Vous pouvez modifier ces valeurs dans les deux volets. Vous pouvez également modifier les autres propriétés qui ne sont pas grisées. Par exemple, développez le groupe des propriétés Identity Specification (Spécification du compteur), puis affectez à la propriété Is Identity la valeur Yes pour configurer la colonne en colonne d’identité.

Le type de données de la colonne détermine les propriétés modifiables. Ajoutons quelques colonnes supplémentaires pour illustrer la procédure. La colonne suivante est ProductID (référence produit) qui, tout comme StoreID (ID magasin), a pour type de donnée int et n’accepte pas les valeurs Null. Créons ensuite la colonne AltID (Autre ID), configurée avec le type de données char(7) et acceptant les valeurs Null, comme illustré dans la figure 4.


Figure 4

En comparant les figures 4 et 3, vous verrez que différentes propriétés sont grisées. Même les propriétés que vous ne voyez pas sont différentes. Par exemple, vous ne pouvez pas configurer la propriété Is Identity avec le type de données caractères, alors que vous pouvez configurer les propriétés Length (Longueur), Collation (Classement) et Is Sparse.

Ajoutons maintenant les colonnes ProductName (Nom de produit) et DateAdded (Ajouté le). La colonne ProductName (Nom de produit) prend le type de données nvarchar(50) et la colonne DateAdded (Ajouté le), le type datetime (DateHeure). Aucune des deux colonnes n’accepte les valeurs Null. Pour la colonne DateAdded (Ajouté le), nous allons définir une valeur par défaut, dans notre cas avec la fonction getdate(). La figure 5 montre la colonne DateAdded (Ajouté le) qui est sélectionnée dans le concepteur de tables.


Figure 5

Notez que la propriété Default Value or Binding (Valeur ou liaison par défaut) est getdate(). Cette propriété nous sert à définir une contrainte PAR DÉFAUT pour la colonne. Dans ce cas, la valeur par défaut est la fonction getdate() : chaque fois qu’on ajoute une ligne à la table, la date et l’heure actuelles sont insérées dans la colonne DateAdded (Ajouté le) si aucune autre valeur n’est précisée.

Comme vous le voyez, la procédure d’ajout de colonnes dans une table avec le concepteur de tables est simple. Précisez simplement le nom de la colonne et le type de données et laissez SQL Server s’occuper du reste. Toutefois, vous pouvez également définir un certain nombre de propriétés supplémentaires, en fonction du type de données, et créer des colonnes qui répondent à vos besoins métier.

Pour approfondir sur Base de données