1 pièce(s) jointe(s)
[Oracle] fichier de sortie et modèle de données
salut à tous,
je rencontre actuellement un problème de conception pour extraire des données depuis une base de données Oracle.
le fichier texte de sortie que je souhaite obtenir est le suivant :
Pièce jointe 6110
et mon modèle de données :
Pièce jointe 6111
le problème est que je n'arrive pas à créer les champs "Capture espèce 1", "Fréquence longueur=5cm"...
du moins techniquement, je ne vois pas bien comment faire car par le biais d'une jointure, j'obtiens une ligne pour chaque espèce....
s'il n'existe pas de technique adaptée, alors peut-être que la structure de la base de données est à revoir.
je suis prêt à recevoir vos avis car là je bloque
merci d'avance
jeremie
explication du modèle de données
effectivement, je n'ai pas été très clair. d'autre part, j'ai réduit le modèle aux seules données permettant d'expliquer le problème.
le projet étudie les activités de bâteaux de pêches ainsi que la description des captures effectuées.
- la table embarcation représente les différents voyages effectués par un bâteau (date de départ, nom du patron, port de départ, port de retour...)
exemple :
Code:
1 2 3
| embarcation - voyage - depart - patron
1 1 13/12/2006 joel
1 2 13/12/2006 joel |
- la table activités identifie décrit les différentes étapes du voyage. un numéro d'activité correspond à : navigation, recherche de bancs de poisson, capture...
ensuite, chaque activité est décrite par latitude de départ, température de la surface de la mer...
Code:
1 2 3 4
| embarcation - voyage - depart - activite
1 1 13/12/2006 1 (navigation)
1 1 13/12/2006 2 (recherche)
1 1 13/12/2006 3 (capture) |
- la table espèces capturées identifie les différentes espèces capturées lors d'une activité (en réalité cette table ne concerne que l'activité capture...) et le nombre de poissons par espèce
Code:
1 2 3
| embarcation - voyage - depart - activite - code espece - capture
1 1 13/12/2006 3 (capture) 1 500
1 1 13/12/2006 3 (capture) 3 1000 |
- la table tailles répertorie pour chaque espece, la distribution des poissons selon l'espece et leur longueur
Code:
1 2 3 4 5 6 7
| embarcation - voyage - depart - activite - code espece taille quantite
1 1 13/12/2006 3 (capture) 1 5 50
1 1 13/12/2006 3 (capture) 1 10 250
1 1 13/12/2006 3 (capture) 1 12 200
1 1 13/12/2006 3 (capture) 3 5 150
1 1 13/12/2006 3 (capture) 3 10 200
1 1 13/12/2006 3 (capture) 3 12 150 |
maintenant je souhaite obtenir toutes les infos du voyage sur la même ligne :
embarcation - voyage - depart - activite espece taille = 5 taille = 10
1 1 13/12/2006 3 (capture) 1 50
50 250
merci pour votre aide
modele de données trop lourd ?
Citation:
Ton modèle est un peu "lourd", car tu constitue les clés de tes tables "filles" avec la clé étrangère de la table mère plus un autre champ, ce qui fait des structures assez volumineuses
ok mais je ne vois pas comment l'alléger ?
à noter que j'ai allégé le modèle pour exposer mon problème et que chaque table possède au moins 5 champs autres que la clé.
validation du modèle de données
effectivement, mon modèle actuel ne respecte pas les normes Merise.
je vais ajouter une clé numérique sans signification fonctionnelle dans chaque table.
existe t-il des outils de validation de modèle de données qui vérifient la 3eme forme normale, les préconisations MERISE en général ?
d'autre part, que préconises-tu pour la mise en forme de données ?
--> XO, merci pour toutes tes indications
Cosmétique - mise en forme du résultat d'une requête
salut à tous,
je rencontre un problème de mise en forme du résultat d'une requête que voici :
Code:
1 2 3 4 5 6 7
| embarcation - voyage - depart - activite - code espece taille quantite
1 1 13/12/2006 3 (capture) 1 5 50
1 1 13/12/2006 3 (capture) 1 10 250
1 1 13/12/2006 3 (capture) 1 12 200
1 1 13/12/2006 3 (capture) 3 5 150
1 1 13/12/2006 3 (capture) 3 10 200
1 1 13/12/2006 3 (capture) 3 12 150 |
maintenant je souhaite obtenir toutes les infos du voyage sur la même ligne :
Code:
1 2
| embarcation - voyage - depart - activite - total espece 1 - qte espece 1 taille = 5 - qte espece 1 taille = 10
1 1 13/12/2006 3 (capture) 500 50 250 |
il n'est pas recommandé d'utiliser SQL pour cela mais je ne vois pas quel outil utiliser pour résoudre mon problème...
merci pour votre aide