Types définis par l'utilisateur
User Defined Datatypes
Cassandra permet également à l'utilisateur de définir des types. On peut donc créer un type pour gérer plusieurs champs.
Création
Prenons l'exemple du type "voiture" , il contient :
une marque
une année de fabrication
un nombre de chevaux
une liste d'options
CREATE TYPE voiture (
marque varchar,
annee int,
nb_chevaux int,
options set<varchar>
);
On peut utiliser le mot clé DESCRIBE pour vérifier si notre type à bien été créé :
DESCRIBE TYPE voiture;
Modification
On peut bien sur ajouter ou renommer un champs d'un type utilisateur grâce aux mots clé ALTER TYPE, ADD et RENAME :
ALTER TYPE <nom type>ADD <nom champ> <type du champ>;
ALTER TYPE <nom type> RENAME <ancien nom> TO <nouveau nom>;
ALTER TYPE voiture ADD kilometrage int;
ALTER TYPE voiture RENAME kilometrage TO km;
Suppression
La suppression est enfantine : elle se fait par le biais du mot clé DROP TYPE :
DROP TYPE <nom du type>
DROP TYPE voiture;
Insertion de données de type utilisateur
L'insertion de données ayant un type utilisateurs est très proche du format JSON :
Si l'on reprend l'exemple du type utilisateur voiture,
INSERT INTO <famille de colonnes> (id, voiture)
VALUES (
62c36092-82a1-3a00-93d1-46196ee77204,
{marque: 'HONDA', annee: 2005, nb_chevaux = 140, option = {'clim','vitres_electriques'}}
);