MySQL - Como plantear una base de datos

 
Vista:

Como plantear una base de datos

Publicado por Guillermo Avila (2 intervenciones) el 30/01/2018 21:58:31
Hola a todos, la verdad no he trabajado tan profundamente con bases de datos, por lo que pido su ayuda ante la siguiente situación. No se como plantear las tablas o relaciones del proyecto que les describiré a continuación:

El programa es para registrar las medidas de unas pruebas que se le realizan a equipos diversos.
Una de inspección fisica que es la misma para todos
Una de seguridad electrica que es la misma para todos
La tercera prueba depende de que tipo de equipo es, pues hay 7 categorias de equipos diferentes, ahora a todos los equipos de una misma categoria no se les realizan todas las pruebas

Claramente el equipo, esta relacionado con una categoria, pero no encuentro como relacionar el equipo y esa categoria con las pruebas especificas que se le debe hacer a ese equipo.

Tambien por cada prueba se toman varios datos, por ejemplo una prueba de potencia se hacen 10 mediciones, pero para la prueba de corriente se hace 3 mediciones. Entonces no se como relacionar el equipo, la prueba y las mediciones para luego recuperarlas para un informe de todas las pruebas

Muchas gracias por su atención, y espero puedan ayudarme con cualquier sugerencia.
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
sin imagen de perfil
Val: 250
Plata
Ha aumentado 1 puesto en MySQL (en relación al último mes)
Gráfica de MySQL

Como plantear una base de datos

Publicado por Leonardo Josué (414 intervenciones) el 30/01/2018 23:31:56
Hola Guillermo:

Lamentablemente o afortunadamente según como lo veas, no hay una "mejor" forma de modelar una BD's, esto dependerá completamente de tus requerimientos de información, sin embargo debes de tener en cuenta algunas cosas.

1. Según lo que veo, tienes al menos tres "entidades" de las que te interesa guardar su información: EQUIPOS, PRUEBAS y MEDICIONES

un equipo puede tener n pruebas y cada prueba puede tener n mediciones... entonces, de entrada podrías pensar en tres tablas, una por cada entidad:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mysql> SELECT * FROM equipos;
+-----------+-------------+
| id_equipo | descripcion |
+-----------+-------------+
|         1 | equipo 1    |
|         2 | equipo 2    |
+-----------+-------------+
2 rows in set (0.05 sec)
 
mysql> SELECT * FROM pruebas;
+-----------+-----------+-----------------------+
| id_prueba | id_equipo | descripcion           |
+-----------+-----------+-----------------------+
|         1 |         1 | prueba 1 del equipo 1 |
|         2 |         1 | prueba 2 del equipo 1 |
|         3 |         1 | prueba 3 del equipo 1 |
|         4 |         2 | prueba 1 del equipo 2 |
+-----------+-----------+-----------------------+
4 rows in set (0.01 sec)
 
mysql> SELECT * FROM mediciones;
+-------------+-----------+-----------+----------------------------------------+
 
| id_medicion | id_prueba | id_equipo | descripcion                            |
+-------------+-----------+-----------+----------------------------------------+
|           1 |         1 |         1 | medicion 1 de la prueba 1 del equipo 1 |
|           2 |         1 |         1 | medicion 2 de la prueba 1 del equipo 1 |
|           3 |         2 |         1 | medicion 1 de la prueba 2 del equipo 1 |
|           4 |         2 |         1 | medicion 2 de la prueba 2 del equipo 1 |
+-------------+-----------+-----------+----------------------------------------+
4 rows in set (0.11 sec)

La ventaja de manejarlo así es que si el día de mañana aumentas el número de mediciones a una prueba, no hay problema con el modelo, simplemente agregas más registros a la tabla correspondiente.

No sé si esto es más o menos lo que esperabas. Coméntanos.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Como plantear una base de datos

Publicado por Guillermo Avila (2 intervenciones) el 31/01/2018 00:30:13
Gracias Amigo exactamente eso buscaba. Gracias.
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