Char, varchar, nvarchar?

17/10/2006 - 10:57 por Virginia Guzon | Informe spam
Hola a todos,

Que tipo de campo se debe de utilizar en el diseño de una Base de datos en
SQL, char, varchar o nvarchar?
Mi problema es que tengo mis tablas con los campos de texto definidos como
nvarchar y me han dicho que no es lo aconsejable.

Muchas gracias

Un saludo

Virginia.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
17/10/2006 - 11:21 | Informe spam
Decir que no es aconsejable así, sin más, no es decir mucho.

Es recomendable usar CHAR cuando el número de caracteres o bien no va a
variar mucho, o bien son pocos (por ejemplo, yo hasta 10 caracteres uso
CHAR); VARCHAR es mejor cuando el número de caracteres puede variar mucho
(un campo almacena 10 letras y otro 50) o quieres almacenar más datos (como
te he dicho, en mi caso a partir de 10); por último, NCHAR o NVARCHAR es
necesario cuando tienes que almacenar caracteres unicode (la principal
diferencia es que ocupan el doble de un campo tipo CHAR / VARCHAR)


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Virginia Guzon" <virginiaguzonARROBAhotmail.com> escribió en el mensaje
news:
Hola a todos,

Que tipo de campo se debe de utilizar en el diseño de una Base de datos en
SQL, char, varchar o nvarchar?
Mi problema es que tengo mis tablas con los campos de texto definidos como
nvarchar y me han dicho que no es lo aconsejable.

Muchas gracias

Un saludo

Virginia.

Respuesta Responder a este mensaje
#2 Rubén Vigón
17/10/2006 - 11:21 | Informe spam
Hola Virginia,

Los tipos de datos «nchar» (longitud fija) y «nvarchar» (longitud variable) se utiliza para almacenar cadenas de texto Unicode, las cuales necesitan más espacio de almacenamiento en tu base de datos (dos bytes por cada carácter de la cadena) y admiten un máximo de 4.000 caracteres. Sin embargo, los correspondientes tipos no-Unicode «char» (long.fija) y «varchar» (long.variable) utilizan sólo 1 byte por carácter y admiten cadenas de hasta 8.000 caracteres.

¿Cuándo utilizar tipos Unicode? Cuando en tu aplicación necesites almacenar cadenas de idiomas con alfabetos de más de 256 caracteres, como el «Kanji» japonés o el «Hangul» coreano

¿Cuándo utilizar longitud fija y cuando variable? Utiliza longitud fija cuando preveas que las cadenas van a tener aproximadamente el mismo tamaño (como por ejemplo, el NIF de un proveedor) y utiliza longitud variable cuando preveas que el tamaño de las cadenas va a variar considerablemente (como, por ejemplo, la descripción de un artículo o el domicilio de un cliente)

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Respuesta Responder a este mensaje
#3 Virginia Guzon
17/10/2006 - 11:40 | Informe spam
Ruben, muchas gracias por tu respuesta.

Entonces entiendo que en mi caso (no necesito almacenar ni Kanji, ni
Hangul...ja,ja, solo castellano) utilizaré siempre char y varchar, no?

Un saludo

Virginia.

"Rubén Vigón" escribió en el mensaje
news:
Hola Virginia,

Los tipos de datos «nchar» (longitud fija) y «nvarchar» (longitud
variable) se utiliza para almacenar cadenas de texto Unicode, las cuales
necesitan más espacio de almacenamiento en tu base de datos (dos bytes por
cada carácter de la cadena) y admiten un máximo de 4.000 caracteres. Sin
embargo, los correspondientes tipos no-Unicode «char» (long.fija) y
«varchar» (long.variable) utilizan sólo 1 byte por carácter y admiten
cadenas de hasta 8.000 caracteres.

¿Cuándo utilizar tipos Unicode? Cuando en tu aplicación necesites
almacenar cadenas de idiomas con alfabetos de más de 256 caracteres, como el
«Kanji» japonés o el «Hangul» coreano

¿Cuándo utilizar longitud fija y cuando variable? Utiliza longitud fija
cuando preveas que las cadenas van a tener aproximadamente el mismo tamaño
(como por ejemplo, el NIF de un proveedor) y utiliza longitud variable
cuando preveas que el tamaño de las cadenas va a variar considerablemente
(como, por ejemplo, la descripción de un artículo o el domicilio de un
cliente)

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Respuesta Responder a este mensaje
#4 Virginia Guzon
17/10/2006 - 11:41 | Informe spam
Gracias Carlos!.

Un saludo

Virginia


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Decir que no es aconsejable así, sin más, no es decir mucho.

Es recomendable usar CHAR cuando el número de caracteres o bien no va a
variar mucho, o bien son pocos (por ejemplo, yo hasta 10 caracteres uso
CHAR); VARCHAR es mejor cuando el número de caracteres puede variar mucho
(un campo almacena 10 letras y otro 50) o quieres almacenar más datos
(como te he dicho, en mi caso a partir de 10); por último, NCHAR o
NVARCHAR es necesario cuando tienes que almacenar caracteres unicode (la
principal diferencia es que ocupan el doble de un campo tipo CHAR /
VARCHAR)


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Virginia Guzon" <virginiaguzonARROBAhotmail.com> escribió en el mensaje
news:
Hola a todos,

Que tipo de campo se debe de utilizar en el diseño de una Base de datos
en SQL, char, varchar o nvarchar?
Mi problema es que tengo mis tablas con los campos de texto definidos
como nvarchar y me han dicho que no es lo aconsejable.

Muchas gracias

Un saludo

Virginia.





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida