Requête complexe : probable jointure externe - SQL/NoSQL - Programmation
Marsh Posté le 25-06-2007 à 09:43:10
Oh putain, la modélisation de bovin
Hormis l'horreur qu'est le modèle de la base (je reviens de chez le véto, mon chien s'est étouffé en vomissant), je ferais une requête de ce genre :
Code :
|
Marsh Posté le 25-06-2007 à 09:57:25
Le modèle de données est bizzare, car j'ai pas présenté le contexte. Il s'agit plus précisémment d'une base de données relatives aux inséminations bovines (lol !). J'ai simplifié le modèle, mais il y a de nombreuses règles de gestions particulières.
J'essaye ça, et je te dis le résultat.
Marsh Posté le 25-06-2007 à 10:10:08
Ouais, nan mais ça change rien que ce soit un MCD pour de l'insémination bovine, les bijoux de la soeur du pape ou une simple gestion de commandes.
Identifiant "elevage" présent à la fois dans la table "commende" et les tables filles "dose" : redondance = abération
2 identifiants de bovins dans une entête de commande = modèle figé à 1 ou 2 bovins par commande, avec obligation de passer par une jointure externe : abération
Doses réservées et doses achetées = même information, même structure. 2 tables pour ça = 3° abération
Marsh Posté le 25-06-2007 à 10:56:00
Nan, je suis désolé.
Il y a des nuances entre dose commandée et une dose reservée (une histoire de quotat). Et une dose est reliée à un élevage et non pas à une commande.
Pour le résultat, de la requête. La BD est pour le moment HS. Donc je peux pas te dire
Marsh Posté le 25-06-2007 à 11:04:21
(en l'occurence, là ton liens c'est sur le numéro du taureau, qui est de facto lié à un élevage j'imagine )
et c'est pas parcequ'il y a des propriétés en plus ou en moins que ça peut pas être les mêmes tables. tu peux tout à fait ajouter une CIF en 0,n pour compléter les deux cas.
Marsh Posté le 24-06-2007 à 20:07:19
Bonjour,
Je suis en stage et je suis bloqué sur une requête que je juge complexe.
Je travaille sur une base de données portant sur l'élevage de bovins.
Une commande est passé est passé et concerne un ou 2 taureaux. Je dois
rédiger une requête qui fourni le nom, le numéro de travail, le stock réservé,
le stock achat du taureau 1 et/ou du taureau 2.
Une dose est réservé et acheté par un élevage qui a passé la commande
Voici les tables (uniquement les données utiles)
Commande (
CDE_NUM -clé primaire-
ELV_NUCHEP -numéro de l'élevage = client
TAS_NUNATI_1 : N° du taureau 1 concerné par la commande
TAS_NUNATI_2 : N° du taureau 2 éventuellement concerné par la
commande)
Elevage
(ELV_NUCHEP -numéro de l'élevage = client
...
)
DoseAchatée
(ELV_NUCHEP -numéro de l'élevage = client
TAS_NUNATI : N° du taureau pour lequel l'achat de doses a été effectué
ACHAT_NBDOSE : Nb de doses achetés
...)
DoseReservée
(ELV_NUCHEP -numéro de l'élevage = client
TAS_NUNATI : N° du taureau pour lequel l'achat de doses a été effectué
ACHAT_NBDOSE : Nb de doses reservés
...)
Je suppose qu'il faut utiliser une jointure externe, mais j'ai du mal à
obtenir le résultat escompté.
Si vous pouviez m'aider à rédiger la requête, cela me serait très utile car je
ne peux pour le moment pas continuer mon travail
Merci