Single Table Inheritance

Slides:



Advertisements
Presentaciones similares
Juan F. Velazquez Mayra E. Beltran Jaime Lopez
Advertisements

JAVA PERSISTENCE API (JPA) - Relaciones
Capítulo 2- Primer Paso Repaso
Hibernate Annotations
Objectif du site Site purpose Objetivo del sitio.
Adverbs Ending in -mente
Metodología de programación paralela
While Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright 2008 by Leonel.
Subrutinas y Funciones Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright.
Bucle while while (condición) { Cuerpo_del_bucle; } Mientras se cumpla la condición se ejecutan las instrucciones que conforman el cuerpo del bucle. Se.
Flujos de trabajo en SharePoint 2010 Pablo Peris
CONSTRUYENDO UNA PÁGINA WEB CON HTML. Introducción Construir una página web de sólo contenido es relativamente fácil La forma de abordarlo es sistémica.
USING THE INTERNET. 2 Concept 6.1 What Is the Internet? The Internet is millions of computers from all parts of the world connected so that they can communicate.
Polymorphics Associations Seguimos Reutilizando Tablas por Nelson Rojas Núñez
Los objetos indirectos Me- meNos- us Te- youOs- you (plural) Le- him/her/you formalLes- them (mas,fem,you formal)
MSQL OPERADORES BIT A BIT & a & b Operador de BIT AND. I a l b Operador de BIT OR. < < a >
Spatial Database Bases de Datos Espaciales MOTORES COMERCIALES Oracle Spatial.
Los comparativos y superlativos
Los comparativos y superlativos
Programación con OpenMP* Intel Software College. Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or.
Pasos a seguir para Utilizar las listas predefinidas por el I.N.E..... Generar sus propias listas.... Exportar la información a diferentes formatos....
Desarrollo de proyectos WEBDiseño de Interaccion Dise ñ o WEB Extraído de: Ray, K y Amy, S. (1998). Diseño interactivo. España, Anaya Multimedia.
1 Introducción Seminario sobre las prácticas curriculares en América Central Guatemala, Abril 2006 Xavier ROEGIERS y Alexia PEYSER.
El Peso saludable Hay muchas tablas y fórmulas que sirven para calcular el peso ideal o el grado de exceso de peso, pero ¡ten cuidado! Con ellas se obtienen.
Cesión de derechos hereditarios: su tratamiento tributario
Lenguajes de Programación Soluciones a pruebas de nivel
Conectores gramaticales
El Poder del Metabolismo
INTEGRIDAD, INTEGRIDAD REFERENCIAL
La oración Los enunciados son grupos de palabras ordenadas que tienen sentido completo. Hay dos clases de enunciados:Frases y oraciones. Las frases son.
Libro de Clases Electrónico Administrativo OTEC
Base de datos y Microsoft Access
ERASMO AGUILAR SIG FARQ UNI
Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar las variables.
Nombre:Nº de Control: María del Carmen Raygoza Hernández Judith Itzel Requejo Hernández
Descarga: En la pagina principal usted podra descargar el programa Skype : DIAPOSITIVA 1 Clic para Descargar El programa Clic para Descargar El instructivo.
CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE
Animaciones en la Web Animación GIF Animación Shockwave Flash
Comparaciones en español. Comparativos NO iguales (disigualdad) más (menos) + adjective + que: más (menos) + adverb + que: más (menos) + noun + que: Tú
Procedimientos Almacenados y Disparadores
CAPACITACIÓN DOCENTE Utilización de las Netbooks del Programa Conectar Igualdad Situación Institucional.
Calentamiento 1/5/11 Escribe en inglés y español.
Compare and Contrast Its like this and like that, yeah!
SQL Base de Datos LENGUAJES DE CONSULTA AR y CR no pueden ser tomados como base para implementar porque: Poseen sintaxis compleja No permiten.
PL/SQL Francisco Moreno Universidad Nacional. Funciones Si un procedimiento tiene solo un parámetro de salida, se puede remplazar por una función y esta.
Defina una clase TempMinMaxEst que encapsule la representación de las temperaturas mínimas y máximas registradas en una estación meteorológica y brinde.
Consideraciones. Un Bean public class AddressBean { //properties private String street; private String city; private String state; private String zip;
IMPLEMENTACIÓN DE SISTEMAS DE INFORMACIÓN Arquitectura de Datos.
85 motivos* para Ruby on Rails
Oracle y Java Continuación *
13/01/08Seminario de Bases de Datos1 Oracle y Java * * Tomado del curso de Francisco Moreno.
Herramientas de Oracle para realizar Tuning de Sentencias SQL
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Overloading de subprogramas procedure Put(Item: in integer;
Seminario de Lenguajes A – Opción Ada Estructura general de programas –Especificación de contexto –Encabezado –Declaraciones –Cuerpo Seminario de Lenguajes.
Seminario de Lenguajes A – Opción Ada
Administración de Servidores de Bases de Datos Bases de Datos de Usuarios Caso particular Adaptive Server Enterprise.
Bojos per l’economia Karl Popper: “the method of science is the method of bold conjectures and ingenious and severe attempts to refute them.”
1.Tecnología Java Instaladores necesarios Jdk->Para Desarrollo
Grammar Notes: Making comparisons
LOGO MSc. Pastor Enrique Vargas E.. LOGO
Objetivo: What kind of comparisons can we make? Hagan Ahora: Un video para repasar todo. video.
Vocabulario Los Tainos El imperfecto Comparaciones.
Estructuras de Datos y Algoritmos TDA LISTA. Metáfora del TDA (repaso) Conjunto de operaciones forman una pared forman una interfase entre los programas.
Programacion Orientada a PHP Objetos (POO) Eliseo Melgarejo Daniel Mahn Desarrollo de sistemas.
COMO GENERAR UN SCRIPT DE LOS OBJETOS DE UNA BASE DE DATOS
Esxcvzxcvzxvczxcvpacio para el texto.
Procedimientos y Funciones
Procedimientos y Funciones
END.
User Name: SuperSayaHentai New Password: crUj65KKUAXC.
Transcripción de la presentación:

Single Table Inheritance Herencia de tablas con Rails :) por Nelson Rojas Núñez www.profenelson.cl

El problema Ads -name -body -published Pages -name -body -published class Ad < ActiveRecord::Base El problema Ads -name -body -published class Page < ActiveRecord::Base Pages -name -body -published class Post < ActiveRecord::Base Posts -name -body -published Las tres tablas apuntan a elementos diferentes, tienen los mismos campos, pero usan 3 tablas en la base de datos.

Usando Single Table Inheritance class Entry < ActiveRecord::Base Entries -name -body -published -type class Ad < Entry class Post < Entry class Page < Entry Ad Post Page

Ejemplo Las Clases class Entry < ActiveRecord::Base end $ rails demo demo$ ruby script/generate model entry name:string body:text published:boolean type:string demo$ rake db:migrate demo$ ruby script/generate model post --skip-migration demo$ ruby script/generate model ad --skip-migration  demo$ ruby script/generate model page --skip-migration   Las Clases class Entry < ActiveRecord::Base end   class Page < Entry end class Post < Entry end class Ad < Entry end

Usemos la consola para probar >> o = Post.new >> #<Post id: nil, name: nil, body: nil, published: nil, type: "Post", created_at: nil, updated_at: nil> >> o.name = "mi primer post" >> o.body = "este es el cuerpo de mi primer post" >> o.published = true >> o.save >> p = Page.new >> #<Page id: nil, name: nil, body: nil, published: nil, type: "Page", created_at: nil, updated_at: nil> >> p.name = "mi primera pagina" >> p.body = "este es el cuerpo de mi primera pagina" >> p.published = true >> p.save >> Entry.count => 2 >> Post.count => 1 >> Page.count => 1

Conclusiones Lo bueno Permite realizar búsquedas en un único lugar para cosas diferentes. Menos código para mantención. Herencia elegante :)    Lo malo No es la panacea, por tanto no abusar de ella cuando los elementos requieren tratamientos diferentes. Una mala idea es hacer herencia con órdenes de compra, facturas y guías.

Enlaces http://juixe.com/techknow/index.php/2006/06/03/rails-single-table-inheritance/   http://www.therailsway.com/2006/11/19/tracks-part-3