Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1486 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Modélisation d'une base pour accès optimisé en lecture

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modélisation d'une base pour accès optimisé en lecture

n°1042531
KeyTronic
Posté le 11-04-2005 à 00:45:25  profilanswer
 

Bonsoir,
j'ai besoin de modéliser une base avec la problématique suivante :
 
dans un ensemble d'une centaine de numéros distincts , on en sélectionne une trentaine chaque jour (ce nombre est fixe). Chaque sélection doit être sauvegardée dans une table à partir de laquelle on fera des statistiques dessus.
 
Les contraintes concernant cette modélisation sont les suivantes :
1. la trentaine de numéros doivent être différents les uns des autres.
2. on ne fera que des select sur la table concernant les sélections, pas d'update ni de delete.
3. les sélections provenant d'un lot dts, avec possibilité de non respect sur la contrainte 1, je dois vérifier que chaque sélection comporte 30 numéros distincts.
 
Comment pourrais-je modéliser cette base de façon à ce la lecture soit la plus rapide possible sous SqlServer 2000 ?
 
Merci pour vos réponses.

mood
Publicité
Posté le 11-04-2005 à 00:45:25  profilanswer
 

n°1043418
Arjuna
Aircraft Ident.: F-MBSD
Posté le 11-04-2005 à 21:01:55  profilanswer
 

select top 30 numero from latabledesnumeros order by random
 
sauf que je me souviens que c'est un peu plus compliqué, mais dans l'espris, c'est ça. ca résoud ta première contrainte simplement déjà.
pour la seconde... ben voilà...
pour la dernière, j'ai rien pigé.

n°1043436
KeyTronic
Posté le 11-04-2005 à 21:18:49  profilanswer
 

heu ... c'est pas tout à fait d'une requête dont j'ai besoin mais de modéliser ces intités.
 
1. je vais pas faire une requête sur une table alors que je ne sais pas encore quelles tables je vais créer (c'est le but de ma question).
2. quand je dis pas d'update, ni delete mais uniquement des select c'est pour dire que ça ne pose pas de problème de mettre plein d'index partout pour optimiser les requêtes de sélection (et donc parfois au détriment des insertions et updates).
3. la dernière contrainte, c'était pour savoir ce qu'il fallait mettre comme contraintes sur les tables pour vérifier que les enregistrements insérés sont corrects,  étant donné que les données importées peuvent contenir des erreurs (je les importe via dts, à partir d'un fichier qu'on me fournit).

n°1043458
Arjuna
Aircraft Ident.: F-MBSD
Posté le 11-04-2005 à 21:30:25  profilanswer
 

réexplique, parceque j'ai RIEN compris j'ai l'impression.
 
t'as quoi comme tables ?
tes 100 numéros, ils sont où ? ils servent à quoi ? on doit en faire quoi des 30 ?

n°1043459
Arjuna
Aircraft Ident.: F-MBSD
Posté le 11-04-2005 à 21:31:22  profilanswer
 

pour le 3, une contrainte d'unicité sur les numéros permet de vérifier qu'il n'y a pas de doublons.
mais vu que j'ai toujours pas compris ce que tu fais de ces numéros...

n°1043464
KeyTronic
Posté le 11-04-2005 à 21:34:45  profilanswer
 

Arjuna a écrit :


t'as quoi comme tables ?
 
justement, c'est ce que je cherche à modéliser ! pour l'instant je ne sais pas quelles tables je vais créer pour insérer toutes ces données.
 
 
tes 100 numéros, ils sont où ? ils servent à quoi ? on doit en faire quoi des 30 ?
 
ces 100 numéros proviennent d'un fichier de données que je dois importer, sachant qu'il n'y en a que 30 par enregistrement.
Je les importe via dts, tu sais ce que c'est ?


n°1043609
Arjuna
Aircraft Ident.: F-MBSD
Posté le 11-04-2005 à 23:26:16  profilanswer
 

oui, je sais ce que c'est que DTS, mais ce que je ne comprends pas, c'est ce que tu veux faire avec.
 
parceque si tu dois simplement importer des lots de 30 numéros, en vérifiant qu'ils sont systématiquement uniques, c'est tout bête :
 
tu crées une table "numeros" avec un champ unique "numero", qui est PK (et donc unique).
et tu importe bêtement tous tes numéros dedans.
 
si l'unicité ne doit porter que sur les 30 numéros de chaque lots (uniques au sein d'un lot, mais non uniques d'un lot à l'autre), alors dans "numeros", tu ajoutes un champ "lot" qui va contenir un nombre différent pour chaque lot (1, 2, 3, 4, ...) - ou un champ de type date, avec la date du lot, comme tu veux, on s'en fout -, que tu fait participer à la PK (donc unicité sur le coupe "numero,lot" ).
 
et zou.
 
de ce que je comprend de ton schmilblik, c'est simple comme choux.


Message édité par Arjuna le 11-04-2005 à 23:26:39
n°1043622
KeyTronic
Posté le 11-04-2005 à 23:54:30  profilanswer
 

Sauf que le modèle n'est pas génial pour les performances.
Je créerai une table de lot avec un id comme PK + un champ date associé, et une table de numéros avec un numéro comme PK et une table de jointure entre les 2 qui contiendrait l'association entre les numéros et le numéro de lot.
 
Il y aura 3 tables et non 1 table.
C'est p.e simple comme choux, mais ce que je voulais c'était le meilleur choix possible vis-à-vis des performances.
Ta proposition ne va pas dans ce sens, mais merci quand même ...

n°1043674
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-04-2005 à 08:34:42  profilanswer
 

Euh... Amuse-toi à faire des tests hein...
 
Parceque 3 tables dont une de correspondance, qui va contenir rigoureusement les mêmes informations que mon unique table, j'ai un peu de mal à concevoir ta notion d'optimisation.
 
A part ça, si tu crois avoir la solution, je me demande bien pourquoi tu postes ta question si ce n'est pour pas tenir compte des réponses qu'on te donne.
 
Enfin bref. Débrouille-toi tout seul, ou alors poste au moins une bonne fois pour toute l'énnoncé de ton problème de TP (parceque c'est tellement biscornu, et t'as l'air tellement hardi que je ne vois que le TP comme explication possible).

n°1043680
gizmo
Posté le 12-04-2005 à 08:43:54  profilanswer
 

pour une fois, je plussoie arjuna :/

mood
Publicité
Posté le 12-04-2005 à 08:43:54  profilanswer
 

n°1043817
KeyTronic
Posté le 12-04-2005 à 10:27:25  profilanswer
 

Arjuna a écrit :

Euh... Amuse-toi à faire des tests hein...
 
Parceque 3 tables dont une de correspondance, qui va contenir rigoureusement les mêmes informations que mon unique table, j'ai un peu de mal à concevoir ta notion d'optimisation.
 
A part ça, si tu crois avoir la solution, je me demande bien pourquoi tu postes ta question si ce n'est pour pas tenir compte des réponses qu'on te donne.
 
Enfin bref. Débrouille-toi tout seul, ou alors poste au moins une bonne fois pour toute l'énnoncé de ton problème de TP (parceque c'est tellement biscornu, et t'as l'air tellement hardi que je ne vois que le TP comme explication possible).


 
Je poste une question pour avoir la meilleure réponse possible, ce qui est loin d'être ta réponse.
 
Tu sais ce que c'est que l'optimisation ?
Le but de ma question était quel modèle ? quels index poser ? clusterded ? non clustered ? en fonction du modèle évidemment ...
 
et toi, tu me sors une requête ... si t'as pas le niveau pour comprendre la question, n'y réponds pas !
 
Vu ton niveau, je me débrouillerai sans toi, mais merci quand même ! ;-)

n°1043823
KeyTronic
Posté le 12-04-2005 à 10:31:36  profilanswer
 

KeyTronic a écrit :

Bonsoir,
j'ai besoin de modéliser une base avec la problématique suivante :
 
dans un ensemble d'une centaine de numéros distincts , on en sélectionne une trentaine chaque jour (ce nombre est fixe). Chaque sélection doit être sauvegardée dans une table à partir de laquelle on fera des statistiques dessus.
 
Les contraintes concernant cette modélisation sont les suivantes :
1. la trentaine de numéros doivent être différents les uns des autres.
2. on ne fera que des select sur la table concernant les sélections, pas d'update ni de delete.
3. les sélections provenant d'un lot dts, avec possibilité de non respect sur la contrainte 1, je dois vérifier que chaque sélection comporte 30 numéros distincts.
 
Comment pourrais-je modéliser cette base de façon à ce la lecture soit la plus rapide possible sous SqlServer 2000 ?
 
Merci pour vos réponses.


 

Citation :

select top 30 numero from latabledesnumeros order by random


 
Toi, t'es un mec hardi, tu comprends vite c'est sur ! ;-)

n°1043835
sircam
I Like Trains
Posté le 12-04-2005 à 10:37:33  profilanswer
 

KeyTronic a écrit :

Je poste une question pour avoir la meilleure réponse possible, ce qui est loin d'être ta réponse.


Je crois qu'il a fait de son mieux sur base de tes explications pas très claires. Je me suis moi-même perdu en hypothèses en lisant ce topic.
 

KeyTronic a écrit :

Tu sais ce que c'est que l'optimisation ?


[:rofl]
Tu ne sais manifestement pas à qui tu parles!
 

KeyTronic a écrit :

si t'as pas le niveau pour comprendre la question, n'y réponds pas !


[:xx_xx]
Encore plus fort !
 

KeyTronic a écrit :

Vu ton niveau, je me débrouillerai sans toi, mais merci quand même ! ;-)


[:wc-net]
Si lui n'a pas le niveau requis, peu de personnes ici l'ont... Ta question vole sans doute bcp trop haut.
 


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1043902
KeyTronic
Posté le 12-04-2005 à 11:09:45  profilanswer
 

Ce que je reproche, c'est le ton de sa réponse.
 
Ma démarche était de chercher le meilleur modèle possible, et lui me sort une requête ! et me redemande combien de tables j'ai en base ?
 
Il est décidément trop bon pour se permettre après de répondre avec un ton qui frise le mépris ...
 
Si peu de personnes ici ont le niveau pour répondre, tant pis.
 
Merci quand même !

n°1043924
sircam
I Like Trains
Posté le 12-04-2005 à 11:23:58  profilanswer
 

KeyTronic a écrit :

Ce que je reproche, c'est le ton de sa réponse.


Et pas seulement ça, manifestement.
 

KeyTronic a écrit :

Ma démarche était de chercher le meilleur modèle possible, et lui me sort une requête ! et me redemande combien de tables j'ai en base ?


Il t'a fait une proposition, tu n'en tiens pas compte, il se demande à quoi bon, rien d'étonnant. [:airforceone]
Compte tenu de la formulation alambiquée de ta demande initiale...
 

KeyTronic a écrit :

Il est décidément trop bon pour se permettre après de répondre avec un ton qui frise le mépris ...


Tu pousses un peu. C'est pas trop son genre. En matière de réponse méprisante, tu t'es pas mal débrouillé.
 

KeyTronic a écrit :

Si peu de personnes ici ont le niveau pour répondre, tant pis.


Tu te la joue, hein ? Ne te remets surtout pas en cause. Plusieurs personnes te disent ne pas comprendre ta question, te proposent de reformuler et tu ne prends pas la peine de d'y répondre.


Message édité par sircam le 12-04-2005 à 11:24:35

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1043947
KeyTronic
Posté le 12-04-2005 à 11:38:57  profilanswer
 

Après m'avoir sorti une requête sur un modèle, et après lui avoir réexpliqué ce que je voulais, il me file une réponse en disant "mets tout ton shmilblik dans une table ! c'est bête comme choux !".
 
Sil se la jouait pas autant, je lui aurais expliqué ce que c'est que des formes normales dans une SGBD.
 
Concernant les optimisations, je ne sais pas à qui je parle ? Lol ! trouves moi un endroit où il parle de clustered index sur des PK et éventuellement de non-clustered index sur d'autres champs si besoin était d'en rajouter ?
 
Allez, on va s'arrêter là.
Je n'ai pas le niveau pour comprendre vos explications, vous êtes trop balèzes ... ;-)
 
Ca ne sert à rien de continuer dans ce sens.
 
Merci quand même pour toutes vos réponses.

n°1043956
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-04-2005 à 11:42:45  profilanswer
 

KeyTronic > Euh. Y'a un problème quand même là...
 
Hier, je tombe sur ce topic, auquel je comprend vaguement que t'as un problème avec des des numéros dans des tables, rien de concret, aucun élément permettant de comprendre la problématique (avant de songer à la base de données, pense à faire l'analyse du problème, si dans ta tête c'est aussiobscure que dans ton énoncé, tu ne pourras jamais faire un truc correct).
 
Partant sur l'hypothèse que c'est pas un problème de conception (parceque je ne vois pas où il y a la moindre problématique de conception là-dedans...), je me dit que t'as un souci de requête, d'où ma réponse.
 
Ensuite, tu me dit que c'est pas ça. Le ton sur lequel tu me le dit ma fait tiquer, mais bon, après-tout, quand on attends une réponse et qu'on lit quelquechose à côté de la plaque, c'est agaçant, je comprends bien.
 
Je te répond alors hier soir ma façon de voir la modélisation. Entre la merde que tu proposes et ma solution, la mienne est meilleure, si t'arrive pas à comprendre ça, réfléchit un peu plus, franchement, c'est pas compliqué : mon unique table contient rigoureusement les mêmes infos que ta table de correspondance... Alors je fois pas l'intérêt de rajouter les deux autres tables (surtout la table contenant la liste des numéros, c'est total n'importe quoi).
 
Et ce matin, je me réveille la tête dans le paté, et qu'est-ce que je lis ? Que tu m'envoies chier (à ce moment, je te rappelle, j'étais le seul a avoir pris le temps d'essayer de comprendre ta soupe au charabia et tenté d'y apporter une réponse, ça mérite au moins le respect), en me sortant que tu as LA solution (ben alors pourquoi tu poses une question ?) et qu'elle est donc forcément meilleur que la mienne, que tu n'as manifestement même pas pris le temps de lire complètement (ou comprendre).
 
Alors ouais, excuse-moi du peu, mais j'avais des raisons de te répondre sèchement, tout comme je le refais maintenant.

n°1043963
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-04-2005 à 11:47:55  profilanswer
 

KeyTronic a écrit :

Après m'avoir sorti une requête sur un modèle, et après lui avoir réexpliqué ce que je voulais, il me file une réponse en disant "mets tout ton shmilblik dans une table ! c'est bête comme choux !".
 
Sil se la jouait pas autant, je lui aurais expliqué ce que c'est que des formes normales dans une SGBD.
 
Concernant les optimisations, je ne sais pas à qui je parle ? Lol ! trouves moi un endroit où il parle de clustered index sur des PK et éventuellement de non-clustered index sur d'autres champs si besoin était d'en rajouter ?
 
Allez, on va s'arrêter là.
Je n'ai pas le niveau pour comprendre vos explications, vous êtes trop balèzes ... ;-)
 
Ca ne sert à rien de continuer dans ce sens.
 
Merci quand même pour toutes vos réponses.


t'es con ou quoi ?
dans ta base, t'as besoin de deux champs :
- numéro
- lot (que ce soit un numéro de lot, une date, ou ce que tu veux, on s'en fout)
 
Je te dis de les mettre dans une table, et faire une PK dessus.
 
Si tu connaissait un peu SQL Server 2000, tu saurais qu'une PK est par défaut indexée en cluster.
Ensuite, vu que t'as ça comme champs dans ta table (et même ta base), je vois pas l'intérêt de faire d'autres index... Si ?
 
PS: et pour définir des index, il faut encore savoir à quoi sert à la base, on ne met pas les mêmes index selon les informations recherchées, et encore moins sur la façon de les rechercher...
 
Bref, avant de me prendre pour un con, fait le ménage devant ta porte stp.

n°1043968
KeyTronic
Posté le 12-04-2005 à 11:52:44  profilanswer
 

Citation :

Bonsoir,
j'ai besoin de modéliser une base avec la problématique suivante :


 
Et le titre "Modélisation d'une base avec accès optimisé en lecture"
 

Citation :

t'es con ou quoi ?


pour le con, je crois que tu réponds parfaitement à la définition...
 
Mais si tu peux rester poli, ce serait encore mieux ... ;-)

n°1043974
KeyTronic
Posté le 12-04-2005 à 11:56:55  profilanswer
 

Brave garçon, faut savoir se contrôler ...

n°1044025
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-04-2005 à 12:21:14  profilanswer
 

Ben déjà, ce titre ne veux rien dire. Alors à partir de là...
 
J'essaie de rester poli, mais au bout d'un moment, ça devient difficile. Reconnais au moins tes erreurs et ton incompétence au lieu de me (nous) prendre pour de la merde. Si t'étais un génie, tu n'aurais pas besoin de conseil.
Quant à ta base, tu pourras rien optimiser pour quoi que ce soit, si tu fais comme je te dis, tu ne pourras pas faire mieu, point.
 
Je me demande bien pourquoi je me fatigue encore à te répondre.

n°1044142
KeyTronic
Posté le 12-04-2005 à 13:36:52  profilanswer
 

Tu as raison, ne te fatigues pas.
Si je pose des questions, c'est parce-que je ne me prends pas pour un crack.
 
Mais quand on sort une requête sur un besoin de modélisation, et sur un ton méprisant, ben c'est pas la peine non plus.

n°1044233
sircam
I Like Trains
Posté le 12-04-2005 à 14:33:07  profilanswer
 

[:iansolo]
 
[:dahlia_noir]
 
D'autres questions ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1044238
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-04-2005 à 14:34:14  profilanswer
 

lol, déjà, la requête, je n'en ai pas reparlé depuis mon premier post. ensuite, je n'ai pas été méprisant jusqu'à ce que tu me sortes ta science infuse sur des domaines que tu ne maîtrise visiblement pas du tout (que ce soit la modélisation - la dénormalisation, tu connais ? - ou SQL Server)
 
bref, arrête de tout mélanger, et ne t'étonnes pas si je suis le seul a bien avoir voulu perdre mon temps à te répondre. tu ne risques pas d'avoir d'autres réponses maintenant.
 
pour info, si même gizmo, avec qui j'ai un léger différent ancien et permanant, s'est arraché la bouche à dire qu'il était d'accord avec moi, je doute qu'une seule autre personne de ce forum ne vienne perdre son temps ici.

n°1044242
sircam
I Like Trains
Posté le 12-04-2005 à 14:37:10  profilanswer
 

Arjuna a écrit :

pour info, si même gizmo, avec qui j'ai un léger différent ancien et permanant, s'est arraché la bouche à dire qu'il était d'accord avec moi, je doute qu'une seule autre personne de ce forum ne vienne perdre son temps ici.


Outre les fadas dans mon genre qui viennent jeter de l'huile sur le feu et compter les points. En toute impartialité :D
 
Parle-nous de ce différend avec gizmo. Il est peut-être temps de vous réconcilier.  :sol:  


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1044248
KeyTronic
Posté le 12-04-2005 à 14:40:07  profilanswer
 

c'est pas grave, vu la qualité des réponses et le ton utilisé, je ne perds rien.

n°1044259
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-04-2005 à 14:45:33  profilanswer
 

sircam a écrit :

Outre les fadas dans mon genre qui viennent jeter de l'huile sur le feu et compter les points. En toute impartialité :D
 
Parle-nous de ce différend avec gizmo. Il est peut-être temps de vous réconcilier.  :sol:


chais pus moi :D
 
j'avais du dire une énormité en C++ ou Java, ou même pire, dire que le C et le C++ c'était pareil :D
 
ça c'est des truc que je maîtrise pas du tout, et je déteste ces langages, donc je fais aucun effort :D
 
mais c'est peut-être autrechose, je sais plus du tout (lui non plus je pense) ;)


Message édité par Arjuna le 12-04-2005 à 14:45:57
n°1045362
cinocks
Posté le 13-04-2005 à 09:13:25  profilanswer
 

Apres lecture du probleme, la solution d'Arjuna est bonne.
 
Moi je propose afin de reduire encore le nombre d'enregistrements dans la table de consultation courante la solution suivante.
 
Une premiere table avec ton perimetre (les 100 enregistrements de depart)
Une seconde table où l'on retrouvera uniquement la selection du jour (les 30 enregistrements differents)
Une troisieme table historique avec la selection du jour associé à la date. Elle te serivra pour les stats.
 
Apres pour l'alimentation des tables, tu dois savoir faire.
 


---------------
MZP est de retour
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Modélisation d'une base pour accès optimisé en lecture

 

Sujets relatifs
Bloquer l'accès à un dossier SANS Htaccesslogin avec acces creation repertoir et upload
[C#.NET]logiciel GNU et acces a une base de données fichier ?Connexion base 4D
solution pour probleme d´applet signé mais sans accés disque ou socketProbleme d'acces a mon site [urgentissime]
Requêtes SQL sur une base de données ACCESS en réseau ?Exportation automatique d'une base de données Mysql
Contrôle/fonctions Windows utilisant la base de données TZ 
Plus de sujets relatifs à : Modélisation d'une base pour accès optimisé en lecture


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR