Patrones de Mantenimiento de Datos

Me gustaria que me remitieran a un documento donde se explique sobre
Patrones de Datos (si es que asi se llaman :slight_smile:
La idea es que si se conoce la relacion existentes entre las tablas (has
many, has one, belongs to, etc), entonces tambien es posible mantener la
consistencia de los datos en el mantenimiento

Va un ejemplo para aclarar, dadas dos tablas A y B

Class A < AR::Base
has_many :b
end

Class B < AR::Base
belongs_to :a
end

Entonces:

El mantemiento de A solo involucra a A

En cambio para el mantenimiento de B debemos mantener ademas la llave
foranea ‘a_id’, este campo se puede mantener en los formularios de
‘create’ y ‘update’ con un select (o una variante que use checkboxes)
con una simple linea Ruby:

<%= select :b, :a_id, A.find(:all).collect {|a| [a.name, a.id]},
{:include_blanks => true} %>

Para borrar un B no hay que hace nada extra.

…

Esto funciona bien para el has_many/belongs_to entre dos tablas,
siembargo hay mas relaciones: has_one, has_and_belongs_to_many, etc;

A ver si ya alguien compilo la lista completa de patrones de
mantenimiento de datos y asi no me la tengo que inventar yo.

Gracias