Re: varchar et encodage

From: Francis Leboutte <f(dot)leboutte(at)algo(dot)be>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: varchar et encodage
Date: 2006-05-12 07:18:33
Message-ID: 7.0.1.0.2.20060512090528.023b77f0@algo.be
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

<html>
<body>
Le 12/05/2006 08:06, SOUCHARD Jean-Michel DSIC BI écrivait :<br><br>
<blockquote type=cite class=cite cite="">
<font face="Arial, Helvetica" size=2>Bonjour et félicitations pour
l'initiative! <br>
</font><br>
<font face="Arial, Helvetica" size=2 color="#0000FF"><i>&quot;varchar(n)
(alias de character varying) et char(n), n'ont que peu d'intérêt par
rapport à text qui permet de stocker des chaînes de caractères de
n'importe quelle longueur, sans pénalité, ni d'espace, ni de performance.
Alors pourquoi s'ennuyer ? Seul autre type texte vraiment intéressant,
char qui n'occupe qu'un byte.&quot;<br>
</i></font><br>
<font face="Arial, Helvetica" size=2>Tout simplement parce que TEXT n'est
pas un type SQL standard et que dans cette mesure, il vaut mieux éviter
de l'utiliser, autant que faire se peut ! Il s'agit d'une implémentation
propre à PostgreSql, que l'on retrouve malgré tout dans d'autres types de
bases de données. VARCHAR fait partie de la norme SQL
!</font></blockquote><br>
Donc TEXT est à éviter par :<br>
- les puristes <br>
- celles et ceux pour qui abandonner PG est une possibilité (et encore
pour une BD où TEXT ou son équivalent n'existe pas).<br><br>
Y-en-a beaucoup ?<br><br>
En ce qui me concerne :<br>
- je suis un pragmatique et recherche l'économie avant tout.<br>
- quant à abandonner PG cela voudrait dire abandonner mon projet (ou
éventuellement passer à une BD objet - et au revoir SQL).<br><br>
Bonne journée,<br><br>
FL<br><br>
<br>
<blockquote type=cite class=cite cite="">
<font face="Arial, Helvetica" size=2>SQL permet de codifier les chaînes
de caractères dans des formats où chaque caractères s'exprime sur 2
octets (ASCII, EBCDIC) ou sur 4 octets (Unicode). La longueur que tu
précises, c'est la longueur utile : le nombre de caractères et non le
nombre d'octets ! <br>
</font><br>
<font face="Arial, Helvetica" size=2>Mais effectivement si tu as un
doute, le plus simple consiste à faire un petit test simple
d'insertion/restitution (INSERT/SELECT)<br>
</font><br>
<font face="Arial, Helvetica" size=2>Cordialement</font> <br>
<font face="Arial, Helvetica" size=2>JM Souchard</font> <br><br>
<font face="Arial, Helvetica" size=2>-----Message d'origine-----</font>
<br>
<font face="Arial, Helvetica" size=2>De :
pgsql-fr-generale-owner(at)postgresql(dot)org
[</font><a href="mailto:pgsql-fr-generale-owner(at)postgresql(dot)org">
<font face="Arial, Helvetica" size=2 color="#0000FF"><u>
mailto:pgsql-fr-generale-owner(at)postgresql(dot)org</a></u></font>
<font face="Arial, Helvetica" size=2>] De la part de Francis
Leboutte<br>
</font><br>
<font face="Arial, Helvetica" size=2>Envoyé : jeudi 11 mai 2006
19:19</font> <br>
<font face="Arial, Helvetica" size=2>À : liste PostgreSql FR</font> <br>
<font face="Arial, Helvetica" size=2>Objet : Re: [pgsql-fr-generale]
varchar et encodage</font> <br><br>
<font face="Arial, Helvetica" size=2>Le 11/05/2006 16:28, claude C.
écrivait :</font> <br>
<font face="Arial, Helvetica" size=2>&gt;Bonjour,</font> <br>
<font face="Arial, Helvetica" size=2>&gt;</font> <br>
<font face="Arial, Helvetica" size=2>&gt;J'ai une base encodée en UTF8.
J'ai défini une colonne comme varchar (30).</font> <br>
<font face="Arial, Helvetica" size=2>&gt;D'après la documentation, le
&quot;30&quot; indique le nombre de caractères.</font> <br>
<font face="Arial, Helvetica" size=2>&gt;Ma question :</font> <br>
<font face="Arial, Helvetica" size=2>&gt;Si j'entre une donnée comportant
de nombreux caractères particuliers </font><br>
<font face="Arial, Helvetica" size=2>&gt;encodés sur plusieurs octets,
est-ce que je peux toujours entrer 30 </font><br>
<font face="Arial, Helvetica" size=2>&gt;caractères ?</font> <br>
<font face="Arial, Helvetica" size=2>&gt;Reformulation : est-ce que 30
indiquent bien le nombre de caractères et </font><br>
<font face="Arial, Helvetica" size=2>&gt;non le nombre d'octets ?</font>
<br><br>
<font face="Arial, Helvetica" size=2>Comme dit dans un courriel antérieur
:</font> <br><br>
<font face="Arial, Helvetica" size=2>varchar(n) (alias de character
varying) et char(n), n'ont que peu d'intérêt par rapport à text qui
permet de stocker des chaînes de caractères de n'importe quelle longueur,
sans pénalité, ni d'espace, ni de performance. Alors pourquoi s'ennuyer ?
Seul autre type texte vraiment intéressant, char qui n'occupe qu'un
byte.<br>
</font><br>
<font face="Arial, Helvetica" size=2>--</font> <br>
<font face="Arial, Helvetica" size=2>Francis Leboutte</font> <br>
<font face="Arial, Helvetica" size=2>Algorithme, Rue de la Charrette 141,
4130 Tilff (Esneux), Belgique Service en informatique</font> <br>
<font face="Arial, Helvetica" size=2>&nbsp;&nbsp;
f(dot)leboutte(at)algo(dot)be</font> <br>
<font face="Arial, Helvetica" size=2>&nbsp;&nbsp;
</font><a href="www.algo.htm">
<font face="Arial, Helvetica" size=2 color="#0000FF"><u>www.algo.be</a>
</u></font> <br>
<font face="Arial, Helvetica" size=2>&nbsp;&nbsp;
+32-(0)4.388.3919</font> <br><br>
<br>
<font face="Arial, Helvetica" size=2>---------------------------(end of
broadcast)---------------------------</font> <br>
<font face="Arial, Helvetica" size=2>TIP 3: Have you checked our
extensive FAQ?</font> <br><br>
<font face="Arial, Helvetica" size=2>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</font><a href="http://www.postgresql.org/docs/faq">
<font face="Arial, Helvetica" size=2 color="#0000FF"><u>
http://www.postgresql.org/docs/faq</a></u></font> </blockquote></body>
</html>

Attachment Content-Type Size
unknown_filename text/html 5.4 KB

Browse pgsql-fr-generale by date

  From Date Subject
Next Message SOUCHARD Jean-Michel DSIC BI 2006-05-12 07:31:04 Re: varchar et encodage - FIN
Previous Message claude C. 2006-05-12 07:13:49 Re: varchar et encodage - FIN