Chaque ensemble d'entités dans une hiérarchie de spécialisation donne lieu à une table distincte. La clé primaire de la table ascendante est aussi celle des tables au niveau inférieur. Puisque le modèle relationnel ne prévoit pas l'implémentation directe de la structure des liens dans une hiérarchie de généralisation, nous devons exprimer de manière indirecte les propriétés de cette hiérarchie. Par conséquent, les clés d'identification des tables spécialisées doivent toujours correspondre à celle de la table ascendante.
L'implémentation des ensembles disjoints nécessite l'introduction d'un nouvel attribut Catégorie dans la table ascendante. Cet attribut permet de réaliser une classification en indiquant l'ensemble spécialisé correspondant à chaque catégorie. Dans une spécialisation de type disjoint et complet, il faut également s'assurer que chaque occurrence dans la table ascendante génère une occurrence correspondante dans une des tables spécialisées et vice-versa. Ceci est possible en imposant une contrainte de valeur non nulle à l'attribut Catégorie.
Dans l'exemple ci-dessus, les données concernant les employés forment une hiérarchie de spécialisation qui nous amène à créer quatre tables EMPLOYE, CADRE SUPERIEUR, SPECIALISTE et APPRENTI. Nous devons définir la même clé d'identification employeID pour toutes les tables subordonnées à la table EMPLOYE. Sachant qu'un employé particulier ne peut appartenir simultanément à plusieurs cartégories, nous introduisons l'attribut Catégorie dont les valeurs sont «Cadre supérieur», «Spécialiste» et «Apprenti». Par cette méthode, nous garantissons la propriété d'une hiérarchie de généralisation disjointe: l'intersection des ensembles spécialisés est vide. La propriété de complétude ne peut pas s'exprimer
explicitement dans le modèle relationnel mais sera implémentée, dans le modèle physique, sous la forme d'une contrainte d'intégrité spéciale.