Créer une base de données avec OrientDb

Le paradigme Orienté Objet

En plus de coupler les caractéristiques des graphes et des documents, OrientDB intègre également des concepts orientés objets. En effet on manipule très fréquemment des classes, qui héritent de superclasses, elles même abstraites.

Les classes

Le concept de classe dans OrientDB est ce qui se rapproche le plus d'une table dans une base de donnée relationnelle classique ou d'une collection dans une base document.

C'est une structure qui permet de contrôler le contenu de ses champs.

Elle supporte trois types de schémas :

  • schema-full, où les champs des classes doivent être renseignés

  • schema-less, où aucun champ n'est obligatoire dans les classes et aucune structure n'est imposée aux records

  • schema-hybrid, où l'on peut obliger le renseignement de champs dans les classes mais où les records peuvent avoir des champs personnalisés. Par exemple, on peut avoir une classe User avec des champs nom et âge obligatoires, et une classe UserInformation où l'on stocke les informations complémentaires que l'on souhaite.

L'abstraction

Dans OrientDB, il est également possible de créer des classes abstraites. Ces tables servent généralement à la conception d'une hiérarchie de classe. Elles ne peuvent pas contenir de records.

Héritage et polymorphisme

Une sous-classe hérite de toutes les propriétés de sa super-classe.

Le polymorphisme est activé par défaut dans les requêtes. Dans l'exemple ci-dessous la requête retournera toutes les instances des classes Account et Company dont le nom est 'Google'

Exemple

CREATE Class Account

CREATE Property Account.name String

CREATE Class Company extends Account

SELECT FROM Account WHERE name.toUpperCase() = 'Google'

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Kamal Bennani Bouchiba, Samuel Reymondet, Clémence Geffray, 2014-2016 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Réalisé avec Scenari (nouvelle fenêtre)