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

  FORUM HardWare.fr
  Programmation

  [ORACLE] Type de données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ORACLE] Type de données

n°27490
shinji
Posté le 25-04-2001 à 14:24:48  profilanswer
 

J'ai besoin de stocker des chaînes de plus de 2000 caractères.
J'ai essayer le type LONG mais ça ne marche pas!
 
Auriez vous une idée?

mood
Publicité
Posté le 25-04-2001 à 14:24:48  profilanswer
 

n°27510
ddr555
Posté le 25-04-2001 à 15:07:40  profilanswer
 

des bourrins déclarent plusieurs colonnes de varchar2(2000).
sinon tu fais une table reliée où tu stockes un varchar2(2000) et un numéro de séquence, mais C lourd à gérer. sinon j'peux pas plus, j'ai jamais eu à stocker autant dans un champ

n°27518
shinji
Posté le 25-04-2001 à 15:16:07  profilanswer
 

En fait c'est pour stocker une chaîne qui contient des coordonnées de la forme :
012,452789,145.....125,145 qui constituent un polygone.
 
Dans ma table à chaque n° de polygone je stocke une chaîne qui m'indique les coordonnées du contour du polygone.
Jusqu'ici pas de problème, mais maintenant je doit stocker des ensembles de polygones donc avec bcp plus de points et ça dépasse 2000 caractères
Si t'as une autre idée??

n°27522
ddr555
Posté le 25-04-2001 à 15:22:07  profilanswer
 

ben c'est de faire une table avec un champ pour chaque coordonnée, C plus lent, mais c'est plus propre.

n°27534
shinji
Posté le 25-04-2001 à 15:43:55  profilanswer
 

J'y ai pensé aussi...
mais je suis pas sûr que ce soit plus propre parce que pour un polygone normal, j'ai qd même 36000 polygones qui sont en moyenne constitués de 400 coordonnées et ça doit aller jusqu'a 25000 au moins. Donc je te dit pas le nombre de lignes de la table. Déjà rien que 400*36000....
Non?

n°27544
Fred999
Rabat-joie
Posté le 25-04-2001 à 15:51:01  profilanswer
 

36000 * 400 = 14.4M lignes...
 
Bon, ça fait gros, mais ce sera toujours plus propre que de stocker des chaînes de 2000 caractères. Et si tu gères bien tes tablespace et tes index, ce ne sera pas trop long.
 
Sans compter que, pour le traitement, l'extraction dans un tableau sera bien plus aisée.

n°27551
shinji
Posté le 25-04-2001 à 15:55:58  profilanswer
 

Merci, je vais soumettre l'idée aux autorités compétentes.
Je ferais encore sûrement appel à vous pour les index et tablechezpaskoi.
 
Merci bcp!
:)

n°27556
ddr555
Posté le 25-04-2001 à 16:01:30  profilanswer
 

putain, des polygones à 400 côtés ...

n°27560
Fred999
Rabat-joie
Posté le 25-04-2001 à 16:09:52  profilanswer
 

Ouaip, ça fait peur... Sa table va taper dans les millions de lignes, il y a intérêt à assurer la purge!!!
 
Mais bon, mieux valent 100M lignes et un code tout simple que moins de lignes et une sale fonction d'extraction des données cuisinée et inmaintenable.
 
Enfin, c'est mon point de vue.

n°27565
shinji
Posté le 25-04-2001 à 16:17:03  profilanswer
 

Ce sont en fait les communes de la france et c'est précis comme pas possible!
 
Les coordonnées sont par ex: 123,456,789,987,654,321,123,456
Les points du polygones sont donc:
(123,456)(789,987)(654,321)(123,456)
D'où pour une commune il y a pas mal de point(ça marche), pour un département (c'est ce que j'essaye) c'est le tour de plusieurs communes donc plusieurs fois le nombre de points d'une commune. Sans parler des régions et encore moins de la france!!!

mood
Publicité
Posté le 25-04-2001 à 16:17:03  profilanswer
 

n°27571
shinji
Posté le 25-04-2001 à 16:18:56  profilanswer
 

Fred999>ma fonction est toute con: je récupère la ligne et par la fonction explode en php j'en fait un tableau. Ensuite la fonction polygone prend en paramètre ce tableau et le tour est joué :) c'est le cas de le dire!
:)

n°27572
ddr555
Posté le 25-04-2001 à 16:23:50  profilanswer
 

si y'a des regroupement, y'a des moyens pour organiser tout ça par hiérarchie. une bonne petite analyse avant permet d'y voir plus clair et de ne pas faire des conneries.

n°27580
shinji
Posté le 25-04-2001 à 16:38:06  profilanswer
 

Tu veut regrouper quoi?
Je pense pas que ce soit faisable ici, car la BDD des coordonnées nous viens de l'IGN et à mon avis, si c'était possible, ce serait déjà fait.
En plus, en y réfléchissant c'est impossible à réaliser. Il faudrait regarder les limites en commun entre les communes et en déduire le contour du département. Cela représenterait bcp trop de calcul. Et le temps d'attente sur internet :(
C'est sûr qu'au niveau analyse ce serait préférable. On ne garderait que les coordonnées des communes, on stockerai dans une autre table les n° des communes pour chaque département. Après il n'y aurait plus qu'a regarder quelles sont les coordonnées les communes qui ne sont pas en double pour un département et les tracer en live. Mais le "plus qu'a" ça en fait des calculs!!!
:(

n°27584
Fred999
Rabat-joie
Posté le 25-04-2001 à 16:58:15  profilanswer
 

Tu as une seule table avec un champ type de données (ville, commune, département...) ou plusieurs tables, une par type???
 
Ca peut aider...

n°27586
shinji
Posté le 25-04-2001 à 17:02:36  profilanswer
 

En fait, les données telles qu'on les a de l'IGN, c'est une table avec le n° de la commune le nom les coordonnées et le type (dept,commune,région) et d'autres champs moins importants.
Mais, en quoi ça aiderai?

n°27594
ddr555
Posté le 25-04-2001 à 17:21:17  profilanswer
 

A faire le truc le plus performant possible et le plus propre.
maintenant, si c'est pas possible ...  :cry:

n°27595
Fred999
Rabat-joie
Posté le 25-04-2001 à 17:22:40  profilanswer
 

shinji a écrit a écrit :

En fait, les données telles qu'on les a de l'IGN, c'est une table avec le n° de la commune le nom les coordonnées et le type (dept,commune,région) et d'autres champs moins importants.
Mais, en quoi ça aiderai?




 
Supposons que tu n'aies qu'une table.
 
Tu cherches les coordonnées d'un département, il y a 90000 communes en France et une centaine de départements... Tu vois la différence de taille entre les deux tables au niveau de la recherche.
 
Sachant que fonctionnellement, on n'est pas près de modifier le découpage régions/départements/communes...

 

[edit]--Message édité par Fred999--[/edit]

n°27596
shinji
Posté le 25-04-2001 à 17:23:15  profilanswer
 

Comment tu ferai avec des regroupements?
Explique un petit peu ta solution STP, peut être que ça m'apportera une piste.
 
Merci

n°27599
shinji
Posté le 25-04-2001 à 17:28:13  profilanswer
 

Ouais je vois ce que tu veut dire Fred, j'y ai songé.
Une table commune comme je fais jusqu'ici, aucun pbr
Une table pr les depts avec là un champ pour une coordonnées et donc plein de lignes par dept
De même pour les régions et la france.
C'est sûr que ça enlève un paquet de ligne. Il en restera qd même un bon 1/2 million!
Ce sera la solution retenue si je n'arrive pas à stocker des champs de plus de 2000 caractères.
 
Merci beaucoup!

n°27632
nonolemono
MD Rulezzzz
Posté le 25-04-2001 à 19:49:32  profilanswer
 

Putain, va falloir o/c ton duron 700 plus que 910 pour faire tourner ta BDD...je veux bien te preter le mien ahaha, jusqu'au 17 juin, apres, nvle carte mere, nvl o/c, et un putain de reseau !!!

n°27839
irulan
Posté le 26-04-2001 à 16:55:50  profilanswer
 

Attendez sous Oracle il y a un type de données pour stocker jusqu'à plus d'1 Go de données par enregistrement (si si il n'y a pas d'erreur c'est bien un GIGA que j'ai voulu écrire ;) )
En revanche je ne me souviens plus lequel c'est précisément, ce doit être BLOB ou LONG RAW.  
 
Mais si tu as accès à l'aide d'Oracle, vas vérifier, c'est sûr il existe un type de données dédié à ce genre de stockage d'info.

mood
Publicité
Posté le   profilanswer
 


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

  [ORACLE] Type de données

 

Sujets relatifs
heu... recherche idée de macro pour word pour récupérer des données[HTML] recuperer les donnees d'un SELECT MULTIPLE
tableau EXCEL sur ORACLE via JAVA[ASP, FoxPro] Acces a la base de donnees - URGENT
[VB6] Base de données avec références DAOInsertion d'une image en SQL / Oracle
Image sous OracleQuelqu'un s'y connait bien en Bases de données?
php et type radiorenommer (en mode ligne de commande) une base de données sous MYSQL ?
Plus de sujets relatifs à : [ORACLE] Type de données


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