4 réponses
Je n'ai aucun lien en particulier, mais si tu as des questions, je peux toujours essayer d'y répondre.
pour le champ:
Est-ce qu'il contiendra uniquement des caractères ASCII ou bien aussi des caractères étendus (éàêôî... ?).
J'ai tendance à utiliser le type nvarchar.
Il supporte des chaînes jusqu'à 4000 caractères et accepte les caractères étendus (français, etc.).
Au fait, quelle version de SQL Server ? 6.5, 7 ou 2000 ?
Est-ce qu'il contiendra uniquement des caractères ASCII ou bien aussi des caractères étendus (éàêôî... ?).
J'ai tendance à utiliser le type nvarchar.
Il supporte des chaînes jusqu'à 4000 caractères et accepte les caractères étendus (français, etc.).
Au fait, quelle version de SQL Server ? 6.5, 7 ou 2000 ?
Si les champs ne contiennent strictement aucun caractères accentué, tu peux prendre varchar.
C'est une chaîne de taille variable, limitée à environ 8000 caractères.
char : chaîne ASCII de taille fixe.
varchar : chaîne ASCII de taille variable.
nchar : chaîne Unicode de taille fixe.
nvarchar : chaîne Unicode de taille variable.
L'inconvénient des chaînes de taille fixe est qu'elles prennent de la place sur disque même quand elles sont vides.
Dans la majorité des cas, varchar ou nvarchar sont plus avantageux.
PS: SQL Server 2000 est limité à des enregistrements de 8 ko. (C'est 2 Go sous Oracle et 1 Go sous Postgres, mais passons...).
Cela veut dire qu'une ligne dans une table ne peut pas dépasser 8 ko. Il faut bien en tenir compte dans la conception.
C'est une chaîne de taille variable, limitée à environ 8000 caractères.
char : chaîne ASCII de taille fixe.
varchar : chaîne ASCII de taille variable.
nchar : chaîne Unicode de taille fixe.
nvarchar : chaîne Unicode de taille variable.
L'inconvénient des chaînes de taille fixe est qu'elles prennent de la place sur disque même quand elles sont vides.
Dans la majorité des cas, varchar ou nvarchar sont plus avantageux.
PS: SQL Server 2000 est limité à des enregistrements de 8 ko. (C'est 2 Go sous Oracle et 1 Go sous Postgres, mais passons...).
Cela veut dire qu'une ligne dans une table ne peut pas dépasser 8 ko. Il faut bien en tenir compte dans la conception.
En fait, je dois déployer une base qui contiendra environ 100 000 points et la seule certitude est qu'elle sera sous SQL Server d'où mon intérêt pour tout ce qui concerne ce SGBD.
Je n'ai donc pas de question particulière si ce n'est que pour créer un champ de 100 caractères par exemple je pensais mettre un champ de type nchar avec 100 et il me bloque mon champ à 20 caractères ...