Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Designer
Designer Forum d'entraide sur Oracle Designer
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/05/2006, 16h28   #1
Membre régulier
 
Inscription : janvier 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 150
Points : 73
Points : 73
Par défaut Heritage

Bonjour,

Je me demandais, s'il était possible d'employer la notion d'héritage avec Oracle.

Concrétement je dispose d'une table "ecriture", je voudrais que cette table puisse avoir une clef secondaire qui pointe vers une table "reglement", mais ce que je voudrais c'est qu'il y ai différents types de réglements, donc 2 ou 3 autres tables qui héritent des attributs de la table réglement, et qui dispose chacune de leurs attributs spécifique.

Est ce réalisiable ? Si oui, comment procéder pour utiliser la notion d'heritage ?
pier* est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 17h24   #2
Membre confirmé
 
Homme Thomas Coquery
Consultant informatique
Inscription : février 2005
Messages : 250
Détails du profil
Informations personnelles :
Nom : Homme Thomas Coquery
Âge : 37
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 250
Points : 247
Points : 247
Envoyer un message via MSN à dyvim
Oui c'est tout à fait possible.
Cela fait partie de Merise 2.

Power Designer gère ce genre de modélisation et te gèrera le MLD/MPD qui correspond à partir d'un MCD implémentant de l'héritage.

Si tu veux directement implémenter ce genre de table sous Oracle, cela s'avèrera un peu plus compliqué.

Il existe deux possibilités, avec le "parent" existant ou sans "parent" existant.

Pour un père existant, il te faut créer une table Règlement (le "parent") avec tous les champs en commun de tes tables Règlement et une clef primaire.
Ensuite il te faut créer le stables règlements spécifiques (les "enfants"). Elles doivent utiliser la même clef primaire que la table "parent" et contenir les champs spécifiques.(ce qui veut dire que les tables "enfants" se réfèrent au père).
Ta table écriture pointe vers le parent(FK) et les enfants pointent vers le parent.(FK)

Sans "parent" existant (on ne crée pas la table règlement), chaque table "enfant" reprend tous les champs du "parent" plus ses champs spécifiques. Chaque table à sa propre clef primaire mais qui sont basées sur la même séquence.
Les enfants pointent directement vers ta table écriture.(FK)

Voilà j'espère que j'ai été assez clair.

Ceci dit il existe un forum consacré à la modélisation UML et Merise si je me souviens bien.
__________________
Dyvim
dyvim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 17h25   #3
Membre régulier
 
Inscription : mars 2006
Messages : 88
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 88
Points : 79
Points : 79
Jamais entendu parler de cela avec ORACLE. désolé.

@+,
NicK.
Nick_Holmes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 17h39   #4
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 530
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 530
Points : 6 460
Points : 6 460
Un début d'explication ici : http://oracle.developpez.com/guide/a...es/?page=Chap2

la Doc officielle vous en dira plus.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 20h42   #5
Membre confirmé
 
Homme Thomas Coquery
Consultant informatique
Inscription : février 2005
Messages : 250
Détails du profil
Informations personnelles :
Nom : Homme Thomas Coquery
Âge : 37
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 250
Points : 247
Points : 247
Envoyer un message via MSN à dyvim
Citation:
Un début d'explication ici : http://oracle.developpez.com/guide/a...es/?page=Chap2

la Doc officielle vous en dira plus.
Je ne crois pas qu'il voulait faire de l'héritage de TYPES mais de TABLES.
__________________
Dyvim
dyvim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 21h44   #6
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 530
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 530
Points : 6 460
Points : 6 460
Soyons précis sur la terminologie.
Concernant Oracle, seul l'héritage de type est permis.
Concernant la question initiale, il me parait question de "substitution" de types, à la différence que dans le cas présent, seule une référence vers un objet (table) d'un autre type est stocké dans la table principale. Il devra donc probablement utiliser la clause SCOPE IS
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 23h28   #7
Membre confirmé
 
Homme Thomas Coquery
Consultant informatique
Inscription : février 2005
Messages : 250
Détails du profil
Informations personnelles :
Nom : Homme Thomas Coquery
Âge : 37
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 250
Points : 247
Points : 247
Envoyer un message via MSN à dyvim
Tu parles de types TABLE là c'est bien çà? Avec héritage entre ces différentes tables? Je ne sais pas si ca correspond à sa problématique...

Néanmoins je persiste à dire qu'à mon avis il voulait faire de l'héritage d'ENTITES (oui c'est vrai pas de TABLES ... soyons précis)

Mais lui seul peut nous le dire.
__________________
Dyvim
dyvim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2006, 08h12   #8
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 530
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 530
Points : 6 460
Points : 6 460
Je lis bien une notion de "pointeur" présent dans la table mère. Il s'agit donc bien de "référence" au sens objet Oracle.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2006, 09h59   #9
Membre régulier
 
Inscription : janvier 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 150
Points : 73
Points : 73
Citation:
Envoyé par dyvim
Pour un père existant, il te faut créer une table Règlement (le "parent") avec tous les champs en commun de tes tables Règlement et une clef primaire.
Ensuite il te faut créer le stables règlements spécifiques (les "enfants"). Elles doivent utiliser la même clef primaire que la table "parent" et contenir les champs spécifiques.(ce qui veut dire que les tables "enfants" se réfèrent au père).
Ta table écriture pointe vers le parent(FK) et les enfants pointent vers le parent.(FK)

Sans "parent" existant (on ne crée pas la table règlement), chaque table "enfant" reprend tous les champs du "parent" plus ses champs spécifiques. Chaque table à sa propre clef primaire mais qui sont basées sur la même séquence.
Les enfants pointent directement vers ta table écriture.(FK)

Ceci dit il existe un forum consacré à la modélisation UML et Merise si je me souviens bien.
Oui c'est éxactement le genre de chose que je veux faire.

Citation:
Envoyé par dyvim
Néanmoins je persiste à dire qu'à mon avis il voulait faire de l'héritage d'ENTITES (oui c'est vrai pas de TABLES ... soyons précis)
Exactement

Citation:
Envoyé par dyvim
Je ne crois pas qu'il voulait faire de l'héritage de TYPES mais de TABLES.
Pouvez vous être plus précis sur la différence entre ces deux sortes héritages.
pier* est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2006, 11h21   #10
Membre confirmé
 
Homme Thomas Coquery
Consultant informatique
Inscription : février 2005
Messages : 250
Détails du profil
Informations personnelles :
Nom : Homme Thomas Coquery
Âge : 37
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 250
Points : 247
Points : 247
Envoyer un message via MSN à dyvim
Et bien en fait sous Oracle, tu peux stocker des OBJETS (au sens POO) dans tes colonnes.
Ces objets peuvent avoir comme attributs des TABLE.

Ces objets peuvent bien entendu hériter les uns des autres.

Ce qui est différent de l'héritage Merise dans le MCD...
__________________
Dyvim
dyvim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2006, 22h33   #11
Membre confirmé
 
Homme Thomas Coquery
Consultant informatique
Inscription : février 2005
Messages : 250
Détails du profil
Informations personnelles :
Nom : Homme Thomas Coquery
Âge : 37
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 250
Points : 247
Points : 247
Envoyer un message via MSN à dyvim
Pour l'héritage dans une base de donnée, regarder la FAQ Merise.
Notamment cette FAQ là
Elle devrait répondre à ta question bien mieux que je n'ai su le faire.
Car un schéma est bien plus parlant que ce que j'ai pu raconter
__________________
Dyvim
dyvim est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h04.


 
 
 
 
Partenaires

Hébergement Web