pregunta de BI

11/04/2007 - 14:22 por Jiordie | Informe spam
Hola a todos,

Estoy haciendo mi primera bodega de datos, y tengo una pregunta con respecto
a las dimensiones.

Estoy pensando en que cada dimensión se actualizaría de la siguiente forma:
coloco un trigger en la tabla origen, (la del motor relacional) que me
inserte en una tabla temporal los id que fueron actualizados, eliminados o
insertados, y de esta forma creo un DTS que coja de esa tabla temporal esos
Id y los coloque en la dimensión.

Esto es optimo?, hay mejores formas de hacerlo? qué debo hacer?

Muchas gracias, espero haberme explicado bien

Preguntas similare

Leer las respuestas

#6 Alejandro Mesa
11/04/2007 - 20:40 | Informe spam
Javier,

Pero lo que vez es mas la intencion de volver a mis raices, leer
diariamiente el foro y ayudar en lo que pueda. Tambien estoy empezando con
los blogs: http://blogs.solidq.com/ES/jloria/default.aspx
Vamos a ser si no me quedo en intenciones, y me dura bastante.



Felicidades, por ahi estare rondando. Hay mucho por donde cortar en cuanto
BI, por lo que aburrido no estaras.

Saludos,

Alejandro Mesa


"Javier Loria" wrote:

Hola:
Je, Je. Hoy a las tres de la mañana termine un capitulo!!!, y tengo algo
de tiempo libre ya que todavía no me han enviado las revisión de capitulo
anterior :)
Pero lo que vez es mas la intencion de volver a mis raices, leer
diariamiente el foro y ayudar en lo que pueda. Tambien estoy empezando con
los blogs: http://blogs.solidq.com/ES/jloria/default.aspx
Vamos a ser si no me quedo en intenciones, y me dura bastante.
Saludos,

Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.


"Alejandro Mesa" wrote in message
news:
> Javier Loria,
>
> Ya terminastes el libro o estas cojiendo un break y por eso te veo mas a
> menudo por aca?
>
> Saludos,
>
> Alejandro Mesa
>
>
> "Javier Loria" wrote:
>
>> Hola:
>> Es una alternativa pero para mi gusto no es la mejor. Otras que
>> puedes
>> considerar:
>> 1) Agregar una columna a cada tabla con la fecha de modificacion. Hacer
>> un
>> default que tenga un GETDATE(), y un trigger de fije el valor de la
>> columna
>> tambien a GETDATE(). Si la tabla es de tamao de por lo menos 10,000
>> filas,
>> y se modifican relativamente poco, vale la pena evaluar la necesidad de
>> crear un indice no-clustereded. En el ETL hacer un WHERE para la las
>> filas
>> con Fecha cambiada. La ventaja es que la columna puede tambien ser usada
>> como mecanismo de auditoria.
>> 2) Agregar a las tablas una columna timestamp. La columna timestamp, no
>> tiene nada que ver con el tiempo y es solamente un consecutivo
>> hexadecimal
>> de las filas cambiadas en una base de datos. La ventaja es que no
>> requiere
>> triggers. El siguiente ejemplo puede ayudarte:
>> > >> CREATE TABLE Demo (
>> PKDemo INT PRIMARY KEY
>> , Col1 INT NOT NULL
>> , timestamp);
>>
>> INSERT Demo(PKDemo, Col1)
>> VALUES(1,1)
>> INSERT Demo(PKDemo, Col1)
>> VALUES(2,1)
>> SELECT * FROM Demo
>> UPDATE Demo
>> SET Col1=2
>> WHERE PKDemo=1
>> SELECT * FROM Demo
>> > >> Igualmente si la tabla tiene muchas filas y se modifican poco puedes
>> considerar crear un indice clustered. En el ETL se captura hace una
>> modificacion en una tabla de control, para tomar el ultimo valor y se
>> hacen
>> filtros por rango de todos los cambios ocurridos.
>> Este es mi metodo favorito.
>> 3) Si no puedes cambiar el esquema original de los datos. Lo
>> tradicional
>> es leer y comparar los valores de cada una de las columnas entre la
>> fuente y
>> el destino o eventualmente usando un hash para hacer la comparacin.
>> Saludos,
>>
>> Javier Loria
>> Costa Rica (MVP)
>> Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
>> que pueda ser copiado y pegado al Query Analizer.
>> La version de SQL y Service Pack tambien ayuda.
>> "Jiordie" wrote in message
>> news:%23Fp%
>> > Hola a todos,
>> >
>> > Estoy haciendo mi primera bodega de datos, y tengo una pregunta con
>> > respecto a las dimensiones.
>> >
>> > Estoy pensando en que cada dimensin se actualizara de la siguiente
>> > forma: coloco un trigger en la tabla origen, (la del motor relacional)
>> > que
>> > me inserte en una tabla temporal los id que fueron actualizados,
>> > eliminados o insertados, y de esta forma creo un DTS que coja de esa
>> > tabla
>> > temporal esos Id y los coloque en la dimensin.
>> >
>> > Esto es optimo?, hay mejores formas de hacerlo? qu debo hacer?
>> >
>> > Muchas gracias, espero haberme explicado bien
>> >
>>

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida