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

Normalizacíon (Sexo: Masculino, Femenino)

Estas en el tema de Normalizacíon (Sexo: Masculino, Femenino) en el foro de Bases de Datos General en Foros del Web. Hola a todos! Estoy normalizando un ficha de estudiante en la que se debe marcar una opción de Sexo (Masculino, Femenino) y estaba pensando si ...
  #1 (permalink)  
Antiguo 04/06/2017, 12:40
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 10 años, 1 mes
Puntos: 1
Normalizacíon (Sexo: Masculino, Femenino)

Hola a todos!
Estoy normalizando un ficha de estudiante en la que se debe marcar una opción de Sexo (Masculino, Femenino) y estaba pensando si debo crear una nueva relación (Tabla) para almacenar estos datos:

TABLA_SEXO
codigo_sexo PK
descripcion_sexo

A mi no me parece muy buena esta idea de crear una tabla para almacenar sólo 2 registros con 2 columnas y estaba pensando que el dato se maneje como bit en todas las tablas o consultas que vayan hacer referencia al sexo. Por ejemplo 0 para masculino y 1 para femenino y cuando se desee obtener la descripción se haga a través de una cláusula case pero esto respetarse siempre.

Quería me den su opinión/sugerencia de cómo lo hacen ustedes.

Muchas gracias.
  #2 (permalink)  
Antiguo 05/06/2017, 07:31
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Normalizacíon (Sexo: Masculino, Femenino)

Y cual es el problema con tener una tabla para esos 2 valores?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 06/06/2017, 13:43
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 11 años, 4 meses
Puntos: 46
Respuesta: Normalizacíon (Sexo: Masculino, Femenino)

En mi caso no me gusta tener una tabla solo para esto, partiendo que son dos valores estándar (a excepción si la empresa ya acepta los otros "géneros") prefiero hacerlo directamente.

Otra cosa es que si guardo valores (0 o 1) toca hacer condición para que si es tal cosa muestre tal cosa, prefiero guardar el valor como tal en mi DB, así FEMENINO, o MASCULINO, ojo, eso hago yo y me evito condicionar luego la salida, pero eso depende de cada quien, mas si mi tabla no requiere de muchas lineas, de lo contrario si la tabla se poblara mucho si es mejor usar 0 o 1

PD: 0 es de Femenino y 1 Masculino regularmente
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #4 (permalink)  
Antiguo 06/06/2017, 14:04
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Normalizacíon (Sexo: Masculino, Femenino)

Cita:
Iniciado por KATHYU Ver Mensaje
En mi caso no me gusta tener una tabla solo para esto, partiendo que son dos valores estándar (a excepción si la empresa ya acepta los otros "géneros") prefiero hacerlo directamente.

Otra cosa es que si guardo valores (0 o 1) toca hacer condición para que si es tal cosa muestre tal cosa, prefiero guardar el valor como tal en mi DB, así FEMENINO, o MASCULINO, ojo, eso hago yo y me evito condicionar luego la salida, pero eso depende de cada quien, mas si mi tabla no requiere de muchas lineas, de lo contrario si la tabla se poblara mucho si es mejor usar 0 o 1

PD: 0 es de Femenino y 1 Masculino regularmente
No es que dependa de ti, es que un modelo asi no esta "normalizado" funciona si, pero no llevas tu base de datos a 3era forma normal. Aunado a que el tamaño de la tabla se reduciria si en lugar de tener una columna varchar de 10 con valores en cada row, tenemos una columna bit(0 y 1 para los valores)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 06/06/2017 a las 14:12
  #5 (permalink)  
Antiguo 07/06/2017, 09:26
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 11 años, 4 meses
Puntos: 46
Respuesta: Normalizacíon (Sexo: Masculino, Femenino)

Cita:
Iniciado por Libras Ver Mensaje
No es que dependa de ti, es que un modelo asi no esta "normalizado" funciona si, pero no llevas tu base de datos a 3era forma normal. Aunado a que el tamaño de la tabla se reduciria si en lugar de tener una columna varchar de 10 con valores en cada row, tenemos una columna bit(0 y 1 para los valores)

Pero veamos el caso, si tiene otra tabla de géneros y mete solo el id de cada genero seria 0 o 1, y si desde el php le mete ese mismo 0 o 1 la tabla seria igual en tamaño, eso que so sea 3ra forma normal es tema de si el desarrollador así lo quiere. (Aunque los estándares así lo indiquen)

Ya insertando el nombre de los géneros como yo dije, claramente especifique que es mi decisión en casos aislados, al final cada developer ve la forma de como configurar eso.
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #6 (permalink)  
Antiguo 07/06/2017, 09:56
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Normalizacíon (Sexo: Masculino, Femenino)

por algo se hicieron los standares y la normalizacion, y el developer debe de adaptarse a la base de datos no al contrario, pero bueno cada quien lo resuelve como quiere, yo solo estoy dando mi punto de vista como DBA
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 11/06/2017, 14:21
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Normalizacíon (Sexo: Masculino, Femenino)

KATHYU y Libras agradezco a ambos su aporte. Si optara por crear una tabla totalmente independiente para almacenar estos valores y forme parte del MER de pronto surgen otras Relaciones como por ejemplo Estado (Activo, Inactivo, Eliminado), Tipo Empleado (Interno, Externo), y otras más que requieren 2 o unos pocos registros más, entonces estaba pensando crear un par de "Tablas Maestras" que se utilice para guardar estos valores. He visto en algunos casos que lo hacen en formato Maestro-Detalle y la suelen llamar Parámetros a la cabecera y Parametro_Detalle (al Detalle). En la cabecera guardan el registro, por ejemplo Sexo, Estado, Tipo Empleado y en la tabla Detalle se guardan los registro asociados a su cabera: Masculino, Femenino; Activo, Inactivo, etc las tablas están relacionadas obviamente de uno a muchos. ¿Qué les parece esta idea de agrupar esta infomación en una sola Relación?
Creo que con ello, se está respetando la normalización y se llega a la 3FN.

Me comentan, muchas gracias.
  #8 (permalink)  
Antiguo 23/06/2017, 11:58
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 11 años, 4 meses
Puntos: 46
Respuesta: Normalizacíon (Sexo: Masculino, Femenino)

Tenes que tener bien claro todo a la hora de hacer Cabecera-Detalle

Yo tambien he visto eso en varios ERP's, pero es una quebrada de cabeza buena. Ahí usted decide.
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.

Etiquetas: sexo, tablas
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 16:06.