Principales respuestas
Tabla Empleado/Jefatura

Pregunta
-
Estimados.
Tengo una tabla de empleados
Create Table Empleados
(
id_empleado int,
Empleado varchar(200)
)
Cual seria la mejor manera de indicar la jefatura que tiene el empleado, entendiendo que la jefatura también es un empleado.
DBA SQL Server Santiago/Chile
Respuestas
-
Hay multiples formas de modelar una jerarquia en SQL Server:
- Lista Adjacente
- Conjuntos Anidados
- Otras
El mas usado ha sido el primero (Adjacency List Model).
Empleado(Id, Nombre, Apellido Materno, Apellido Paterno, JefeId NULL)
El jefe es un empleado tambien y debe ingresarse primero antes que se le referencie.
https://explainextended.com/2009/09/25/adjacency-list-vs-nested-sets-sql-server/
Si tienes SS 2017 entonces usa la nueva funcionalidad de Graph Database (Teoria de Grafos).
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas- Editado HunchbackMVP martes, 26 de junio de 2018 17:34
- Propuesto como respuesta Juan MondragónModerator miércoles, 27 de junio de 2018 17:16
- Marcado como respuesta CMAPM miércoles, 27 de junio de 2018 18:30
Todas las respuestas
-
Hola CMAPM:
Yo diría que mejor, es un termino difícil de concretar. Las opciones más simples o lógicas son
Create Table Empleados ( id_empleado int, Empleado varchar(200), esJefe bit …. ) /* Opción 2 */ Create Table Empleados ( id_empleado int, Empleado varchar(200) ….. ) Create Table Jefe ( idJefe int identity(1,1), id_empleado int, Fecha_Alta datetime, Fecha_Baja datetime, estado int …. )
Y depende un poco de si quieres determinar la causística de que un empleado sea varias cosas a la vez, entonces el empleado es una tabla de entidad.
Un saludo
- Propuesto como respuesta exequiel22 martes, 26 de junio de 2018 16:53
-
Hay multiples formas de modelar una jerarquia en SQL Server:
- Lista Adjacente
- Conjuntos Anidados
- Otras
El mas usado ha sido el primero (Adjacency List Model).
Empleado(Id, Nombre, Apellido Materno, Apellido Paterno, JefeId NULL)
El jefe es un empleado tambien y debe ingresarse primero antes que se le referencie.
https://explainextended.com/2009/09/25/adjacency-list-vs-nested-sets-sql-server/
Si tienes SS 2017 entonces usa la nueva funcionalidad de Graph Database (Teoria de Grafos).
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas- Editado HunchbackMVP martes, 26 de junio de 2018 17:34
- Propuesto como respuesta Juan MondragónModerator miércoles, 27 de junio de 2018 17:16
- Marcado como respuesta CMAPM miércoles, 27 de junio de 2018 18:30