IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Héritage et requètes SQL


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 123
    Par défaut Héritage et requètes SQL
    Bonjour,

    J'ai réalisé une base de données dans le cadre d'une petite application de Vidéothèque développée en C# Winforms et dont la base de données est sur Oracle 10g XE.

    Voici le MLD :


    Comme vous le voyez : Une personne peut être un réalisateur et/ou un acteur (d'où héritage Totalité).

    Ma question est la suivante :

    Je ne sais pas comment faire des requêtes SQL de type DML (Insert, Update, etc...) sur des tables héritées (REALISATEUR et ACTEUR).

    Comment faire en SQL pour rajouter un réalisateur ? Un acteur ?
    Comment dire que telle personne est réalisateur dans le film A et acteur dans le film B ?

    J'espère que quelqu'un peu m'éclairer !

    Merci d'avance !

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    En principe le MPD n'inclura pas 2 tables, uniquement la table PERSONNE avec une colonne pour identifier le type de personne.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 123
    Par défaut
    Bonjour, merci de votre réponse

    Le MPD ? Je ne connais pas !

    J'ai exécuté le code que m'a généré WinDesign (en prenant soin de préciser Oracle 10g) et il m'a créé les 3 tables : ACTEUR, REALISATEUR et PERSONNE avec les mêmes propriétés, exactement comme dans le MLD en fait !

  4. #4
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Citation Envoyé par Daikyo Voir le message
    Bonjour, merci de votre réponse

    Le MPD ? Je ne connais pas !

    J'ai exécuté le code que m'a généré WinDesign (en prenant soin de préciser Oracle 10g) et il m'a créé les 3 tables : ACTEUR, REALISATEUR et PERSONNE avec les mêmes propriétés, exactement comme dans le MLD en fait !
    MPD : Modèle Physique de Données ...


    Et moi aussi je mettrais une table pour les 3
    ou alors des jolis triggers qui lors d'une insertion ou d'une mise à jour sur une des 3 réplique la même chose sur les 2 autres ...
    (Mais bonjour le risque de boucles !!)

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 270
    Par défaut
    Tu crée une table personne, tu ajoute un attribut acteur (valeurs possible Y/N), même chose pour réalisateur.
    Tu vire tes tables de sous type (qui sont rarement judicieuses dans un sgbd relationnelle, surtout quand tes sous type ne forment pas une partition de ton sur type (sous ensembles exclusifs dont l'union forme la totalité du sur type)), et apres c'est tout simple.

    Si des outils savaient correctement génerer des schéma de base, ça se saurait et Oracle Designer aurait moins d'options !

Discussions similaires

  1. Requête SQL
    Par Leludo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/07/2024, 15h41
  2. Requête SQL héritage
    Par devKillerZ dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/06/2012, 10h51
  3. Réponses: 1
    Dernier message: 21/01/2011, 15h17
  4. héritage dans une requète sql
    Par 080983 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/08/2007, 17h21
  5. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo