Entre el kick off y la yarda

20160506_041018_paxton-lynch

Finalmente después de la novela que represento para los Broncos de Denver (equipo campeón) quedarse sin su QB titular Peyton Manning (retiro) y Brock Osweiler (Paso a Texans Houston); en el draft, que concluyo hace unas semanas, adquirieron la selección No. 26 Paxton Lynch, el cual se había desempeñado en sus épocas de colegial con el equipo de Memphis, por lo cual ahora tendrá que pelear por un puesto como QB titular con Mark Sánchez y Trevor Siemian.

Si bien es cierto los Broncos de Denver tuvieron otras opciones para escoger su QB titular, el presupuesto y tope salarial no dejaba tener mucho margen de movimiento, por lo cual optaron por ir al Draft por un QB, y jugarsela con el experimentado QB Mark Sanchez y su tercer QB Siemian.

Ahora los campeones con algunas ausencias por la agencia libre, el jugador franquicia y sorpresas deberán apostar entre estos 3 QB a Futuro muy cercano, apoyados en un 100 % de su Ofensiva que los llevo a Ganar el SB50 y el campeonato de la Conferencia Americana, misión que ya se ve dificil, aun no iniciada la temporada, pero las dudas surgirán más o se disiparán en el primer juego de temporada contra las Panteras de Carolina, equipo al que vencieron en el pasado SB.

APTOPIX Super Bowl Football

Carolina Panthers? Jonathan Stewart (28) scores a touchdown during the first half of the NFL Super Bowl 50 football game Sunday, Feb. 7, 2016, in Santa Clara, Calif. (AP Photo/Jeff Chiu)

 

 

Anuncios
Estándar

Herramientas de Análisis y Minería de Datos

Unidad 1: Introducción a la teoría y práctica de Bases de datos.

 

Datos

Información necesaria para llegar al conocimiento exacto de una cosa o el análisis de un tema.

También en informática podemos considerar dos tipos de datos:

  • Los datos de entrada o suministrados: son aquellos datos que se pueden encontrar en un documento fuente, de alguna persona de la que se necesita obtener información, un documento fuente, etc.
  • Los datos de salida: estos datos pueden obtenerse impresos, por pantalla o guardarlos en un archivo para algún otro proceso posterior

Información

Son los datos o contenido que tiene un archivo, reportaje, investigación, o cualquier otra cosa u objeto que nos permite saber u obtener conocimiento de lo que se está investigando.

La información también podemos clasificarla como información pública, de empresa y confidencial:

  • Pública: Es información que puede obtener cualquier persona.
  • Empresa: Son datos que solo conciernen a los empleados o ejecutivos de una empresa:
  • Confidencial: Solo una persona o grupo de personas puede conocer este tipo de información.

Diccionario de datos: Es el contenido de los datos o las descripciones de todos los demás objetos (archivos, programas, informes, sinónimos…) existentes en el sistema. Un diccionario de datos almacena la totalidad de los diversos esquemas, y especificaciones de archivos, así como sus ubicaciones.

Base de datos: Conjunto de datos organizados para su almacenamiento en la memoria de un ordenador o computadora, diseñado para facilitar su mantenimiento y acceso.

Los datos suelen aparecer en forma de texto, números o gráficos.

Hay cuatro modelos principales de bases de datos:

El modelo jerárquico: es un modelo de datos en el cual los datos son organizados en una estructura parecida a un árbol. La estructura permite a la información que repite y usa relaciones padre/Hijo: cada padre puede tener muchos hijos pero cada hijo sólo tiene un padre. Todos los atributos de un registro específico son catalogados bajo un tipo de entidad.

El modelo en red: es una base de datos conformada por una colección o set de registros, los cuales están conectados entre sí por medio de enlaces en una red. El registro es similar al de una entidad como las empleadas en el modelo relacional.

El modelo relacional: fue propuesto originariamente por E.F. Codd en un ya famoso artículo de 1970; La estructura fundamental del modelo relacional es precisamente esa, “relación”, es decir una tabla bidimensional constituida por líneas (tuple) y columnas (atributos).

Las relaciones representan las entidades que se consideran interesantes en la base de datos. Cada instancia de la entidad encontrará sitio en una tupla de la relación, mientras que los atributos de la relación representarán las propiedades de la entidad.

El modelo de bases de datos deductivas: es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta.

Modelo Entidad-relación

Es un modelo extendido donde se parte de una situación real a partir de la cual se definen entidades y relaciones

Entidad

Objeto del mundo real sobre el que queremos almacenar información, las entidades están compuestas de atributos que son los datos que definen al objeto, de los cuales hay atributos que no se repiten, a estos atributos o conjunto de atributos se les llaman clave de la entidad

Los tipos de entidades definen a un conjunto de entidades que poseen los mismos atributos. Cada tipo de entidad de una base de datos se describe con un nombre y una lista de atributos

Las características son:

  • Que sea única
  • Que se tenga plena conocimiento de ella
  • Que sea mínima

Los atributos pueden ser:

  1. Simples, son atributos no divisibles
  2. Compuestos, son atributos que se puede dividir en componentes más pequeños
  3. Monovaluados, son atributos que solo tienen un valor para una entidad
  4. Multivaluados, son atributos que pueden que pueden tener límites inferiores y superiores
  5. Almacenados, es el valor asignado en captura
  6. Derivados, son valores que se obtienen otra entidad o cantidades

Un tipo de entidad es un conjunto de entidades que poseen los mismos atributos, porque cada atributo simple está asociado a un conjunto de valores (o dominio), que especifica los valores que es posible asignar a cada atributo.

El tipo de entidades débiles son algunas que no tienen claves propias, ya que contienen una clave parcial, que es el conjunto de atributos, que pueden identificar de manera única las entidades débiles,  relacionadas con la misma entidad propietaria.

El tipo de clave  es llamada también de unicidad, y casi siempre tienen un atributo distinto en cada entidad individual, y sus valores sirven para identificar de manera única a cada entidad.

Ejemplos de atributos:

Casa, Automóvil, Curso, área, departamento, etc.

 

Relación

Asociación entre entidades sin existencia propia en el mundo real en el que estamos modelando pero necesita reflejar las interacciones existentes.

El grado de tipo de relaciones es el número de entidades que participan en él pueden ser binarios o ternarios

Los tipos de restricciones suelten tener ciertas restricciones que limitan las posibilidades de combinaciones de entidades.

Relaciones 1-1, las entidades que intervienen se asocian una a una

Relaciones 1-n una concurrencia de una entidad está asociada con muchas de otra

Relaciones n-n cada ocurrencia en cualquiera de las dos entidades de la relaciones puede estar asociada con muchas de la otra y viceversa.

ejemplo de relaciones:

Empleado  à Departamento A

Casa  à Manzana B

Alumno à Salón 3B

 

Cada ejemplar  de la relación r1 de R es una asociación de entidades, donde incluye una y solo una entidad de cada tipo de las entidades participantes.

El grado de una relación es el número de entidades que participan en él, y pueden ser binarios (dos grados) o ternarios (tres relaciones).

Algunas ocasiones un atributo se puede considerar dentro de las relaciones. Las relaciones tienen nombre de papeles, el cual indica, el papel que desempeña cada entidad participante. Las entidades también manejan vínculos recursivos,  esto se da cuando  el mismo tipo de entidades participan en cada desempeño de la relación, con diferentes papeles.

Las relaciones tienen restricciones, estas restricciones limitan las posibles combinaciones de entidades que pueden participar en los ejemplares de las relaciones.

DIAGRAMA E/R

Udge

Modelo relacional

El objetivo del modelo relacional es crear un “esquema”, que consiste de un conjunto de “tablas” que representan “relaciones”, relaciones entre los datos.

Estas tablas, pueden ser construidas de diversas maneras:

  • Creando un conjunto de tablas iniciales y aplicar operaciones de normalización hasta conseguir el esquema más óptimo.
  • Convertir el diagrama e-r a tablas y posteriormente aplicar también operaciones de normalización hasta conseguir el esquema óptimo.

El crear las tablas iniciales es mucho más simple a través de las reglas de conversión.

Se podría pensar que es lo mismo porque finalmente hay que “normalizar” las tablas de todas formas, pero la ventaja de partir del modelo e-r es que la “normalización” es mínima por lo general.

Dominios:

Un dominio es u conjunto de valores atómicos, lo que significa que el valor es indivisible en el modelo relacional. Se debe considerar que cada atributo (columna) debe ser atómico, no se puede pensar en un atributo como un “registro” o “estructura” de datos.

Tuplas

Cada uno de los renglones en una relación conteniendo valores para cada uno de los atributos.

Atributos

Los atributos son las columnas de una relación y describen características particulares de ella.

Campos Clave

Dentro del modelo relacional existen  campos clave, estos campos pueden ser varios atributos de la relación.

Vinculación de campos para la recuperación de datos

Poder hacer  consultas, no solo del modelo sino de múltiples relaciones; los campos en las relaciones que podemos utilizar para este tipo de vinculaciones deben ser del mismo tipo, es decir, numérico, alfanumérico, o alfabético, tener el mismo tamaño y con información enlace.

Tipos de relaciones

Los tipos de relaciones pueden ser de dos tipos

  1. La relación de relación (tabla) a Relación (Tabla)
  2. La relación que vincula a una relación con atributos modelada en E-R

Restricciones de igualdad

En un esquema de bases de datos relacional existen diversos tipos de restricciones como son:

Restricciones de dominio:

Las restricciones de dominio especifican el valor de cada atributo A  debe ser un valor atómico del dominio dom(A) para ese atributo.

Los tipos de datos asociados a los dominios por lo regular incluyen los tipos de datos numéricos estándar de los números enteros (entero-corto, entero, entero-largo) y reales (flotente, flotante de doble precisión).

También disponemos de caracteres, cadenas de longitud fija y cadenas de longitud variable, así como tipos de datos de fecha, hora, marca de tiempo y dinero. Otros dominios posibles se pueden describir medianteun subintervalo de valores de un tipo de datos o como un tipo de datos enumerado en el que listan explícitamente todos los valores posibles.

Restricciones de clave:

Una relación se define como un conjunto de tuplas. Por definición, todos los elementos de un conjunto son distintos; por tanto, todas las tuplas de una relación deben ser distintas. Esto significa que no puede haber dos tuplas que tengan la misma combinación de valores para todos sus atributos, y lo que tenemos la siguiente restricción:

t1[SC] <> t2[SC]

Restricciones de integridad:

UN esquema de base de datos relacional S es un conjunto de esquemas de relaciones S = {R1,R2,..,Rn} tal que cada r es un ejemplar de Ri y tal que las relaciones ri satisfacen las restricciones de integridad especificadas en RI.

Restricciones de integridad de entidades:

La restricción de integridad de entidades establece que ningún valor de la clave primaria puede ser nulo. Esto porque el valor de la clave primaria sirve para identificar tuplas individuales en una relación; el que la clave primaria tenga nulos implica que no podemos identificar algunas tuplas.

Las restricciones de clave y de integridad de entidades se especifican sobre relaciones individuales.

 

La restricción de integridad referencial y clave externas:

Se especifica entre dos relaciones y sirve para mantener la consistencia entre tuplas de dos relaciones. La restricción de integridad referencial establece que una tupla en una relación que haga referencia a otra relación deberá referirse a una tupla existente en cada relación.

Definición de clave externa

Las condiciones que debe satisfacer una clave externa especifican una restricción de integridad referencial entre los dos esquemas de relaciones R1 y R2. Un conjunto de atributos CE en el esquema de relación R1 es una clave externa de R1 si satisface las dos reglas siguientes:

  • Los atributos de CE tienen el mismo dominio que los atributos de la clave primaria CP de otro esquema de relación R2; se dice que los atributos CE hace referencia o se refieren a la relación R2.
  • Un valor de CE en una tupla t1 de R1 ocurre como valor de CP en alguna tupla t2 de R2 o bien es nulo. En el primer caso, tenemos t1[CE] = t2[CP], y decimos que la tupla t1 hace referencia o se refiere a la tupla t2.

También existen otro tipo de restricciones como las de integridad semántica, que establece límites de valores en un dominio. Ejemplo el que un dominio pueda permitir solo los valores S o N.

1.5 Normalización y dependencias funcionales

Pautas informales de diseño para esquemas relacionales

Pauta 1: Diseñar un esquema fácil de explicar, no combine atributos de varios tipos de entidades y tipos  de vínculos (relaciones)

Anomalías de actualización.

Anomalías de inserción: surge cuando se inserta un  nuevo registro y alguno de los campos, que son una relación externa no puede cumplirse.

Anomalías de modificación: cuando el registro es modificado y además hay anomalías de inserción.

Anomalías de Pautas: cuando se desea borrar una tupla y esta tiene enlaces con relaciones.

Pauta 2: Diseñe los esquemas de las relaciones base,  sin anomalías, en caso de tenerlas señalarlas con claridad, para que los programas operen.

Valores nulos en las tuplas

En algunos diseños puede que se agrupen muchos atributos para formar una relación grande. Si muchos de esos atributos no se aplican a todas las tuplas de la relación, acabaremos con un gran número de nulos en esas tuplas.

Esto puede originar un considerable desperdicio de espacio en el nivel de almacenamiento y posiblemente dificultar el entendimiento del significado de los atributos, y la especificación de operaciones de reunión en el nivel lógico.

Otro problema con los nulos es cómo manejarlos cuando se aplican en funciones agregadas como COUNT o SUM.

Los nulos pueden tener múltiples interpretaciones, por ejemplo las siguientes:

  • El atributo no se aplica a esta tupla.
  • Se desconoce el valor del atributo para esta tupla.
  • Es valor se conoce pero está ausente; esto es, todavía no se ha registrado.

Pauta 3: evitar incluir en una relación base, atributos cuyos valores puedan ser nulos.  Si no es posible evitar los nulos, asegurarnos de que se apliquen sólo en casos excepcionales y no a la mayoría de las tuplas en una relación.

 

Tuplas espurias (erroneas)

La necesidad de realizar un reunión natural, entre dos relaciones se debe de tener cuidado, ya que esta reunión podría originar tuplas erróneas.

 

Pauta 4: Diseñar los esquemas de relación de modo que puedan reunirse mediante condiciones de igualdad, sobre atributos que sean claves primarias o externas, a fin de garantizar que no se formarán errores.

Dependencias funcionales

Es una restricción entre dos conjuntos de atributos de la base de datos.

Ejemplo:

Suponga que nuestro esquema de base de datos relacional tiene n atributos A1,A2,..,An, y que toda la base de datos se describe con un solo esquema de relación universal R={A1,A2,..An}.

Una dependencia funcional, denotada por X à Y, entre dos conjuntos de atributos Z y Y que son subconjuntos de R especifica una restricción sobre las posibles tuplas que podrían formar un ejemplar de relación r de R.

La restricción dice que, para cualesquier dos tuplas t1 y t2 de r tales que t1[X]=t2[X], debemos tener también t1[Y]=t2[Y]. Esto significa que los valores del componente Y de una tupla de r dependen de los valores del componente X, o están determinados por ellos; o bien, que los valores del componente X de una tupla determinan de manera única (o funcionalmente) los valores del componente Y. También decimos que hay una dependencia funcional de X a Y o que Y depende funcionalmente de X. Abreviaremos la dependencia funcional con DF. El conjunto de atributos X se denomina miembro izquierdo de la DF, y Y es el miembro derecho.

Por lo que X determina funcionalmente a Y en un esquema de relación R si y sólo si, siempre que dos tuplas r(R) coincidan en su valor X, necesariamente deben coincidir en su valor Y.

  • Si una restricción de R dice que no puede haber más de una tupla con un valor X dado en cualquier ejemplar de relación r(R) esto es, X es una clave candidata de R esto implica X à Y que para cualquier subconjunto de atributos Y de R.
  • Si X à Y en R, esto no nos dice que Y determina funcionalmente a X.

Reglas de inferencia para las dependencias funcionales

Denotamos con F en conjunto de dependencias funcionales que se especifican sobre el esquema de relación R. El conjunto de todas las dependencias funcionales se denomina cerradura de F y se denota con F+.

Las reglas de inferencia para las dependencias funcionales son:

  • Regla reflexiva: nos dice que un conjunto de atributos siempre se determina así mismo
  • Regla de aumento: añadir el mismo conjunto de atributos a los dos miembros del izquierdo, y derecho, de una dependencia, válida
  • Regla transitiva: las dependencias funcionales son transitivas
  • Regla de descomposición (o proyectiva); podemos quitar atributos del miembro derecho de una dependencia
  • Regla de la unión (o aditiva): la regla de la unión nos permite combinar un conjunto de dependencias.
  • Regla pseudo transitiva:

Equivalencia de conjuntos de dependencias funcionales

Un conjunto de dependencias funcionales E está cubierto por un conjunto de dependencias funcionales F, se dice que F cubre a E si toda D F en E también está en F+, es decir, E está cubierto si toda dependencia E puede inferirse a partir de F.

Dos conjuntos de dependencias funcionales E y F son equivalentes si E+ = F+.

Conjuntos mínimos de dependencias funcionales

Un conjunto de dependencias funcionales F es mínimo si satisface las siguientes condiciones:

  • Toda dependencia en F tiene un solo atributo en su miembro derecho.
  • No podemos quitar ninguna dependencia de F y seguir teniendo un conjunto de dependencias equivalentes a F.
  • No podemos reemplazar ninguna dependencia X–>A en F por una dependencia Y–>A, donde Y es un subconjunto propio de X, y seguir teniendo un conjunto de dependencias equivalentes a F.

La normalización de datos

Es un proceso durante el cual los esquemas de relación insatisfactorios se descomponen repartiendo sus atributos entre esquemas de relación más pequeños que poseen propiedades deseables.

El objetivo del proceso de normalización original es garantizar que no ocurran las anomalías de actualización. Las formas normales proveen a los diseñadores de bases de datos lo siguiente:

  • Un marco formal para analizar los esquemas de relación con base en sus claves y en las dependencias funcionales entre los atributos.
  • Una serie de pruebas que pueden efectuarse sobre esquemas de relación individuales de modo que la base de datos relacional pueda normalizarse hasta el grado deseado.

Las formas normales, consideradas aparte de otros factores, no garantizan un buen diseño de base de datos.

El proceso de normalización por descomposición debe confirmar también la existencia de propiedades adicionales que los esquemas relacionales, en conjunto deben poseer.

Dos de estas propiedades son:

  • La propiedad de reunión sin pérdida o reunión no aditiva, que garantiza que no se presentará el problema de tuplas erróneas.
  • La propiedad de conservación de las dependencias, que asegura que todas las dependencias funcionales estén representadas en algunas de las relaciones individuales resultantes.

Primera forma normal 1FN

La primera forma normal establece que los dominios de los atributos deben incluir sólo valores atómicos (simples, indivisibles) y que el valor de cualquier atributo en un tupla debe ser un valor individual, proveniente del dominio de ese atributo.

1FN prohíbe tener un conjunto de valores, una tupla de valores o una combinación de ambos como valor de un atributo para una tupla individual.

 

Segunda forma normal

La segunda forma normal se basa en el concepto de dependencia funcional total.

  • Un dependencia funcional total X–>Y si la eliminación de cualquier atributo A de X hace que la dependencia deje de ser válida.
  • Una dependencia funcional es parcial si es posible eliminar A de X y la dependencia sigue siendo válida.

Un esquema de relación R está en 2FN si todo atributo no primo A en R depende funcionalmente de manera total de la clave primaria de R.

 

Tercera forma normal (3FN)

Un esquema de relación R está en 3FN siempre que una dependencia funcional X–>A se cumple en R, o bien:

  • X es una superclave de R
  • A es un atributo primo de R.

Un esquema de relación R viola la definición general de 3FN si una dependencia funcional X–>A válida en R viola ambas condiciones, (a) y (b), de 3FN. La violación de (b) implica que A es un atributo no primo.

La violación de (a) implica que X no es un súper conjunto de ninguna clave de R; por tanto, X podría ser no primo o podría ser un subconjunto propio de una clave de R.

Si X no es primo, por lo regular tenemos una dependencia transitiva que viola ·FN, y si X es un subconjunto propio de una clave R, tenemos una dependencia parcial que viola ·FN (y también 2FN).

Podemos expresar una definición general alternativa de 3FN como sigue: Un esquema de relación R está en 3FN si todo atributo no primo de R es:

  • Dependiente funcionalmente de manera total de toda clave de R
  • Dependiente de manera no transitiva de toda clave de R.

 

La Forma normal de Boyce-Codd (FNBC)

La forma normal Boyce-Codd es más estricta que la 3FN, lo que significa que toda relación que esté en FNBC también está en 3FN; sin embargo, una relación 3FN no está necesariamente en FNBC.

Esta definición de Boyce-Codd difiere un poco de la definición 3FN. Un esquema de relación R está en FNBC sí, siempre que una dependencia funcional X–>A es válida en R, entonces X es una superclave de R.

La única diferencia entre FNBC y 3FN es la condición (b) de 3FN, que permite que A sea primo si X no es una superclave, está ausente en FNBC.

Reglas de inferencia para las dependencias funcionales y multivaluadas

Al igual que con las dependencias funcionales (DF), podemos desarrollar reglas de inferencia para las Dependencias Multivaluadas (DMV).

Las reglas de inferencia, Ri1 a Ri8, constituyen un conjunto correcto y completo para inferir dependencias funcionales, y multivaluadas a partir de un conjunto dado de dependencias.

  • Regla reflexiva para D F
  • Regla de aumento para D F
  • Regla transitiva para D F
  • Regla de complemento para DMV
  • Regla de aumento DMV
  • Regla transitiva DMV
  • Regla de réplica DF a DMV
  • Regla de la combinación para DF y DMV

 

Cuarta forma normal (4FN)

Un esquema de relación R está en 4FN respecto a un conjunto de dependencias F si, para cada dependencia multivaluada no trivial X–>-> Y en F+, X es una superclave de R.

Si una relación no está en 4FN, se originarán problemas similares con anomalías de eliminación y modificación.

Quinta forma normal (5FN) o forma normal de proyección-reunión (FNPR)

Respecto a un conjunto de dependencia funcionales, multivaluada y de reunión si, para cada dependencia de reunión no trivial DR(R1,R2,..,Rn) en F+ (esto es, implicada por F), toda R, es una superclave de R.

1.6 Manejar ejemplos con operaciones básicas (selección, proyección, producto cartesiano, reunión, unión,  y diferencia)

 Seleccionar

Sirve para seleccionar un subconjunto de las tuplas de una relación que satisfacen una condición de selección.

El operador seleccionar es unario; esto es, se aplica a una sólo a un relación. Por eso, no se  puede usar para seleccionar tuplas de más de una relación.

Proyectar

Selecciona ciertas columnas de la tabla y desecha las demás.

Si sólo nos interesan ciertos atributos de una relación proyectaremos la relación sobre esos atributos con la operación proyectar.

Operaciones de la teoría de conjuntos

Unión: El resultado de esta operación RS, es una relación que incluye todas las tuplas que están en R o en S o en ambas.

Las tuplas repetidas se eliminan.

Intersección: El resultado de esta operación, denotado por RS, es una relación que incluye las tuplas que están tanto en R como es S.

Diferencia: El resultado de esta operación, denotado por R-S, es una relación que incluye todas las tuplas que están en R pero no en S.

Cabe señalar que tanto UNIÓN como INTERSECCIÓN son operaciones conmutativas; es decir, RS = SR, y RS = SR

Ambas operaciones pueden aplicarse a cualquier número de relaciones, y las dos son operaciones asociativas; esto es, R(ST) = (RS)T y (RS)T = R(ST)

La operación diferencia no es conmutativa; es decir en general, R – S <> S – R

Producto cartesiano

Denotado por X, es una operación binaria de conjuntos, pero las relaciones a las que se aplica no tienen que ser compatibles con la unión; esta operación, conocida también como producto cruzado ó unión cruzada, sirve para combinar tuplas de dos relaciones para poder identificar las tuplas relacionadas entre sí.

La operación reunión

Sirve para combinar tuplas relacionadas de dos relaciones en una sola tupla.

Esta operación es muy importante en cualquier base de datos relacional que comprenda más de una relación, porque permite procesar los vínculos entre las relaciones.

4.9 Creación y manipulación de vistas

Vistas

La utilización de consultas en bases de datos persigue dos objetivos:

  • La obtención de resultados sobre los datos almacenados. Es lo que hemos visto hasta ahora.
  • La generación de vistas.

Las vistas son consultas de selección que se utilizan como si se tratara de tablas. De forma transparente al usuario, las vistas muestran el contenido de una tabla con un formato, orden y contenido adecuado a las necesidades del usuario.

Por ejemplo, si no queremos que un usuario tenga acceso a los datos DNI de la tabla de alumnos, podemos crear una consulta que proporcione todos los datos (excepto el DNI) de todos los alumnos, y presentarle la consulta como si fuera la propia tabla. De la misma forma, podemos ocultarle la existencia de determinados alumnos, etc.

Existe una limitación: determinadas operaciones no se permiten sobre determinadas consultas empleadas como vistas. Esta limitación está impuesta por la posibilidad o imposibilidad de que Access inserte de forma automáticamente los valores a los que lo se tiene acceso mediante la vista.

Los siguientes tipos de consultas pueden funcionar como vistas:

  • Consultas de selección simple, con o sin condición WHERE, que añadan o filtren campos, con cualquier tipo de orden.
  • Consultas de unión utilizando INNER JOIN.

Los siguientes tipos de consultas no pueden funcionar como vistas debido a la imposibilidad de reconocer la ubicación de los datos en la tabla original a partir de los de la vista:

  • Consultas de unión basadas en producto cartesiano (y filtrado con WHERE) que no utilizan INNER JOIN.
  • Consultas con funciones de agregado (utilizando GROUP BY).
  • Consultas de concatenación de tablas.
  • Consultas que no sean de selección: inserción, borrado, modificación, definición de datos, etc.

Las ventajas fundamentales que conlleva la utilización de vistas son las siguientes:

  • Privacidad y seguridad: no todos los usuarios pueden ver o conocer la totalidad del esquema relacional.
  • Permiten limitar las posibles operaciones (consultas) que se puedan realizar sobre los datos.
  • Simplificación del interfaz con el usuario.
  • Permiten denominar a una operación compleja con un nombre simple y expresivo bajo el cual pueda ser invocada más fácilmente.
  • Favorece la independencia lógica de los datos. Se puede variar la estructura de la base de datos sin necesidad de efectuar cambios profundos en los programas, sino tan solo en las vistas.

Las vistas se definen mediante la sentencia CREATE VIEW de la siguiente manera:

CREATE VIEW nombre_vista AS expresión_de_consulta;

Las vistas se eliminan (tan solo su definición, no las tablas sobre las que se construye) mediante la sentencia DROP VIEW:

DROP VIEW nombre_vista;

La salida de una vista consiste en tantas columnas o atributos como se generen en la expresión de consulta. A estas columnas de salida puede accederse en su totalidad o solo en parte, ordenadamente, etc, igual que con una sentencia SELECT normal. De manera opcional los nombres de las columnas de salida pueden indicarse explícitamente durante la creación de la vista:

CREATE VIEW nombre_vista(nombre_columna_1, nombre_columna_2, …) AS expresión de consulta;

Se pueden definir vistas utilizando otras vistas simplemente citándolas en la expresión de consulta. Puede darse asín un fenómeno de dependencia de vistas, esta dependencia no debe ser recursiva: una vista no debe transitivamente llegar a depender o definirse en términos de sí misma.

Un usuario puede otorgar permisos de consulta a otros usuarios sobre las vistas que hubiera creado.

Ejemplos:

1.- Seleccionar

Seleccionar Cta=3(NUMCTA)

Seleccionar Nombre>18(CLIENTE)

 

2.-Proyectar

PROYECTAR NumCliente,Importe,IVA(CLIENTE)

 

  1. Consulta

SELECT*FROM Facturas WHERE (Num >100) ORDER BY NIF;

 

4.- Vista

CREATE VIEW nombre_depto AS_ consulta

 

5- CREATE TABLE Orden (numORDEN(4) PRIMARY KEY

     Orden NUMBER (4)

INSERT INTO Costounitario VALUE (7,21,7,0);

INSERT INTO Costounitario VALUE (6,24,12,0);

INSERT INTO Costounitario VALUE (7,27,9,0);

CREATE VIEW TotalCostounitario(Porcentaje,grados_material)

AS SELECT Costounitario, COUNT(*) FROM material GROUP BY porcentaje;

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Unidad 2: Aplicación del proceso de minería de datos (Datamining)

 

Proceso de minería de datos

La minería de datos es un proceso de detectar la información de grandes conjuntos de datos, utiliza el análisis matemático para deducir patrones y tendencias, que existen en los datos. Estos patrones y tendencias se pueden recopilar y definir como un modelo de minería de datos y se pueden aplicar a escenarios, como:

  1. Pronósticos
  2. Riesgo y probabilidad
  3. Recomendaciones
  4. Búsqueda de secuencias
  5. Agrupación.

Le generación de un modelo de minería de datos, forma parte de un proceso mayor que incluye la formulación de preguntas acerca de datos y la creación de modelos para responderlas, hasta la implementación del modelo en un entorno de trabajo.

Este proceso se puede definir mediante los seis pasos siguientes:

  1. Definir el problema
  2. Preparar los datos
  3. Explorar los datos
  4. Generar modelos
  5. Explorar y validar modelos
  6. Implementar y actualizar modelos

El objetivo general del proceso de minería de datos consiste en extraer información de un conjunto de datos y transformarla en una estructura comprensible para su uso posterior. Además de la etapa de análisis en bruto, que involucra aspectos de bases de datos, y de gestión de datos, de procesamiento de datos, del modelo y de las consideraciones de inferencia, de métricas de Intereses, de consideraciones de la Teoría de la complejidad computacional, de post-procesamiento de las estructuras descubiertas, de la visualización y de la actualización en línea.

Un proceso típico de minería de datos consta de los siguientes pasos generales:

  1. Selección del conjunto de datos, tanto en lo que se refiere a las variables objetivo (aquellas que se quiere predecir, calcular o inferir), como a las variables independientes (las que sirven para hacer el cálculo o proceso), como posiblemente al muestreo de los registros disponibles.
  1. Análisis de las propiedades de los datos, en especial los histogramas, diagramas de dispersión, presencia de valores atípicos y ausencia de datos (valores nulos).
  1. Transformación del conjunto de datos de entrada, se realizará de diversas formas en función del análisis previo, con el objetivo de prepararlo para aplicar la técnica de minería de datos que mejor se adapte a los datos y al problema, a este paso también se le conoce como pre-procesamiento de los datos.
  1. Seleccionar y aplicar la técnica de minería de datos, se construye el modelo predictivo, de clasificación o segmentación.
  1. Extracción de conocimiento, mediante una técnica de minería de datos, se obtiene un modelo de conocimiento, que representa patrones de comportamiento observados en los valores de las variables del problema o relaciones de asociación entre dichas variables. También pueden usarse varias técnicas a la vez para generar distintos modelos, aunque generalmente cada técnica obliga a un pre-procesado diferente de los datos.
  1. Interpretación y evaluación de datos, una vez obtenido el modelo, se debe proceder a su validación comprobando que las conclusiones que arroja son válidas y suficientemente satisfactorias. En el caso de haber obtenido varios modelos mediante el uso de distintas técnicas, se deben comparar los modelos en busca de aquel que se ajuste mejor al problema. Si ninguno de los modelos alcanza los resultados esperados, debe alterarse alguno de los pasos anteriores para generar nuevos modelos.

Un proyecto de minería de datos tiene varias fases necesarias que son:

  • Comprensión: del negocio y del problema que se quiere resolver.
  • Determinación, obtención y limpieza: de los datos necesarios.
  • Creación de modelos matemáticos.
  • Validación, comunicación: de los resultados obtenidos.
  • Integración: si procede, de los resultados en un sistema transaccional o similar.

La minería de datos produce 5 tipos de información:

  1. Asociaciones
  2. Secuencias
  3. Clasificaciones
  4. Agrupamientos
  5. Pronósticos

Proceso de KDD

La extracción de conocimiento esta principalmente relacionado con el proceso de descubrimiento conocido como Knowledge Discovery in Databases (KDD), que se refiere al proceso no-trivial de descubrir conocimiento e información potencialmente útil dentro de los datos contenidos en algún repositorio de información.

Consiste en usar métodos de minería de datos (algoritmos) para identificar (extraer) lo que se considera como conocimiento de acuerdo a la especificación de ciertos         parámetros usando una base de datos junto con pre-procesamiento, y post-procesamiento.

Fases del KDD

  • Integración y recopilación
  • Selección, limpieza y transformación
  • Minería de datos
  • Evaluación e interpretación
  • Difusión y uso
  1. Determinación de las fuentes de información
  2. Diseñar un esquema de almacenamiento de datos (Data warehouse)
  3. Implementación del almacén de datos que permita la navegación y visualización previa de sus datos.
  4. Selección, limpieza y transformación de los datos que se van analizar: la selección incluye tanto una división o fusión horizontal (filas),como vertical (atributos)
  5. Selección y aplicar el método de minería de datos apropiado; esto incluye la selección de la tarea de descubrimiento a realizar, por ejemplo: Clasificación, agrupación, clustering, regresión, etc.
  6. Evaluación, interpretación, transformación y representación de los patrones extraídos.
  7. Difusión y uso del nuevo conocimiento, incorporar el conocimiento descubierto al sistema, lo cual puede resolver conflictos existentes.

Algoritmo de minería de datos

Descripción: técnica para análisis preliminar de datos; describir un comportamiento en una base de datos compleja para aumentar el conocimiento y entendimiento sobre gente, producción, procesos, etc.

Predicción: existen dos tipos de predicciones, los cuales son: Clasificación, el cual es Inducir un modelo  para poder predecir una clase dados los valores de los atributos; Estimación o regresión, el cual consiste en inducir un modelo para poder predecir el valor de la clase dados los valores de los atributos.

Exploración: existen dos tipos de exploraciones, la dependencia la cual es crear una dependencia funcional es un patrón en el que se establece que uno o más atributos determinan el valor del otro, el cual puede utilizar redes bayesianas o casuales. Asociación, el cual detectan eventos que ocurren de manera simultánea, como por ejemplo reglas de asociación.

Segmentación: técnica de los datos en subgrupos o clases interesantes, se usan algoritmos de clustering, SOM, EM, K-means. Sirven  sobre todo para para buscar elementos afines dentro de un conjunto.

Algortimo de Naive Bayes: es un algoritmo que busca las correlaciones entre los atributos y pertenece a la clasificación de dependencias.

Herramientas de Software

Existen herramientas para la minería de datos, como desarrollo de los modelos, los cuales pueden ser libres o comerciales.

Ejemplo:

  • Knime
  • SPSS Clementine
  • SAS Enterprise Miner
  • RapidMiner
  • Weka
  • KXEN
  • Orange

TÉCNICAS DE MINERIA DE DATOS NO SUPERVISADAS

CLUSTERING

Un algoritmo de agrupamiento es un procedimiento de agrupación de una serie de vectores de acuerdo con un criterio. Esos criterios son por lo general distancia o similitud.

La medida más utilizada para medir la similitud entre los casos es las matriz de correlación entre los nxn casos. Sin embargo, también existen muchos algoritmos que se basan en la máximización de una propiedad estadística llamada verosimilitud.

Generalmente, los vectores de un mismo grupo (o clústers) comparten propiedades comunes. El conocimiento de los grupos puede permitir una descripción sintética de un conjunto de datos multidimensional complejo. De ahí su uso en minería de datos. Esta descripción sintética se consigue sustituyendo la descripción de todos los elementos de un grupo por la de un representante característico del mismo.

Se lo considera una técnica de aprendizaje no supervisado puesto que busca encontrar relaciones entre variables descriptivas pero no la que guardan con respecto a una variable objetivo.

Ejemplo sobre la facturación (vistas)

cluster clusr clusr2

ASOCIACION

Se utilizan para descubrir hechos que ocurren en común dentro de un determinado conjunto de datos.

Ejemplo de facturación sobre la asociación de atributos (vista)

asociacion

TECNICAS DE MINERIA DE DATOS SUPERVISADAS

CLASIFICACION

En la clasificación de datos se desarrolla una descripción o modelo para cada una de las clases presentes en la base de datos. Existen muchos métodos de clasificación tales como: Los árboles de decisión, los métodos estadísticos, las redes neuronales, y los conjuntos difusos, entre otros.

tec tec1

PREDICCION

El análisis de datos puede ser usado para extraer modelos que describen importantes clases de datos y predicen valores futuros.

La predicción puede ser vista como la construcción y uso de modelos para evaluar las clases de una muestra sin clasificaciones, o para evaluar el valor, o rango de valores, que un atributo debería de tener para una muestra determinada.

En el primer caso se dice que se está haciendo una clasificación de los datos, mientras que en el segundo, se dice que se está haciendo una predicción de valores, en otras palabras, la clasificación se refiere a predecir valores discretos o nominales, mientras que la predicción, propiamente dicha, se refiere al pronóstico de valores continuos.

pred predi

=================================================================================================

ACTIVIDADES  INTEGRADORAS EN HERRAMIENTAS DE ANÁLISIS Y MINERÍA DE DATOS

Unidad 1: Actividad Integradora

 

Base de datos:

La base de datos fue creada en base a la información que se tiene de una empresa, en consultoría de informática, correspondiente al ejercicio 2014, la cual está integrada por Gastos, Proveedores, Balanza contable y facturación.

La información de los gastos, proveedores, facturación es en base a la balanza integrada como dato analítico.

Sistema de Base de datos:

Se utilizó el Access por tener una facilidad de acceso al equipo de cómputo que se tiene, porque ya viene integrado, además que el Access puede importar y exportarse la base de datos a otros SGBD.

Comentarios:

Desde el punto de vista de usuario, puedo decir que la conversión de una base de datos, se puede iniciar desde el Excel, la cual las columnas y datos de las filas, son manejables para los campos y tablas de una base de datos, al exportarlos a otros SGBD; sin embargo como todo sistema que importa sus datos, puede o debe tener adecuaciones, para poder ser compatible, ya que en la creación de la facturación algunos datos no estaban convertidos y el Access, maneja una tabla de errores de la base de datos que se está utilizando.

BASEDATOS

Unidad 2: Aplicación del proceso de minería de datos (Datamining)

 

Ejemplo 1 Fraccionamientos en un banco de sangre

Base de datos exportada de Access a Excel

ACT1

Esta base de datos la tomamos y usaremos un programa para minería de datos, el cual en nuestro caso usaremos el WEKA (https://weka.wikispaces.com/), como referencia para el uso del WEKA, deberá convertirse nuestra base de datos a un archivo con extención .csv

WEKAACT2 ACT3

Gráfico de atributos

Clasificación (técnica supervisada)

ACT4

Árbol de clasificaciónACT14

ACT6

Clustering (técnica no supervisada)

ACT8

Asociación (técnica no supervisada)

act20

Predicción (técnica supervisada) en base a los gráficos sobre donadores

En el ejemplo 1

Se desarrolló sobre la base de datos exportando de Access a Excel mediante un archivo.csv, la información de acuerdo a las técnicas de minería de datos, exportando la información mediante el clustering, la clasificación, asociación y predicción… la última grafica puede verse donde están desarrollados, los atributos y sus tendencias de acuerdo a los datos mostrados.

Los atributos que muestra la base de datos nos permite manipular el software de acuerdo a los algoritmos que se observan y se puede determinar un árbol de decisión.

En general podemos decir que de los fraccionamientos sobre el volumen y las fechas de las muestras.

Ejemplo 2 Serologías

Exportación de la base de datos de Access a Excel

ACT10 ACT11 ACT12

Clustering ACT13

ACT14

ACT15

Clasificación

ACT16 Asociación

ACT19 Predicción

En el ejemplo 2 se exporto la base de datos a Access y de allí a Excel para poder convertirlo en un formato .csv y manipular la información con weka.

El análisis de las técnicas de minería de datos se hizo bajo las técnicas supervisadas y no supervisadas, donde en la clasificación nos da un algoritmo que nos permite tener un árbol de decisión, la última grafica muestra la predicción o tendencia escalonada de las serologías.

Es interesante saber la tendencia, ya que muestra las medidas de la serología y el escalonamiento de las tendencias.

Unidad 3: Implementación de herramientas de minerías de datos

Actividad  Integradora

 Ejemplo 1:

El siguiente ejemplo es de del proyecto financiero que llevo, el cual tenemos que analizar los gastos de venta, operación y financieros

Esta es la base de datos, la cual esta desglosado de los conceptos que integran el departamento de ventas, durante 5 años con el fin de analizar el departamento de ventas y tomar decisiones.

z1

De esta base de datos, se desprende las siguientes vistas mineables

z2

z3

El algotimo rules.ZeroR

z4 z5 z6

Aquí nos muestra la base de datos de nuestros conceptos que integran los gastos de venta donde nos muestra el Rate y área de nuestra Base de datos y las incidencias por concepto.

Cluster con algoritmo EM nos muestra una vista mineable

z7 z8

Donde nos muestra el mean y estándar de la muestra de la base de datos, y nos compra estas dos variables por años, dándonos la desviación estándar de cada año

z10

Para seleccionar atributos, con el algoritmo atributo nos muestra que 2010 y 2013 son las bases seleccionadas de cada atributo, y donde están distribuidos estos atributos.

Por ultimo podemos verla gráfica distribuida de nuestros años comparativos de 2010 a 2014

z12

Y en la muestra que tomamos por ejemplo 2011 vs 2014

Podemos ver que la distribución de datos está pegada en la línea o punto de equilibrio cercano a 0.

Ejemplo 2:

El siguiente ejemplo es el análisis de los gastos de operación de nuestro proyecto, el cual también es analizado de 2010 a 2014.

z20

Las gráficas de muestran la distribución de nuestros atributos los cuales son los gastos, y el año, donde hay una tendencia al 35 o 34 de atributos variables

z21

El algoritmo de classify

Nos muestra tomando en cuenta los gastos de operación y Rules.ZeroR

z22 z23 z24

z26

z27 Y la matriz de clases.

El cluster nos da los algoritmos de EM

z28 z29

Por último la muestra no nos permite dar asociaciones y ni selección de atributos, por lo que el análisis se basa en las gráficas. Muchas ocasiones algunas de nuestras ase de datos no pueden hacer este tipo de análisis, porque nuestra base o muestra no nos permiten.

z30

Por último, como en la muestra de gastos de venta, tomaremos el año 2011 vs 2014, y este es el resultado de la gráfica

z31

En esta gráfica podemos observar que la muestra está pegada nuevamente al punto de equilibrio 0, sin embargo vemos más puntos, porque hay más atributos en la muestra de base de datos.

Comentarios al curso

El curso de Herramientas de análisis y minería de datos, fue un proyecto muy interesante, el cual me dejo muchas experiencias nuevas, conocimientos, y sobre todo una herramienta más para el análisis y toma de decisiones.

El profesor José Orosco Nuñez, nos apoyó con los comentarios necesarios, y la orientación correcta, en la elección de las herramientas, en retroalimentar nuestro trabajo, y en mi caso particular, con apoyos para poder entender el programa Weka, y poderlo explotar un poco más.

Creo que es un excelente curso y materia la que da la Universidad de Guadalajara, que nos apoya en la carrera de tecnología de la información como un complemento de nuestra formación académica.

Sugerencias al curso

Como sugerencia al curso seria ideal que en la sección de recursos, nos ayudarán con mas material de consulta acerca de software de minería de datos, tutoriales (video o lecturas) para poder manipular las herramientas que nos recomiendan.

En cuanto a la unidad 1 sería bueno tener mas referencias para comprender las bases de datos, y sería bueno tener también tutoriales por parte de la universidad de estos temas.

En general es un buen curso y fue un gran apoyo el Profesor José Orosco y la Universidad de Guadalajara.

David Sánchez Nolasco

Matricula: 213239517

Grupo: 73228

Estándar