Créer, modifier et supprimer des tables
Les structures de table — création, modification et suppression — sont gérées via des modèles SQL modifiables plutôt que par un formulaire graphique. Cela vous offre un contrôle plus direct qu’un concepteur visuel de type « pointer-cliquer», au prix de devoir écrire un peu de SQL vous-même : OmniDB pré-remplit un modèle de départ fonctionnel que vous modifiez avant de l’exécuter.
Créer des tables
Nous allons créer des tables d’exemple (customers et addresses) dans la base de données
testdb à laquelle nous nous sommes connectés plus tôt. Faites un clic droit sur le nœud
Tables et sélectionnez l’action Create Table (Créer une table). Un nouvel
onglet Requête s’ouvre, pré-rempli avec un modèle CREATE TABLE pour le schéma courant.
Modifiez le modèle pour obtenir la table souhaitée — pour customers, une clé primaire que addresses référencera plus tard :
CREATE TABLE public.customers (
cust_id serial PRIMARY KEY,
cust_name varchar(100) NOT NULL
);
Exécutez l’instruction (de la même manière que pour n’importe quelle requête). Faites un clic droit sur le nœud d’arborescence Tables et cliquez sur Refresh (Actualiser) — la nouvelle table apparaît désormais en dessous. En laissant customers sélectionnée dans l’arborescence, vous pouvez inspecter ses Properties (Propriétés) et son DDL générés dans le panneau situé à côté de l’arborescence, le même panneau utilisé pour tous les autres types d’objets.
Créez maintenant addresses, avec une clé étrangère pointant vers customers :
CREATE TABLE public.addresses (
add_id serial PRIMARY KEY,
add_street varchar(200) NOT NULL,
add_number integer,
cust_id integer NOT NULL REFERENCES public.customers (cust_id)
);
À ce stade, il existe deux tables liées dans le schéma public. Vous pouvez visualiser la structure
du schéma grâce à la fonctionnalité de graphe : faites un clic droit sur le nœud du schéma public
et sélectionnez Render Graph > ; Simple Graph (Générer un graphe > ; Graphe simple) pour n’afficher
que les tables et leurs relations, ou Render Graph > ; Complete Graph (Graphe complet) pour inclure
également les colonnes et les contraintes. Les deux s’affichent sous forme de diagramme interactif,
déplaçable et modifiable en zoom.
Modifier des tables
Pour modifier une table existante — par exemple, ajouter une colonne à customers — faites un clic
droit sur le nœud de la table et sélectionnez Table Actions > ; Alter Table (Actions sur la table > ;
Modifier la table). Cela ouvre un onglet Requête avec un modèle ALTER TABLE que vous modifiez puis
exécutez, selon le même principe que pour la création de table :
ALTER TABLE public.customers ADD COLUMN cust_age integer;
Toute erreur renvoyée par la base de données — par exemple en essayant d’ajouter une colonne dont le nom existe déjà — s’affiche de la même manière que pour n’importe quelle requête échouée : dans le panneau Messages de l’onglet de requête, avec la commande exacte et le texte de l’erreur renvoyée par la base de données.
Supprimer des tables
Pour supprimer une table, faites un clic droit sur le nœud de la table et sélectionnez Table Actions > ;
Drop Table (Actions sur la table > ; Supprimer la table). Cela ouvre également un modèle modifiable
(DROP TABLE ...) plutôt que de supprimer immédiatement — vérifiez-le et exécutez-le lorsque vous
êtes prêt.