Relaciones de grado uno (unarias)

02/08/2009 - 08:00 por Alexa | Informe spam
Agradeceré a quien me explique como es que una entidad puede relacionarse
consigo misma (relación Unaria).

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
02/08/2009 - 19:14 | Informe spam
Alexa,

Si quieres modelar la estructura organizacional de una empresa, tal como la
jerarquia de empleados, entonces tendrias una tabla sobre empleados, y ademas
pudieras usar una columna para almacenar el [id] de el empleado a quien se
reporta (jefe). En este caso la entidad empleado se relaciona consigo misma
en la relacion empleado-jefe.

create table dbo.empleado (
empleado_id int not null,
reporta_a int null,
...
constraint pk_empleado primary key (empleado_id)
,
constraint fk_empleado_jefe foreign key (jefe_id) references
dbo.empleado(empleado_id));
go

Otro uso comun es cuando modelamos "lista de materiales o BOM", donde se
tiene una relacion recursiva para saber todos los materiales involucrados en
la fabricacion de producto determinado.

http://es.wikipedia.org/wiki/Planif...terials.29


AMB


"Alexa" wrote:

Agradecer a quien me explique como es que una entidad puede relacionarse
consigo misma (relacin Unaria).


Respuesta Responder a este mensaje
#2 Alexa
03/08/2009 - 00:59 | Informe spam
Alejandro, que interesante esto de la relacion Unaria, así como lo
explicaste me quedó muy claro el asunto.

"Alejandro Mesa" escribió en el
mensaje de noticias:
Alexa,

Si quieres modelar la estructura organizacional de una empresa, tal como
la
jerarquia de empleados, entonces tendrias una tabla sobre empleados, y
ademas
pudieras usar una columna para almacenar el [id] de el empleado a quien se
reporta (jefe). En este caso la entidad empleado se relaciona consigo
misma
en la relacion empleado-jefe.

create table dbo.empleado (
empleado_id int not null,
reporta_a int null,
...
constraint pk_empleado primary key (empleado_id)
,
constraint fk_empleado_jefe foreign key (jefe_id) references
dbo.empleado(empleado_id));
go

Otro uso comun es cuando modelamos "lista de materiales o BOM", donde se
tiene una relacion recursiva para saber todos los materiales involucrados
en
la fabricacion de producto determinado.

http://es.wikipedia.org/wiki/Planif...terials.29


AMB


"Alexa" wrote:

Agradecer a quien me explique como es que una entidad puede relacionarse
consigo misma (relacin Unaria).


Respuesta Responder a este mensaje
#3 Alexa
03/08/2009 - 01:12 | Informe spam
Ojalá me puedas ayudar en esto en el tema de relaciones de Herencia :
¿Es correcto que una entidad débil (hija)tenga únicamente como "clave
primaria" un campo que representa a una clave foránea de su entidad fuerte
(padre)?
Ejemplo :
tabla Persona (entidad padre)
nro_identificacion
edad

tabla Empleado (entidad hijo)
nro_identificacion (seria la clave primaria, que ademas es FK del campo
nro_identificacion de la tabla Persona)
categoria
sueldo

¿es correcto hacerlo asi? ¿que problema podría tener al carecer de un campo
clave específico(discriminante) para la tabla Empleado?
(Sé que lo ideal sería adicionar un campo llamado codigo_empleado que aunado
a nro_identificacion harían la clave primaria para la tabla Empleado)

" Alexa" escribió en el mensaje de
noticias:
Agradeceré a quien me explique como es que una entidad puede relacionarse
consigo misma (relación Unaria).


Respuesta Responder a este mensaje
#4 Carlos Sacristan
03/08/2009 - 09:40 | Informe spam
Ese diseño se usa mucho (generalización/especialización) y es perfectamente
válido (si funcionalmente se adapta a tus requisitos, claro). La clave
primaria de "Empleado" es a su vez FK de "Persona", no hay ningún problema
en ello

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


" Alexa" wrote in message
news:
Ojalá me puedas ayudar en esto en el tema de relaciones de Herencia :
¿Es correcto que una entidad débil (hija)tenga únicamente como "clave
primaria" un campo que representa a una clave foránea de su entidad fuerte
(padre)?
Ejemplo :
tabla Persona (entidad padre)
nro_identificacion
edad

tabla Empleado (entidad hijo)
nro_identificacion (seria la clave primaria, que ademas es FK del campo
nro_identificacion de la tabla Persona)
categoria
sueldo

¿es correcto hacerlo asi? ¿que problema podría tener al carecer de un
campo clave específico(discriminante) para la tabla Empleado?
(Sé que lo ideal sería adicionar un campo llamado codigo_empleado que
aunado a nro_identificacion harían la clave primaria para la tabla
Empleado)

" Alexa" escribió en el mensaje de
noticias:
Agradeceré a quien me explique como es que una entidad puede relacionarse
consigo misma (relación Unaria).


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida