Escolar Documentos
Profissional Documentos
Cultura Documentos
Introducción:
Las relaciones de ruby on rails nos permiten hacer el registro de bases de datos. Estas relaciones
funcionan de distintas formas ya sea por medio de celdas y una Matriz, Relaciones circulares que
se basan en el registro de uno a uno y la otra es de “muchos a muchos” que se ogra por medio de
la tabla de pivote.
Contenido:
Las bases de datos SQL funcionan en modo relacional. Esto quiere decir que utilizan una Matriz
de celdas para representar los datos. En cada renglón de una matriz, existe un registro individual.
Cada columna de la matriz representa uno de los valores de ese registro, y tiene un tipo
específico (numérico, caracteres, etcétera):
Tabla: Personas
En el modelo relacional, dos tablas pueden estar relacionadas a traves de una clave de identidad,
entre otras cosas para poder representar valores repetidos, o valores que no pertenecen a la
naturaleza de lo que representa la tabla:
Tabla: Teléfonos
Persona
o nombre: String
o apellido: String
o sexoMasculino: boolean
o nacidoEn: String
o telefonos: Telefono[]
pais: String
area: String
telefono: String
Relaciones Circulares
Las relaciones de pertenencia se representan con has_one o con has_many, lo cual le permite
especificar que la relación es de uno a uno o de uno a muchos, respectivamente. La relación
opuesta se puede representar con belongs_to, en la clase de destino. El resultado se ve muy
natural:
Tabla Columna
persona id
detalles persona_id
telefonos persona_id
Por supuesto, si es necesario usted puede cambiar los nombres de columnas por defecto por
medio de modificar las opciones de belongs_to. En el siguiente ejemplo cambiaremos el nombre
de la columna que conecta a la persona en la clase de detalles:
class Detalle < ActiveRecord::Base
belongs_to :persona, :foreign_key=>"humano_id"
end
Relaciones Circulares
La posibilidad de cambiar opciones en belongs_to permite, entre otras cosas crear relaciones
circulares, por ejemplo:
end
Un tipo de relaciones muy útil en el mundo de SQL es la relación de "muchos a muchos", lo cual
se logra con lo que se llama una tabla de pivote. Supongamos que tenemos una relación de
Personas y Compañias. Una persona puede ser cliente de varias compañías. Y las compañías
pueden tener varios clientes. La tabla de pivote es como sigue:
companias_personas tipo
persona_id int
compania_id int
Conclusión:
Las relaciones de ruby on rails son muy útiles para el registro de datos por medio de las mismas.
Ya sea de forma relacional que funciona mediante una Matriz y se registra en celdas, las
relaciones circulares funcionan como registro de uno a uno o de “muchos a muchos”, por medio
de la tabla de pivote.