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

Schéma Discussion :

Inventaire livres bibliothèque personnelle


Sujet :

Schéma

  1. #41
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Bonjour,

    Merci. J'ai complété le script avec l'insertion d'un recueil contenant deux œuvres anglaises traduites en français :
    Code sql : 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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    CREATE TABLE ED_editeur(
       ED_ident INT AUTO_INCREMENT,
       ED_nom VARCHAR(128)  NOT NULL,
       PRIMARY KEY(ED_ident)
    );
     
    CREATE TABLE LG_langue(
       LG_ident INT AUTO_INCREMENT,
       LG_code_iso6392 CHAR(3)  NOT NULL,
       LG_libelle VARCHAR(50)  NOT NULL,
       PRIMARY KEY(LG_ident),
       UNIQUE(LG_code_iso6392)
    );
     
    CREATE TABLE CO_contributeur(
       CO_ident INT AUTO_INCREMENT,
       CO_nom VARCHAR(50)  NOT NULL,
       CO_prenom VARCHAR(50) ,
       PRIMARY KEY(CO_ident)
    );
     
    CREATE TABLE GE_genre(
       GE_indent INT AUTO_INCREMENT,
       GE_nom VARCHAR(50)  NOT NULL,
       PRIMARY KEY(GE_indent)
    );
     
    CREATE TABLE ET_etagere(
       ET_ident INT AUTO_INCREMENT,
       ET_nom VARCHAR(50)  NOT NULL,
       PRIMARY KEY(ET_ident)
    );
     
    CREATE TABLE FO_fonction(
       FO_ident INT AUTO_INCREMENT,
       FO_nom VARCHAR(25)  NOT NULL,
       PRIMARY KEY(FO_ident)
    );
     
    CREATE TABLE LG_langue(
       LG_ident INT AUTO_INCREMENT,
       LG_code_iso6392 CHAR(3)  NOT NULL,
       LG_libelle VARCHAR(50)  NOT NULL,
       PRIMARY KEY(LG_ident),
       UNIQUE(LG_code_iso6392)
    );
     
    CREATE TABLE OE_oeuvre(
       OE_ident INT AUTO_INCREMENT,
       OE_titre VARCHAR(128)  NOT NULL,
       LG_ident INT NOT NULL,
       PRIMARY KEY(OE_ident),
       FOREIGN KEY(LG_ident) REFERENCES LG_langue(LG_ident)
    );
     
    CREATE TABLE EO_edition(
       EO_ident INT AUTO_INCREMENT,
       EO_date DATE NOT NULL,
       EO_titre VARCHAR(128)  NOT NULL,
       OE_ident INT,
       ED_ident INT NOT NULL,
       LG_ident INT NOT NULL,
       PRIMARY KEY(EO_ident),
       FOREIGN KEY(OE_ident) REFERENCES OE_oeuvre(OE_ident),
       FOREIGN KEY(ED_ident) REFERENCES ED_editeur(ED_ident),
       FOREIGN KEY(LG_ident) REFERENCES LG_langue(LG_ident)
    );
     
    CREATE TABLE RE_recueil(
       EO_ident INT,
       RE_titre VARCHAR(50)  NOT NULL,
       PRIMARY KEY(EO_ident),
       FOREIGN KEY(EO_ident) REFERENCES EO_edition(EO_ident)
    );
     
    CREATE TABLE EP_edition_possedee(
       EO_ident INT,
       EP_isbn VARCHAR(13)  NOT NULL,
       EP_resume VARCHAR(255)  NOT NULL,
       PRIMARY KEY(EO_ident),
       FOREIGN KEY(EO_ident) REFERENCES EO_edition(EO_ident)
    );
     
    CREATE TABLE EX_exemplaire(
       EO_ident INT,
       EX_seqn SMALLINT,
       EX_date_acq DATE NOT NULL,
       etat VARCHAR(50)  NOT NULL,
       PRIMARY KEY(EO_ident, EX_seqn),
       FOREIGN KEY(EO_ident) REFERENCES EP_edition_possedee(EO_ident)
    );
     
    CREATE TABLE TH_thematiser(
       OE_ident INT,
       GE_indent INT,
       PRIMARY KEY(OE_ident, GE_indent),
       FOREIGN KEY(OE_ident) REFERENCES OE_oeuvre(OE_ident),
       FOREIGN KEY(GE_indent) REFERENCES GE_genre(GE_indent)
    );
     
    CREATE TABLE RG_ranger(
       EO_ident INT,
       EX_seqn SMALLINT,
       CA_date DATE,
       ET_ident INT NOT NULL,
       PRIMARY KEY(EO_ident, EX_seqn, CA_date),
       FOREIGN KEY(EO_ident, EX_seqn) REFERENCES EX_exemplaire(EO_ident, EX_seqn),
       FOREIGN KEY(ET_ident) REFERENCES ET_etagere(ET_ident)
    );
     
    CREATE TABLE AS_associer(
       EO_ident_enfant INT,
       EO_ident_parent INT,
       PRIMARY KEY(EO_ident_enfant, EO_ident_parent),
       FOREIGN KEY(EO_ident_enfant) REFERENCES EP_edition_possedee(EO_ident),
       FOREIGN KEY(EO_ident_parent) REFERENCES EO_edition(EO_ident)
    );
     
    CREATE TABLE CO_contenir(
       OE_ident INT,
       EO_ident INT,
       PRIMARY KEY(OE_ident, EO_ident),
       FOREIGN KEY(OE_ident) REFERENCES OE_oeuvre(OE_ident),
       FOREIGN KEY(EO_ident) REFERENCES RE_recueil(EO_ident)
    );
     
    CREATE TABLE PA_participer(
       OE_ident INT,
       CO_ident INT,
       FO_ident INT,
       PRIMARY KEY(OE_ident, CO_ident, FO_ident),
       FOREIGN KEY(OE_ident) REFERENCES OE_oeuvre(OE_ident),
       FOREIGN KEY(CO_ident) REFERENCES CO_contributeur(CO_ident),
       FOREIGN KEY(FO_ident) REFERENCES FO_fonction(FO_ident)
    );
     
    --Insertions
     
    insert into ED_editeur (ED_nom)
    values ('Gallimard')
         , ('Seuil')
         , ('Dargaud')
         , ('Viking Press')
    ;  
     
    insert into OE_oeuvre (OE_titre, LG_ident)
    values ('Notre-Dame de Paris', 1)
         , ('Le rouge et le noir', 1)
         , ('Astérix le Gaulois', 1)
         , ('La serpe d''or', 1)  
         , ('The Rotters'' Club', 2)  
         , ('The Closed Circle ', 2)  
    ;  
     
    insert into EO_edition (EO_date, EO_titre, OE_ident, ED_ident, LG_ident)
    values ('2020-06-25', 'Notre-Dame de Paris', 1, 1, 1)    -- Notre-Dame de Paris / Gallimard
         , ('2015-11-03', 'Le rouge et le noir', 2, 2, 1)    -- Le rouge et le noir / Seuil
         , ('2022-03-18', 'Notre-Dame de Paris', 1, 2, 1)    -- Notre-Dame de Paris / Seuil
         , ('1961-04-12', 'Astérix le Gaulois', 3, 3, 1)    -- Astérix le Gaulois / Dargaud
         , ('1962-06-01', 'La serpe d''Or', 4, 3, 1)    -- La serpe d'Or / Dargaud
         , ('1975-01-20', 'Asterix - T1&2', null, 3, 1) -- recueil / Dargaud
         , ('2001-06-01', 'The Rotters'' Club', 5, 4, 2)  -- edition VO Bienvenue au club
         , ('2002-06-01', 'Bienvenue au club', 5, 1, 1)  -- edition VF Bienvenue au club
         , ('2004-06-01', 'The Closed Circle ', 5, 4, 2)  -- edition VO Le cercle fermé
         , ('2006-06-01', 'Le cercle fermé', 5, 1, 1)  -- edition VF Le cercle fermé
         , ('2015-01-20', 'Les Enfants de Longbridge', null, 1, 1 ) -- recueil / Gallimard Bienvenue au club & Le cercle fermé 
    ;  
     
    insert into RE_recueil (EO_ident, RE_titre)
    values (6, 'Asterix - T1&2')
         , (11, 'Les Enfants de Longbridge')
    ;  
     
    insert into CO_contenir(OE_ident, EO_ident)
    values (3, 6)
         , (4, 6)
         , (5, 11)
         , (6, 11)
    ;
    Résultat de la requête d'affichage fournie dans le post #38 :

    titre recueil | EO_ident | edité le | éditeur | oeuvres contenues
    Asterix - T1&2 | 6 | 1975-01-20 | Dargaud | Astérix le Gaulois, La serpe d'or
    Les Enfants de Longbridge | 11 | 2015-01-20 |Gallimard | The Closed Circle , The Rotters' Club

    Selon vous, est-possible d'obtenir le résultat enrichi suivant ?

    titre recueil | EO_ident | edité le | éditeur | contenu du recueil
    Asterix - T1&2 | 6 | 1975-01-20 | Dargaud | Astérix le Gaulois (1961-04-12), La serpe d'or (1962-06-01)
    Les Enfants de Longbridge | 11 | 2015-01-20 |Gallimard | Bienvenue au club (2002-06-01) - VO (Anglais) : The Rotters' Club (2001-06-01), Le cercle fermé (2006-06-01) - VO (Anglais) : The Closed Circle (2004-06-01)

  2. #42
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par défaut
    Oui c'est possible : la fonction GROUP_CONCAT permet en effet de concaténer plusieurs colonnes

    Exemple d'utilisation :

    Code SQL : 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
     
    create table T1
          (  T1IDENT   integer  primary key
           , T1CHAR1   char(4)  not null
          )
    ;
    create table T2
          (  T1IDENT   integer  not null
           , T2SEQ     smallint not null
           , T2CHAR1   char(4)  not null
           , T2CHAR2   char(4)  not null
           , primary key (T1IDENT, T2SEQ)
          )
    ;
    insert into T1
    values (01, 'ABCD')
         , (02, 'POIU') 
         , (03, 'SDFG')
         , (04, 'ABCD')
    ;
    insert into T2
    values (01, 01, 'L001', 'eng')
         , (01, 02, 'L002', 'fra')
         , (01, 03, 'L003', 'eng')
         , (02, 01, 'TRUC', 'deu')
         , (02, 02, 'xXxX', 'fra')
         , (04, 01, 'AZER', 'fra')
         , (04, 02, 'TYUI', 'eng')
         , (04, 03, 'OPQS', 'deu')
    ;
    select T1.T1IDENT   
         , T1.T1CHAR1
         , group_concat(T2CHAR1, 
                        case when T2CHAR2 = 'deu' then '(allemand)'
                             when T2CHAR2 = 'eng' then '(anglais)'
                             when T2CHAR2 = 'fra' then '(français)'
                             else 'inconnu'
                        end 
                        separator ',') as libelle
    from       T1
    left join  T2
      on T2.T1IDENT = T1.T1IDENT
    group by T1.T1IDENT   
           , T1.T1CHAR1


    Résultat :

    Nom : Sans titre.png
Affichages : 264
Taille : 6,3 Ko


    Par contre je doute que ce soit possible directement sous MS Access.

  3. #43
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Merci pour la fonction GROUP_CONCAT(). A la réflexion, mon application se basera plutôt sur le SGBDR MySQL.
    Je comprends la mise en œuvre de la fonction dans l'exemple que vous donnez. Mais je vous avoue que la mise en oeuvre dans un cas plus complexe tel que l'affichage enrichi recherché, décrit dans mon précédent message, me donne du fil a retordre. Je suis preneur, une fois de plus, de votre expertise et de vos précieuses recommandations.

  4. #44
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par défaut
    Dans votre script, il y a quelques coquilles :
    • la table LG_langue est créée deux fois ;
    • la table LG_langue doit être alimentée préalablement à la table OE_oeuvre puisque l'identifiant de la langue est utilisé comme clef étrangère dans l'oeuvre
    • il manquait un blanc après "--" et avant le commentaire


    Après correction, voici un exemple de requête permettant de détailler le contenu de chaque recueil :

    Code SQL : 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
    select   RE.RE_titre     as "Titre du recueil"
         ,   EO.EO_date      as "Édité le"
         ,   ED.ED_nom       as "Éditeur"
         ,   group_concat(OE.OE_titre, 
                          ' (', 
                          OX.EO_date,
                          ') ' 
                          separator ',') 
                             as "Contenu"
    from       RE_recueil  as RE
    inner join EO_edition  as EO
       on EO.EO_ident = RE.EO_ident
    inner join ED_editeur  as ED
       on ED.ED_ident = EO.ED_ident 
    inner join CO_contenir as CO
       on CO.EO_ident = RE.EO_ident
    inner join OE_oeuvre   as OE
       on OE.OE_ident = CO.OE_ident
    inner join EO_edition as OX
       on OX.OE_ident = OE.OE_ident
    group by  RE.RE_titre
          ,   EO.EO_date 
          ,   ED.ED_nom


    Et son résultat :

    Nom : Sans titre.png
Affichages : 277
Taille : 9,0 Ko


    Le script corrigé, incluant le chargement de la table des langues :

    Code SQL : 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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    CREATE TABLE ED_editeur(
       ED_ident INT AUTO_INCREMENT,
       ED_nom VARCHAR(128)  NOT NULL,
       PRIMARY KEY(ED_ident)
    );
     
    CREATE TABLE LG_langue(
       LG_ident INT AUTO_INCREMENT,
       LG_code_iso6392 CHAR(3)  NOT NULL,
       LG_libelle VARCHAR(50)  NOT NULL,
       PRIMARY KEY(LG_ident),
       UNIQUE(LG_code_iso6392)
    );
     
    CREATE TABLE CO_contributeur(
       CO_ident INT AUTO_INCREMENT,
       CO_nom VARCHAR(50)  NOT NULL,
       CO_prenom VARCHAR(50) ,
       PRIMARY KEY(CO_ident)
    );
     
    CREATE TABLE GE_genre(
       GE_indent INT AUTO_INCREMENT,
       GE_nom VARCHAR(50)  NOT NULL,
       PRIMARY KEY(GE_indent)
    );
     
    CREATE TABLE ET_etagere(
       ET_ident INT AUTO_INCREMENT,
       ET_nom VARCHAR(50)  NOT NULL,
       PRIMARY KEY(ET_ident)
    );
     
    CREATE TABLE FO_fonction(
       FO_ident INT AUTO_INCREMENT,
       FO_nom VARCHAR(25)  NOT NULL,
       PRIMARY KEY(FO_ident)
    );
     
    CREATE TABLE OE_oeuvre(
       OE_ident INT AUTO_INCREMENT,
       OE_titre VARCHAR(128)  NOT NULL,
       LG_ident INT NOT NULL,
       PRIMARY KEY(OE_ident),
       FOREIGN KEY(LG_ident) REFERENCES LG_langue(LG_ident)
    );
     
    CREATE TABLE EO_edition(
       EO_ident INT AUTO_INCREMENT,
       EO_date DATE NOT NULL,
       EO_titre VARCHAR(128)  NOT NULL,
       OE_ident INT,
       ED_ident INT NOT NULL,
       LG_ident INT NOT NULL,
       PRIMARY KEY(EO_ident),
       FOREIGN KEY(OE_ident) REFERENCES OE_oeuvre(OE_ident),
       FOREIGN KEY(ED_ident) REFERENCES ED_editeur(ED_ident),
       FOREIGN KEY(LG_ident) REFERENCES LG_langue(LG_ident)
    );
     
    CREATE TABLE RE_recueil(
       EO_ident INT,
       RE_titre VARCHAR(50)  NOT NULL,
       PRIMARY KEY(EO_ident),
       FOREIGN KEY(EO_ident) REFERENCES EO_edition(EO_ident)
    );
     
    CREATE TABLE EP_edition_possedee(
       EO_ident INT,
       EP_isbn VARCHAR(13)  NOT NULL,
       EP_resume VARCHAR(255)  NOT NULL,
       PRIMARY KEY(EO_ident),
       FOREIGN KEY(EO_ident) REFERENCES EO_edition(EO_ident)
    );
     
    CREATE TABLE EX_exemplaire(
       EO_ident INT,
       EX_seqn SMALLINT,
       EX_date_acq DATE NOT NULL,
       etat VARCHAR(50)  NOT NULL,
       PRIMARY KEY(EO_ident, EX_seqn),
       FOREIGN KEY(EO_ident) REFERENCES EP_edition_possedee(EO_ident)
    );
     
    CREATE TABLE TH_thematiser(
       OE_ident INT,
       GE_indent INT,
       PRIMARY KEY(OE_ident, GE_indent),
       FOREIGN KEY(OE_ident) REFERENCES OE_oeuvre(OE_ident),
       FOREIGN KEY(GE_indent) REFERENCES GE_genre(GE_indent)
    );
     
    CREATE TABLE RG_ranger(
       EO_ident INT,
       EX_seqn SMALLINT,
       CA_date DATE,
       ET_ident INT NOT NULL,
       PRIMARY KEY(EO_ident, EX_seqn, CA_date),
       FOREIGN KEY(EO_ident, EX_seqn) REFERENCES EX_exemplaire(EO_ident, EX_seqn),
       FOREIGN KEY(ET_ident) REFERENCES ET_etagere(ET_ident)
    );
     
    CREATE TABLE AS_associer(
       EO_ident_enfant INT,
       EO_ident_parent INT,
       PRIMARY KEY(EO_ident_enfant, EO_ident_parent),
       FOREIGN KEY(EO_ident_enfant) REFERENCES EP_edition_possedee(EO_ident),
       FOREIGN KEY(EO_ident_parent) REFERENCES EO_edition(EO_ident)
    );
     
    CREATE TABLE CO_contenir(
       OE_ident INT,
       EO_ident INT,
       PRIMARY KEY(OE_ident, EO_ident),
       FOREIGN KEY(OE_ident) REFERENCES OE_oeuvre(OE_ident),
       FOREIGN KEY(EO_ident) REFERENCES RE_recueil(EO_ident)
    );
     
    CREATE TABLE PA_participer(
       OE_ident INT,
       CO_ident INT,
       FO_ident INT,
       PRIMARY KEY(OE_ident, CO_ident, FO_ident),
       FOREIGN KEY(OE_ident) REFERENCES OE_oeuvre(OE_ident),
       FOREIGN KEY(CO_ident) REFERENCES CO_contributeur(CO_ident),
       FOREIGN KEY(FO_ident) REFERENCES FO_fonction(FO_ident)
    );
     
    SELECT  'fin DDL'
    ;
    -- Insertions
    insert into ED_editeur (ED_nom)
    values ('Gallimard')
         , ('Seuil')
         , ('Dargaud')
         , ('Viking Press')
    ;  
    select 'ISR ED OK' ;
    insert into LG_langue (LG_code_iso6392, LG_libelle)
    values ('fra', 'français')
         , ('eng', 'anglais')
         , ('deu', 'allemand')
         , ('spa', 'espagnol')
    ;  
    select 'ISR LG OK' ;
    insert into OE_oeuvre (OE_titre, LG_ident)
    values ('Notre-Dame de Paris', 1)
         , ('Le rouge et le noir', 1)
         , ('Astérix le Gaulois', 1)
         , ('La serpe d''or', 1)  
         , ('The Rotters'' Club', 2)  
         , ('The Closed Circle ', 2)  
    ;  
    select 'ISR OE OK' ; 
    insert into EO_edition (EO_date, EO_titre, OE_ident, ED_ident, LG_ident)
    values ('2020-06-25', 'Notre-Dame de Paris', 1, 1, 1)    -- Notre-Dame de Paris / Gallimard
         , ('2015-11-03', 'Le rouge et le noir', 2, 2, 1)    -- Le rouge et le noir / Seuil
         , ('2022-03-18', 'Notre-Dame de Paris', 1, 2, 1)    -- Notre-Dame de Paris / Seuil
         , ('1961-04-12', 'Astérix le Gaulois', 3, 3, 1)    -- Astérix le Gaulois / Dargaud
         , ('1962-06-01', 'La serpe d''Or', 4, 3, 1)    -- La serpe d'Or / Dargaud
         , ('1975-01-20', 'Asterix - T1&2', null, 3, 1) -- recueil / Dargaud
         , ('2001-06-01', 'The Rotters'' Club', 5, 4, 2)  -- edition VO Bienvenue au club
         , ('2002-06-01', 'Bienvenue au club', 5, 1, 1)  -- edition VF Bienvenue au club
         , ('2004-06-01', 'The Closed Circle ', 5, 4, 2)  -- edition VO Le cercle fermé
         , ('2006-06-01', 'Le cercle fermé', 5, 1, 1)  -- edition VF Le cercle fermé
         , ('2015-01-20', 'Les Enfants de Longbridge', null, 1, 1 ) -- recueil / Gallimard Bienvenue au club & Le cercle fermé 
    ;  
    select 'ISR EO OK' ;  
    insert into RE_recueil (EO_ident, RE_titre)
    values (6, 'Asterix - T1&2')
         , (11, 'Les Enfants de Longbridge')
    ;  
    select 'ISR RE OK' ;   
    insert into CO_contenir(OE_ident, EO_ident)
    values (3, 6)
         , (4, 6)
         , (5, 11)
         , (6, 11)
    ;

  5. #45
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par défaut
    Et la même avec ajout du code langue de l'œuvre, s'il est différent du code langue du recueil :

    Code SQL : 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
    select   RE.RE_titre     as "Titre du recueil"
         ,   EO.EO_date      as "Édité le"
         ,   ED.ED_nom       as "Éditeur"
         ,   group_concat(OE.OE_titre, 
                          ' (', 
                          OX.EO_date,
                          case when LR.LG_ident <> LE.LG_ident
                               then concat (' ', LE.LG_code_iso6392)
                               else ''
                          end,
                          ') ' 
                          separator ', ') 
                             as "Contenu"
    from       RE_recueil  as RE
    inner join EO_edition  as EO
       on EO.EO_ident = RE.EO_ident
    inner join LG_langue   as LR -- langue du recueil
      on LR.LG_ident  = EO.LG_ident
    inner join ED_editeur  as ED
       on ED.ED_ident = EO.ED_ident 
    inner join CO_contenir as CO
       on CO.EO_ident = RE.EO_ident
    inner join OE_oeuvre   as OE
       on OE.OE_ident = CO.OE_ident
    inner join LG_langue   as LE -- langue de l'oeuvre
       on LE.LG_ident = OE.LG_ident
    inner join EO_edition as OX
       on OX.OE_ident = OE.OE_ident
    group by  RE.RE_titre
          ,   EO.EO_date 
          ,   ED.ED_nom


    Résultat :

    Nom : Sans titre.png
Affichages : 273
Taille : 8,6 Ko

  6. #46
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Pour le script, désolé, je n´avais pas posté la bonne version me servant à effectuer mes tests.

    Pour le résultat obtenu, il est conforme en ce qui concerne le 1er recueil. Pour le second en revanche, l´affichage produit plusieurs fois le même titre (The Rotters' Club), au lieu du résultat attendu :

    titre recueil | EO_ident | edité le | éditeur | contenu du recueil
    Les Enfants de Longbridge | 11 | 2015-01-20 |Gallimard | Bienvenue au club (2002-06-01) - VO (Anglais) : The Rotters' Club (2001-06-01), Le cercle fermé (2006-06-01) - VO (Anglais) : The Closed Circle (2004-06-01)

    Qu´en pensez-vous ?

  7. #47
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par défaut
    D'après le script que j'ai récupéré et adapté, le recueil "Les Enfants de Longbridge" contient (table CO_contenir) deux œuvres : la 5 (The Rotters' Club) et la 6 (The Closed Circle), mais la langue du recueil étant le français, il ne faudrait donc restituer que les titres en français. On peut éventuellement ne restituer que les titres de la version d'origine, mais en ce cas sans les titres en français, sinon on a l'impression que c'est un recueil de 4 œuvres.

    Quoi qu'il en soit, pour pouvoir faire la correspondance entre un recueil dans une langue et les œuvres d'origine dans une autre langue, il faut passer par [EP_edition_possedee] et l'association (associer).
    C'est peut-être là que le bât blesse : l'association n'étant établie que pour les œuvres possédées, on ne pourra pas détailler le contenu des recueils issus d'une traduction que si on les possède... Est-ce ce qui est souhaité ?
    Sinon il faut que l'association (associer) porte sur [EO_edition]et non plus entre EO et EP.

    Qu'en pensez vous ?

  8. #48
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Je me suis imposé une remise à plat. Je vais distinguer selon que le recueil comprend des nouvelles ou qu´il comprend des romans.

    1- Recueil de nouvelles

    Je consulte l´édition d´un recueil que je possède et relève des informations devant figurer dans la base :

    - le titre français du recueil, sa date de publication VF et son éditeur VF
    - le cas échéant, le titre, date publication et éditeur du recueil VO
    - pour chaque nouvelle composant le recueil : le titre VF et le cas échéant le titre VO
    => je pars du postulat suivant pour les nouvelles : une nouvelle, prise isolément, ne fait pas l´objet en tant que telle d´une édition avec une date d´édition et un éditeur (comme c´est le cas d´un roman).Il peut parfois être précisé une date au regard de chaque nouvelle. Il s´agit alors de la date de création de l´oeuvre.

    2- Recueil de romans

    Dans l´édition que je possède, , je relève :

    - le titre français du recueil, sa date de publication VF et son éditeur VF
    - le cas échéant, le titre, date publication et éditeur du recueil VO
    - pour chaque roman composant le recueil : le titre VF et le cas échéant le titre VO, mais également la date de publication et l´éditeur (VF et VO le cas échéant). En effet, chaque roman du recueil a déjà fait l´objet d´une parution précédente en tant que mono-oeuvre, il est donc possible de relever toutes ces données (même cas de figure qu´une édition mono-oeuvre possédée avec des éditions parentes).

  9. #49
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par défaut
    Bonjour Almoha

    Je ne vous ai pas oublié, mais j'ai moins de dispo que je le souhaiterais.

    Je suppose que vous pouvez posséder des recueils en langue étrangère et que l'édition originale peut parfois être la VF traduite dans une autre langue

  10. #50
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Bonjour escartefigue,

    je ne possède que des recueils en langue française (ce sera toujours le cas, pour tous mes livres, recueils comme romans).

    Citation Envoyé par escartefigue
    l'édition originale peut parfois être la VF traduite dans une autre langue
    La réponse est donc non.

  11. #51
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 181
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par almoha Voir le message

    je ne possède que des recueils en langue française (ce sera toujours le cas, pour tous mes livres, recueils comme romans).
    Jusqu'au jour où...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  12. #52
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Citation Envoyé par fsmrel
    Jusqu'au jour où...
    Certes, mais la probabilité est infime. Si prévoir ce cas ne complexifie pas la modélisation, d'accord, sinon, me semble-t-il, le jeu n'en vaut pas la chandelle

  13. #53
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut Poursuite du projet
    Bonsoir,

    Après une longue pause, je souhaite reprendre mon projet. Je rappelle et complète ci-dessous les types d’éditions que contiendra l’inventaire des livres que je possède et les caractéristiques à collecter. Puis j'évoque les œuvres comportant plusieurs tomes et je termine en précisant l'affichage attendu dans l'application devant être développée.

    I – Edition mono-œuvre

    1- Edition originale en français parue en grand format

     Les caractéristiques de base de cette édition (titre, éditeur, contributeur…) sont relevées. Pas d’édition(s) « parente(s) ».

    2- Edition originale en français parue en format poche

    a- Edition parue directement en format poche (donc non précédée d’une édition en grand format)
    => Les caractéristiques de base de cette édition (titre, éditeur, contributeur…) sont relevées. Pas d’édition(s) « parente(s) ».

    b- Edition parue en format poche précédée d’une édition en grand format
    => Les caractéristiques de base de cette édition (titre, éditeur, contributeur…) sont relevées. En outre, comme il existe une édition parente (l’édition en grand format), les caractéristiques de cette dernière sont à récolter. Elle sont visibles dans l’édition au format poche que je possède, dans les pages précédant le début de l’œuvre. Ces caractéristiques sont les suivantes : l’éditeur de l’édition en grand format et son année d’édition.

    3- Edition en français en grand format traduite à partir d’une édition originale en langue étrangère, quel que soit le format de cette dernière (grand format ou poche)

     Les caractéristiques de base de cette édition (titre, éditeur, contributeur…) sont relevées. En outre, comme Il existe une édition parente (l’édition étrangère), les caractéristiques de cette dernière sont à récolter. On les trouve dans les toutes premières pages de l’édition en français possédée : le titre, l’éditeur et l’année de l’édition étrangère.

    4- Edition en français au format poche traduite à partir d’une édition originale en langue étrangère, quel que soit le format de cette dernière (grand format ou poche)

     Les caractéristiques de base de cette édition (titre, éditeur, contributeur…) sont relevées. En outre, comme Il existe deux éditions parentes (l’édition étrangère et l’édition française en grand format), les caractéristiques de ces dernières sont à récolter : le titre, l’éditeur et l’année de l’édition étrangère ; l’éditeur de l’édition française en grand format et son année d’édition.

    5- Edition originale en langue étrangère

     S’il s’agit d’un grand format : récolte des caractéristiques de base
     S’il s’agit d’un format poche : récolte des caractéristiques de base ; récolte des caractéristiques de l’édition parente en grand format si elle existe.


    II – Edition recueil (plusieurs œuvres)

    Le recueil considéré en tant que contenant est une édition de type n° 1, 2, 3, 4 ou 5 (tels que décrits plus haut) dont les caractéristiques doivent être récoltées (titre, contributeurs, informations des éventuelles éditions parentes…)

    Quant au contenu, le recueil comprend des nouvelles ou de romans :

    1- Recueil de nouvelles
    Ces informations devront figurer dans la base : pour chaque nouvelle composant le recueil : le titre VF et le cas échéant le titre VO, le ou les contributeurs.
    => je pars du postulat suivant pour les nouvelles : une nouvelle, prise isolément, ne fait pas l´objet en tant que telle d´une édition avec une date d’édition et un éditeur (comme c´est le cas d´un roman).Il peut parfois être précisé une date au regard de chaque nouvelle. Il s’agit alors de la date de création de l´œuvre.

    2- Recueil de romans
    Ces informations devront figurer dans la base : pour chaque roman composant le recueil : le titre VF et le cas échéant le titre VO, mais également la date de publication et l’éditeur (VF et VO le cas échéant). En effet, chaque roman du recueil a déjà fait l´objet d´une parution précédente en tant que mono-œuvre, il est donc possible de relever toutes ces données et d’autres comme le contributeur (même cas de figure qu’une édition mono-œuvre possédée avec des éditions parentes).

    III – Œuvre composée de plusieurs tomes (édition mono-œuvre ou recueil)

    Une œuvre peut faire l’objet de plusieurs tomes. Chaque tome fait l’objet d’une édition (de type n° 1, 2, 3, 4 ou 5). Chaque édition (mono-œuvre ou recueil) est liée aux autres tomes au sein d’une unité que l’on peut qualifier de « cycle ».

    IV – Affichage attendu

    L’application d’inventaire (qui utilisera MySql ou PostgreSQL, cela reste à déterminer) devra être capable de restituer toutes les types d’édition. Elle comprendra :

    1- Une page « Liste »

    Exemples :

    [édition mono-édition de type n° 1]
    Titre : Dernières lueurs avant la nuit
    Éditeur : Flammarion
    Année édition : 2000
    Format : grand format
    Contributeur : Serge Brussolo (auteur)

    [édition de type mono-édition n° 2a]
    Titre : Au suivant de ces messieurs
    Éditeur : Fleuve noir
    Année édition : 1967
    Format : poche
    Contributeur : San Antonio (auteur) ; Frédéric Dard (auteur)

    [édition de type mono-édition n° 2b]
    Titre : Chien-Loup
    Éditeur : J’ai lu
    Année édition : 2019
    Format : poche
    Éditeur grand format (GF) : Flammarion
    Année édition GF : 2018
    Contributeur : Serge Joncour (auteur)

    [édition de type mono-édition n° 3]
    Titre : Lunar Park
    Éditeur : Robert Laffont
    Année édition : 2005
    Format : grand format
    Titre version originale (VO) : Lunar Park
    Éditeur VO : Alfred A. Knopf
    Année édition VO : 2004
    Contributeur : Bret Easton Ellis (auteur) ; Pierre Guglielmina (traducteur)

    [édition de type mono-édition n° 4]
    Titre : Carrie
    Éditeur : J’ai lu
    Année édition : 1996
    Format : poche
    Éditeur grand format (GF) : Gallimard
    Année édition GF : 1976
    Titre version originale (VO) : Carrie
    Éditeur VO : Doubleday
    Année édition VO : 1974
    Contributeur : Stephen King (auteur) ; Henri Robillot (traducteur)

    [édition mono-édition de type n° 5a]
    Titre : The Stephen King illustrated companion
    Éditeur : Fall River Press
    Année édition : 2009
    Format : grand format
    Contributeur : Bev Vincent (auteur)

    [édition mono-édition de type n° 5b]
    Titre : ‘Salem’s Lot
    Éditeur : NEL edition
    Année édition : 1977
    Format : Poche
    Éditeur grand format (GF) : Market edition
    Année édition GF : 1976
    Contributeur : Stephen King (auteur)

    [édition recueil de nouvelles (ex. : édition de type n° 3 )]
    Titre : 999 : le livre du millénaire des maîtres du fantastique
    Éditeur : Albin Michel
    Année édition : 1999
    Format : grand format
    Titre version originale (VO) : 999
    Éditeur VO : Avon Books
    Année édition VO : 1999
    Contributeur : Stephen King (auteur), Joyce Carol Oates (auteur), [… (auteurs)], Evelyne Châtelain (traducteur), [… (traducteurs)]

    [édition recueil de romans (ex. : édition de type n° 3 )]
    Titre : Les sept énigmes
    Éditeur : Presses de la cité
    Année édition : 1989
    Format : grand format
    Titre version originale (VO) : seven riddles
    Éditeur VO : Scott Meredith edition
    Année édition VO : 1988
    Contributeur : Manfred B. Lee (auteur) ; Frederic C. Dannay (auteur) ; Ellery Queen (auteur) ; Catherine Grégoire (traducteur) ; Jean Mactar (traducteur)

    [Œuvre comportant plusieurs tomes - édition de type mono-édition n° 3]
    Titre : Le jardin de la lune
    Cycle : Le livre des martyrs
    Cycle VO : Malazan Book of the Fallen
    Tome : 1
    Éditeur : Éditions LEHA
    Année édition : 2018
    Format : grand format
    Titre version originale (VO) : Gardens of the Moon
    Éditeur VO : Tor Books
    Année édition VO : 1999
    Contributeur : Steven Erikson (auteur) ; Emmanuel Chastellière (traducteur)

    [Œuvre comportant plusieurs tomes - édition de type mono-édition n° 3]
    Titre : Les Portes de la Maison des Morts
    Cycle : Le livre des martyrs
    Cycle VO : Malazan Book of the Fallen
    Tome : 2
    Éditeur : Éditions LEHA
    Année édition : 2018
    Format : grand format
    Titre version originale (VO) : Deadhouse Gates
    Éditeur VO : Tor Books
    Année édition VO : 2000
    Contributeur : Steven Erikson (auteur) ; Nicolas Merrien (traducteur)

    2- Une page « Détails »

    a) édition mono-édition => en cliquant sur le titre de l’édition, on affiche, outre les caractéristiques présentes dans la liste, des caractéristiques complémentaires (ISBN, date achat, genre…).

    b) édition recueil => en cliquant sur le titre de l’édition, on affiche, outre les caractéristiques présentes dans la liste et les caractéristiques complémentaires (ISBN, date achat, genre…), le détail des nouvelles ou romans contenus dans le recueil.

    [édition recueil de romans (ex. : édition de type n° 3 )]
    Titre : Les sept énigmes
    Éditeur : Presses de la cité
    Année édition : 1989
    Format : grand format
    Titre version originale (VO) : seven riddles
    Éditeur VO : Scott Meredith edition
    Année édition VO : 1988
    Contributeur : Manfred B. Lee (auteur) ; Frederic C. Dannay (auteur) ; Ellery Queen (auteur) ; Catherine Grégoire (traducteur) ; Jean Mactar
    Genre : policier
    Date achat : 2000
    Contenu :
    1- Titre : Le mystère du soulier blanc
    Éditeur : Club du Livre Policier
    Année édition : 1958
    Titre version originale (VO) : The Dutch Shoe Mystery
    Éditeur VO : Frederick A. Stokes edition
    Année édition VO : 1931
    2- Titre : Le mystérieux monsieur X
    Éditeur : Éditions de la nouvelle revue critique
    Année édition : 1961
    Titre version originale (VO) : The Chinese Orange Mystery
    Éditeur VO : Frederick A. Stokes edition
    Année édition VO : 1934

    […]

    c) Œuvre comportant plusieurs tomes => en cliquant sur le titre de l’édition possédée, on affiche, outre les caractéristiques présentes dans la liste et les caractéristiques complémentaires (ISBN, date achat, genre…), le nom du tome précédent (s’il existe) et celui du tome suivant (s’il existe).

    Je suis preneur de vos conseils pour poursuivre ma démarche de modélisation, bien aidé jusqu’à présent par escartefigue. Merci.

  14. #54
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 181
    Billets dans le blog
    16
    Par défaut
    Bonsoir almoha,

    Vous avez fourni un contenu exhaustif des différents scénarios d’édition, beau travail.
    Dans le cas du type 3 (édition de type mono-édition n° 3), pour la version originale, vous ne prévoyez pas le format poche | grand format, cette distinction est donc sans objet ?

    Prévoyez vous des traductions dans le sens français langue étrangère ?

    Etant bien chargé pour le moment, j’essaierai malgré tout de réaliser un MCD, au fur et à mesure de mes rares disponibilités, mais je ne promets rien pour le moment...

    Et puis l'infatigable escartefigue a peut-être lui aussi quelques moments libres ?
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  15. #55
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Bonsoir fsmrel,

    Merci pour votre intérêt.

    Citation Envoyé par fsmrel Voir le message

    Dans le cas du type 3 (édition de type mono-édition n° 3), pour la version originale, vous ne prévoyez pas le format poche | grand format, cette distinction est donc sans objet ?
    Je confirme que cette distinction est sans objet

    Citation Envoyé par fsmrel Voir le message

    Prévoyez vous des traductions dans le sens français langue étrangère ?
    Je ne souhaite pas prévoir ce cas de figure.

  16. #56
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par défaut
    Ohayō,

    Citation Envoyé par fsmrel Voir le message
    Et puis l'infatigable escartefigue a peut-être lui aussi quelques moments libres ?
    Malheureusement, c'est là que le bât blesse, j'ai déjà des corrections orthographiques en souffrance dont j'ai du mal à m'occuper
    Et aussi des chicots en souffrance, qui me prennent pas mal de temps en rendez vous

  17. #57
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 181
    Billets dans le blog
    16
    Par défaut
    Bonsoir almoha,

    J’ai tellement de fers au feu...

    A propos des éditions parentes :

    Qu’il s’agisse d’une édition parente grand format (seulement française a priori) ou d’une édition parente étrangère (seulement poche a priori), je suppose qu’une édition parente n’a qu’une seule édition enfant. Est-ce exact ?
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  18. #58
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Bonsoir fsmrel,

    Pour synthétiser, je dirais :

    - L'édition originale française en grand format [édition 1] a pour seul enfant l'éventuelle édition française en poche [édition 2].
    En renversant le point de vue, [édition 2] a pour seul parent [édition 1].

    - L'édition étrangère, quel que soit son format [édition 3] a pour seul enfant l'éventuelle édition française en grand format (ou en poche si la traduction française paraît directement en poche) [édition 4].
    En renversant le point de vue, [édition 4] a pour seul parent [édition 3].

    - L'édition française traduite en français en grand format [édition 5] a pour seul enfant l'éventuelle édition française en poche [édition 6].
    En renversant le point de vue, [édition 6] a pour seul parent [édition 5] (ou aucun parent si parution directe en poche), et [édition 5] a pour seul parent [édition 3]

  19. #59
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 181
    Billets dans le blog
    16
    Par défaut
    Bonsoir almoha,  

    Citation Envoyé par almoha
    L'édition française traduite en français en grand format
    Ceci pourrait peut-être s’appliquer au dictionnaire de l’argot d’Albert Simonin, Le Petit Simonin illustré, dictionnaire d'usage  , mais quid dans le cas général ?
     
    Plus sérieusement, je décortique votre réponse et l’interprète :
     
    (a) On veut créer dans la base de données une édition grand format étrangère, px : on crée px.
     
    (b) On veut créer dans la base de données une édition de poche étrangère, e1
     
    (b1) s’il n’existe pas dans la base de données d’édition parente p1 de e1 : on crée e1 au format poche telle quelle, sans créer p1
     
    (b2) s’il existe dans la base de données l’édition parente p1 de e1 : on crée e1 au format poche et on la rattache à p1
     
    (c) On veut créer dans la base de données la traduction f1 en français d’une édition étrangère p1 (grand format ou poche) :
     
    On crée f1 au format poche
     
    S’il existe dans la base de données l’édition étrangère p1, grand format, on rattache f1 à p1
     
    S’il n’existe pas dans la base de données l’édition étrangère p1, grand format, mais s’il existe l’édition poche e1,on rattache f1 à e1
     
    S’il n’existe pas dans la base de données d’édition étrangère (grand format ou poche), que fait-on ?
     
    Quid si f1 est candidate à devenir enfant de p1 (étrangère, grand format), déjà parente de e1 (étrangère, poche) ?

    Dans tout cela, comme vous l’avez précisé :
     
    Une édition parente a au plus une édition enfant
     
    Une édition enfant a au moins et au plus une édition parente.
     
    Merci de donner votre avis sur mon interprétation et au besoin de la corriger !
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  20. #60
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Bonsoir fsmrel,

    Pardonnez-moi, je ne réponds pas directement à vos questions car je souhaitais préciser ce qui suit :

    Le point d’entrée de mon application sera toujours une édition que je possède.

    Supposons par exemple que j’enregistre dans mon application une édition originale (e1) d’une œuvre française en grand format (GF). J’enregistre ses caractéristiques propres. Potentiellement une édition étrangère (e2) de cette œuvre (traduite du français vers une autre langue) peut exister (GF ou poche). De même potentiellement il peut exister une édition française de la même œuvre en poche (e3) ou alors en GF (e4) mais d’un autre éditeur. Il est alors important de distinguer deux cas de figure :

    a) Je possède une édition liée (e2 ou e3 ou e4) à e1 (1 % des cas) : cette édition doit être enregistrée avec toutes ses caractéristiques propres (titre, éditeur, année parution, contributeur…), comme c’est le cas de toutes les éditions possédées. A l’affichage dans l’application, il devra m’être signalé qu’il existe une édition liée possédée que je peux afficher à son tour.

    b) Je ne possède pas l’édition liée (e2 ou e3 ou e4) à e1 (99 % des cas) : lors de l’enregistrement de l’édition que je possède, il s’agit seulement de faire référence à l’édition liée (e2 ou e3 ou e4) en notant son titre (si différent : titre VO), éditeur et année de parution. Je trouve ces références dans l’édition possédée généralement dans la page mentionnant le copyright. A l’affichage de l’édition possédée, il sera fait mention desdites références.

    Je ne sais pas si je parviens à décrire comme il faut ce que j’ai en tête, désolé

Discussions similaires

  1. Mld pour inventaire livre
    Par cold-apok dans le forum Schéma
    Réponses: 1
    Dernier message: 25/09/2007, 01h42
  2. [langage] Je cherche un bon livre ?
    Par Anonymous dans le forum Langage
    Réponses: 13
    Dernier message: 09/04/2003, 13h16
  3. [web] Cherche un conseil pour un livre perl-tk
    Par Anonymous dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 29/04/2002, 15h35
  4. Réponses: 2
    Dernier message: 17/03/2002, 19h00

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