Précédent   Forum des professionnels en informatique > Bases de données > Firebird > Débuter
Débuter Forum d'entraide pour débuter avec Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/07/2004, 16h32   #1
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
Par défaut pb de type de données


Bonjour
mon pb est le suivant:
j'ai deux tables
Filères et Plages_de_Numero
pour chaque filières correspond une plage de numéro
et les bornes limites pour l'ensemble des plages est [1..10999].
exemple:

pour Automobile---> on a la plage suivante [1..100]
Agriculture--> on a la plage suivante [101..206]
...........-->.......................
voici donc ce que je fais:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE DOMAIN INTERVALLE AS INTERGER
CHEK (VALUE BETEWEEN 1 AND 10999)
);
 
CREATE TABLE FILIERES
(
    NUMERO_FIL  VARCHAR(5) NOT NULL,                                                                         
    LIBELLE      VARCHAR(80) NOT NULL,                                                                     
    NUMERO_ICS  INTEGER,                                                                      
    PRIMARY KEY (NUMERO_FIL)
);
 
CREATE TABLE PLAGE_DE_NUMERO 
    NUMERO_PLAGE VARCHAR(3) NOT NULL,
    PLAGE INTERVALLE,
    PRIMARY KEY (NUMERO_PLAGE)
);
 
ALTER TABLE FILIERES
ADD FOREIGN KEY (NUMERO_PLAGE) REFERENCES PLAGE_NUMERO;
maintenant voici mon pb

je veux inserrer dans la table PLAGE_DE_NUMERO et
je ne sais plus comment definir une autre plage a l'interieur de la
première plage(celle définit dans dans le domaine)
j'ai opté pour cette manière pour la plage de la filière Automobile
par exemple:

Code :
1
2
3
INSERT INTO PLAGE_DE_NUMERO
(NUMERO_PLAGE,PLAGE);
VALUES(12,[1..100]);
es ce que cela est faisable ? sinon aidez moi s'il vous plait
je suis ouvert à toutes les solutions
merci.

Edité par Barbibulle :
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2004, 17h02   #2
Membre actif
 
Inscription : juin 2002
Messages : 379
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 379
Points : 168
Points : 168
Comprends pas bien votre pb ???

Ou en tout cas, le peu que j'y comprenne, c'est que vous voulez avoir un tableau comme plage de donnee ?
Un tableau d'INTEGER qui comporterait les valeurs [0,1,2,3,...,100] pour automobile, [101,102,103,...,206] pour l'agriculture, ...
Mais je ne vois pas non plus la finalite du pb.
Detaillez un peu svp pour qu'on puisse avancer.
kase74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2004, 17h24   #3
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
en fait il s'agit de faire correspondre a chaque filiéres une plages de numéro:
exemple j'ai la filière Agriculture et dans cette filière on ne peut attribuer
à un produit agricoles q'un numéro compris entre 100 et 124.
donc en inserrant ma plage Agriculture je ne dois mentonner que la plage est compris entre 100 et 124.
voici donc ce que je veux avoir
fillières plages
contruction 254-354
agricultures 355-487
cosmetiques 488-587
................ ...........
merci
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2004, 18h06   #4
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
en faite c'est comme ça

fillières plages
contruction 254-354
agricultures 355-487
cosmetiques 488-587
................ ...........
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2004, 18h08   #5
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
escusez moi pour la mise en forme du texte
il y a deux tableaux
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2004, 10h46   #6
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Pourquoi vous ne définissez pas tout simplement une colonne minimum et une colonne maximum dans votre table filière ?
avec éventuellement une contrainte CHECK du type minimum>0 et maximun<11000 et pourquoi pas un trigger before insert/update qui vérifie que minimum<=Maximum ??
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2004, 11h51   #7
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
je crois que c'est bien ça la solution
merci une fois de plus encore
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h44.


 
 
 
 
Partenaires

Hébergement Web