elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Ayuda con diseño de BD
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con diseño de BD  (Leído 993 veces)
romybe

Desconectado Desconectado

Mensajes: 7



Ver Perfil
Ayuda con diseño de BD
« en: 16 Mayo 2015, 23:50 »

Hola! Estoy diseñando las tablas para una base de datos. Tengo una tabla para ARTÍCULOS (que es la principal), donde éstos se identifican por un número provisorio o por el número de matricula.

El asunto es que a veces un articulo tiene número de identificación provisorio y no de matricula o al revés. Es decir, tiene matricula pero no numero provisorio. Entonces, cómo conformo la clave primaria para la tabla de modo que pueda buscar el articulo por numero provisorio o matricula? Ya que siempre uno de los campos estará vacío.

Espero que me entiendan lo que expuse y me puedan ayudar.


En línea

ZeroVzla

Desconectado Desconectado

Mensajes: 71


Ver Perfil
Re: Ayuda con diseño de BD
« Respuesta #1 en: 17 Mayo 2015, 05:09 »

Hola,

Si los dos campos son exclusivos, es decir ,nunca se va a dar el caso de que lo registren con el número de matrícula y luego con le número provisorio, entonces puedes colocar como clave primaria las dos columnas. De lo contrario y aunque pudieras seguir colocando las dos columnas como clave primaria, tendrías el caso que menciono (el mismo artículo registrado dos veces, uno con el número de matrícula y sin número provisorio , y el otro con número provisorio sin número de matrícula). En base de datos existe algo llamado normalización y para llevar a cabo la técnica debes emplear varias reglas (primera forma normal, segunda forma normal, etc..) te sugiero que leas sobre ella.

Como lo veo podrías crear una columna que sea el id del registro (entero autoincremental), y los campos que mencionas solo son información del objeto.

articulo {id_articulo,matricula,num_provisorio}

Éso te llevará a que no estés en concordancia con la segunda forma normal pero a veces como en tu caso se debe "desnormalizar" para tener el resultado deseado.

Otro caso puede ser el de agregar a la clave primaria otro campo de la tabla que pudiera generar una clave única.

Así puedes resolver el problema y tienes un id único para eliminar/atualizar... Sin embargo te sugiero que leas sobre las formas normales para que puedas dar con la respuesta que simpatice con tu ideal.

Saludos.



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
El diseño de mi web, ayuda... « 1 2 »
Diseño Gráfico
Kasswed 14 3,161 Último mensaje 17 Julio 2005, 03:00
por Kasswed
Ayuda con diseño Web « 1 2 »
Diseño Gráfico
chaina 10 2,423 Último mensaje 17 Marzo 2006, 17:31
por chaina
Diseño de equipo para diseño tecnico.
Hardware
SuXoR 3 2,462 Último mensaje 20 Octubre 2010, 15:06
por 4rm4ndo
Ayuda en el diseño
Programación Visual Basic
themindmaster 4 890 Último mensaje 27 Noviembre 2013, 21:20
por themindmaster
ayuda CSS en un diseño.
Desarrollo Web
idzen 2 723 Último mensaje 18 Diciembre 2013, 16:40
por idzen
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines