Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Diseño de base de datos

Estas en el tema de Diseño de base de datos en el foro de Bases de Datos General en Foros del Web. Hola... No soy especialista en el diseño de bases de datos y actualmente estoy desarrollando una aplicación que requiere de una base de datos compleja ...
  #1 (permalink)  
Antiguo 08/04/2010, 04:22
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid, España
Mensajes: 10
Antigüedad: 14 años
Puntos: 0
Diseño de base de datos

Hola...

No soy especialista en el diseño de bases de datos y actualmente estoy desarrollando una aplicación que requiere de una base de datos compleja a mi parecer.

Para dar de alta a los usuarios tengo una tabla llamada usuarios que me registra los datos básicos (personales, de contacto, etc.). Adicionalmente, tengo que guardar las especialidades del usuario. Son 21 especialidades no excluyentes, por lo que, dependiendo de lo que sepa hacer el usuario, tendré que guardar una o veintiún especialidades.

Ahora... ¿Debo crear en mi tabla usuarios los 21 campos para las especilidades (especialidad1, especialidad2... especialidad21) o debo crear una tabla adicional especialidades_usuarios y en la misma guardar un registro por cada usuario o varios dependiendo de las especialidades que marque?

Saludos y muchas gracias de antemano
  #2 (permalink)  
Antiguo 08/04/2010, 11:44
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Diseño de base de datos

Bases de datos relacionales:

En una tabla los datos unicos de los usuarios(nombre, dirección, edad et.).

En otra tabla los datos que el usuario pueda ir incrementando en cuanto a registros (especialidades), cada registro de esta tabla debe contener un registro relacionado con la tabla usuarios comunmente se usa el id seguido de un nombre.

ej:

tabla usuarios campos(id_usuario(autinumérico), nombre, direccion etc.)

tabla especialidades campos (id_especialidad(autonumerico), id_usuario(número), especialidad)

Saludos
__________________
Tu álbum de cromos online!!
  #3 (permalink)  
Antiguo 11/02/2013, 03:23
 
Fecha de Ingreso: abril-2004
Mensajes: 28
Antigüedad: 20 años
Puntos: 0
Respuesta: Diseño de base de datos

si las especialidades no son excluyentes, se formarían tres tablas, al ser una relación N:N
trabajador (idTrabajador, ...)
especialidad (idEspecialidad, ...)
TraEsp (idTrabajador, idEspecialidad, ...) -> las dos como PK

Etiquetas: diseño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:30.