Précédent   Forum des professionnels en informatique > Bases de données > Firebird > Outils
Outils Forum d'entraide sur les outils tiers pour 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 28/06/2005, 15h17   #1
BVK
Invité régulier
 
Inscription : février 2004
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 30
Points : 9
Points : 9
Par défaut IBConsole - MetaData

Question à 2 Euros...

Je recrée la base qu'un autre développeur à fait. Lorsque je crée une table voilà ce que j'obtiens dans le MetaData :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
CREATE TABLE "ACCIDENT" 
(
  "ACCIDENT_ID"	INTEGER DEFAULT 0 NOT NULL,
  "SALARIE_ID"	INTEGER DEFAULT 0 NOT NULL,
  "TYPEEMPLOI_ID"	INTEGER DEFAULT 0 NOT NULL,
  "CATEGORIE_ID"	INTEGER DEFAULT 0 NOT NULL,
  "AXE2_ID"	INTEGER DEFAULT 0 NOT NULL,
  "CLIENT_ID"	INTEGER DEFAULT 0 NOT NULL,
  "ACTIVITE_ID"	INTEGER DEFAULT 0 NOT NULL,
  "TACHE_ID"	INTEGER DEFAULT 0 NOT NULL,
  "ACCIDENT_DATE"	DATE NOT NULL,
  "ACCIDENT_HEURE"	DATE,
  "ACCIDENT_TYPE"	INTEGER DEFAULT 0,
  "ACCIDENT_DAM"	DATE,
  "ACCIDENT_FAM"	DATE,
  "ACCIDENT_DPM"	DATE,
  "ACCIDENT_FPM"	DATE,
  "ACCIDENT_EQUIPE"	VARCHAR(100) CHARACTER SET ISO8859_1 COLLATE FR_FR,
  "ACCIDENT_CONTESTATION"	"T_YESNO",
  "ACCIDENT_CONTORIGINE"	INTEGER DEFAULT 0,
  "ACCIDENT_CONTDATE"	DATE,
  "ACCIDENT_CONTRESULTAT"	INTEGER DEFAULT 0,
  "ACCIDENT_INVTAUX"	NUMERIC(9, 0) DEFAULT 0,
  "ACCIDENT_IP"	INTEGER DEFAULT 0,
  "ACCIDENT_IPPDATE"	DATE,
  "ACCIDENT_IPTDATED"	DATE,
  "ACCIDENT_IPTDATEF"	DATE,
  "ACCIDENT_DECESDATE"	DATE,
  "ACCIDENT_CONSTATEORIGINE"	INTEGER DEFAULT 0,
  "ACCIDENT_CONSTATELE"	DATE,
  "ACCIDENT_CONSTATEHEURE"	DATE,
  "ACCIDENT_CONSTATEPAR"	INTEGER DEFAULT 0,
  "ACCIDENT_REGISTREDATE"	DATE,
  "ACCIDENT_TRANSPORTEA"	VARCHAR(100) CHARACTER SET ISO8859_1 COLLATE FR_FR,
  "ACCIDENT_TIERS"	"T_YESNO",
  "ACCIDENT_TIERSNOM"	VARCHAR(100) CHARACTER SET ISO8859_1 COLLATE FR_FR,
  "ACCIDENT_TIERSPRENOM"	VARCHAR(100) CHARACTER SET ISO8859_1 COLLATE FR_FR,
  "ACCIDENT_TIERSADRESSE"	VARCHAR(100) CHARACTER SET ISO8859_1 COLLATE FR_FR,
  "ACCIDENT_TIERSASSURANCE"	VARCHAR(100) CHARACTER SET ISO8859_1 COLLATE FR_FR,
  "ACCIDENT_TEMOIN"	"T_YESNO",
  "ACCIDENT_DESCRIPTIF"	BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1,
  "ACCIDENT_NOTES"	BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1,
  "ACCIDENT_DOSSIERNO"	VARCHAR(10) CHARACTER SET ISO8859_1 COLLATE FR_FR,
  "ACCIDENT_MISSION"	"T_YESNO",
  "ACCIDENT_ARRET"	"T_YESNO",
CONSTRAINT "PK_ACCIDENT" PRIMARY KEY ("ACCIDENT_ID")
);
SET TERM ^ ;
et voilà ce qu'il obtenait :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
CREATE TABLE ACCIDENT 
(
  ACCIDENT_ID	INTEGER NOT NULL,
  SALARIE_ID	INTEGER,
  TYPEEMPLOI_ID	INTEGER,
  CATEGORIE_ID	INTEGER,
  AXE2_ID	INTEGER,
  CLIENT_ID	INTEGER,
  ACTIVITE_ID	INTEGER,
  TACHE_ID	INTEGER,
  ACCIDENT_DATE	TIMESTAMP,
  ACCIDENT_HEURE	TIMESTAMP,
  ACCIDENT_TYPE	INTEGER,
  ACCIDENT_DAM	TIMESTAMP,
  ACCIDENT_FAM	TIMESTAMP,
  ACCIDENT_DPM	TIMESTAMP,
  ACCIDENT_FPM	TIMESTAMP,
  ACCIDENT_EQUIPE	VARCHAR(100),
  ACCIDENT_CONTESTATION	T_YESNO,
  ACCIDENT_CONTORIGINE	INTEGER,
  ACCIDENT_CONTDATE	TIMESTAMP,
  ACCIDENT_CONTRESULTAT	INTEGER,
  ACCIDENT_INVTAUX	FLOAT,
  ACCIDENT_IP	INTEGER,
  ACCIDENT_IPPDATE	TIMESTAMP,
  ACCIDENT_IPTDATED	TIMESTAMP,
  ACCIDENT_IPTDATEF	TIMESTAMP,
  ACCIDENT_DECESDATE	TIMESTAMP,
  ACCIDENT_CONSTATEORIGINE	INTEGER,
  ACCIDENT_CONSTATELE	TIMESTAMP,
  ACCIDENT_CONSTATEHEURE	TIMESTAMP,
  ACCIDENT_CONSTATEPAR	INTEGER,
  ACCIDENT_REGISTREDATE	TIMESTAMP,
  ACCIDENT_TRANSPORTEA	VARCHAR(100),
  ACCIDENT_TIERS	T_YESNO,
  ACCIDENT_TIERSNOM	VARCHAR(100),
  ACCIDENT_TIERSPRENOM	VARCHAR(100),
  ACCIDENT_TIERSADRESSE	VARCHAR(100),
  ACCIDENT_TIERSASSURANCE	VARCHAR(100),
  ACCIDENT_TEMOIN	T_YESNO,
  ACCIDENT_DESCRIPTIF	BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
  ACCIDENT_NOTES	BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
  ACCIDENT_DOSSIERNO	VARCHAR(10),
  ACCIDENT_MISSION	T_YESNO  DEFAULT 'F',
  ACCIDENT_ARRET	T_YESNO  DEFAULT 'F',
CONSTRAINT PK_ACCIDENT PRIMARY KEY (ACCIDENT_ID)
);
SET TERM ^ ;
Ayant un certain sens du détail je me demande pourquoi mes noms de champs sont entre " " alors que les siens non?!?

Est ce que ça a son importance ou non?
BVK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2005, 17h44   #2
Membre éclairé
 
Inscription : décembre 2004
Messages : 379
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 379
Points : 304
Points : 304
sauf erreur dans ce cas, les deux sont equivalent dans ce cas.

les doubles quotes pemettent d'utiliser des noms en minucules, ainsi les 2 requêtes suivantes vont créer 2 tables différentes:
Citation:
create table "foo"( id integer )
et
Citation:
create table foo( id integer )
créeront 2 tables une nommée foo et l'autre FOO

voilà pour l'essentiel.

par prudence, toujours utiliser des noms de tables et champs en majuscules, sinon gare aux erreurs du genre "colonne inconnue" alors que le nom semble correct.

donc en résumé, évite de mettre les noms des tables et/ou colonnes entres "" cela t'economisera des cheveux blancs...
jean-jacques varvenne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2005, 18h02   #3
BVK
Invité régulier
 
Inscription : février 2004
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 30
Points : 9
Points : 9
Le truc c'est que j'écris :

Code :
CREATE TABLE ACCIDENT(...etc)
Je n'ai jamais utilisé le moindre "" dans mes requête

Quoi qu'il en soit, si plusieurs me confirment que celà n'a aucune importance alors je vais continuer à avancer dans ma base. Surtout que j'ai les mêmes "" dans mes TRIGGER, DOMAIN, PROCEDURE...etc

J'accumule vraiment les trucs étranges... mais comme on dit : "Lorsqu'on a fait toutes les erreurs possible c'est que l'on est devenu BON"
BVK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2005, 01h05   #4
Membre régulier
 
Inscription : décembre 2004
Messages : 142
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 142
Points : 76
Points : 76
En principe, lorsque tu récupères tes entités dans l'option "View Metadata" de IBConsole, tu obtiens les syntaxes suivantes :

Code :
1
2
3
4
5
6
 
CREATE TABLE "MA TABLE" 
(
  "CHAMP_1"	INTEGER NOT NULL,
  "CHAMP_2"	INTEGER,
 etc..
Semblable donc à ce que tu décris.

J'aurais le même conseil que Jean-Jacques Varvenne : pour éviter les problèmes, travaille toujours avec des majuscules.
Vulcanos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2005, 07h27   #5
BVK
Invité régulier
 
Inscription : février 2004
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 30
Points : 9
Points : 9
D'accord messieurs.

Bilan : rien de grave dans le fait d'avoir des "" dans mon View MetaData... seul point où faire attention toujours travailler en MAJUSCULES. Bon ça, j'avais compris, je l'avais lu avant de faire ma Base.

Merci à vous deux.
BVK 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 23h24.


 
 
 
 
Partenaires

Hébergement Web