MySQL - Estructurar datos de forma correcta

 
Vista:
sin imagen de perfil

Estructurar datos de forma correcta

Publicado por Chebe (4 intervenciones) el 27/10/2013 21:55:23
Hola,

Primero gracias de antemano por vuestra colaboración.
Estoy creando una base de datos de usuarios en donde estos añadirán datos personales y información adicional (tipo: idiomas que hablas, estudios,...)
La intención es no limitar los campos adicionales y que puedan ir creciendo por eso he pensado en plantear la estructura así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
tabla datos_personales
+------------+------------+------------+------------+------+
| usuario    |  nombre    |   dni      |   email    |  ... |
+------------+------------+------------+------------+------+
|   0001     |  Pepe      |123456789Z  |pe@mail.com |  ... |
+------------+------------+------------+------------+------+
 
 
tabla información-adicional
+------------+------------------+--------------------+
| usuario    | tipo_info        | informacion        |
+------------+------------------+--------------------+
| 0001       | idiomas          | Castellano         |
+------------+------------------+--------------------+
| 0001       | idiomas          | Inglés             |
+------------+------------------+--------------------+
| 0001       | Carnet cond.     ||
+------------+------------------+--------------------+
| 0001       | Nº Hermanos      |    2               |
+------------+------------------+--------------------+
Ahora mi duda es: Algunos de estos campos de información seran de tipo booleano, otros cadenas de texto de pocos caracteres, otros númericos,...

Mi idea inicial era ponerlo todo como VARCHAR(255) pero creo que és poco óptimo.
La siguiente idea que se me ha ocurrido és crear tablas segun el tipo de dato. Una tabla con la información adicional booleanos, otra con integer, otra con varchar,... pero no me parece muy lógica la estructura que quedaria.

El ejemplo es "cutre" pero creo que sirve para que se vea el problema.

¿Algún consejo al respecto?

Por otro lado, me está costando mucho encontrar información sobre BBDD más allà de qüestiones técnicas (por eso el que pregunte aquí). Si alguien supiese de foros, artículos,... que hagan referencia a casos pràcticos y a diseño de BBDD se lo agradecería mucho.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Estructurar datos de forma correcta

Publicado por xve (1151 intervenciones) el 28/10/2013 07:10:35
Hola Chebe, la verdad, es que no es muy optimo y seguramente sera liado guardar diferentes tipos de datos en una misma columna, aunque todo dependerá del tipo de datos...

Si son datos diferentes, como por ejemplo nombre y edad, lógicamente tienen que ir en columnas diferentes, pero no se muy bien que tipo de datos puede ser un bolean, cadena y números a la vez...

Si son cosas diferentes, yo te diría que los separes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar