SQL Server - Dos Tablas o una

 
Vista:
sin imagen de perfil

Dos Tablas o una

Publicado por ottneiber (4 intervenciones) el 16/08/2017 15:44:03
Saludos a esta gran comunidad, a la cual me estoy uniendo, requiero de ayuda, como nuevo en esto a mis 46, estoy aprendiendo, haciendo un programa de colegios en visual Basic con bases de datos sql, ahora haciendo el análisis como me lo indico un amigo, tengo 2 tablas, una para empleados y otras para profesores, mi pregunta va orientada a que , que debe ser mejor, tener estas 2 tablas separadas, sabiendo que un profesor también es un empleado del colegio, o las separo, para tener mejor control y consultas directas a la tabla de profesores; y por otro lado, tengo otra duda, leí que las imágenes ocupan mucho espacio en mi tabla y puede volver lento el programa con el futuro, conviene que tenga una tabla con cod-alumno y foto del alumno, otra con cod_empleado y su foto, y con profesores, o es conveniente que tenga la foto en las tablas correspondientes de alumnos, profesores , etc.
De antemano les doy muchas gracias, y hago esto porque quiero ir seguro y no entiendo mucho, pero aprendí que lo primero y mejor es hacer un buen análisis.
gracias atte. Ottneiber
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: 9
Ha disminuido 1 puesto en SQL Server (en relación al último mes)
Gráfica de SQL Server

Dos Tablas o una

Publicado por Conrado (2 intervenciones) el 16/08/2017 16:03:05
Hola, habría que ver que info vas a guardar en la tabla de empleados y de profesores. O si uno de ellos puede ir sin el otro, por ejemplo, un profesor puede no ser empleado? un empleado puede no ser profesor?
Por otro lado, saber que vas a guardar, si guardas datos "filiatorios" digamos, o sea, los datos particulares, nombre apellido documento direccion etc, por ahi te conviene crear una tabla de actvidades.
Ejemplo, table de actividades:
codigo
descripcion

codigo 1 - Empleados
codigo 2 - Profesores

Luego crear una entidad personas con los datos reales de cada uno
personas
datos filiatorios

persona: 1
datos filiatorios: nombre apellido direccion etc

Luego, una entidad para registrar a cada persona

tabla registro:
empleado 1 actividad 1
empleado 1 actividad 2

Con esto los datos van a ser actualizados una sola vez en la tabla persona (porque por mas que sea maestro o empleado se llama de la misma manera)
Luego, en la table registro, puede existir el id de persona mas de una vez, siendo la actividad lo que va a definir como se comporta.
Y el dia de mañana, podes crear una actividad 3 por ejemplo para proveedores, o sea, la misma persona (datos unicos) se puede comportar como empleado, profesor y/o proveedor.
Con respecto a las imagenes, un muy trivial, tambien está la opcion de guardar en la tabla la ruta fisica (de servidor) donde vas a guardar en disco la imagen. Pero vas a tener que planificar bien los backups, lugar en disco y demas porque los datos estarían en la bd y las imagenes en disco.
He desarrollado algun programa y las imagenes de la persona los guardaba en disco y en la tabla de guardaba la direccion relativa del servidor donde guardaba el jpp (\personas\nnn_id_persona.jpg)
Solo son sugerencias
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
sin imagen de perfil

Dos Tablas o una

Publicado por ottneiber (4 intervenciones) el 17/08/2017 12:46:37
Hermano, si, son muy buenas sugerencias.en especial la de guardar las imágenes en el servidor, muy buena, solo tengo que ver como hacerlo, pero no se me hubiera ocurrido, con respecto a la tabla adicional no es mala idea, sin embargo, casi son los mismos datos de un profesor como de un empleado del colegio porque el profe es un empleado, solo que profe tendrá, mucha más actividad en el sistema, por lad notas, las clases, los alumnos y creo que se consultará mucha más a esa tabla .
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
sin imagen de perfil
Val: 9
Ha disminuido 1 puesto en SQL Server (en relación al último mes)
Gráfica de SQL Server

Dos Tablas o una

Publicado por Conrado (2 intervenciones) el 17/08/2017 13:24:59
Bueno, lo ideal es no duplicar datos y si es posible, a los datos particulares de las personas, tenerlos en un solo lugar. Por no van a cambiar por mas que tenga distinta actividad en el sistema.
En tu tabla personas, pondria los datos de cada persona y nada mas. Luego, en una tabla profesores, se podrìa crear con el id_persona y el resto de datos de los profesores.
De todas formas, que se consulte mas veces no implica en todos los casos ponerlo por separado. Como tampoco llevar a todas las tablas el nombre y apellido del profesor, solo te llevaras el id de la persona, pero bien, son formas.
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Dos Tablas o una

Publicado por Isaias (4558 intervenciones) el 16/08/2017 16:32:44
¿Motor de base de datos?, Si fuera SQL Server, ¿Version-Edicion?
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
sin imagen de perfil

Dos Tablas o una

Publicado por ottneiber (4 intervenciones) el 17/08/2017 12:37:00
Versión 2015, decidí bajar esa porque es la ultima y he estado en un curso de la web
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Dos Tablas o una

Publicado por Isaias (4558 intervenciones) el 17/08/2017 18:56:04
La ultima es 2017 CTP que se puede instalar en LINUX

La anterior es SQL SERVER 2016

Ahora, vayamos al grano (como dicen los adolecentes), tu "PROBLEMA" no reside en el motor de la base de datos, ni la version, ni la edicion, mas bien es un problema de DISEÑO DE BASE DE DATOS (modelado de la base de datos).

Para eso existen muchos metodos o metodologias (http://www.monografias.com/trabajos84/modelamiento-base-datos/modelamiento-base-datos.shtml) y lo que tu nos comentas es la NORMALIZACION del modelo creado.

Tu ENTIDAD (que no tabla, ya que tu entidad se convierte en TABLA cuando se crea la base de datos) es PERSONA

La PERSONA tiene propiedades, como:

Nombre
Apellido Paterno
Apellido Materno
Fecha de Nacimiento
Direccion (Pais, Ciudad, Estado, Delegacion, Colonia, Calle, Numero exterior, Numero interiros, etc. si fuera de Mexico)
Estado Civil
etc.etc.etc.etc.etc

La PERSONA, trabaja para una EMPRESA, por tanto, tiene un PUESTO, un SUELDO

etc. etc. etc. etc.

Entonces todas las PERSONA(S) (las entidades SIEMPRE en singular), estan en una sola ENTIDAD y los PUESTO(S) estas en otra entidad

PUESTO
- Descripcion (Director, Gerente, Secretaria, Desarrollador, Policia, Mantenimiento)
- Nivel (nivel en el organigrama, o bien, puedes hacer niveles jerarquicos)
- Sueldo Base
etc.etc.etc.etc.etc.

¿Me explique?
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