Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CASO DE ESTUDIO
2. Proceso de Negocios
Tabla Descripción
Acá se registran todos los Pedidos de la Florería
Fecha_hora_recepcion: fecha y hora en que se toma el
pedido
Fecha _recepcion: fecha en que se toma el pedido. La hora
se establece igual para todos con la finalidad de escoger
sólo dias diferentes, y no días-horas diferentes
Fecha_hora_confirmacion: fecha y hora en que el
PEDIDOS distribuidor nos toma el pedido
Fecha_hora_despacho: fecha y hora en que el distribuidor
envia el pedido al cliente
Fecha_hora_entrega: fecha y hora en que el distribuidor
entrega el pedido al cliente
Fecha_hora_satisfaccion: fecha y hora en que el distribuidor
registra la entrega en el sistema
Des_estado: estado del Pedido
Acá se registran los datos personales de Clientes, entre ellos
Tipo_persona N: Natural J: Jurídica
CLIENTES
Cod_cliente_vip N: no S: si
Sexo_Cliente H: Hombre M: Mujer E: Empresa
Registra la satisfacción del cliente al recibir el ramo de flores
SATISFACCIÓN
Tipo_satisfaccion S: Satisfecho I: Insatisfecho
Registra el historial del cambio de estado de Pedidos
Des_estado_orig C: Confirmado E: Entregado N:
Anulado R: Recepcionado
GESTION
Des_estado_cambio C: Confirmado E: Entregado N:
Anulado R: Recepcionado S: Satisfaccion
Fecha_hora_cambio fecha y hora del cambio
-2-
Tópicos Especiales en Ingeniería de Sistemas
-3-
Ms Ing Arturo Diaz Pulido.
SELECT SERVERPROPERTY('productversion'),
('edition')
Archivo : Transaccional.sql
-4-
Tópicos Especiales en Ingeniería de Sistemas
/* Table: ARREGLOS */
/*========================================================*/
create table ARREGLOS (
COD_TIPO_ARREGLO numeric(7) not null,
COD_CLASE_ARREGLO numeric(7) not null,
COD_ARREGLO numeric(7) not null,
DES_ARREGLO char(100) null,
IMP_ARREGLO numeric(9,2) null,
IMP_COSTO numeric(9,2) null,
constraint PK_ARREGLOS primary key (COD_TIPO_ARREGLO,
COD_CLASE_ARREGLO, COD_ARREGLO)
)
go
/*========================================================*/
/* Table: CLASE_DE_ARREGLO */
/*========================================================*/
create table CLASE_DE_ARREGLO (
COD_TIPO_ARREGLO numeric(7) not null,
COD_CLASE_ARREGLO numeric(7) not null,
DES_CLASE_ARREGLO char(100) null,
constraint PK_CLASE_DE_ARREGLO primary key
(COD_TIPO_ARREGLO, COD_CLASE_ARREGLO)
)
go
-5-
/*========================================================*/
/* Table: CLIENTES */
/*========================================================*/
create table CLIENTES (
COD_CLIENTE numeric(7) not null,
NOM_CLIENTE char(100) null,
TIPO_PERSONA char(1) null,
COD_CLIENTE_VIP char(1) null, SEXO_CLIENTE
char(1) null,
constraint PK_CLIENTES primary key (COD_CLIENTE)
)
go
/*========================================================*/
/* Table: GESTION */
/*========================================================*/
create table GESTION (
COD_PEDIDO numeric(7) not null,
DES_ESTADO_ORIG char(1) not null,
DES_ESTADO_CAMBIO char(1) null,
FECHA_HORA_CAMBIO datetime null,
constraint PK_GESTION primary key (COD_PEDIDO,
DES_ESTADO_ORIG)
)
go
/* Table: PEDIDOS */
/*========================================================*/
create table PEDIDOS (
COD_PEDIDO numeric(7) not null,
COD_CLIENTE numeric(7) null,
TIPO_SATISFACCION char(1) null,
COD_SATISFACCION numeric(7) null,
COD_TIPO_ARREGLO numeric(7) null,
COD_CLASE_ARREGLO numeric(7) null,
COD_ARREGLO numeric(7) null,
DES_DIRIGIDO_A char(100) null,
DES_NOTA char(100) null,
FECHA_HORA_RECEPCION datetime null,
FECHA _RECEPCION date null,
FECHA_HORA_CONFIRMACION datetime null,
FECHA_HORA_DESPACHO datetime null,
-6-
/*========================================================*/
/*========================================================*/
/* Table: SATISFACCION */
/*========================================================*/
create table SATISFACCION (
TIPO_SATISFACCION char(1) not null,
COD_SATISFACCION numeric(7) not null,
DES_SATISFACCION char(100) null, constraint
PK_SATISFACCION primary key (TIPO_SATISFACCION,
COD_SATISFACCION)
)
go
/* Table: TIPO_DE_ARREGLO */
/*========================================================*/
create table TIPO_DE_ARREGLO (
COD_TIPO_ARREGLO numeric(7) not null,
DES_TIPO_ARREGLO char(100) null, constraint
PK_TIPO_DE_ARREGLO primary key (COD_TIPO_ARREGLO)
)
go
-7-
/*========================================================*/
-8-
alter table PEDIDOS
add constraint FK_PEDIDOS_REFERENCE_ARREGLOS foreign key
(COD_TIPO_ARREGLO, COD_CLASE_ARREGLO, COD_ARREGLO)
references ARREGLOS (COD_TIPO_ARREGLO,
COD_CLASE_ARREGLO, COD_ARREGLO) go
-9-
5. Data Transaccional
TIPO_DE_ARREGLO 2 registros
COD_TIPO DES_TIPO
1 Sin extras
2 Con accesorios
CLASE_DE_ARREGLO 7 registros
TIPO COD_CLASE DES_Clase
1 1 Sencillo
1 2 Doble
1 3 Triple
1 4 Otros
2 1 Globos
2 2 Peluches
2 3 Regalos
-10-
1 4 16 Otros estilo italiano 11 8.8
2 1 18 Girasoles Jardin c/ globo chico 15 12
2 2 1 Rosas campestre c/ peluche grande 32 25.6
Rosas campestre c/ peluche
2 2 2 mediano 30 24
… … … … … …
SATISFACCIÓN 8 registros
TIPO COD DES
S 1 Satisfaccion
I 1 Entrega retrasada
I 2 Flores marchitas, secas
I 3 Flores inadecuadas para la ocasión
I 4 Presentacion inadecuada
I 5 Disconformidad con lo solicitado
I 6 Accesorios incompletos
I 7 Otros
-11-
GESTION 19562 registros
-12-
6. Cargar Data a las BD Transaccionales desde OLTP (EXCEL, Acces) con SQL Server
2014
-14-
Toda la data estratégica se ha de poder integrar gracias a procesos ETL:
Warehouse.
y Carga de datos (ETL), que nos permitirá estructurar los datos de forma
-15-
DEFINICIÓN
otra base de datos, data mart, o data warehouse para analizar, o en otro
EXTRAER
del usuario, consiste en extraer los datos desde los sistemas de origen. La
-16-
mayoría de los proyectos de
de lo que resulta un chequeo que verifica si los datos cumplen la estructura que
que ésta cause un impacto mínimo en el sistema origen. Si los datos a extraer
provocando que éste no pueda utilizarse con normalidad para su uso cotidiano.
obtención de los mismos puede ser un tanto más dificultoso, debido a que, por
-17-
ejemplo, se tendrán que realizar cambios de formato y/o volcado de
Manipular los datos sin interrumpir ni paralizar los OLTP, ni tampoco el DW.
ETL.
tablas auxiliares, tablas temporales, etc. Los datos de estas tablas serán los
TRANSFORMAR
definiendo estándares, para que todos los datos que ingresarán al DW estén
integrados.
Los casos más comunes en los que se deberá realizar integración son:
Codificación.
-18-
Medida de atributos.
Convenciones de nombramiento.
Fuentes múltiples.
funciones sobre los datos extraídos para convertirlos en datos que serán
de los datos. No obstante en otros casos pueden ser necesarias aplicar algunas
Seleccionar sólo ciertas columnas para su carga (por ejemplo, que las
-19-
Traducir códigos (por ejemplo, si la fuente almacena una "H" para Hombre
y "M" para Mujer pero el destino tiene que guardar "1" para Hombre y "2"
para Mujer).
"1").
precio).
etc.).
Calcular totales de múltiples filas de datos (por ejemplo, ventas totales de
cada región).
-20-
Limpieza de Datos (Data Cleaning)
Las acciones más típicas que se pueden llevar a cabo al encontrarse con
Ignorarlos.
especiales.
o Reemplazar el valor.
-21-
o Discretizar los valores de las columnas. Por ejemplo de 1 a 2, poner
Values) son:
especiales.
disponibles.
más valor a los datos de la organización. Se puede dar que en algunos casos,
los valores faltantes sean inexistentes, ya que por ejemplo, un nuevo asociado
CARGAR
almacenamiento intermedio.
-22-
Aquellos datos de los OLTP que tienen correspondencia directa con el
depósito de datos.
EL PROCESO ETL
-24-
Figura 15. Proceso ETL.
almacenamiento intermedio.
-25-
Ver demo en http://www.sixtina.com.ar/0videos/sixtinaetl/etl/sixtina_etl.html
PROCESAMIENTO PARALELO
registro número 2.
Estos tres tipos de paralelismo no son excluyentes, sino que pueden ser
Una dificultad frecuente es asegurar que los datos que se cargan sean
DEFINICIÓN
-27-
entidad en la que se utiliza. Se trata, sobre todo, de un expediente completo
Intelligence.
Definición de Bill Inmon Bill Inmon fue uno de los primeros autores en
-28-
Variante en el tiempo.- Los cambios producidos en los datos a lo largo del
tiempo quedan registrados para que los informes que se puedan generar
mejor todos los datos corporativos. En esta metodología los Data marts se
organización.
http://www.inmoncif.com/home/
Definición de Ralph Kimball Una copia de las transacciones de datos
un almacén de datos.
-29-
La ventaja principal de este tipo de bases de datos radica en las
operacionales).
http://www.kimballgroup.com/
APORTACIONES DE UN DATAWAREHOUSE
-30-
Gestiona el depósito de datos a través de tablas de hechos y tablas de
CARACTERÍSTICAS DE UN DATAWAREHOUSE
-31-
el estado de la actividad del negocio en el momento presente. Por el
se carga con los distintos valores que toma una variable en el tiempo para
permitir comparaciones.
parte de los usuarios finales. Por ejemplo, todos los datos sobre clientes
-32-
No volátil: el almacén de información de un datawarehouse existe para ser
-33-
Separación de los datos usados en operaciones diarias de los datos usados
informacionales.
-34-
Los objetivos que deben cumplir los metadatos, según el colectivo al que
va dirigido, son:
-35-
VENTAJAS E INCONVENIENTES DE LOS DW
Ventajas: Hay muchas ventajas por las que es recomendable usar un almacén
Los almacenes de datos hacen más fácil el acceso a una gran variedad de
la decisión tales como informes de tendencia, por ejemplo: obtener los ítems
-36-
Los almacenes de datos pueden trabajar en conjunto y, por lo tanto,
son elevados.
A menudo existe una delgada línea entre los almacenes de datos y sistemas
-37-
costoso implementar operaciones no necesarias o dejar de implementar
Los data lakes han surgido en el paisaje de Data Management en los últimos
Datos: Un data warehouse sólo almacena datos que han sido modelados o
sólo se cargan los datos sin procesar, tal y como están, y cuando esté listo
-38-
razones principales para esto: en primer lugar, Hadoop es software de
tomar mucho tiempo dado todos los procesos de negocio que están
data warehouse es mucho más madura que asegurar datos en un data lake.
Data.
-39-