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 :

Création de plusieurs tables relationnelles à partir d'une seule


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 415
    Points : 41
    Points
    41
    Par défaut Création de plusieurs tables relationnelles à partir d'une seule
    Bonjour à tous,

    j'ai une table contient plusieurs champs contenants des des texte ( des phrases de plus de 20 caractère)

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MA_TABLE (TEXT1, TEXT_2, TEXT_3, TEXT_4, NUM1, NUM_2, DATE_1, DATE_2)
    j'aimerai créer plusieurs tables comme suit : ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TAB1 (NUM_1*, TEXT1)
    TAB2 (NUM_2*, NUM_1#, TEXT2)
    TAB3 (NUM_1#,NUM_2#, NUM_3* , TEXT3)
    quelqu'un aura la gentillesse en me proposant un guide?



    salutations.

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Euh, c'est moi ou je ne pige strictement rien à la question?

    Quel est le lien entre MA_TABLE et les trois autres tables (qui ont d'ailleurs le même nom)?
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 415
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    Euh, c'est moi ou je ne pige strictement rien à la question?

    Quel est le lien entre MA_TABLE et les trois autres tables (qui ont d'ailleurs le même nom)?
    je rectifie :

    TAB1 (NUM_1*, TEXT1)
    TAB2 (NUM_2*, NUM_1#, TEXT2)
    TAB3 (NUM_1#,NUM_2#, NUM_3* , TEXT3)

    et pour MA_TABLE c'est la table globale contient que des textes, moi je vous la diviser en 3 tables contenant des clés et tout, et avec l'utilisation des jointures je regroupe et je manipule comme je veux.

    salutations.

  4. #4
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Donc TAB1, TAB2 et TAB3 sont des vues sur MA_TABLE?
    Si oui il faut faire un CREATE VIEW TAB1 AS SELECT ... FROM MA_TABLE;
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    S'il s'agit de créer de nouvelles tables à partir dune table d'origine mal modélisée, il faudrait préciser quelles sont les clés primaires.
    Il faudrait aussi être certain de l'unicité (Clé primaire supposée / Texte associé) pour chacune des tables créées.

    Par ailleurs, si NUM_2 est la clé primaire de TAB2 et NUM_3 celle de TAB3, alors la colonne NUM_1 dans TAB3 est redondante avec sa définition dans TAB2.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 805
    Points
    30 805
    Par défaut
    Sinon le principe est simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    create table TAB1
    as  select  distinct
                NUM_1
            ,   TEXT1
        from    MA_TABLE
    ;
    alter table TAB1
    add constraint  PK_TAB1    
        primary key (   NUM_1
                    )
    ;
    create table TAB2
    as  select  distinct
                NUM_1
            ,   NUM_2
            ,   TEXT2
        from    MA_TABLE
    ;
    alter table TAB2
    add constraint  PK_TAB2    
        primary key 
            (   NUM_1   -- ?
            ,   NUM_2
            )
    ;
    alter table TAB2
    add constraint  FK_TAB2_TAB1
        foreign key 
            (   NUM_1
            )
        references
            TAB1
            (   NUM_1
            )
    ;
    create table TAB3
    as  select  distinct
                NUM_1   --  ?
            ,   NUM_2
            ,   NUM_3
            ,   TEXT2
        from    MA_TABLE
    ;
    alter table TAB3
    add constraint  PK_TAB2    
        primary key 
            (   NUM_1   --  ?
            ,   NUM_2   --  ?
            ,   NUM_3
            )
    ;
    alter table TAB3
    add constraint  FK_TAB3_TAB2
        foreign key 
            (   NUM_1   --  ?
            ,   NUM_2
            )
        references
            TAB2
            (   NUM_1   --  ?
            ,   NUM_2
            )
    ;
    A adapter en fonction de la clé primaire effective
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 415
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    Donc TAB1, TAB2 et TAB3 sont des vues sur MA_TABLE?
    Si oui il faut faire un CREATE VIEW TAB1 AS SELECT ... FROM MA_TABLE;
    Non, je dois faire la conception des tables à nouveau

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 415
    Points : 41
    Points
    41
    Par défaut
    Merci al1_24 ça m'a trop aidé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Exporter plusieurs tables en txt en une seule fois
    Par anto520 dans le forum VBA Access
    Réponses: 2
    Dernier message: 31/05/2013, 08h12
  2. [MySQL] Afficher les données de plusieurs tables par date en une seule liste.
    Par Romanodi13 dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 08/09/2011, 21h45
  3. [MySQL] Requete dans plusieurs tables a partir d'une variable
    Par thefxage dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/04/2009, 18h28
  4. Réponses: 1
    Dernier message: 21/02/2009, 04h32
  5. Créer plusieurs tables identiques vues comme une seule
    Par maqfab dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/10/2007, 11h41

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