sábado, 13 de febrero de 2010

Tipos de enlace - Enlaces ligeros

Relación entre varios bloques semánticos mediante el uso de un mismo atributo semántico.


En los diagramas, la relación "ligera" la demarco con una línea discontínua y es bidireccional.

[[TodoList::
  [[IdTodoList::XXXX]]
]]
[[Tarea::
  [[IdTodoList::XXXX]]
  [[Título::Una tarea]]
  [[Descripción::Tarea que se llama igual que la primera]]
]]
[[Tarea::
  [[IdTodoList::XXXX]]
  [[Título::Otra tarea]]
  [[Descripción::Esta es otra posible tarea]]
]]
La relación entre los bloques semánticos es bidireccional. En el ejemplo no existe una diferencia clara acerca de a qué elemento semántico pertenece relamente el atributo "IdTodoList" como clave primaria.

Para evitar que la relación sea bidireccional, podríamos definir la tarea de la siguiente forma:
[[Tarea::
  [[TodoList.IdTodoList::XXXX]]
  [[Título::Otra tarea]]
  [[Descripción::Esta es otra posible tarea]]
]]
De esta forma quedaría claro que la tarea está relacionada con la una "TodoList" cuyo "id" es XXXX.

Otra alternativa sería utilizar un atributo semántico totalmente diferente. Por ejemplo:
[[Tarea::
  [[LinkIdTodoList::XXXX]]
  [[Título::Otra tarea]]
  [[Descripción::Esta es otra posible tarea]]
]]
Con esta alternativa sería necesario definir que el atributo "LinkIdTodoList" sólo puede tomar los valores existentes para "IdTodoList".

No hay comentarios:

Publicar un comentario