Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fernando Princich.
Resumen
Introducción:
Los sistemas clásicos de soporte a la decisión están diseñados para que los tomadores
de decisiones evalúen la rentabilidad de su empresa.
En éste trabajo final de aplicación, se utilizan distintas metodologías para dar soporte a
la toma de decisiones en la producción ganadera bovina. Que indirectamente también
da soporte para evaluar la rentabilidad de la empresa u organización ganadera.
La producción ganadera bovina, puede dividirse en cuatro ramas: La Cría del Ganado,
Invernada, Tambo, y Cabaña.
La variación en producción, en la que se optó investigar para desarrollar la aplicación
fue la de Cría y Recría, por el simple hecho de que es la más practicada en la zona.
Se define como Cría al proceso productivo dedicado a la obtención de terneros, que es
el producto final, de Lo que dispone el criador para su venta anual.
La Cría es el proceso inicial en toda la cadena de la producción de carne.
La invernada o engorde, es el proceso productivo que continúa a la cría y consisten la
compra de los ternero para llevarlos a otras categoría comercializables, como novillitos
y/o novillos.
El objetivo primario de la cría es; lograr un ternero por vaca y por año.
La región del NEA, es la segunda zona de cría en importancia en el país, con un stock
aproximado de 9.000.000 de cabezas de las cuales el 46.5 % son vientres. (Según
Encuesta Nacional Agropecuario, año 2002).
Se adopta el criterio de que la inteligencia tiene que ver principalmente con las
acciones racionales. Desde un punto de vista ideal, un agente inteligente es
aquel que emprende la mejor acción posible en una situación dada. Se
estudiará el problema de la construcción de agentes que sean inteligentes en
este sentido.
Los filósofos (desde el año 400 a.C.) permitieron el poder pensar en IA, al concebir a la
mente, con maneras diversas, como una máquina que funciona a partir del
conocimiento codificado en un lenguaje interno y al considerar que el pensamiento
servía para determinar cuál era la acción correcta que había que emprender.
Las matemáticas proveyeron las herramientas para manipular las aseveraciones
de certeza lógica, así como las inciertas, de tipo probabilista. Así mismo,
prepararon el terreno para el manejo del razonamiento con algoritmos.
Los psicológicos reforzaron la idea de que los humanos y otros animales podían ser
considerados como máquinas para el procesamiento de información. Los lingüistas
demostraron que el uso de un lenguaje ajusta dentro de este modelo.
La ingeniería de cómputo ofreció el dispositivo que permite hacer realidad las
aplicaciones de IA. Los programas de IA por lo general son extensos y no funcionarían
sin los grandes avances en velocidad y memoria aportados por la industria de
cómputo.
La historia de la IA ha sido testigo de ciclos de éxito, injustificado optimismo y la
consecuente desaparición de entusiasmo y apoyos financieros. También ha habido
ciclos caracterizados por la introducción de nuevos y creativos enfoques y de un
sistemático perfeccionamiento de los mejores.
Los avances recientes logrados en la comprensión de las bases teóricas de la
inteligencia han ido aparejados con mejoras hechas en el potencial de los sistemas
reales.
Según la clase de problemas hacia los que estén orientados, podemos clasificar los
Sistemas Expertos en diversos tipos entre los que cabe destacar diagnosis,
pronóstico, planificación, reparación e instrucción; algunas de las aplicaciones
existentes (o en periodo de desarrollo) para cada uno de los campos citados, son:
Otro tipo de Sistemas Expertos son los orientados a la reparación, sin embargo, no se
puede decir que sea un tipo realmente nuevo, ya que este enfoque abarca diagnosis y
planificación. Dentro de este grupo se incluyen sistemas como DELTA, que ayuda a los
mecánicos en el diagnóstico y reparación de locomotoras diesel-eléctricas. DELTA no
solo da consejos expertos, sino que también presenta informaciones por medio de un
reproductor de vídeo. De hecho se podría encasillar a DELTA más en el área de la
instrucción que en reparación, dado que además proporciona ayudas al trabajo que
permiten al estudiante determinar si existe o no un determinado problema,
proporcionando también formación específica sobre el modo de realizar ciertas
reparaciones.
Un sistema de instrucción (Sistema Experto para formación) realiza un seguimiento
del proceso de aprendizaje de un estudiante. El sistema detecta errores de los
estudiantes e identifica el remedio adecuado, es decir, desarrolla un plan de
enseñanza para facilitar el proceso de aprendizaje y la corrección de errores.
Además de DELTA, existen numerosos sistemas de este tipo; STEAMER, por ejemplo,
se creó para enseñar a los oficiales de la armada los problemas de funcionamiento de
una planta de propulsión a vapor, como las que impulsan a ciertos barcos. Este era el
problema de formación más importante que existía, dada la complejidad de los
sistemas. El objetivo es dar al estudiante una concepción global de lo que pasa en la
planta en cualquier momento, con la ventaja de que además el modelo de presentación
es gráfico (utilizando Interlisp). Con un objetivo similar al de STEAMER,
Construcciones Aeronáuticas S. A. (CASA) desarrolló el Proyecto Eolo CN-235. En
este caso, el problema está en el hecho de que pilotar un avión que cuesta cientos de
millones de pesetas es un asunto muy serio a la vez que peligroso, lo que exige mucho
tiempo de entrenamiento, tanto para pilotos como mecánicos, suponiendo para las
compañías aéreas un gran problema, dado el elevado coste de los cursos y la escasez
de instructores. El proyecto surgió de la voluntad de Construcciones Aeronáuticas S. A.
de ofrecer un curso específico para pilotos y técnicos de mantenimiento, a todos los
compradores del avión CN- 235. Eolo CN-235 es un sistema de enseñanza interactivo
que integra gráficos, texto y vídeo.
Otro sistema de este tipo, aunque en este caso orientado a medicina, es GUIDON,
pensado para que lo utilicen las Facultades de Medicina para formar a los médicos en
la realización de consultas. GUIDON viene a ser una reorganización de MYCIN con
intenciones educativas, por esto, tiene la ventaja adicional de disponer de toda la base
de conocimientos de MYCIN además de la experiencia acumulada, por consiguiente,
puede recuperar como ejemplo cualquier caso que MYCIN haya tratado.
Además de las áreas de aplicación ya citadas, existen otras como las relativas a los
sistemas de interpretación, que realizan tareas de inferencia a partir de una serie de
datos observables (por ejemplo análisis de imágenes, o bien interpretación de señal).
Para concluir con esta exposición de aplicaciones de Sistemas Expertos, solamente
indicar que el futuro de dichas aplicaciones pasa por la imaginación de cada uno,
siempre que el área elegida requiera la presencia de un experto para la obtención de
cualquier tipo de beneficio.
Para realizar un sistema experto son necesarias dos personas, el Experto del Dominio
(El veterinario, para éste trabajo en particular) y un Ingeniero de Conocimiento
(programador), estos van enlazar sus experiencias almacenándolos en la Base de
conocimientos que mediante la interface va a permitir al usuario llegar a comunicarse
con el motor de inferencia, el cual va a tomar la decisión de aplicar todo lo almacenado
en la base de conocimientos.
La Base de conocimiento se halla en la base datos y ésta está compuesta por
lenguajes de predicado, ésta es uno de los componentes que contiene el conocimiento
del experto, su función es almacenar experiencias, conocimientos, etc., de una
determinada área.
El declarativo;
Esta basado en hechos que vienen a ser acciones que se dan dentro del problema se
utilizan los lenguajes Prolog y Lisp.
El Motor de Inferencia
Su función es administrar, como, cuando, y las reglas de producción que se aplicaran
para la solución de un determinado problema
Dirige y controla la implementación del conocimiento, además permite decidir que tipos
de técnicas se usaran durante el diseño del sistema experto.
La Interfase
Parte que permite la comunicación con el usuario, en forma vi direccional. Mediante al
Interfase el Motor de Inferencia reconoce la pregunta y saca datos de la Base de
Conocimiento y mediante la Interfase responde la pregunta
Introducción:
En nuestra vida diaria encontramos muchas situaciones complejas gobernadas por
reglas deterministas: sistemas de control de trafico, sistemas de seguridad,
transacciones bancarias, etc. Los sistemas basados en reglas son una herramienta
eficiente para tratar estos problemas. Las reglas deterministas constituyen la mas
sencilla de las metodologías utilizadas en sistemas expertos. La base de
conocimiento contiene las variables y el conjunto de reglas que definen el problema, y
el motor de inferencia obtiene las conclusiones aplicando la lógica clásica a estas
reglas. Por regla se entiende una proposición lógica que relaciona dos o mas objetos e
incluye dos partes, la premisa y la conclusión. Cada una de estas partes consiste en
una expresión lógica con una o mas afirmaciones objeto-valor conectadas mediante los
operadores lógicos y, o, o no. Una regla se escribe normalmente como "Si premisa,
entonces conclusión". Como ejemplo de problema determinista que puede ser
formulado usando un conjunto de reglas, considérese una situación en la que un
usuario (por ejemplo, productor ganadero) desea saber si un animal X está en
condiciones de seguir siendo parte del plantel de reproductoras. En cuanto el usuario
ingresa la caravana del animal, el sistema verifica si la caravana ingresada es correcta.
Si caravana no es verificada con éxito (por ejemplo, porque no existe), el Sistema
devuelve mediante un mensaje el mensaje de error correspondiente. En otro caso, el
Sistema pide al usuario que ingrese los criterios por cual desea calificar como apto o
no al animal. Si el o los criterios seleccionados no pueden utilizarse porque esos datos
no están registrados, el sistema obvia esos criterios. Si esos criterios pueden ser
considerados, el sistema pide al usuario que ingrese los parámetros con los cuales
será calificado el animal. En este caso se tienen N objetos, dependiendo de los
criterios incluidos, y cada objeto puede tomar uno y solo un valor de entre sus posibles
valores. La Tabla 1 muestra estos objetos y sus posibles valores. La Figura 1 muestra
siete reglas que gobiernan la estrategia que el CA debe seguir cuando un usuario
intenta sacar dinero de su cuenta.
Regla 1
Si caravna = Verificada y
Peso = Suficiente
CondCorporal = correcta: y
Área pélvica = Superior y
Efectividad = Alcanzo
=> Se queda = Si
Regla 2 Regla 3
Si caravna = No Verificada Si Área pélvica = Inferior
=> Se queda = No Se queda = No
Regla 4 Regla 5
Sí Peso= Insuficiente Sí Efectividad = no Alcanzo
=> Se queda = No => Se queda = No
Regla 6
Si Cond Corp = Incorrecta
=> Se queda = No
Tal como se ha mencionado anteriormente existen dos tipos de elementos, los datos
(hechos y evidencias) y el conocimiento (conjunto de reglas almacenadas en la base
del conocimiento) El motor de inferencia usa ambos para obtener nuevas conclusiones
o hechos. Por ejemplo, si la premisa de una regla es cierta, entonces la conclusión de
la regla debe ser también cierta. Los datos iniciales se incrementan incorporando las
nuevas conclusiones. Por ello, tanto los hechos iniciales o datos departida como las
conclusiones derivadas de ellos forman parte de los hechos o datos de que se dispone
en un instante dado. Para obtener conclusiones, los expertos utilizan diferentes tipos
de reglas y estrategias de inferencia y control (véase, por ejemplo, Durkin [2]). En el
resto de esta sección se discuten las reglas de inferencia
• Modus Ponens,
• Modus Tollens,
y las estrategias de inferencia
• Encadenamiento de reglas,
• Encadenamiento de reglas orientado a un objetivo,
que son utilizadas por el motor de inferencia para obtener conclusiones simples y
compuestas.
Encadenamiento de Reglas
A
C
B Regla 1
K
D Regla 4
M
E G Regla 6
Regla 2
F L
Regla 5
H
J
I Regla 3
Figura 3. Una Representación Gráfica de las Relaciones entre las seis reglas fe la
Figura 2.
Tratamiento de la Incertidumbre
Introducción:
Como en el presente se han ocupado de la manera adecuada de razonar, aunque en
cada caso es diferente lo que se entiende por ello. En el caso de la lógica de primer
orden, el razonamiento adecuado significa la obtención de conclusiones a partir de
premisas; si la base de conocimientos original representa fidedignamente al mundo,
entonces las inferencias también lo representarán fielmente. En el caso de la
probabilidad, manejamos creencias, no el estado del mundo, y en este caso
"razonamiento adecuado" significa contar con creencias que permiten a un agente
actuar de manera racional.
Se ha visto una gran variedad de métodos para abordar el problema de la implantación
de los sistemas de razonamiento lógico. El razonamiento eficiente mediante la
probabilidad es tan reciente que solamente hay un método -las redes de creencia-, del
que existen sólo ligeras variantes. Lo más importante es lo siguiente:
La información sobre la independencia condicional es una forma vital y sólida de
estructurar información sobre un dominio incierto.
Las redes de creencia constituyen una manera natural de representar la información
sobre la independencia condicional. Los vínculos entre los nodos representan los
aspectos cualitativos del dominio; las tablas de probabilidad condicional representan
los aspectos cuantitativos.
Una red de creencia es una representación completa de la distribución de probabilidad
conjunta correspondiente a un dominio, pero su tamaño es exponencialmente menor.
La inferencia en las redes de creencia implica el cálculo de distribución de probabilidad
de un conjunto de variables de consulta, a partir de un conjunto de variables de
evidencia.
Las redes de creencia pueden razonar de manera causal, por diagnóstico, de modo
combinado o de forma intercausal.
Ningún otro mecanismo de razonamiento bajo condiciones de incertidumbre puede
manejar todos los modos anteriores.
La complejidad de la inferencia en una red de creencia dependerá de la estructura de
la red. En el caso de los poliárboles (redes con una sola conexión), el tiempo de cálculo
es función lineal del tamaño de la red.
Existen varias técnicas de inferencia que son utilizadas en las redes de creencia
general, y en todas ellas la complejidad es exponencial en el peor de los casos. En los
dominios reales, la estructura local tiende a que las cosas sean más factibles, aunque
hay que poner atención para construir una red manejable en donde haya más de un
centenar de nodos.
También es posible utilizar técnicas de aproximación, incluida la simulación
estocástica, para obtener una estimación de las verdaderas probabilidades haciendo
menos cálculos.
Se propusieron diversos sistemas alternos para razonar en condiciones de
incertidumbre. En todos los sistemas funcionales de verdad hay serios problemas
relacionados con el razonamiento mezclado o intercausal.
En la Lógica clásica, lo único que puede deducirse de una regla ("Modus Ponens" y
"Modus Tollens") es que si su premisa es cierta, también lo será su conclusión (ver
Figura 5). Por tanto, dada la regla: "Si A es cierto, entonces B es cierto" puede decirse
que A implica B con probabilidad 1 (Figura 5)(a)). Sin embargo, este modelo tiene
importantes limitaciones, porque son habituales las situaciones prácticas en las cuales
no es válido el modelo anterior. Por ejemplo, la presencia de algunos síntomas no
garantiza siempre la existencia de una enfermedad. Por tanto, sería muy útil
generalizar la lógica clásica y por medio de una lógica "incierta". En este nuevo
contexto, la regla anterior puede generalizarse de la forma siguiente: "A implica B con
probabilidad P r(B|A)", donde P r(B|A) es la probabilidad de B dado A (Figura 5)(b)).
Además, el otro extremo de la lógica clásica, representado por la regla: "A implica B
con probabilidad 0" puede ser generalizado por "A implica B’ con probabilidad 1",
donde B’ denota el complementario de B (Figura 5)(c)). Uno de los problemas
relacionados con este tipo de lógica es la propagación de incertidumbre. Obsérvese
que ahora cada sentencia (hecho) debe estar acompañada de una medida de
incertidumbre (probabilidad, factor de certeza, etc.) y que, cuando se combinan varios
hechos, ha de darse a las conclusiones obtenidas una medida de su incertidumbre. Sin
embargo, el problema principal es que aunque se conozca la medida de incertidumbre
asociada con las premisas, las conclusiones pueden tener, en teoría, un número infinito
de valores inciertos. Además, si se permite la posibilidad de reglas inciertas la cosa se
complica aún más.
Este hecho muestra la necesidad del desarrollo de nuevos sistemas expertos, como
los basados en la probabilidad
Ejemplos de implicaciones inciertas: (a) A implica B con P(B|A) = 1, (b) A implica B con
P(B|A) = p, donde 0 < p < 1, y (c) A implica B con P (B|A) = 0.
El razonamiento Bayesiano
Para una enfermedad que tiene una prevalencia del 8% existe una prueba que tiene
una sensibilidad del 75% y una especificidad del 96% respecto de dicha enfermedad.
¿Cuáles son los valores predictivos de la prueba?
Enfermedad
Prueba
Probabilidades condicionales
Una vez que se ha creado la red y asignado los respectivos valores de probabilidades
para las variables, el siguiente paso, es hacer que el sistema calcule lo que el
problema plantea.
Primeramente el sistema debe calcular las probabilidades a priori, para que luego se
puedan calcular los valores predictivos. Esto es;
Probabilidades a priori
Presente = 0,08
Ausente = 0,92
Positivo = 0,10
Negativo = 0,90
Probabilidades a Posteriori
MODELO ADMINISTRATIVO.
A pesar del diluvio de trabajo, la presión los administradores de éxito parecen tener la
capacidad de controlar sus propios asuntos, estos también pueden controlar las
actividades en las que desean involucrarse sobre la base diaria. Al desarrollar sus
compromisos a largo plazo, sus propios canales de información y sus propias redes,
los altos directivos pueden controlar sus propias agendas personales.
Definición
Una de las características que poseen un DSS es la facilidad que un usuario, sin tener
conocimientos amplios sobre sistemas computacionales, pueda desarrollar sus propios
modelos de decisión. Estos modelos son construidos con ayuda de herramientas, que
en términos generales se clasifican en herramientas de hardware y software. Las
primeras están constituidas por todos los elementos del hardware, incluyendo
microcomputadoras, monitores de alta resolución, impresoras, etc.
Las herramientas de software son aquellas que permiten al usuario generar sus
propias aplicaciones, manipular su información particular y, en genral, interactuar con
el DSS.
El Modelo
• Inventarios
• Control de proyectos
• Programación lineal
• Simulación
• Colas
• Análisis Estadísticos
• Planeación financiera de escenarios
La Base de Datos.
Permite una interacción fácil entre los usuarios del sistema y la base de datos del DSS
y la base de modelos.
Una parte fundamental de los DSS es facilidad para explorar la información a través de
gráficas de alta calidad y reportes que se diseñan y obtienen en intervalos cortos de
tiempo, así como la disponibilidad de lenguajes de muy alto nivel para facilitar la
consulta de información que contiene la base de datos.
La mayoría de los DSS permiten a los usuarios desarrollar sus propios modelos de
decisión. Esto implica la posibilidad de manejar entrada, procesamiento,
almacenamiento, y salida de información.
En este sentido el usuario diseña sus propios formatos de entrada y salida, así como la
estructura de almacenamiento de información y las funciones de procesamiento, de tal
forma que el sistema puede evolucionar de manera permanente, a trabés de los
cambios que periódicamente se van integrando a la aplicación. Esta forma de
desarrollo denominada prototipo, es diferente al proceso tradicional de desarrollo de un
sistema transaccional típico. En este último, el usuario tiene que definir de antemano
todos los requerimientos de sus sistemas de aplicación durante las fases de análisis
antes de iniciar la fase de diseño.
• Capacitación
• Involucramiento
• Experiencia de los usuarios
• Apoyo de la alta dirección
• Nivel de utilización
• Novedad de la aplicación
Aplicaciones
Ejemplo de Aplicaciones:
Organización Aplicación
Bank of America ....................... Perfil del cliente
Burlington Coat Factory............. Local del negocio e inventarios
National Gypsum....................... Planeación corporativa y dirección
Tendencias Futuras
Para comprender las funciones que debería contemplar un SSD se revisarán las fases
del proceso de toma de decisiones.
Inteligencia: En esta fase se intenta definir el problema, sus síntomas, su magnitud.
Se debe hacer una clasificación del mismo (estructurado, semi-estructurado, no
estructurado). También se puede realizar una descomposición del problema en
subproblemas para posibilitar un mejor análisis. Esta fase concluye con una sentencia
que define el problema.
Diseño: Esta fase involucra la generación, desarrollo y análisis de posibles cursos de
acción. Aquí se construye un modelo del problema, se prueba y se valida. El modelo
creado puede ser de tipo cualitativo o cuantitativo.
Elección: Una vez construido el modelo, esta fase incluye la búsqueda, evaluación y
recomendación de una apropiada solución al mismo. Como salida de esta etapa se
obtienen los distintos cursos de acción a tomar para resolver el problema. Para ello se
cuenta con varias técnicas como "Múltiples Metas' ', "Análisis Sensitivo'
', "Búsqueda de
Objetivo'
', etc.
Implementación: Tal vez es esta la fase más complicada, la cual consiste en poner a
trabajar la solución recomendada al problema.
Un SSD debería dar apoyo a cada una de las distintas fases del Proceso de Toma de
Decisiones.
Soporte a la fase de Inteligencia: Un SSD debe proveer la habilidad de buscar en
Bases de Datos internas y externas para detectar problemas y oportunidades. Para ello
un SSD debe almacenar grandes volúmenes de información y proveer un acceso
rápido y eficiente a la misma. La utilización de reportes (sumarizados, consolidados,
comparaciones, pronósticos, etc.) son de suma utilidad en esta fase. (En la aplicación;
Selección de Animales para ingresar a Servicio)
Soporte a la fase de Diseño: En esta fase un SSD debe proveer la utilización de
modelos (matemáticos, financieros, etc.) ya sean estándares o especiales. Por
ejemplo, muchos SSD brindan métodos de pronósticos para ser aplicados a los datos
contenidos en la Base de Datos Decisional de la organización.
En síntesis un SSD debe brindar a esta fase la capacidad de armar modelos en función
del problema definido.
Soporte a la fase de Elección: Un SSD puede recomendar, pero no toma decisiones,
puede identificar cual es la mejor alternativa o la más recomendada, pero el que toma
la decisión es el Directivo. Un SSD da soporte a esta fase mediante técnicas como
"Análisis sensitivo''
, "Análisis Que-Si'', "Análisis Búsqueda de Objetivo'
'. Mediante estas
técnicas se puede recomendar la mejor solución al problema. (En la aplicación Modulo
selección de animales para descarte)
Soporte a la fase de Implementación: En esta fase un SSD da soporte ayudando al
Directivo a explicar, justificar y comunicar la decisión tomada. Para ello se pueden
utilizar reportes, gráficos, imágenes, modelos, etc.
Componentes de un SSD:
Administrador de Datos: Incluye las bases de datos que contendrán la información
para la toma de decisiones (comúnmente conocido como DATA WAREHOUSE, en
éste trabajo, el sistema usa una base de datos relacional (acces), y se confeccionó un
modelo multidimencional a modo de explicación), el software de administración
(DBMS) y los programas de traspaso de información desde la Base de Datos
Transaccional (base de datos de los sistemas operativos) a la Base de Datos
Decisional (Data Warehouse). La información a incluir en la Base de Datos Decisional
puede ser:
Consideraciones:
Introducción
Desde que se inició la era de la computadora, las organizaciones han usado los datos
desde sus sistemas operacionales para atender sus necesidades de información.
Algunas proporcionan acceso directo a la información contenida dentro de las
aplicaciones operacionales. Otras, han extraído los datos desde sus bases de datos
operacionales para combinarlos de varias formas no estructuradas, en su intento por
atender a los usuarios en sus necesidades de información.
Ambos métodos han evolucionado a través del tiempo y ahora las organizaciones
manejan una data no limpia e inconsistente, sobre las cuales, en la mayoría de las
veces, se toman decisiones importantes.
La gestión administrativa reconoce que una manera de elevar su eficiencia está en
hacer el mejor uso de los recursos de información que ya existen dentro de la
organización. Sin embargo, a pesar de que esto se viene intentando desde hace
muchos años, no se tiene todavía un uso efectivo de los mismos.
La razón principal es la manera en que han evolucionado las computadoras, basadas
en las tecnologías de información y sistemas. La mayoría de las organizaciones hacen
lo posible por conseguir buena información, pero el logro de ese objetivo depende
fundamentalmente de su arquitectura actual, tanto de hardware como de software.
El data warehouse, es actualmente, el centro de atención de las grandes instituciones,
porque provee un ambiente para que las organizaciones hagan un mejor uso de la
información que está siendo administrada por diversas aplicaciones operacionales.
Un data warehouse es una colección de datos en la cual se encuentra integrada la
información de la Institución y que se usa como soporte para el proceso de toma de
decisiones gerenciales. Aunque diversas organizaciones y personas individuales logran
comprender el enfoque de un Warehouse, la experiencia ha demostrado que existen
muchas dificultades potenciales.
Reunir los elementos de datos apropiados desde diversas fuentes de aplicación en un
ambiente integral centralizado, simplifica el problema de acceso a la información y en
consecuencia, acelera el proceso de análisis, consultas y el menor tiempo de uso de la
información.
Las aplicaciones para soporte de decisiones basadas en un data warehousing, pueden
hacer más práctica y fácil la explotación de datos para una mayor eficacia del negocio,
que no se logra cuando se usan sólo los datos que provienen de las aplicaciones
operacionales (que ayudan en la operación de la empresa en sus operaciones
cotidianas), en los que la información se obtiene realizando procesos independientes y
muchas veces complejos.
Un data warehouse se crea al extraer datos desde una o más bases de datos de
aplicaciones operacionales. La data extraída es transformada para eliminar
inconsistencias y resumir si es necesario y luego, cargadas en el data warehouse. El
proceso de transformar, crear el detalle de tiempo variante, resumir y combinar los
extractos de datos, ayudan a crear el ambiente para el acceso a la información
Institucional. Este nuevo enfoque ayuda a las personas individuales, en todos los
niveles de la empresa, a efectuar su toma de decisiones con más responsabilidad.
La innovación de la Tecnología de Información dentro de un ambiente data
warehousing, puede permitir a cualquier organización hacer un uso más óptimo de los
datos, como un ingrediente clave para un proceso de toma de decisiones más efectivo.
Las organizaciones tienen que aprovechar sus recursos de información para crear la
información de la operación del negocio, pero deben considerarse las estrategias
tecnológicas necesarias para la implementación de una arquitectura completa de data
warehouse.
Teoría
Sistemas de Información
Los sistemas de información se han dividido de acuerdo al siguiente esquema:
Sistemas Estratégicos, orientados a soportar la toma de decisiones, facilitan la labor
de la dirección, proporcionándole un soporte básico, en forma de mejor información,
para la toma de decisiones. Se caracterizan porque son sistemas sin carga periódica
de trabajo, es decir, su utilización no es predecible, al contrario de los casos anteriores,
cuya utilización es periódica.
Destacan entre estos sistemas: los Sistemas de Información Gerencial (MIS), Sistemas
de Información Ejecutivos (EIS), Sistemas de Información Georeferencial (GIS),
Sistemas de Simulación de Negocios (BIS y que en la práctica son sistemas expertos o
de Inteligencia Artificial - AI).
Orientado a Temas
Una primera característica del data warehouse es que la información se clasifica en
base a los aspectos que son de interés para la empresa. Siendo así, los datos tomados
están en contraste con los clásicos procesos orientados a las aplicaciones. En la
Figura N° 1 se muestra el contraste entre los dos tipos de orientaciones.
El ambiente operacional se diseña alrededor de las aplicaciones y funciones tales
como préstamos, ahorros, tarjeta bancaria y depósitos para una institución financiera.
Por ejemplo, una aplicación de ingreso de órdenes puede acceder a los datos sobre
clientes, productos y cuentas. La base de datos combina estos elementos en una
estructura que acomoda las necesidades de la aplicación.
En el ambiente data warehousing se organiza alrededor de sujetos tales como cliente,
vendedor, producto y actividad. Por ejemplo, para un fabricante, éstos pueden ser
clientes, productos, proveedores y vendedores. Para una universidad pueden ser
estudiantes, clases y profesores. Para un hospital pueden ser pacientes, personal
médico, medicamentos, etc.
La alineación alrededor de las áreas de los temas afecta el diseño y la implementación
de los datos encontrados en el data warehouse. Las principales áreas de los temas
influyen en la parte más importante de la estructura clave.
Las aplicaciones están relacionadas con el diseño de la base de datos y del proceso.
En data warehousing se enfoca el modelamiento de datos y el diseño de la base de
datos. El diseño del proceso (en su forma clásica) no es separado de este ambiente.
Las diferencias entre la orientación de procesos y funciones de las aplicaciones y la
orientación a temas, radican en el contenido de la data a escala detallada. En el data
warehouse se excluye la información que no será usada por el proceso de sistemas de
soporte de decisiones, mientras que la información de las orientadas a las
aplicaciones, contiene datos para satisfacer de inmediato los requerimientos
funcionales y de proceso, que pueden ser usados o no por el analista de soporte de
decisiones.
Otra diferencia importante está en la interrelación de la información. Los datos
operacionales mantienen una relación continua entre dos o más tablas basadas en una
regla comercial que está vigente. Las del data warehouse miden un espectro de tiempo
y las relaciones encontradas en el data warehouse son muchas. Muchas de las reglas
comerciales (y sus correspondientes relaciones de datos) se representan en el data
warehouse, entre dos o más tablas.
Integración
El aspecto más importante del ambiente data warehousing es que la información
encontrada al interior está siempre integrada.
La integración de datos se muestra de muchas maneras: en convenciones de nombres
consistentes, en la medida uniforme de variables, en la codificación de estructuras
consistentes, en atributos físicos de los datos consistentes, fuentes múltiples y otros.
El contraste de la integración encontrada en el data warehouse con la carencia de
integración del ambiente de aplicaciones, se muestran en la Figura N° 2, con
diferencias bien marcadas.
A través de los años, los diseñadores de las diferentes aplicaciones han tomado sus
propias decisiones sobre cómo se debería construir una aplicación. Los estilos y
diseños personalizados se muestran de muchas maneras.
Se diferencian en la codificación, en las estructuras claves, en sus características
físicas, en las convenciones de nombramiento y otros. La capacidad colectiva de
muchos de los diseñadores de aplicaciones, para crear aplicaciones inconsistentes, es
fabulosa. La Figura N° 2 mencionada, muestra algunas de las diferencias más
importantes en las formas en que se diseñan las aplicaciones.
Detalle de datos antiguos. La data antigua es aquella que se almacena sobre alguna
forma de almacenamiento masivo. No es frecuentemente su acceso y se almacena a
un nivel de detalle, consistente con los datos detallados actuales. Mientras no sea
prioritario el almacenamiento en un medio de almacenaje alterno, a causa del gran
volumen de datos unido al acceso no frecuente de los mismos, es poco usual utilizar el
disco como medio de almacenamiento.
Metadata
Otro paso necesario es crear la metadata. La metadata (es decir, datos acerca de
datos) describe los contenidos del data warehouse. La metadata consiste de
definiciones de los elementos de datos en el depósito, sistema(s) del (os) elemento(s)
fuente. Como la data, se integra y transforma antes de ser almacenada en información
similar.
Datos Externos
Dependiendo de la aplicación, el alcance del data warehouse puede extenderse por la
capacidad de acceder a la data externa. Por ejemplo, los datos accesibles por medio
de servicios de computadora en línea (tales como CompuServe y America On Line) y/o
vía Internet, pueden estar disponibles a los usuarios del data warehouse.
Transformación de Datos
Uno de los desafíos de cualquier implementación de data warehouse, es el problema
de transformar los datos. La transformación se encarga de las inconsistencias en los
formatos de datos y la codificación, que pueden existir dentro de una base de datos
única y que casi siempre existen cuando múltiples bases de datos contribuyen al data
warehouse.
Metadata
Otro aspecto de la arquitectura de data warehouse es crear soporte a la metadata.
Metadata es la información sobre los datos que se alimenta, se transforma y existe en
el data warehouse. Metadata es un concepto genérico, pero cada implementación de la
metadata usa técnicas y métodos específicos.
Estos métodos y técnicas son dependientes de los requerimientos de cada
organización, de las capacidades existentes y de los requerimientos de interfaces de
usuario. Hasta ahora, no hay normas para la metadata, por lo que la metadata debe
definirse desde el punto de vista del software data warehousing, seleccionado para una
implementación específica.
Típicamente, la metadata incluye los siguientes ítems:
• Las estructuras de datos que dan una visión de los datos al administrador de
datos.
• Las definiciones del sistema de registro desde el cual se construye el data
warehouse.
• Las especificaciones de transformaciones de datos que ocurren tal como la
fuente de datos se replica al data warehouse.
El modelo de datos del data warehouse (es decir, los elementos de datos y sus
relaciones).
Un registro de cuando los nuevos elementos de datos se agregan al data warehouse y
cuando los elementos de datos antiguos se eliminan o se resumen.
Los niveles de sumarización, el método de sumarización y las tablas de registros de su
data warehouse.
Algunas implementaciones de la metadata también incluyen definiciones de la(s)
vista(s) presentada(s) a los usuarios del data warehouse. Típicamente, se definen
vistas múltiples para favorecer las preferencias variadas de diversos grupos de
usuarios. En otras implementaciones, estas descripciones se almacenan en un
Catálogo de Información.
Los esquemas y subesquemas para bases de datos operacionales, forman una fuente
óptima de entrada cuando se crea la metadata. Hacer uso de la documentación
existente, especialmente cuando está disponible en forma electrónica, puede acelerar
el proceso de definición de la metadata del ambiente data warehousing.
La metadata sirve, en un sentido, como el corazón del ambiente data warehousing.
Crear definiciones de metadata completa y efectiva puede ser un proceso que
consuma tiempo, pero lo mejor de las definiciones y si usted usa herramientas de
gestión de software integrado, son los esfuerzos que darán como resultado el
mantenimiento del data warehouse.
Flujo de Datos
Existe un flujo de datos normal y predecible dentro del data warehouse. La Figura N°
10 muestra ese flujo.
Los datos ingresan al data warehouse desde el ambiente operacional. (Hay pocas
excepciones a esta regla).
Al ingresar al data warehouse, la información va al nivel de detalle actual, tal como se
muestra. Se queda allí y se usa hasta que ocurra uno de los tres eventos siguientes:
• Sea eliminado
• Sea resumido
• Sea archivado
Con el proceso de desactualización en un data warehouse se mueve el detalle de la
data actual a data antigua, basado en el tiempo de los datos. El proceso de
esquematización usa el detalle de los datos para calcular los datos en forma ligera y
completamente resumidos.
Hay pocas excepciones al flujo mostrado. Sin embargo, en general, para la mayoría de
datos encontrados en un data warehouse, el flujo de la información es como se ha
explicado.
Medios de Almacenamiento para Información Antigua
a. Instalar un sistema chargeback, donde el usuario final pague por los recursos
consumidos
b. Señalar el mejor tiempo de respuesta que puede obtenerse cuando se trabaja
con la data a un nivel alto de esquematización, a diferencia de un pobre tiempo
de respuesta que resulta de trabajar con los datos a un nivel bajo de detalle.
Para ilustrar cómo un data warehouse puede ayudar a una organización a mejorar sus
operaciones, se muestra un ejemplo de lo que es el desarrollo de actividades sin tener
un data warehouse.
Ejemplo: Preparación de un reporte complejo
Considere un problema bastante típico en una compañía de producción grande en el
que se pide una información (un reporte) que no está disponible.
El informe incluye las finanzas actuales, el inventario y la condición de personal,
acompañado de comparaciones del mes actual con el anterior y el mismo mes del año
anterior, con una comparación adicional de los 3 años precedentes. Se debe explicar
cada desviación de la tendencia que cae fuera de un rango predefinido.
Sin un data warehouse, el informe es preparado de la manera siguiente:
La información financiera actual se obtiene desde una base de datos mediante un
programa de extracción de datos, el inventario actual de otro programa de extracción
de otra base de datos, la condición actual de personal de un tercer programa de
extracción y la información histórica desde una copia de seguridad de cinta magnética
o CD-ROM.
Lo más interesante es que se ha pedido otro informe que continúe al primer informe
(debido a que las preguntas se originaron a partir del anterior). El hecho es, que
ninguno de los trabajos realizados hasta aquí (por ejemplo, diversos programas de
extracción) se pueden usar para los próximos o para cualquier reporte subsiguiente.
Imagine el tiempo y el esfuerzo que se ha desperdiciado por un enfoque anticuado.
(Ver Figura N° 13).
Las inconsistencias deben identificarse en cada conjunto de datos extraídos y
resolverse, por lo general, manualmente. Cuando se completa todo este
procesamiento, el reporte puede ser formateado, impreso, revisado y transmitido.
Nuevamente, el punto importante aquí es que todo el trabajo desempeñado para hacer
este informe no afecta a otros reportes que pueden solicitarse es decir, todos ellos son
independientes y caros, desde el punto de vista de recursos y productividad.
Al crear un data warehouse y combinar todos los datos requeridos, se obtienen los
siguientes beneficios:
Las inconsistencias de los datos se resuelven automáticamente cuando los elementos
de datos se cargan en el data warehouse, no manualmente, cada vez que se prepara
un reporte.
Los errores que ocurrieron durante el proceso complejo de la preparación del informe,
se minimizan porque el proceso es ahora mucho más simple.
Los elementos de datos son fácilmente accesibles para otros usos, no sólo para un
reporte particular.
Se crea una sola fuente.
Consideraciones Adicionales
Organización
La planificación es el proceso más importante que determina la clase de tipo de
estrategias data warehousing que una organización iniciará.
Factores en la Planificación de un Data Warehouse
No existe una fórmula de garantía real para el éxito de la construcción de un data
warehouse, pero hay muchos puntos que contribuyen a ese objetivo.
A continuación, se indican algunos puntos claves que deben considerarse en la
planificación de un data warehouse:
Establecer una asociación de usuarios, gestión y grupos
Es esencial involucrar tanto a los usuarios como a la gestión para asegurar que el data
warehouse contenga información que satisfaga los requerimientos de la empresa.
La gestión puede ayudar a priorizar la fase de la implementación del data warehouse,
así como también la selección de herramientas del usuario. Los usuarios y la gestión
justifican los costos del data warehouse sobre cómo será "su ambiente" y está basado
primero en lo esperado y segundo, en el valor comercial real.
Seleccionar una aplicación piloto con una alta probabilidad de éxito
Una aplicación piloto de alcance limitado, con un reembolso medible para los usuarios
y la gestión, establecerá el data warehouse como una tecnología clave para la
empresa. Estos mismos criterios (alcance limitado, reembolso medible y beneficios
claros para la empresa) se aplican a cada fase de la implementación de un data
warehouse.
Construir prototipos rápida y frecuentemente
La única manera para asegurar que el data warehouse reúna las necesidades de los
usuarios, es hacer el prototipo a lo largo del proceso de implementación y aún más
allá, así como agregar los nuevos datos y/o los modelos en forma permanente. El
trabajo continuo con los usuarios y la gestión es, nuevamente, la clave.
Implementación incremental
La implementación incremental reduce riesgos y asegura que el tamaño del proyecto
permanezca manejable en cada fase.
Reportar activamente y publicar los casos exitosos
La retroalimentación de los usuarios ofrece una excelente oportunidad para publicar los
hechos exitosos dentro de una organización. La publicidad interna sobre cómo el data
warehouse ha ayudado a los usuarios a operar más efectivamente puede apoyar la
construcción del data warehouse a lo largo de una empresa.
La retroalimentación del usuario también ayuda a comprender cómo evoluciona la
implementación del data warehouse a través del tiempo para reunir requerimientos de
usuario nuevamente identificados.
Estrategias para el Desarrollo de un Data Warehouse
Antes de desarrollar un data warehouse, es crítico el desarrollo de una estrategia
equilibrada que sea apropiada para sus necesidades y sus usuarios.
Las preguntas que deben tenerse en cuenta son:
• ¿Quién es el auditorio?
• ¿Cuál es el alcance?
• ¿Qué tipo de data warehouse debería construirse?
Existe un número de estrategias mediante las cuales las organizaciones pueden
conseguir sus data warehouses.
Primera
Establecer un ambiente "data warehouse virtual", el cual puede ser creado por:
• Instalación de un conjunto de facilidades para acceso a datos, directorio de
datos y gestión de proceso.
• Entrenamiento de usuarios finales.
• Control de cómo se usan realmente las instalaciones del data warehouse.
• Basados en el uso actual, crear un data warehouse físico para soportar los
pedidos de alta frecuencia.
Segunda
Construir una copia de los datos operacionales desde un sistema operacional único y
posibilitar al data warehouse de una serie de herramientas de acceso a la información.
Esta estrategia tiene la ventaja de ser simple y rápida. Desafortunadamente, si los
datos existentes son de mala calidad y/o el acceso a los datos no ha sido previamente
evaluado, entonces se puede crear una serie de problemas.
Tercera
Finalmente, la estrategia data warehousing óptima es seleccionar el número de
usuarios basados en el valor de la empresa y hacer un análisis de sus puntos,
preguntas y necesidades de acceso a datos.
De acuerdo a estas necesidades, se construyen los prototipos data warehousing y se
prueban para que los usuarios finales puedan experimentar y modificar sus
requerimientos.
Una vez se tenga un consenso general sobre las necesidades, entonces se consiguen
los datos provenientes de los sistemas operacionales existentes a través de la
empresa y/o desde fuentes externas de datos y se cargan al data warehouse.
Si se requieren herramientas de acceso a la información, se puede también permitir a
los usuarios finales tener acceso a los datos requeridos usando sus herramientas
favoritas propias, o facilitar la creación de sistemas de acceso a la información
multidimensional de alta performance, usando el núcleo del data warehouse como
base.
En conclusión
No se tiene un enfoque único para construir un data warehouse que se adapte a las
necesidades de las empresas, debido a que las necesidades de cada una de ellas son
diferentes, al igual que su contexto.
Además, como la tecnología data warehousing va evolucionando, se aprende cada vez
más y más sobre el desarrollo de data warehouses, que resulta en que el único
enfoque práctico para al almacenamiento de datos es la evolución de uno mismo.
Estrategias para el Diseño de un Data Warehouse
El diseño de los data warehouses es muy diferente al diseño de los sistemas
operacionales tradicionales. Se pueden considerar los siguientes puntos:
1. Los usuarios de los data warehouses usualmente no conocen mucho sobre sus
requerimientos y necesidades como los usuarios operacionales.
2. El diseño de un data warehouse, con frecuencia involucra lo que se piensa en
términos más amplios y con conceptos del negocio más difíciles de definir que
en el diseño de un sistema operacional. Al respecto, un data warehouse está
bastante cerca a Reingeniería de los Procesos del Negocio (Business Process
Reengineering).
3. Finalmente, la estrategia de diseño ideal para un data warehousing es
generalmente de afuera hacia adentro (outside-in) a diferencia de arriba hacia
abajo (top-down).
A pesar que el diseño del data warehouse es diferente al usado en los diseños
tradicionales, no es menos importante. El hecho que los usuarios finales tengan
dificultad en definir lo que ellos necesitan, no lo hace menos necesario. En la práctica,
los diseñadores de data warehouses tienen que usar muchos "trucos" para ayudar a
sus usuarios a "visualizar" sus requerimientos. Por ello, son esenciales los prototipos
de trabajo.
Estrategias para la Gestión de un Data Warehouse
Los data warehouses requieren una comercialización y gestión muy cuidadosa. Debe
considerarse lo siguiente:
1. Un data warehouse es una inversión buena sólo si los usuarios finales
realmente pueden conseguir información vital más rápida y más barata de lo
que obtienen con la tecnología actual.
Como consecuencia, la gestión tiene que pensarse seriamente sobre cómo
quieren sus depósitos para su eficaz desempeño y cómo conseguirán llegar a
los usuarios finales.
2. La administración debe reconocer que el mantenimiento de la estructura del
data warehouse es tan crítico como el mantenimiento de cualquier otra
aplicación de misión crítica.
De hecho, la experiencia ha demostrado que los data warehouses llegarán a
ser rápidamente uno de los sistemas más usados en cualquier organización.
3. La gestión debe comprender también que si se embarcan sobre un programa
data warehousing, se crearán nuevas demandas sobre sus sistemas
operacionales, que son:
• Demandas para mejorar datos
• Demandas para una data consistente
• Demandas para diferentes tipos de datos, etc.
Desarrollo
¿Porque Construir Bloques de Data Warehouse?
Para ampliar un negocio, se necesita que la información sea comprensible. Para
muchas compañías, esto significa un gran data warehouse que muestre, junto a los
datos no filtrados y dispersos, nuevas formas creativas de presentación.
Las herramientas para capturar y explorar los datos al detalle evolucionan, así como
nuestra capacidad para encontrar las formas de explotar los datos recolectados.
En los últimos 10 años se han combinado dos factores para ayudar a la difusión de los
data warehouses. Ellos son:
1. Se ha reconocido los beneficios del procesamiento analítico en línea (On Line
Analytical Processing - OLAP), más allá de las áreas tradicionales de marketing
y finanzas.
Las organizaciones saben que los conocimientos inmersos en las masas de
datos que rutinariamente recogen sobre sus clientes, productos, operaciones y
actividades comerciales, contribuyen a reducir los costos de operación y
aumentar las rentas, por no mencionar que es más fácil la toma de decisiones
estratégicas.
2. El crecimiento de la computación cliente/servidor, ha creado servidores de
hardware y software más poderosos y sofisticados que nunca. Los servidores
de hoy compiten con las mainframes de ayer y ofrecen arquitecturas de
memoria tecnológicamente superiores, procesadores de alta velocidad y
capacidades de almacenamiento masivas.
Al mismo tiempo, los Sistemas de Gestión de Base de Datos (Data Base
Management Systems - DBMS(s)) modernos, proporcionan mayor soporte para
las estructuras de datos complejas.
De esta renovación de hardware y software surgen los data warehouses
multiterabyte que ahora se ve en ambientes de cliente/servidor.
Consideraciones Previas al Desarrollo de un Data Warehouse
Hay muchas maneras para desarrollar data warehouses como tantas organizaciones
existen. Sin embargo, hay un número de dimensiones diferentes que necesitan ser
consideradas:
• Alcance de un data warehouse
• Redundancia de datos
• Tipo de usuario final
Alcance:
departa
Seccionado - Grupos de RDBMS
mental Grande Analistas en Local
detalle en SMP para para
Usos: una sola ubicación; mínimo -
central - central; SP o central -
análisis usuarios informáticos central
resumen en SMP para MDDB
más dispersos promedio
local local para local
informáti
ca
Alcance:
empresa
Objeto-
Usos: Grande;
Central Grupos de relacional-
análisis geográficamente Centralizado
fuerte SMP soporte
más disperso
Web
informáti
ca
Alcance:
departa RDBMS
mental Pequeña - pocas Central con
Centralizado MPP
Usos: ubicaciones fuerte soporte
investiga paralelo
ción
Combinación de la Arquitectura con el Sistema de Gestión de Bases de Datos
Para seleccionar la combinación correcta de la arquitectura del servidor y el DBMS,
primero es necesario comprender los requerimientos comerciales de su compañía, su
población de usuarios y las habilidades del personal de soporte.
Las implementaciones de los data warehouses varían apreciablemente de acuerdo al
área. Algunos son diseñados para soportar las necesidades de análisis específico para
un solo departamento o área funcional de una organización, tales como finanzas,
ventas o marketing. Las otras implementaciones reúnen datos a través de toda la
empresa para soportar una variedad de grupos de usuarios y funciones. Por regla
general, a mayor área del depósito, se requiere mayor potencia y funcionalidad del
servidor y el DBMS.
Los modelos de uso de los data warehouses son también un factor. Las consultas y
vistas de reportes preestructuradas frecuentemente satisfacen a los usuarios
informáticos, mientras que hay menos demandas sobre el DBMS y la potencia de
procesamiento del servidor. El análisis complejo, que es típico de los ambientes de
decisión - soporte, requiere más poder y flexibilidad de todos los componentes del
servidor. Las búsquedas masivas de grandes data warehouses favorecen el
paralelismo en el DBMS y el servidor.
Los ambientes dinámicos, con sus requerimientos siempre cambiantes, se adaptan
mejor a una arquitectura de datos simple, fácilmente cambiable (por ejemplo, una
estructura relacional altamente normalizada), antes que una estructura intrincada que
requiere una reconstrucción después de cada cambio (por ejemplo, una estructura
multidimensional).
El valor de la data fresca requerida indica cuán importante es para el data warehouse
renovar y cambiar los datos. Los grandes volúmenes de datos que se refrescan a
intervalos frecuentes, favorecen una arquitectura físicamente centralizada para
soportar una captura de datos eficiente y minimizar el tiempo de transporte de los
datos.
Un perfil de usuario debería identificar quiénes son los usuarios de su data warehouse,
dónde se ubican y cuántos necesita soportar. La información sobre cómo cada grupo
espera usar los data warehouses, ayudará a analizar los diversos estilos de uso.
Conocer la ubicación física de sus usuarios ayudará a determinar cómo y a qué área
necesita distribuir el data warehouse. Una arquitectura por niveles podría usar
servidores en el lugar de las redes de área local. O puede necesitar un enfoque
centralizado para soportar a los trabajadores que se movilizan y que trabajan en el
depósito desde sus laptops.
El número total de usuarios y sus modelos de conexión determinan el tamaño de sus
servidores de depósito. Los tamaños de memoria y los canales de I/O deben soportar
el número previsto de usuarios concurrentes bajo condiciones normales, así como
también en las horas punta de su organización.
Finalmente, se debe factorizar la sofisticación del personal de soporte. Los recursos de
los sistemas de información (Information System - IS) que están disponibles dentro de
su organización, pueden limitar la complejidad o sofisticación de la arquitectura del
servidor. Sin el personal especializado interno o consultores externos, es difícil de crear
y mantener satisfactoriamente una arquitectura que requiere paralelismo en la
plataforma del servidor (MPP o SMP agrupado, por ejemplo).
Planes de Expansion
Como su depósito evoluciona y los datos que contiene llegan a ser más accesible, los
empleados externos al depósito podrían descubrir también el valor de sus datos. Al
enlazar su data warehouse a otros sistemas (tanto internos como externos a la
organización), se puede compartir información con otras entidades comerciales con
poco o sin desarrollo. Los mensajes de correo electrónico, servidores WEB y
conexiones Intranet/Internet, pueden entregar listas por niveles a sus proveedores o
según su condición, a sus socios de negocio.
Como los data warehouses continúan creciendo en sofisticación y uso, los datos
acumulados dentro de una empresa llegarán a ser más organizados, más
interconectados, más accesibles y, en general, más disponibles a más empleados.
El resultado será la obtención de mejores decisiones en el negocio, más oportunidades
y más claridad de trabajo.
Confiabilidad de los Datos
La data "sucia" es peligrosa. Las herramientas de limpieza especializadas y las formas
de programar de los clientes proporcionan redes de seguridad.
No importa cómo esté diseñado un programa o cuán hábilmente se use. Si se alimenta
mala información, se obtendrá resultados incorrectos o falsos. Desafortunadamente,
los datos que se usan satisfactoriamente en las aplicaciones de línea comercial
operacionales pueden ser basura en lo que concierne a la aplicación data
warehousing.
Los datos "sucios" pueden presentarse al ingresar información en una entrada de datos
(por ejemplo, "Sistemas S. A." en lugar de "Sistemas S. A.") o de otras causas.
Cualquiera que sea, la data sucia daña la credibilidad de la implementación del
depósito completo. Afortunadamente, las herramientas de limpieza de datos pueden
ser de gran ayuda. En algunos casos, puede crearse un programa de limpieza efectivo.
En el caso de bases de datos grandes, imprecisas e inconsistentes, el uso de las
herramientas comerciales puede ser casi obligatorio.
Decidir qué herramienta usar es importante y no solamente para la integridad de los
datos. Si se equivoca, se podría malgastar semanas en recursos de programación o
cientos de miles de dólares en costos de herramientas.
La limpieza de una data "sucia" es un proceso multifacético y complejo. Los pasos a
seguir son los siguientes:
1. Analizar sus datos corporativos para descubrir inexactitudes, anomalías y otros
problemas.
2. Transformar los datos para asegurar que sean precisos y coherentes.
3. Asegurar la integridad referencial, que es la capacidad del data warehouse,
para identificar correctamente al instante cada objeto del negocio, tales como
un producto, un cliente o un empleado.
4. Validar los datos que usa la aplicación del data warehouse
Capitulo II: Herramientas y Metodologías Utilizadas.
INTRODUCCION:
Comandos
• los DLL que permiten crear y definir nuevas bases de datos, campos e índices.
• los DML que permiten generar consultas para ordenar, filtrar y extraer datos de
la base de datos.
Comandos DLL
Comando Descripción
CREATE Utilizado para crear nuevas tablas, campos e índices
DROP Empleado para eliminar tablas e índices
Utilizado para modificar las tablas agregando campos o cambiando la
ALTER
definición de los campos.
Comandos DML
Comando Descripción
Utilizado para consultar registros de la base de datos que satisfagan un
SELECT
criterio determinado
Utilizado para cargar lotes de datos en la base de datos en una única
INSERT
operación.
UPDATE Utilizado para modificar los valores de los campos y registros especificados
DELETE Utilizado para eliminar registros de una tabla de una base de datos
Cláusulas
Las cláusulas son condiciones de modificación utilizadas para definir los datos que
desea seleccionar o manipular.
Cláusula Descripción
Utilizada para especificar la tabla de la cual se van a seleccionar los
FROM
registros
Utilizada para especificar las condiciones que deben reunir los registros
WHERE
que se van a seleccionar
GROUP
Utilizada para separar los registros seleccionados en grupos específicos
BY
HAVING Utilizada para expresar la condición que debe satisfacer cada grupo
ORDER Utilizada para ordenar los registros seleccionados de acuerdo con un orden
BY específico
Operadores Lógicos
Operador Uso
Es el "y" lógico. Evalua dos condiciones y devuelve un valor de verdad sólo
AND
si ambas son ciertas.
Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdar si
OR
alguna de las dos es cierta.
NOT Negación lógica. Devuelve el valor contrario de la expresión.
Operadores de Comparación
Operador Uso
< Menor que
> Mayor que
<> Distinto de
<= Menor ó Igual que
>= Mayor ó Igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparación de un modelo
Utilizado para especificar registros de una base de datos
In
Funciones de Agregado
Función Descripción
AVG Utilizada para calcular el promedio de los valores de un campo determinado
COUNT Utilizada para devolver el número de registros de la selección
Utilizada para devolver la suma de todos los valores de un campo
SUM
determinado
MAX Utilizada para devolver el valor más alto de un campo especificado
MIN Utilizada para devolver el valor más bajo de un campo especificado
Consultas de Selección
Las consultas de selección se utilizan para indicar al motor de datos que devuelva
información de las bases de datos, esta información es devuelta en forma de conjunto
de registros que se pueden almacenar en un objeto recordset. Este conjunto de
registros es modificable.
Consultas básicas
Esta consulta devuelve los campos Caravana, Foto, Nombre de la tabla Vacunos
ordenados por el campo Nombre.
Se pueden ordenar los registros por mas de un campo, como por ejemplo:
El predicado se incluye entre la claúsula y el primer nombre del campo a recuperar, los
posibles predicados son:
Predicado Descripción
ALL Devuelve todos los campos de la tabla
TOP Devuelve un determinado número de registros de la tabla
DISTINCT Omite los registros cuyos campos seleccionados coincidan totalmente
Omite los registros duplicados basándose en la totalidad del registro y
DISTINCTROW
no sólo en los campos seleccionados.
ALL
TOP
El valor que va a continuación de TOP debe ser un Integer sin signo. TOP no afecta a
la posible actualización de la consulta.
DISTINCT
Omite los registros que contienen datos duplicados en los campos seleccionados. Para
que los valores de cada campo listado en la instrucción SELECT se incluyan en la
consulta deben ser únicos.
Por ejemplo, varios empleados listados en la tabla Vacunos pueden tener el mismo
Nombre. Si dos registros contienen Margarita en el campo Nombre, la siguiente
instrucción SQL devuelve un único registro:
Con otras palabras el predicado DISTINCT devuelve aquellos registros cuyos campos
indicados en la cláusula SELECT posean un contenido diferente. El resultado de una
consulta que utiliza DISTINCT no es actualizable y no refleja los cambios subsiguientes
realizados por otros usuarios.
DISTINCTROW
Devuelve los registros diferentes de una tabla; a diferencia del predicado anterior que
sólo se fijaba en el contenido de los campos seleccionados, éste lo hace en el
contenido del registro completo independientemente de los campo indicados en la
cláusula SELECT.
Alias
Criterios de Selección
En el capítulo anterior se vio la forma de recuperar los registros de las tablas, las
formas empleadas devolvían todos los registros de la mencionada tabla. A lo largo de
este capítulo se estudiarán las posibilidades de filtrar los registros con el fin de
recuperar solamente aquellos que cumplan una condiciones preestablecidas.
Antes de comenzar el desarrollo de este capítulo hay que recalcar tres detalles de vital
importancia. El primero de ellos es que cada vez que se desee establecer una
condición referida a un campo de texto la condición de búsqueda debe ir encerrada
entre comillas simples; la segunda es que no se posible establecer condiciones de
búsqueda en los campos memo y; la tercera y última hace referencia a las fechas. Las
fechas se deben escribir siempre en formato mm-dd-aa en donde mm representa el
mes, dd el día y aa el año, hay que prestar atención a los separadores -no sirve la
separación habitual de la barra (/), hay que utilizar el guión (-) y además la fecha debe
ir encerrada entre almohadillas (#). Por ejemplo si deseamos referirnos al día 3 de
Septiembre de 2002 deberemos hacerlo de la siguente forma; #09-03-02# ó #9-3-02#.
Operadores Lógicos
Los operadores lógicos soportados por SQL son: AND, OR, XOR, Eqv, Imp, Is y Not. A
excepción de los dos últimos todos poseen la siguiente sintaxis:
Intervalos de Valores
Para indicar que deseamos recuperar los registros según el intervalo de valores de un
campo emplearemos el operador Between cuya sintaxis es:
campo [Not] Between valor1 And valor2 (la condición Not es opcional)
En este caso la consulta devolvería los registros que contengan en "campo" un valor
incluido en el intervalo valor1, valor2 (ambos inclusive). Si anteponemos la condición
Not devolverá aquellos valores no incluidos en el intervalo.
El Operador Like
Se utiliza para comparar una expresión de cadena con un modelo en una expresión
SQL. Su sintaxis es:
El ejemplo siguiente devuelve los datos que comienzan con la letra P seguido de
cualquier letra entre A y F y de tres dígitos:
Like '
P[A-F]###'
Este ejemplo devuelve los campos cuyo contenido empiece con una letra de la A a la D
seguidas de cualquier cadena.
Like '
[A-D]*'
Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de
los en una lista. Su sintaxis es:
La cláusula WHERE
La cláusula WHERE puede usarse para determinar qué registros de las tablas
enumeradas en la cláusula FROM aparecerán en los resultados de la instrucción
SELECT. Depués de escribir esta cláusula se deben especificar las condiciones
expuestas en los partados 3.1 y 3.2. Si no se emplea esta cláusula, la consulta
devolverá todas las filas de la tabla. WHERE es opcional, pero cuando aparece debe ir
a continuación de FROM.
SELECT Caravana, Area FROM Area_Pelvica WHERE cm2 Between 100 And 200;
Agrupamiento de Registros
GROUP BY
SELECT campos FROM tabla WHERE criterio GROUP BY campos del grupo
Se utiliza la cláusula WHERE para excluir aquellas filas que no desea agrupar, y la
cláusula HAVING para filtrar los registros una vez agrupados.
A menos que contenga un dato Memo u Objeto OLE , un campo de la lista de campos
GROUP BY puede referirse a cualquier campo de las tablas que aparecen en la
cláusula FROM, incluso si el campo no esta incluido en la instrucción SELECT,
siempre y cuando la instrucción SELECT incluya al menos una función SQL agregada.
Una vez que GROUP BY ha combinado los registros, HAVING muestra cualquier
registro agrupado por la cláusula GROUP BY que satisfaga las condiciones de la
cláusula HAVING.
HAVING es similar a WHERE, determina qué registros se seleccionan. Una vez que los
registros se han agrupado utilizando GROUP BY, HAVING determina cuales de ellos
se van a mostrar.
AVG
Avg(expr)
En donde expr representa el campo que contiene los datos numéricos para los que
se desea calcular la media o una expresión que realiza un cálculo utilizando los datos
de dicho campo. La media calculada por Avg es la media aritmética (la suma de los
valores dividido por el número de valores). La función Avg no incluye ningún campo
Null en el cálculo.
Count
Count(expr)
En donde expr contiene el nombre del campo que desea contar. Los operandos de
expr pueden incluir el nombre de un campo de una tabla, una constante o una función
(la cual puede ser intrínseca o definida por el usuario pero no otras de las funciones
agregadas de SQL). Puede contar cualquier tipo de datos incluso texto.
Aunque expr puede realizar un cálculo sobre un campo, Count simplemente cuenta el
número de registros sin tener en cuenta qué valores se almacenan en los registros. La
función Count no cuenta los registros que tienen campos null a menos que expr sea el
carácter comodín asterisco (*). Si utiliza un asterisco, Count calcula el número total de
registros, incluyendo aquellos que contienen campos null. Count(*) es
considerablemente más rápida que Count(Campo). No se debe poner el asterisco entre
dobles comillas ('
*').
Max, Min
Min(expr)
Max(expr)
En donde expr es el campo sobre el que se desea realizar el cálculo. Expr pueden
incluir el nombre de un campo de una tabla, una constante o una función (la cual puede
ser intrínseca o definida por el usuario pero no otras de las funciones agregadas de
SQL).
StDev, StDevP
StDev(expr)
StDevP(expr)
En donde expr representa el nombre del campo que contiene los datos que desean
evaluarse o una expresión que realiza un cálculo utilizando los datos de dichos
campos. Los operandos de expr pueden incluir el nombre de un campo de una tabla,
una constante o una función (la cual puede ser intrínseca o definida por el usuario pero
no otras de las funciones agregadas de SQL)
Sum
Sum(expr)
En donde expr respresenta el nombre del campo que contiene los datos que desean
sumarse o una expresión que realiza un cálculo utilizando los datos de dichos campos.
Los operandos de expr pueden incluir el nombre de un campo de una tabla, una
constante o una función (la cual puede ser intrínseca o definida por el usuario pero no
otras de las funciones agregadas de SQL).
Var, VarP
Var(expr)
VarP(expr)
VarP evalúa una población, y Var evalúa una muestra de la población. Expr el nombre
del campo que contiene los datos que desean evaluarse o una expresión que realiza
un cálculo utilizando los datos de dichos campos. Los operandos de expr pueden
incluir el nombre de un campo de una tabla, una constante o una función (la cual puede
ser intrínseca o definida por el usuario pero no otras de las funciones agregadas de
SQL)
Si la consulta contiene menos de dos registros, Var y VarP devuelven Null (esto indica
que la varianza no puede calcularse). Puede utilizar Var y VarP en una expresión de
consulta o en una Instrucción SQL.
Consultas de Acción
Las consultas de acción son aquellas que no devuelven ningún registro, son las
encargadas de acciones como añadir y borrar y modificar registros.
DELETE
Crea una consulta de eliminación que elimina los registros de una o más de las tablas
listadas en la cláusula FROM que satisfagan la cláusula WHERE. Esta consulta elimina
los registros completos, no es posible eliminar el contenido de algún campo en
concreto. Su sintaxis es:
Se puede utilizar DELETE para eliminar registros de una única tabla o desde varios
lados de una relación uno a muchos. Las operaciones de eliminación en cascada en
una consulta únicamente eliminan desde varios lados de una relación. Por ejemplo, en
la relación entre las tablas Clientes y Pedidos, la tabla Pedidos es la parte de muchos
por lo que las operaciones en cascada solo afectaran a la tabla Pedidos. Una consulta
de borrado elimina los registros completos, no únicamente los datos en campos
específicos. Si desea eliminar valores en un campo especificado, crear una consulta de
actualización que cambie los valores a Null.
Una vez que se han eliminado los registros utilizando una consulta de borrado, no
puede deshacer la operación. Si desea saber qué registros se eliminarán, primero
examine los resultados de una consulta de selección que utilice el mismo criterio y
después ejecute la consulta de borrado. Mantenga copias de seguridad de sus datos
en todo momento. Si elimina los registros equivocados podrá recuperarlos desde las
copias de seguridad.
INSERT INTO
Agrega un registro en una tabla. Se la conoce como una consulta de datos añadidos.
Esta consulta puede ser de dos tipo: Insertar un único registro ó Insertar en una tabla
los registros contenidos en otra tabla.
En este caso se seleccionarán los campos 1,2, ..., n dela tabla origen y se grabarán en
los campos 1,2,.., n de la Tabla. La condición SELECT puede incluir la cláusula
WHERE para filtrar los registros a copiar. Si Tabla y TablaOrigen poseen la misma
estrucutra podemos simplificar la sintaxis a:
De esta forma los campos de TablaOrigen se grabarán en Tabla, para realizar esta
operación es necesario que todos los campos de TablaOrigen estén contenidos con
igual nombre en Tabla. Con otras palabras que Tabla posea todos los campos de
TablaOrigen (igual nombre e igual tipo).
En este tipo de consulta hay que tener especial atención con los campos contadores o
autonuméricos puesto que al insertar un valor en un campo de este tipo se escribe el
valor que contenga su campo homólogo en la tabla origen, no incrementandose como
le corresponde.
Se puede utilizar la instrucción INSERT INTO para agregar un registro único a una
tabla, utilizando la sintaxis de la consulta de adición de registro único tal y como se
mostró anteriormente. En este caso, su código específica el nombre y el valor de cada
campo del registro. Debe especificar cada uno de los campos del registro al que se le
va a asignar un valor así como el valor para dicho campo. Cuando no se especifica
dicho campo, se inserta el valor predeterminado o Null. Los registros se agregan al
final de la tabla.
Si la tabla destino contiene una clave principal, hay que segurarse que es única, y con
valores no-Null ; si no es así, no se agregarán los registros. Si se agregan registros a
una tabla con un campo Contador , no se debe incluir el campo Contador en la
consulta. Se puede emplear la cláusula IN para agregar registros a una tabla en otra
base de datos.
UPDATE
Crea una consulta de actualización que cambia los valores de los campos de una tabla
especificada basándose en un criterio específico. Su sintaxis es:
Tipos de Datos
SubConsultas
En donde:
comparación
expresión
instrucción sql
Es una instrucción SELECT, que sigue el mismo formato y reglas que cualquier otra
instrucción SELECT. Debe ir entre paréntesis.
Se puede utilizar el predicado ANY o SOME, los cuales son sinónimos, para recuperar
registros de la consulta principal, que satisfagan la comparación con cualquier otro
registro recuperado en la subconsulta.
Se puede utilizar también alias del nombre de la tabla en una subconsulta para
referirse a tablas listadas en la cláusula FROM fuera de la subconsulta.
Consultas de Referencias Cruzadas
Una consulta de referencias cruzadas es aquella que nos permite visualizar los datos
en filas y en columnas, estilo tabla, por ejemplo:
En donde:
función agregada
Es una función SQL agregada que opera sobre los datos seleccionados.
instrucción select
campo pivot
Es el campo o expresión que desea utilizar para crear las cabeceras de la columna en
el resultado de la consulta.
valor1, valor2
Para resumir datos utilizando una consulta de referencia cruzada, se seleccionan los
valores de los campos o expresiones especificadas como cabeceras de columnas de
tal forma que pueden verse los datos en un formato más compacto que con una
consulta de selección.
También puede incluir valores fijos, para los que no existen datos, para crear columnas
adicionales.
Las vinculaciones entre tablas se realiza mediante la cláusula INNER que combina
registros de dos tablas siempre que haya concordancia de valores en un campo
común. Su sintaxis es:
SELECT campos FROM tb1 INNER JOIN tb2 ON tb1.campo1 comp tb2.campo2
En donde:
tb1, tb2
Son los nombres de las tablas desde las que se combinan los registros.
campo1, campo2
Son los nombres de los campos que se combinan. Si no son numéricos, los campos
deben ser del mismo tipo de datos y contener el mismo tipo de datos, pero no tienen
que tener el mismo nombre.
comp
Se puede utilizar una operación INNER JOIN en cualquier cláusula FROM. Esto crea
una combinación por equivalencia, conocida también como unión interna. Las
combinaciones Equi son las más comunes; éstas combinan los registros de dos tablas
siempre que haya concordancia de valores en un campo común a ambas tablas. Se
puede utilizar INNER JOIN con las tablas Departamentos y Empleados para
seleccionar todos los empleados de cada departamento. Por el contrario, para
seleccionar todos los departamentos (incluso si alguno de ellos no tiene ningún
empleado asignado) se emplea LEFT JOIN o todos los empleados (incluso si alguno
no está asignado a ningún departamento), en este caso RIGHT JOIN.
Si se intenta combinar campos que contengan datos Memo u Objeto OLE, se produce
un error. Se pueden combinar dos campos numéricos cualesquiera, incluso si son de
diferente tipo de datos. Por ejemplo, puede combinar un campo Numérico para el que
la propiedad Size de su objeto Field está establecida como Entero, y un campo
Contador.
El ejemplo siguiente muestra cómo podría combinar las tablas Categorías y Productos
basándose en el campo IDCategoria:
SELECT campos
FROM tabla1 INNER JOIN tabla2
ON tb1.campo1 comp tb2.campo1 AND
ON tb1.campo2 comp tb2.campo2) OR
ON tb1.campo3 comp tb2.campo3)];
SELECT campos
FROM tb1 INNER JOIN
(tb2 INNER JOIN [( ]tb3
[INNER JOIN [( ]tablax [INNER JOIN ...)]
ON tb3.campo3 comp tbx.campox)]
ON tb2.campo2 comp tb3.campo3)
ON tb1.campo1 comp tb2.campo2;
Se utiliza la operación UNION para crear una consulta de unión, combinando los
resultados de dos o más consultas o tablas independientes. Su sintaxis es:
En donde:
Se puede utilizar una cláusula GROUP BY y/o HAVING en cada argumento consulta
para agrupar los datos devueltos. Puede utilizar una cláusula ORDER BY al final del
último argumento consulta para visualizar los datos devueltos en un orden específico.
En donde:
Parte Descripción
tabla Es el nombre de la tabla que se va a crear.
campo1 Es el nombre del campo o de los campos que se van a crear en la
campo2 nueva tabla. La nueva tabla debe contener, al menos, un campo.
tipo Es el tipo de datos de campo en la nueva tabla. (Ver Tipos de Datos)
tamaño Es el tamaño del campo sólo se aplica para campos de tipo texto.
índice1 Es una cláusula CONSTRAINT que define el tipo de indice a crear.
índice2 Esta cláusula en opcional.
Es una cláusula CONSTRAINT que define el tipo de indice multicampos
índice
a crear. Un índice multi campo es aquel que está indexado por el
multicampos
contenido de varios campos. Esta cláusula en opcional.
Crea una nueva tabla llamada Desc_caract s con dos campos, uno llamado
descripcion de tipo texto y longutid 25 y otro llamado cod_etapa de tipo entero
La cláusula CONSTRAINT
Parte Descripción
nombre Es el nombre del índice que se va a crear.
primarioN Es el nombre del campo o de los campos que forman el índice primario.
Es el nombre del campo o de los campos que forman el índice de clave
únicoN
única.
Es el nombre del campo o de los campos que forman el índice externo
refN
(hacen referencia a campos de otra tabla).
Es el nombre de la tabla que contiene el campo o los campos
tabla externa
referenciados en ref.
campos Es el nombre del campo o de los campos de la tabla externa
externos especificados por ref1, ref2, ..., ref.
Si se desea crear un índice para un campo cuando se esta utilizando las instrucciones
ALTER TABLE o CREATE TABLE la cláusula CONTRAINT debe aparecer
inmediatamente después de la especificación del campo indexeado.
Si se desea crear un índice con múltiples campos cuando se está utilizando las
instrucciones ALTER TABLE o CREATE TABLE la cláusula CONSTRAINT debe
aparecer fuera de la cláusula de creación de tabla.
Tipo de
Descripción
Indice
Genera un índece de clave única. Lo que implica que los registros de la
UNIQUE
tabla no pueden contener el mismo valor en los campos indexados.
Genera un índice primario el campo o los campos especificados. Todos los
PRIMARY
campos de la clave principal deben ser únicos y no nulos, cada tabla sólo
KEY
puede contener una única clave principal.
Genera un índice externo (toma como valor del índice campos contenidos
en otras tablas). Si la clave principal de la tabla externa consta de más de
un campo, se debe utilizar una definición de índice de múltiples campos,
listando todos los campos de referencia, el nombre de la tabla externa, y
FOREIGN los nombres de los campos referenciados en la tabla externa en el mismo
KEY orden que los campos de referencia listados. Si los campos referenciados
son la clave principal de la tabla externa, no tiene que especificar los
campos referenciados, predeterminado por valor, el motor Jet se comporta
como si la clave principal de la tabla externa fueran los campos
referenciados .
Creación de Índices
Si se utiliza el motor de datos Jet de Microsoft sólo se pueden crear índices en bases
de datos del mismo motor. La sintaxis para crear un índice en ua tabla ya definida en la
siguiente:
En donde:
Parte Descripción
índice Es el nombre del índice a crear.
tabla Es el nombre de una tabla existentes en la que se creará el índice.
campo Es el nombre del campo o lista de campos que consituyen el índice.
Indica el orden de los valores de lso campos ASC indica un orden
ASC|DESC
ascendente (valor predeterminado) y DESC un orden descendente.
UNIQUE Indica que el indice no puede contener valores duplicados.
DISALLOW
Prohibe valores nulos en el índice
NULL
IGNORE Excluye del índice los valores nulos incluidos en los campos que lo
NULL componen.
Asigna al índice la categoría de clave principal, en cada tabla sólo puede
PRIMARY existir un único indice que sea "Clave Principal". Si un índice es clave
principal implica que que no puede contener valores nulos ni duplicados.
Se puede utilizar CREATE INDEX para crear un pseudo índice sobre una tabla adjunta
en una fuente de datos ODBC tal como SQL Server que no tenga todavía un índice. No
se necesita permiso o tener acceso a un servidor remoto para crear un pseudo índice,
además la base de datos remota no es consciente y no es afectada por el pseudo
índice. Se utiliza la misma sintaxis para las tabla adjunta que para las originales. Esto
es especialmente útil para crear un índice en una tabla que sería de sólo lectura debido
a la falta de un índice.
Crea un índice llamado MiIndice en la tabla vacunos con los campos nombre y
Procedencia
Modifica el diseño de una tabla ya existente, se puden modificar los campos o los
índices existentes. Su sintaxis es:
En donde:
Parte Descripción
tabla Es el nombre de la tabla que se desea modificar.
campo Es el nombre del campo que se va a añadir o eliminar.
tipo Es el tipo de campo que se va a añadir.
tamaño El el tamaño del campo que se va a añadir (sólo para campos de texto).
Es el nombre del índice del campo (cuando se crean campos) o el
índice
nombre del índice de la tabla que se desea eliminar.
índice Es el nombre del índice del campo multicampo (cuando se crean
multicampo campos) o el nombre del índice de la tabla que se desea eliminar.
Operación Descripción
ADD Se utiliza para añadir un nuevo campo a la tabla, indicando el nombre, el
COLUMN tipo de campo y opcionalmente el tamaño (para campos de tipo texto).
ADD Se utliza para agregar un índice de multicampos o de un único campo.
DROP Se utliza para borrar un campo. Se especifica únicamente el nombre del
COLUMN campo.
Se utiliza para eliminar un índice. Se especifica únicamente el nombre
DROP
del índice a continuación de la palabra reservada CONSTRAINT.
Las consultas con parámetros son aquellas cuyas condiciones de búsqueda se definen
mediante parámetros. Si se ejecutan directamente desde la base de datos donde han
sido definidas aparecerá un mensaje solicitando el valor de cada uno de los
parámetros. Si deseamos ejecutarlas desde una aplicación hay que asignar primero el
valor de los parámetros y después ejecutarlas. Su sintaxis es la siguiente:
En donde:
Parte Descripción
nombre Es el nombre del parámetro
tipo Es el tipo de datos del parámetro
consulta Una consulta SQL
Puede utilizar nombre pero no tipo de datos en una cláusula WHERE o HAVING.
Para el acceso a bases de datos externas se utiliza la cláusula IN. Se puede acceder a
base de datos dBase, Paradox o Btrieve. Esta cláusula sólo permite la conexión de una
base de datos externa a la vez. Una base de datos externa es una base de datos que
no sea la activa. Aunque para mejorar los rendimientos es mejor adjuntarlas a la base
de datos actual y trabajar con ellas.
Para especificar una base de datos que no pertenece a Access Basic, se agrega un
punto y coma (;) al nombre y se encierra entre comillas simples. También puede utilizar
la palabra reservada DATABASE para especificar la base de datos externa. Por
ejemplo, las líneas siguientes especifican la misma tabla:
Esta opción requiere que esté declarado el acceso al fichero de grupo de trabajo
(generalmente system.mda ó system .mdw) de la base de datos actual
La Cláusula PROCEDURE
Esta cláusula es poco usual y se utiliza para crear una consulta a la misma vez que se
ejecuta, opcionalmente define los parámetros de la misma. Su sintaxis es la siguiente:
En donde:
Parte Descripción
NombreConsulta Es el nombre con se guardará la consulta en la base de datos.
Parámetro Es el nombre de parámetro o de los parámetros de dicha consulta.
tipo Es el tipo de datos del parámetro
ConsultaSQL Es la consulta que se desea grabar y ejecutar.
ANEXOS
Resolución de Problemas
Para generar este tipo de consultas lo más sencillo es utilizar el asistente de consultas
de Access, editar la sentencia SQL de la consulta y pegarla en nuestro código. No
obstante este tipo de consulta se consigue de la siguiente forma:
Este tipo de consulta se emplea en situaciones tales como saber que Animales (Vacas)
no han quedado preñadas en un determinado periodo de tiempo,
La sintaxis es sencilla, se trata de realizar una unión interna entre dos tablas
seleccionadas mediante un LEFT JOIN, establecimiendo como condición que el campo
relacionado de la segunda sea Null.
Existen dos tipos de consultas SQL: las consultas de selección (nos devuelven datos) y
las consultas de acción (aquellas que no devuelven ningún registro). Ambas pueden
ser tratadas en Visual Basic pero de forma diferente.
Set RS=MiBaseDatos.OpenRecordset("MiConsulta")
DatePart
Esta función devuelve una parte señalada de una fecha concreta. Su sintaxis es:
Valor Descripción
yyyy Año
q Trimestre
m Mes
y Día del año
d Día del mes
w Día de la semana
ww Semana del año
h Hora
m Minutos
s Segundos
Valor Descripción
0 Utiliza el valor pode efecto del sistema
1 Domingo (Valor predeterminado)
2 Lunes
3 Martes
4 Miércoles
5 Jueves
6 Viernes
7 Sábado
ComienzoAño indica cual es la primera semana del año; los posibles valores son:
Valor Descripción
0 Valor del sistema
1 Comienza el año el 1 de enero (valor predeterminado).
2 Empieza con la semana que tenga al memos cuatro días en el nuevo año.
3 Empieza con la semana que esté contenida completamente en el nuevo año.
Evaluar valores antes de ejecutar la Consulta.
Dentro de una sentencia SQL podemos emplear la función iif para indicar las
condiciones de búsqueda. La sintaxis de la función iif es la siguiente:
iif(Expresion,Valor1,Valor2)
Introducción
Puede definirse la simulación de un fenómeno real como el procesamiento de un
modelo simulado, material o formal, que pueda someterse a manipulaciones que serian
imposibles realizar, cuando no demasiado costosas e impracticas, con el sistema
original. Los resultados de un procesamiento de un modelo pueden examinarse y con
ello, inferirse las propiedades concernientes al comportamiento del sistema o
fenómeno real que se pretende estudiar.
El porque de su uso.
En éste trabajo se implementó el uso de un modelo de generación de números
aleatorios, que simula la medición de pesos, condiciones corporales y área pélvica de
los animales registrados.
La razón de utilizar ésta herramienta se debe a que fue imposible obtener datos reales
medianamente estructurados, de mediciones de éstas características, lo que hace
pensar que el presente trabajo no tiene precedentes en el ámbito local, o por lo menos
no se han dado a conocer, o no son utilizados en nuestra zona.
La finalidad del uso de datos simulados en el presente trabajo se debe a que como se
mencionó los datos reales no están registrados, y éstos datos son necesarios para
implementar un sistema de soporte a la toma de decisiones, es decir que el sistema
desarrollado utiliza los datos simulados como si fuesen reales, ya que el usuario
moldea los datos simulados mediante parámetros que condicionan los valores
simulados. No obstante las utilidades desarrolladas para generar valores simulados,
pueden ser usadas para realizar un planeamiento o predicción del tipo “que pasaría
si”, es decir que futuro tendría el establecimiento en cuestión, si los animales tuviesen
estos pesos, o estas condiciones corporales, o el área pélvica de las hembras midiese
entre X cm2 y X cm2 , éstas simulaciones pueden ser ajustadas, dependiendo de
variables incontrolable, como ser lluvias, sequías, enfermedades, etc. Es decir ajustar
los parámetros presuponiendo que por ejemplo, para los 2 meses siguientes se
pronosticó que una sequía asecharía a la región, o que aumentaría el precio de los
suplementos alimenticios que son ingeridos por las hembras, para prepararlas para los
próximos servicios. Por lo tanto se deben disminuir los parámetros de pesos, inferior y
superior, respectivamente. O Aumentar en el caso contrario o sea cuando exista un
pronóstico optimista.
Metodología empleada
La metodología implementada en ésta trabajo final, consiste en la construcción de una
muestra artificial, mediante la utilización del Método de los Números Índice, que simule
los valores de la distintas características que pueden ser simuladas, como ser Peso,
Condición Corporal, y Área Pélvica, para los distintos animales que intervienen el
procesos de la cría de vacunos propiamente dicha, utilizando para ello números al
azar.
Para la generación de estos números aleatorios se utiliza el método pseudo-aleatorio:
Aditivo de Congruencias. Que genera números al azar dependiendo de valores
máximos y mínimos tomados como parámetros, de la base de conocimiento del
experto. Y de otros parámetros como ser las “semillas”, implícitas, tomadas
arbitrariamente.
Teoría del método Aditivo de Congruencias:
Formula que presupone dados k+1 valores enteros y positivos, iniciales, para dar
origen al procedimiento. Las propiedades estadísticas de la sucesión obtenida tienden
a mejorar a medida que el valor numérico de k se incrementa.
Si k= 2 se deben tomar 3 valores iniciales es decir que el primer numero que se
obtiene es el de orden 4.
Los números que dan inicio a la serie se denominan semilla, y conviene tomarlos
primos, para que la serie no sea recurrente.
Resumen:
Un ejemplo:
De ser ciertos estos supuestos, llegamos a la conclusión que la pequeña empresa cuyo
capital total era de $ 40.000, maneja un nivel de información muy superior al del
establecimiento agropecuario que tiene medio millón de dólares en juego.
El inventario final pasa a ser siempre el inicial del ejercicio siguiente, o sea que a partir
del primer inventario inicial sólo deberá efectuarse una pesada general por año.
A ese resultado se debe sumar o restar, según corresponda, la diferencia en kilos entre
inventarios.
Si el inventario final arroja una existencia de kilos mayor que el inventario inicial, la
diferencia de inventarios será positiva; si por el contrario, hubiera una existencia
menor, la diferencia será de signo negativo y deberá ser restada.
El caso inverso puede ocurrir si las salidas son reducidas porque se está reteniendo
(aumento de stock). En este caso, parte de la producción real se expresará como
diferencia de inventario positiva.
Para asentar las entradas por compra o traslado desde otro campo, se toma el peso
sin desbaste, pesando los novillos a los 3 a 7 días de su ingreso al campo (ver las
técnicas de pesadas en el capítulo VII: invernada).
En el caso de salidas por ventas o traslados a otro campo, se toma el peso de destino
desbastado. En el caso de ventas en el Mercado Nacional de Haciendas de Liniers,
frigoríficos o remates ferias, el peso puede tomarse directamente de las liquidaciones
de venta.
Referencias:
Lange, A. 1977. Carga animal. AACREA, Cuaderno de Actualización Técnica Nª 15.
A principios del 2000 las carnes provenientes de nuestro país llevaban solamente
la denominación AAA, pasando por alto los malos recuerdos, significa A de
vacunos provenientes de Argentina, A de criados en Argentina y A de faenados
en nuestro país. Sin embargo las cosas cambian y los problemas sanitarios
asechan.
! "##$
% & '() *+ *,+ - ) .// $.,
0 % #. . $1
, * 0 2
, * %3 % % 4 * 5
6$ #""
32
% )7 )
8 ! "###
Formas de identificación de los bovinos
Cuando leamos o escuchemos hablar sobre este tema, no nos olvidemos que hay
dos aspectos importantísimos a considerar, por un lado lo que hasta ahora
estuvimos desarrollando que es acerca de cómo inciden estas cuestiones en la
economía tanto personal como en la de nuestro país, y por el otro lado la salud.
Fuente: http://www.agroconnection.com
Resultados
Proyecto
! ! " #!
Introducción:
Descripción:
Para brindar seguridad a la aplicación, el sistema cuenta con dos niveles de usuarios.
1. Admin.: (Administrador), éste usuario no tiene restricciones de uso del sistema,
es decir éste nivel de usuario está pensado tanto para productores como para
profesionales (ingenieros, veterinarios, productores, etc.).
Para iniciar una sesión en modo Admin, se debe seleccionar éste usuario desde el
cuadro, e introducir la palabra clave correspondiente. Luego presionar Aceptar.
2. Invitado; éste usuario está limitado a realizar operaciones de consulta y de
simulación u obtener Soporte a la Decisión, en casi todos los módulos de de la
aplicación, pero no puede agregar o modificar registros de la base de datos.
Para iniciar una sesión en modo Invitado, seleccione desde el cuadro el usuario
Invitado y luego presione Aceptar. O simplemente presione Cancelar y la aplicación
iniciara la sesión en modo Invitado.
Metodología:
Cuando la aplicación inicia por primer vez en un ordenador, edita la configuración del
registro del sistema operativo en el que se ejecuta (ambiente Windows de 32 bits),
agrega las nuevas claves con los nombres de usuario y la contraseña del usuario
Admin.
Para brindar un nivel más de seguridad, estas claves no se pueden modificar desde la
aplicación. Es decir que la aplicación inicia una sesión en modo Admin. con la única
palabra clave otorgada por el autor de la aplicación.
La ubicación de los menús fueron distribuidas conforme a las distintas utilidades del
sistema, así primero se ubican las utilidades de administración de la aplicación; como
ser Backup, Restauración, (no están disponibles en modo Invitado) y Cambiar de
usuario. Luego se ubican las utilidades de Gestión operativas (algunas no están
implementadas), y mas a la izquierda las utilidades de nivel Gerencial o de Soporte a la
Decisión.
Cambio de Sesión.
Nota: Realice el resguardo de sus datos, cada vez que haya realizado una importante
modificación en la base de datos.
Restauración de la Base de Datos.
A pesar de que ésta utilidad está calificada como una herramienta de Gestión
Operativa, cabe destacar que en algunas situación se utilizan técnicas de Sistemas
Expertos, que serán explicados oportunamente.
Escenario:
En éste modulo se agregan y editan registros de animales que han sido adquiridos
desde otros productores.
• Alta de vacunos:
Luego de ingresar cada dato, presione la tecla Enter, para validar el ingreso del dato.
Luego de ingresar todos los datos, presione el botón “Aceptar” si desea agregar el
nuevo registro del animal. O presione cancelar, en caso contrario.
Nota: Para asignar una marca anterior, debe haber registrado y dibujado esa marca
con la utilidad “Movimiento de Marcas de Otros Propietarios”
Para modificar los datos de un animal, haga clic en la opción “Modificar Datos de un
Animal”, y a continuación ingrese en el cuadro “Caravana”, la caravana del animal en
cuestión. Podrá modificar todos los datos excepto, la caravana del animal. Ya que éste
es un número de identificación única del animal, y todos los demás datos están
relacionados por éste atributo.
Escenario:
Con ésta utilidad se pueden dar de alta y modificar registros de vacunos de origen
local, en otros palabras realizar movimientos de animales nacidos en el establecimiento
loca.
Razón de ser:
Retomando la explicación anterior del porque la disgregación de los módulos de
movimientos de animales; una de las causas por las cuales se ha optado por
separarlos fue el hecho de brindar al productor la posibilidad de ingresar la caravana
de la madre del animal, y la caravana o el nombre del padre del animal. Se ha hecho la
diferencia de poder agregar el nombre del animal, porque puede darse la posibilidad de
que el animal haya sido gestado por Inseminación Artificial (I.A.), y que el toro
proveedor del semen no esté registrado en la base de datos del establecimiento.
Contrariamente a esto, es imprescindible que la madre del animal esté registrada en la
base de datos del establecimiento.
Esta utilidad da la posibilidad de implementar a futuro, procesamiento de los datos para
obtener estadísticas de evolución racial en el establecimiento, para conocer el “Árbol
Genealógico” del animal. Estudiar comportamiento de los genes de los animales, etc.
Pasos a seguir:
La diferencia operativa de éste módulo, respecto al de movimiento de vacunos
provenientes de otros establecimientos, reside en que en éste módulo no se ingresan
la procedencia, ni la marca anterior. Pero deben ingresarse la caravana de la madre y
la caravana o nombre del padre. – Para ésta situación aplicativa, solo se pueden
ingresar caravanas o nombres registrados en la base de datos, de modo que si el
animal ha nacido por Inseminación Artificial, se recomienda primero registrar al toro
proveedor del semen, especificando en la procedencia o marca anterior o nombre,
alguna observación explicativa. De todos modos informa en el caso
de que deba registrar al toro padre del animal –
Escenario:
Con ésta utilidad, el productor podrá registrar las características fenotipicas de los
animales en etapa de reproducción. Tanto para Machos como para Hembras.
Pasos a seguir:
En el menú principal, despliegue el menú; vacunos y luego haga clic en el submenú
“Caract. Feno”.
En el cuadro caravana; ingrese la caravana del animal en cuestión.
Según la etapa de la cría del animal, se podrán seleccionar distintos tipos de
características fenotípicas. Aquí también actúa el experto, ya que el la aplicación debe
diferenciar entre las distintas características para presentar las características
fenotipicas correspondientes a esa etapa de la cría.
Puede apreciarse que en una misma fila de las posibles características fenotipicas se
encuentran las dos opciones a ingresar, siempre, en la columna de la derecha estarán
las características de tipo fértil, y en la otra columna las características de tipo infértil.
Seleccione una sola característica de la misma fila.
Nota: los botones pequeños que tienen la imagen de una varita mágica, tendrán utilidad a
futuro, en futuras implementaciones, para acudir al experto de edades y de pesos.
Alta y Modificaciones de Registros de Pesos.
Escenario:
Con ésta herramienta el usuario puede registrar y modificar mediciones de pesos de
vacunos, junto con la fecha de medición y alguna observación si fuese necesaria.
Pasos a seguir:
Haga clic en la opción Registrar el peso de un Vacuno, y a continuación ingrese la
caravana del animal en cuestión, en el cuadro caravana, informa el
último peso registrado junto con la fecha de la medición del peso.
Ingrese el peso medido junto con la fecha, y la observación (opcional).
Lego haga clic en el botón aceptar para guardar el registro.
Pasos a seguir:
Haga clic en la opción “Editar el peso de un vacuno”, y luego ingrese, en el cuadro
caravana, la caravana del animal.
muestra el último peso del animal, y un botón con flecha hacia atrás y
adelante, en el caso de que existan mas de un registro de peso, para que el productor
elija cual peso editar.
Modifique en el registro correspondiente los datos que crea conveniente.
A continuación presione el botón Aceptar.
La siguiente figura muestra la apariencia de la interfaz “Registro de pesos de vacunos”,
con la utilidad de “Edición”
Movimientos de Marcas.
Escenario:
Con ésta herramienta, el productor podrá registrar con nombres y dibujo, tanto marcas
propias como de otros productores. Para poder luego tener otra alternativa de
identificación de sus animales, o al momento de efectuar una venta contar con un
informe del animal, junto con el la imagen de la marca actual y la anterior, en el caso
de que el animal haya sido adquirido de otro establecimiento.
Pasos a seguir:
Pulse el botón Agregar para agregar una nueva marca, o ingrese el código de la marca
que desea editar y a continuación presione la tecla Enter, y luego el botón Editar.
Complete los datos de nombre de la marca y del propietario, presionando Enter
después de entrar cada dato.
Luego con la herramienta Lápiz dibuje la marca en cuestión. Puede utilizar la
herramienta Borrador para modificar el dibujo, y la herramienta Tamaño, para aumentar
o disminuir el trazo del Lápiz.
Luego de Completar éstos requerimientos pulse el botón Aceptar, para guardar la
imagen, o modificar la imagen anterior.
Escenario:
Mediante la utilización de ésta herramienta, el productor podrá asociar a cada
caravana, la fotografía del animal. Para esto el archivo de imagen debe estar guardado
en algún medio de almacenamiento accesible por el ordenador donde se ejecuta la
aplicación.
Pasos a seguir:
Acceda a ésta utilidad desde el menú principal, haciendo clic en “Fotos de Vacunos”.
Cuando se activa el formulario ingrese la caravana a la cual se va a asignar una foto.
Si el animal ya cuenta con alguna fotografía, la aplicación brinda la posibilidad de
cambiar esa foto.
Simulación:
Escenario:
La simulación de pesos de los animales, puede ser realizada de dos manera, utilizando
un experto, o ingresando los parámetros de pesos máximos y mínimos, entre los
cuales se efectuará la simulación.
El usuario debe ingresar la fecha, que desee para que quede registrada
en cada registro de la simulación.
Una vez completado los datos solicitados se debe pulsar el botón
“Ejecutar Simulación”.
Se simulan los datos utilizando el método aditivo de las congruencias,
con los parámetros predeterminados.
La aplicación consulta todos los animales en ésta etapa de la cría, para
los cuales efectuar la simulación.
Para ver los valores simulados, para cada caravana, junto con la fecha
de simulación. Presionar el botón que se encuentra en el extremo
izquierdo del formulario.
Los parámetros de pesos de las distintas etapas de la cría pueden ser
modificados, solo por un experto, en la base del conocimiento.
Se muestran todos los pesos simulados junto con la caravana y la fecha
correspondiente.
Escenario:
La simulación de condiciones corporales de los animales, puede ser realizada
de dos manera, seleccionando para la simulación grupos de animales según
fecha de nacimiento; se incluyó esta opción por que en manejo de ganado de
Cría, un buen criterio para agrupar animales es la fecha o año de nacimiento.
Algunas veces los productores denominan a ésta característica; “Carimbo”,
señalando a los animales con un número que indica el año de nacimiento del
animal, esto es conveniente en el caso de que se efectúe un solo servicio por
año.
La otra posibilidad de simulación es por intervalos de de caravanas, se puede
observar que mediante ésta utilidad se pueden registrar condiciones corporales
reales, utilizando como parámetros máximos y mínimos de caravanas el mismo
número, y también los mismos números para intervalos de condiciones
corporales.
Escenario:
Con ésta importante utilidad, los productores tienen la posibilidad de utilizar un experto
para apoyarlos en la decisión acerca de que animales están aptos para el servicio.
Generalmente, en los establecimientos de cría y recría, solo se efectúa un servicio,
natural o artificial, en el año. Es conveniente realizar el servicio la primavera, por
razones climáticas y de estado de los animales.
Situaciones estudiadas.
I. Dar apoyo en la toma de decisiones cuando las vacas tienen mala performance,
esto es cuando el animal no está rindiendo lo suficiente en cuanto a la reproducción
propiamente dicha.
El productor debería recibir apoyo en la decisión acerca de cuando una vaca o un
grupo de vacas deben venderse, faenarse, etc.
En pocas palabras el usuario desea que el sistema periódicamente le informe de
las vacas que no cumplen con las condiciones de seguir perteneciendo a su
establecimiento.
Éste tipo de decisión es importante por el simple hecho de que una animal que no
representa ningún rédito para el establecimiento debe ser dado de baja, ya que si
sigue en el establecimiento, implica gastos; de personal, de productos sanitarios,
consume alimentos (pastos del campo), y otros gastos de carácter administrativo.
Para tomar ésta decisión, el productor muchas veces necesita del asesoramiento
de un experto, el experto recaba datos de observaciones realizadas a las vacas,
evalúa esos datos, junto con otros datos propios del animal y le informa al
productor cuales de sus vacas no se ajustan a los requerimientos o estrategia
empleada en la cría de los vacunos.
Existen varias causas por las cuales una vaca no debe seguir en el
establecimiento, éstas son.
1. Edad (medio diente).
2. Vacas con bajas preformase productivas:
I. Primera Causa (vacas salteadoras).
a) Con el primer servicio (año 1) la vaca queda preñada y desteta un
ternero.
b) En el segundo servicio (año2) la vaca está vacía.
c) En el tercer servicio (año 3) la vaca vuelve a preñarse y destetar un
ternero.
d) Y así sucesivamente
o Decisión o Consecuencia: Si el porcentaje de destete está por debajo
del 50 %, generalmente ésta vaca sigue en el proceso productivo. En
cambio si el porcentaje de destete, es superior al 50 % lo conveniente
es eliminar ésta categoría de vacas.
II. Segunda Causa.
a) Que la vaca no produzca ningún ternero en dos años sucesivos.
o Decisión o consecuencia: la vaca debería ser dada de baja.
• Posibles causas que hacen que las vacas tengan bajas preformase
productivas:
I. Problemas sanitarios
II. Abortos
III. Perdidas de ternero (poca habilidad materna, no desteta el ternero)
IV. Pezones de gran tamaño. (caract. Fenotipicas)
II. Una situación similar al primer problema, con características parecidas, pero de
otro contexto, o influyentes en otra categoría de animales, son las decisiones que
se deben tomar cuando se presentan anomalías en los animales que pertenecen a
la categoría “Vaquillonas”.
Él seguimiento de los comportamientos de los animales que pertenecen a ésta
categoría, es un proceso importante en la cría de vacunos. Ya que las vaquillas del
establecimiento son las futuras reproductoras, y por lo tanto es imprescindible
conocer los problemas que pueden padecer o que padecen. Ya que si se toman
decisiones erróneas, el futuro del establecimiento estaría en serios problemas. Por
ejemplo que pasaría si, aunque el productor registre todos los datos de sus
animales, observaciones, estados, etc., pero en el momento de tomar una decisión,
por ejemplo que nuevo plan sanitario implementar, cuales vaquillas deben ser
dadas de baja porque presentan una perspectiva desfavorable, no se cuenta con
los conocimientos como para tomar una decisión adecuada. Y si estas decisiones
tienen sus consecuencias a mediano y largo plazo, influyen en las estrategias y en
el planeamiento productivo del establecimiento.
1. Características:
• En los corrales: Donde se observa el aspecto general. desplazamiento.
estado nutricional. adaptación al ambiente, Caracteres secundarios y
conformación, características fenotípicas del animal
• En la casilla de operar: las diferentes observaciones (características
fenotipicas)
o Bloqueo
o Ojos
o Genitales externos
o Tono o consistencia testicular
o Prueba de la capacidad del servicio
o Genitales internos
o Examen sanitario, sanguíneo, etc.
o Posible enfermedades que asechan a los machos; brucelosis,
tuberculosis, trichomoniasis, campylobacteriosis
o Calidad Seminal: (examen de laboratorio)
La siguiente tabla contiene las distintas descripciones de las características que
influyen en la capacidad reproductiva de los animales vacunos, (Vaquillas, Vacas y
Toros en ese orden).
El campo fértil indica si la capacidad reproductiva lo caracteriza como apta/o o no
para la reproducción.
Cuando se observan a los animales, en las distintas situaciones, se almacenan
éstos códigos (cod_caract) en la tabla CARAC (características fenotípicas)
asociadas a los animales (caravana) almacenando la fecha y también
Observaciones si fuesen necesarias.
DESC_CARACT
cod_caract descripción fértil
1 CABEZA DELICADA Y FEMENINA (FERTIL) Sí
2 CABEZA TOSCA (INFERTIL) No
3 PELO SUAVE, LUSTROSO, UNTUOSO (FERTIL) Sí
4 PELO GRUEZO, LARGO, SECO EN EL TUZTEZ (INFERTIL) No
5 MANDÍBULA FINA (FERTIL) Sí
6 MANDÍBULA PESADA, ASPECTO REDONDEADO No
(INFERTIL)
7 CAÑAS CORTAS Sí
8 CAÑAS ALARGADAS Y FINAS No
9 ESPALDA LIVIANA, BORDE SUPERIOR ALTO Sí
10 ESPALDA PESADA, MUSCULOSA, BORDE SUPERIOR No
BAJO
11 GRUPA LARGA Sí
12 GRUPA CORTA No
13 CUELLO DESCORNADO Sí
14 MUSCULOSO No
15 PELOS de la UBRE CORTOS Y UNTUOSOS Sí
16 PELOS de la UBRE LARGOS, SECOS Y OPACOS No
17 UBRE BUENA CONFORMACIÓN Y DESARROLLO Sí
19 UBRE MAL DESARROLLADA No
20 VACA CON DIFICULTAD EN EL PARTO No
21 VACA SIN DIFICULTAD EN EL PARTO Sí
22 VACA CON PEZONES GRUESOS No
23 VACA SIN PEZONES GRUESOS Sí
24 BLOQUEO; DIENTE ENTERO Sí
25 BLOQUEO; MEDIO DIENTE No
26 BLOQUEO; CUARTO DIENTE No
27 BLOQUEO; SIN DIENTES No
28 OJOS NORMALES Sí
29 OJOS ANORMALES No
30 CIRCUNSF. ESCROTAL MENOR A 32 CM (1 AÑO) No
31 CIRCUNSF. ESCROTAL MAYOR A 32 CM (1 AÑO) Sí
32 CIRCUNSF. ESCROTAL MENOR A 33,5 CM (1,5 AÑOS) No
DESC_CARACT
cod_caract descripción fértil
33 CIRCUNSF. ESCROTAL MAYOR A 33,5 CM (1,5 AÑOS) Sí
34 CIRCUNSF. ESCROTAL MENOR A 34 CM (2 AÑOS) No
35 CIRCUNSF. ESCROTAL MAYOR A 34 CM (2 AÑOS) Sí
36 CONSIST. TESTICULAR; BLANDO Y ESPONJOSO No
37 CONSIST. TESTICULAR; MUY BLANDO Y ESPONJOSO No
38 CONSIST. TESTICULAR; MUY FIRME Y ELÁSTICO Sí
39 CONSIST. TESTICULAR; FIRME Y ELÁSTICO Sí
40 ARTICULACIONES; TARAS, DOLOR No
41 ARTICULARIONES; SIN TARAS Y SIN DOLOR Sí
42 PEZUÑAS DESPAREJAS, CRECIMIENTO ANORMAL No
43 PEZUÑAS PAREJAS, CRECIMIENTO NORMAL Sí
44 MALA LOCOMOCIÓN, POCA FACILIDAD DE No
DESPLAZAMIENTO
45 BUENA LOCOMOCIÓN, FACILIDAD DE DESPLAZAMIENTO Sí
46 C.S. (capacidad de servicio) BAJA; 0, 1 Y 2 SERVICIOS No
(prueba 40')
47 C.S. (capacidad de servicio) MEDIA; 3, 4 Y 5 SERVICIOS Sí
(prueba 40')
48 C.S. (capacidad de servicio) ALTA; 6 O MÁS SERVICIOS Sí
(prueba 40')
Metodología aplicada:
Introducción:
Metodología:
Ingreso de parámetros
(criterios de selección/elección)
Combina criterios
Ejecuta script SQL (único), para cualquier situación y/o combinación de criterios
Fin
Nota: Para comprender mejor la metodología utilizada ver código fuente de la aplicación
(modulo servicios)
Aquí se selecciona la misma etapa de la cría del ejemplo anterior, pero se desea que la
aplicación además incluya el criterio de que el tipo racial de las vaquillas sea “Brangus
Europeizado”, e-ganadero informa que 152 animales cumplen con las características
especificadas.
Aquí “e-ganadero”, informa que ninguna vaquilla de primer servicio, de cualquier raza,
se encuentra entre éstas condiciones corporales (7 y 9), por lo tanto informa que los
parámetros de condiciones corporales no formarán parte del criterio de selección, es
decir que se obvia este criterio, o no se lo incluye cuando se pone en funcionamiento el
motor de inferencia.
Mediante el último ejemplo se puede observar que ésta utilidad es totalmente flexible,
al tipo de política o estrategia de producción del usuario, como así también en la
cantidad de datos que son cargados en la aplicación.
¿Como registrar el envío a servicio de los animales que cumplen con la
estrategia de producción o con la propuesta del experto?
Escenario:
Ya se ha visto como “e-ganadero” ayuda a los usuarios finales a seleccionar los
animales, que según el experto o la política de producción, están aptos o cumplen con
las condiciones prefijadas para algún manejo en la cría, en el caso anterior el
“Servicio”.
La herramienta que se explicará a continuación, es la antítesis de la anterior, es decir
mientras que la anterior ayudaba a seleccionar animales aptos, ésta da soporte a la
decisión, para descartar los animales que no rinden en la producción propiamente
dicha.
Metodología Empleada:
Las metodologías empleadas, utilizan técnicas de sistemas expertos basados en reglas
de decisión combinadas con consultas estructuradas a la base de datos.
Para ello, “e-ganadero”, pone a disposición algunas opciones de descartes, o bien dejar
que mediante técnicas estructuradas “e-ganadero” decida que animales descartar. Si se
elige ésta última opción “e-ganadero” elige todos aquellos animales que no cumplen con
ninguna condición como para seguir perteneciendo al plantel de reproductoras, y por
consiguiente propone descartar éstos animales, ya que las probabilidades de que en
éstas condiciones los animales puedan “recomponerse” son muy bajas.
En las otras opciones a los animales, como opciones menos aceptables, se les puede
dar la oportunidad de seguir en el plantel, siempre y cuando esto la política o estrategia
aplicada sea rentable para el negocio.
Pasos a seguir:
1. Seleccione una de las cuatro opciones.
2. Si desea que “e-ganadero” actúe respecto al último servicio, tilde ésa opción. De lo
contrario ingrese los parámetros de fecha en los cuales se desea que actúe el
experto, esto último se aplica en el caso que en decisiones anteriores no se
descartaron algunos animales propuestos por el experto, y siguieron con baja
eficiencia reproductiva.
3. Pulse el botón “Ejecutar”, para poner en marcha el motor de inferencia, y “e-
ganadero” encuentre los animales según la opción elegida.
4. “e-ganadero”, muestra las caravanas seleccionadas, e informa la cantidad de
animales seleccionados.
5. Pulsando sobre el botón “Experto”, “e-ganadero” propone algunas alternativas o
decisiones a tomar, siendo las de primer orden las más aconsejables por el experto.
En el caso de que se seleccione, la última opción para los criterios de selección de
animales, el experto propone una sola opción, por la razón que fue explicada
anteriormente.
Nota: Se debe tener siempre presente que el experto “propone” las alternativas, esto
no quiere decir que sean las más aconsejables ya que como las decisiones no son
estructuradas, algunas veces las propuestas no se ajustarán a la visión de un
experto o productor.
Supongamos, ahora que el productor necesite que la aplicación le ayude a decidir que
hacer con las hembras, y cuales son las hembras, que se registraron como vacías, en
el año 1997.
Pero si se selecciona el último servicio, ocurre lo siguiente:
Acerca de OLAP
Mientras que los almacenes y puestos de datos son los almacenes donde se analizan
los datos, el Proceso analítico en línea (OLAP) es la tecnología que permite a las
aplicaciones de cliente el acceso eficiente a estos datos. OLAP proporciona muchas
ventajas a los usuarios que realizan análisis, por ejemplo:
Un modelo de datos intuitivo y multidimensional que facilita la selección, recorrido y
exploración de los datos.
Un lenguaje analítico de consulta que proporciona la capacidad de explorar las
complejas relaciones existentes entre los datos empresariales.
Un precálculo de los datos consultados con más frecuencia que permite una rápida
respuesta a las consultas ad hoc.
Analysis Services de Microsoft® SQL Server™ 2000 constituye una eficaz herramienta
OLAP que se puede utilizar con los datos almacenados en diversas bases de datos,
incluidas las de SQL Server, Microsoft Access y Oracle.
Agregados de datos
Es común agregar nuevos datos al almacén de datos. La información del cubo de la
que disponen en línea las aplicaciones cliente se puede ver afectada cuando se
agregan datos al almacén de datos debido a interacciones entre los datos y las
particiones del cubo. Podrá administrar los efectos de agregar datos al almacén de
datos si define con cuidado los filtros de la partición y diseña una estrategia para
sincronizar OLAP y los datos del almacén de datos.
Cambios de datos
Podrá reducir la cantidad de cambios necesarios para corregir errores en un almacén
de datos si tiene el máximo cuidado durante las operaciones de transformación,
validación y eliminación de datos. Otros cambios a realizar sobre los datos existentes
en el almacén de datos pueden deberse a los cambios en la estructura de una
organización o en sus productos. Por ejemplo, reorganizar productos en diferentes
categorías puede implicar cambios significativos en los datos del almacén de datos, así
como en los informes derivados del almacén de datos. En algunos casos, tales
cambios pueden requerir que se vuelvan a diseñar los cubos por completo. En otros
casos, sólo será necesario volver a diseñar las dimensiones y procesar todos los cubos
que las utilizan.
Los cambios realizados para corregir errores en los datos básicos también se deben
incorporar a la base de datos de origen, normalmente la base de datos empresarial
OLTP, y después, se deben migrar al almacén de datos de manera controlada. Muchos
diseños de bases de datos empresariales OLTP requieren que los cambios se efectúen
mediante una transacción que elimina los datos incorrectos y aplica nuevos datos
correctos. Con frecuencia, suele ser más sencillo administrar el efecto de dichas
operaciones de corrección sobre datos OLAP. Los cubos pueden incorporar nuevas
transacciones de datos que corrijan valores erróneos, como un valor de pesos
incorrecto. Sin embargo, las transacciones que mueven un hecho de un miembro de
dimensión a otro, por ejemplo una venta enviada al cliente erróneo, pueden afectar a
los resultados de ciertas funciones de agregado, tal como Avg. Este hecho también es
cierto para bases de datos distintas de OLAP; si se elimina una orden original de venta
pero su registro permanece en la base de datos, será incluida en el recuento de
registros de ventas y afectará al cálculo.
Dependiendo del diseño de almacenamiento del cubo, los cambios en los datos de la
tabla de hechos pueden afectar a la exactitud de las consultas realizadas a un cubo
hasta que éste se procese. Se puede utilizar la opción de proceso Actualizar datos
para volver a cargar los datos del cubo y volver a calcular las agregaciones. Como el
diseño de la agregación sigue siendo el mismo, la opción de proceso Actualizar datos
es más rápida que la opción Proceso completo.
Los cambios en los datos de las tablas de dimensiones del almacén de datos pueden
afectar a las jerarquías de dimensiones incluso aunque se siga conservando el
esquema de la tabla. La jerarquía de dimensiones está basada en las relaciones
existentes entre los miembros de una tabla de dimensiones. Cuando se modifican
estas relaciones, por ejemplo al reorganizar las ciudades en diferentes regiones de
ventas, será necesario volver a generar la estructura de la dimensión.
Se deberá mantener la integridad referencial cuando se agreguen, cambien o eliminen
datos del almacén de datos. La pérdida de integridad referencial puede dar como
resultado errores durante el procesamiento del cubo, que se pasen por alto registros de
la tabla de hechos o información OLAP inexacta.
Cambios en la estructura
La estructura de los cubos y dimensiones OLAP puede verse afectada por los cambios
en el diseño del almacén de datos, por ejemplo al agregar, borrar o alterar tablas o las
relaciones existentes entre las tablas. Cuando la estructura cambia, deberá modificar el
diseño de los cubos y dimensiones afectados, volver a definir las particiones y
agregaciones y procesar por completo los cubos y dimensiones que se hayan
modificado.
Sincronizar OLAP con los datos del almacén de datos
Los cubos válidos se encontrarán en línea y estarán disponibles para las aplicaciones
cliente siempre que Analysis Server esté en ejecución. Debido a la posibilidad de
interacción de las particiones de cubo OLAP con los datos del almacén de datos, el
diseño de este almacén debe incluir una estrategia de sincronización que permita la
inclusión de datos sin que los cubos proporcionen respuestas incorrectas a las
consultas realizadas en los cubos disponibles para las aplicaciones cliente en pantalla.
Una estrategia para administrar los nuevos datos agregados al almacén y a OLAP es
diseñar un sistema de actualización por lotes. En esta estrategia, todos los datos
contenidos en el almacén de datos incluyen un número de lote en cada registro.
Cuando se diseña un cubo, se agregue una expresión al filtro para que en cada una de
las particiones del cubo se especifique el mayor número de lote aplicable, por ejemplo,
"... AND DWBatch <= 33 ..." Cuando se necesite agregar nuevos datos a la tabla de
hechos, se debe incluir un número de lote nuevo y superior en los registros nuevos.
Los cubos no se verán afectados por los nuevos registros que acaba de agregar
porque las particiones del cubo sólo leerán los datos correspondientes a los números
de lote anteriores.
Los datos agregados a una tabla de dimensiones no afectan a las dimensiones
privadas o compartidas del cubo existente hasta que se procesen las dimensiones. No
se necesitan números de lote en los registros de la tabla de dimensiones, pero pueden
ser útiles para asegurar una integridad referencial constante.
Las dimensiones y los cubos o las particiones se pueden procesar de forma que
incorporen los datos nuevos después de agregar un lote de datos a la tabla de hechos
y a las tablas de dimensiones. Se deberán procesar las dimensiones compartidas
antes que los cubos que las utilizan. Para agregar nuevos miembros a una dimensión
sin que ello afecte a la estructura de la dimensión, se puede utilizar la opción
Actualización incremental. Para agregar nuevos miembros y volver a generar la
estructura de la dimensión, se debe utilizar la opción Volver a generar la estructura de
la dimensión. Se puede observar que cuando se procesa una dimensión compartida
con la opción Volver a generar la estructura de la dimensión, todos los cubos que
contienen esa dimensión dejan de estar disponibles inmediatamente para las
aplicaciones cliente y se deben procesar para que vuelvan a estar disponibles. Sin
embargo, cuando se procesa una dimensión compartida mediante la opción
Actualización incremental, cualquier cubo que utilice la dimensión compartida mostrará
los nuevos miembros, pero las celdas asociadas con esos miembros permanecerán
vacías hasta que se actualice el cubo con los nuevos datos de la tabla de hechos que
está relacionada con los nuevos miembros.
Para incorporar un nuevo lote de datos a un cubo, se deberá actualizar la expresión de
filtro contenida en cada una de las particiones del cubo para incluir el nuevo número de
proceso por lotes y, a continuación, procesar o actualizar el cubo de forma incremental.
Si los datos del cubo están divididos entre varias particiones, se podrá utilizar una de
las particiones para acumular nuevos lotes de datos y procesar únicamente esa
partición. Las demás particiones del cubo deberán contar con filtros para excluir los
nuevos datos de forma que dichos datos se agreguen únicamente a la partición de
acumulación.
Técnicas OLAP aplicadas a la “Toma de Decisiones” en la cría de ganado
vacuno.
El cubo Inventario:
Escenario:
Antes que nada deben procesarse los cubos, luego se tienen los datos disponibles
para realizar los análisis.
En esta sección, se utiliza el Editor de cubos para dividir en rebanadas y subcubos
los datos de Pesos.
Aplicaciones de Planificación:
Las herramientas informáticas de soporte a las decisiones son y serán cada vez más
utilizadas por todo tipo de empresas y organizaciones, fundamentándose en que la
información se ha convertido hoy por hoy en el recurso más importante de las
organizaciones.
Las empresas Argentinas dedicadas a la Cría del Ganado Vacuno, como así también
investigadores de la producción ganadera, no deberían permanecer inmunes a éstos
adelantos tecnológicos.
• Artificial Intelligence.
Elaine Rich.
• El directivo experto.
David Bendel Hertz.
• Sistemas Expertos.
Arantza Díaz de Ilarraza / Isabel Fernández de Castro.
• http://personales.unican.es/gutierjm/cursos/expertos/:
Sistemas Expertos Basados en Reglas
Prof. José Manuel Gutiérrez
Dpto. de Matemática Aplicada. Universidad de Cantabria
• Conocimiento es Futuro.
Valdes, Luigi.. Conamin, CCTC y Funtec. Junio de 1997.
• http://www.microsoft.com/spanish/MSDN/estudiantes/
• http://www.larural.es/cercosoft/
• http://www.agroconnection.com
• http://www.ruralarg.org.ar/comision.htm
• http://www.inta.gov.ar
• http://www.zoetecnocampo.com/
• “Cría Bovina”. Apuntes de la Cátedra: Zootecnia Especial, Facultad de
Veterinaria, U.N.N.E.
• “Normas para Medir la Producción de Carne”. Apuntes de la Cátedra: Zootecnia
Especial, Facultad de Veterinaria, U.N.N.E.
• Manual del Usuario del “Balanceador Automático de Raciones para Novillos”.
Estación Experimental Agropecuario Reconquista (Santa Fe)
• La Unidad de Cría de la EEA Corrientes.
Arias, A. – Manunta, O. – Slobodzian, A – Peruchena, C.
Tabla de Contenidos.
Presentación…………………………………………………………………………….... 1
Resumen……………………………………………………………………………........... 2
Inteligencia Artificial………………………………………………………………….. 4
Sistemas Expertos…………………………………………………………………… 7
Introducción……………………………………………………………………… 11
El motor de Inferencia………………………………………………………….. 13
Encadenamiento de Reglas…………………………………………………… 14
Tratamiento de la Incertidumbre……………………………………………….. 15
Introducción……………………………………………………………………… 15
El razonamiento Bayesiano……………………………………………………. 16
Probabilidades condicionales………………………………………………….. 17
Probabilidades a Priori…………………………………………………………. 18
Probabilidades a Posteriori…………………………………………………….. 18
Modelo Administrativo…………………………………………………………. 20
Definición………………………………………………………………………… 21
El Modelo……………………………………………………………………….. 22
La Base de Datos………………………………………………………........... 22
Sistema de Software…………………………………………………………… 23
Aplicaciones…………………………………………………………………….. 23
Tendencias Futuras……………………………………………………………. 24
Componentes de un DSS…………………………………………………….. 27
Beneficios de un DSS…………………………………………………………. 28
Data Warehousing…………………………………………………………….. 29
Introducción…………………………………………………………………….... 29
Teoría……………………………………………………………………............. 30
Sistemas de Información……………………………………………………….. 30
Flujo de Datos…………………………………………………………………… 49
Consideraciones Adicionales………………………………………………….. 55
Cláusulas……………………………………………………………………….. 69
Operadores…………………………………………………………………….. 69
Funciones………………………………………………………………………. 70
Consultas de Selección……………………………………………………….. 70
Criterios de Selección…………………………………………………………. 73
Agrupamiento de Registros…………………………………………………… 76
Consultas de Acción…………………………………………………………… 79
Tipos de Datos…………………………………………………………………. 82
SubConsultas…………………………………………………………………… 83
Cláusula Procedure……………………………………………………………. 93
Anexos………………………………………………………………………….. 94
Simulación……………………………………………………………………. 98
Introducción…………………………………………………………………... 98
Metodología Empleada……………………………………………………… 98
Resumen……………………………………………………………………… 101
Un Ejemplo…………………………………………………………………… 101
Trazabilidad………………………………………………………………… 104
Simulación…………………………………………………………………...... 126
Conclusiones………………………………………………………………. 161
Bibliografía…………………………………………………………………….. 162