Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: ilos28 en 22 Noviembre 2015, 15:24 pm



Título: Duda SQLite (tipos de datos)
Publicado por: ilos28 en 22 Noviembre 2015, 15:24 pm
Buenas.

Estaba creando una Base de Datos llamada "biblioteca" en SQLite, y aún no conozco bien todos los tipos de datos. El problema es que me he liado con la tabla "libros", en dos columnas como: "estado" se me pide que lo ponga con tres valores (bien, mal y "en reparación"). La otra columna es "idioma", y tengo varios (español, inglés, francés e italiano).

Con los únicos tipos de datos que proporciona el SQLite (INTEGRER, BOOL, REAL, DOUBLE, FLOAT, CHAR, TEXT, VARCHAR, BLOB, NUMERIC, DATETIME) no sé qué poner para la columna "estado" y para la columna "idioma".

Agradecería la ayuda.


Título: Re: Duda SQLite (tipos de datos)
Publicado por: #!drvy en 22 Noviembre 2015, 19:34 pm
Hola,

La pregunta no esta en la sección correcta. Hay un subforo especifico para Bases de Datos (ya te la he movido ahí).

Ahora al asunto, SQLITE no soporta todos esos datatypes que mencionas. Los datatypes soportados por SQLITE son NULL, INTEGER, REAL, TEXT y BLOB. Todos los demás tipos se convierten a los mencionados.
https://www.sqlite.org/datatype3.html

A tu pregunta,

En 'estado' puede ser tanto un INTEGER (de 1-3 o de 0-2) como TEXT (b,m,r). El idioma definitivamente deberías representarlo en TEXT usando el código ISO 639-1 (alfa-1) de 2 caracteres para idiomas.

https://en.wikipedia.org/wiki/ISO_639-1
https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

Saludos



Título: Re: Duda SQLite (tipos de datos)
Publicado por: ilos28 en 22 Noviembre 2015, 22:39 pm
Hola,

La pregunta no esta en la sección correcta. Hay un subforo especifico para Bases de Datos (ya te la he movido ahí).

Ahora al asunto, SQLITE no soporta todos esos datatypes que mencionas. Los datatypes soportados por SQLITE son NULL, INTEGER, REAL, TEXT y BLOB. Todos los demás tipos se convierten a los mencionados.
https://www.sqlite.org/datatype3.html

A tu pregunta,

En 'estado' puede ser tanto un INTEGER (de 1-3 o de 0-2) como TEXT (b,m,r). El idioma definitivamente deberías representarlo en TEXT usando el código ISO 639-1 (alfa-1) de 2 caracteres para idiomas.

https://en.wikipedia.org/wiki/ISO_639-1
https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

Saludos


Gracias por la ayuda. Esto me aclara varias cosas.

Y lo siento por la equivocación con el tema. No me di cuenta de que había otra sección.