Tuesday 24 April 2007

Active Records

Siguiendo con el tema de moda (de momento único, lo se..... paciencia) me apetece hablar un poco del Modelo, implementado por Active Record, y más concretamente de las relaciones entre tablas. Bajo mi punto de vista, la situación mas normal que nos vamos a encontrar es una en la cual la BBDD nos sea impuesta y necesitemos modelar el diagrama Entidad-Relación de esta a través de clases Model (clases que heredan de ActiveRecord).

A parte de crearnos los modelos de las tablas con los scripts, es necesario que los relacionemos para crear un modelo lógico de nuestra BBDD. Aquí es donde empiezan los problemas, pq si bien es sencillo crear las relaciones, no es demasiado intituitivo a causa de las palabras reservadas que se utilizan. Voy a poner una serie de trucos que son interesantes para entender correctamente el modo de realizar esta relacion.

  • foreign keys= cuando definamos en la tabla los campos que van a actuar como foreign key tenemos que hacerlo con la formula modelo_id. Ejemplo: Tabla = customers Modelo = Customer Foreign key en otra tabla = customer_id
  • belongs_to = es muy poco intutitivo . Se pone en la clase Model que representa a la tabla que tiene la Foreign key. Mi recomendación -> entiendelo como referencia_a.
  • has_many / has_one = La pondremos en la tabla relacionada por una Foreign key. Se entiende mejor si la interpretamos por es_referenciada_por.
Volvere a este tema más adelante ya que tiene mucha miga.

No comments: