Saltar al contenido principal
LibreTexts Español

10.2: Bases de datos

  • Page ID
    154321
    • Anonymous
    • LibreTexts

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Objetivos de aprendizaje

    • Determinar qué tablas y campos de una base de datos son necesarios para completar una consulta
    • Explicar cómo se capturan los datos en nuestra tienda de aplicaciones de clase
    • Explicar cómo se pueden utilizar los datos de la tienda de aplicaciones Class para la inteligencia de negocios

    Introducción

    En todas las formas de BI descritas anteriormente, en realidad se deben almacenar datos para analizarlos. Las organizaciones almacenan sus datos en bases de datos conectadas a sus sistemas de producción. Aquí hay algunos ejemplos:

    • Los sistemas de transacciones bancarias almacenan datos en bases de datos que contienen información sobre clientes, cuentas y transacciones contra esas cuentas.
    • Los sistemas de inscripción universitaria almacenan datos en bases de datos que contienen información sobre estudiantes, profesores, cursos e inscripciones en esos cursos.
    • Los sistemas de facturación de teléfonos celulares almacenan datos en bases de datos que contienen información sobre clientes, planes de tarifas y llamadas realizadas.
    • Los sistemas de facturación con tarjeta de crédito almacenan datos en bases de datos que contienen información sobre clientes, planes de crédito y artículos cargados.
    • Los sistemas de pago de supermercado almacenan datos en bases de datos que contienen información sobre clientes, productos y hábitos de compra de sus clientes. La tarjeta de fidelidad que has deslizado en la caja vincula todas tus compras a tu nombre.

    ¿Cómo se ven realmente estas bases de datos? Consisten en tablas de datos que se relacionan entre sí. Esto se llama una base de datos relacional. Cada tabla debe tener un identificador único que se denomina clave primaria. La base de datos está organizada en tablas padre e hijo para evitar duplicar datos. Los datos comunes a cada hijo se almacenan en la tabla padre. Diagramáticamente una tabla padre apunta a sus tablas secundarias. Cada registro padre puede tener cero o más registros secundarios. Para vincular lógicamente las tablas, simplemente repita la clave primaria como una clave externa en cada registro correspondiente de la tabla secundaria. Para obtener información dentro y fuera de una base de datos relacional se requiere un sistema de administración de bases de datos relacionales (RDBMS) como Microsoft Access. El objetivo del sistema es facilitar las transacciones mientras se protege la integridad de los datos.

    La teoría detrás del diseño de bases de datos es una de las áreas más elegantes en todos los sistemas de información. Si continúas en los sistemas de información, lo verás en detalle. Sin embargo, para nuestros fines todo lo que necesitamos saber es que los datos suelen almacenarse en múltiples archivos aunque el informe que obtenemos esté contenido en un solo archivo. ¿Por qué? La respuesta simple es que queremos evitar datos duplicados almacenando información común a cada hijo en la tabla padre. ¿Por qué nos importa? Porque los datos duplicados abren la posibilidad de que uno de los duplicados sea diferente de manera importante. Por ejemplo, no querrías que tu saldo bancario fuera a veces un número, a veces otro dependiendo de qué registro pasa a ser llamado por la base de datos.

    Los datos de la tienda Class App se almacenan en una base de datos relacional que consta de dos tablas: una tabla APP y una tabla SALES. La clave principal de la tabla APP es Nombre de la aplicación. La clave principal de la tabla SALES es la combinación de Timestamp y Nombre de la aplicación. El nombre de la aplicación en la tabla de VENTAS también es una clave externa que vincula cada venta con su App correspondiente.

    Arquitectura de la Clase App Store

    La tienda Class App creada para este curso tiene en su corazón una base de datos sencilla. Sin embargo, esa base de datos soporta algunas funcionalidades bastante sofisticadas. La belleza de la tienda Class App es que se creó casi en su totalidad sin escribir código, mediante el uso de Google Sites y Google Docs.

    La base de datos consta de dos tablas: una tabla de aplicaciones y una tabla de ventas. La tabla de aplicaciones captura la información de registro sobre cada aplicación. La tabla de ventas captura la información de ventas, quién compró qué y cuándo.

    Conceptualmente las tablas están vinculadas por lo que se llama una relación uno a muchos. Una app tiene muchas ventas. Cada base de datos tiene de uno a muchos enlaces de este tipo. Las relaciones están formadas por la clave primaria a la correspondencia de clave externa.

    Una vez establecida la arquitectura, el siguiente paso es obtener datos dentro y fuera de la base de datos. Los datos se ingresan en una base de datos mediante formularios. Para la tabla de aplicaciones, utilice el formulario Registrar aplicación. Para la tabla Ventas, utilice el formulario Aplicación de compra.

    Los datos se extraen de la base de datos mediante reportes. El listado de aplicaciones en la página de inicio de Class App store es un informe.

    Cuando los reportes involucran datos resumidos, los caracterizaríamos como información significativa. Por ejemplo, enumerar las aplicaciones más vendidas y las aplicaciones mejor calificadas califica como información. La cantidad de aplicaciones compradas por cada estudiante también es información; revela cuántos estudiantes han completado la tarea.

    Y hay una variedad de reportes que pueden salir incluso de una base de datos simple como esta. Por ejemplo, un informe podría enumerar las aplicaciones más vendidas para hombres que son estudiantes de primer año. Uno puede ser bastante específico en cuanto a la información extraída para su análisis.

    Arquitectura de la tienda de aplicaciones Class. Incluso esta sencilla base de datos requiere de dos formularios y cuatro informes.

    Agrupar y resumir datos

    Analizaremos los datos de ventas de nuestra propia tienda de aplicaciones para encontrar tendencias en los patrones de compra para la clase. Destilar esos datos y encontrar patrones significativos es una forma de inteligencia de negocios.

    Los conceptos importantes aquí son agrupar y resumir datos, y luego ordenar y comparar grupos. Por ejemplo, mostrando una lista de las aplicaciones más vendidas. Crear esta lista requiere contar las ventas totales para cada aplicación y luego enumerar esos totales en orden descendente.

    Para ello en tiempo real se requiere enviar una consulta a la tienda normalmente escrita en un lenguaje llamado Lenguaje de Consulta Estructurado (SQL). Así es como pudimos conseguir que la tienda mostrara tablas de las aplicaciones más vendidas y mejor calificadas. La consulta se ve similar a esta:

    seleccionar App, contar (Timestamp)

    agrupar por App

    ordenar por conteo (Timestamp) desc, App asc

    Traducción: seleccione el nombre de la aplicación y cuente el número de registros (timestamps) para esa aplicación. Producir un subtotal (agrupar por) para cada nombre de App. Después ordene los subtotales en orden descendente. Si dos aplicaciones tienen el mismo subtotal, entonces ordenarlas alfabéticamente.

    Sin embargo, SQL está más allá del alcance de este curso. Lo que está dentro del alcance del curso es descargar y analizar los datos en una hoja de cálculo. Los datos de la base de datos se pueden descargar y luego analizar usando tablas dinámicas de Excel. Una tabla dinámica es una herramienta de consulta visual que le permite responder preguntas sofisticadas sin escribir ningún código SQL.

    Los datos se ordenan por marca de tiempo arriba a la izquierda y por app arriba a la derecha. Sin embargo, ninguna clasificación produce información útil. A la izquierda descargamos y luego agrupamos, resumimos y ordenamos los datos por ventas en orden descendente para revelar las aplicaciones más vendidas. Esta es una información significativa. “Recuento de correo electrónico” significa que estamos contando el número de direcciones de correo electrónico registradas para cada aplicación. Contamos los correos electrónicos ya que son únicos mientras que los nombres pueden no serlo. Este análisis se realiza utilizando una tabla pivotante de Excel sobre los datos descargados.

    Bases de Datos Multi-Tabla

    El problema con las bases de datos de una tabla es que nos limitamos a consultar los datos que pasan a estar en esa tabla. Por ejemplo, no hay forma de ver qué desarrolladores compraron sus propias aplicaciones. Los datos de ventas aquí muestran solo al comprador, no al vendedor. Los datos del vendedor se almacenan en una tabla diferente. Lo que necesitamos es una manera de unir información entre las dos tablas. Si bien unir información entre tablas es posible hacerlo con una hoja de cálculo (usando la operación Vlookup), es bastante difícil y es propenso a errores. La mejor manera de lograr una unión es usar un sistema de base de datos como Microsoft Access.

    La magia de los sistemas de bases de datos es que son capaces de hacer que los datos que viven en tablas separadas parezcan residir en la misma tabla. Una vez que los datos parecen residir en una sola tabla, entonces todas las técnicas de consulta que se aplican a las bases de datos de una tabla se convierten en herramientas de análisis.

    La tabla APP anterior y la tabla de VENTAS a continuación. Una base de datos relacional es capaz de integrar información entre las dos tablas.

    Data Warehouse

    Al igual que con muchas materias del curso, es más complicado que eso. Sería relativamente raro extraer datos de inteligencia de negocios de una base de datos en vivo. El drenaje del sistema podría ralentizar todo el negocio y, por lo tanto, frustrar a los clientes. En cambio, las corporaciones suelen copiar datos de sus bases de datos en un repositorio llamado almacén de datos. El almacén puede entonces ser consultado repetidamente sin afectar el sistema de producción.

    Periódicamente, quizás una vez al día, los datos se copian de las muchas bases de datos de la compañía a una base de datos muy grande llamada data warehouse. El proceso de copiar los datos se llama extraer, transformar y cargar (ETL).

    • Extraer — Copia datos de uno o más sistemas de bases de datos.
    • Transformar — Limpia los datos para que los registros relacionados en diferentes bases de datos aparezcan en un formato consistente.
    • Cargar — Inserta los datos limpios en el almacén de datos.

    ¿Por qué meterse en todo este lío? Una de las principales razones es que analizar los datos sobre el sistema de producción lo ralentizaría considerablemente, lo que llevaría a un mal servicio al cliente. Otra razón para copiar los datos es para que múltiples bases de datos puedan fusionarse en un solo almacén de datos.

    Es el almacén de datos el que se analiza para producir reportes de gestión.

    Tenga en cuenta el papel del almacén de datos como el repositorio central de todos los datos de inteligencia de negocios.

    La latencia es la cantidad de tiempo entre la ocurrencia de una transacción y la carga de la información de esa transacción en el sistema de inteligencia de negocios. En otras palabras, es la cantidad de tiempo que pasa antes de que un gerente tenga un reporte destilado en la mano analizando la operación. Algunos peseadores se contentan con recibir una actualización mensual, otros necesitan actualizaciones diarias o incluso cada hora. Depende de la naturaleza del trabajo. Irónicamente, los gerentes de nivel inferior tienden a necesitar más datos al minuto. Esto se debe a que controlan los sistemas en tiempo real. Los gerentes de nivel superior, por el contrario, tienden a enfocarse en el panorama general en un horizonte temporal más amplio.

    Claves para llevar

    • Varias bases de datos corporativas ingresan a un almacén de datos grande que se utiliza para consultar los datos.
    • El mayor pecado en el diseño de bases de datos es permitir datos duplicados. Los datos duplicados tienen el potencial de volverse inconsistentes, a veces un valor, a veces otro.
    • Cuanto más alto esté un gerente en la organización, menos detalle necesita ver en los datos. De hecho, el detalle sólo se vuelve importante para un directivo superior cuando es necesario para explicar una tendencia inesperada.

    Preguntas y ejercicios

    1. El paso de transformación en el proceso ETL puede ser bastante complicado. Investiga y encuentra un ejemplo de datos que necesitan ser limpiados.
    2. Explicar por qué bases de datos más allá de una tabla requieren relaciones entre las tablas.

    Técnicas

    Las siguientes técnicas, que se encuentran en la sección Excel de la referencia de software, pueden ser útiles para completar las asignaciones para este capítulo: Tabla dinámica

    Asignación L1: Análisis de datos de ventas

    ¿Cómo incrementas las ventas de tu app en la tienda? Para poder responder a esa pregunta necesitas examinar tu posición competitiva en la tienda. Su posición competitiva se define por comparaciones con otras aplicaciones que se venden en la misma categoría. Entonces, si diseñaste una aplicación de música, entonces deberías compararla con otras aplicaciones de música. Hay una serie de dimensiones a lo largo de las cuales puede examinar su posición competitiva: participación de mercado, visitantes únicos, tasa de conversión, ventas personales o venta cruzada.

    Configuración

    Para completar esta tarea, necesitarás dos archivos de tu profesor. El primero es el archivo de ventas de la tienda de clase. El segundo es el informe de desglose de contenido de Google Analytics. Después crea una nueva hoja de cálculo Excel en blanco con los encabezados de columna que se muestran en el ejemplo. Necesitas incluir una fila por cada app que se venda en tu categoría. Entonces, si tu categoría es música y hay diez aplicaciones de música en la tienda, entonces necesitas tener diez filas incluyendo las tuyas propias. Tu fila debe estar en negrilla.

    Contenido y estilo

    Numere y responda todas las siguientes preguntas en el espacio debajo de su hoja de cálculo. (Utilice celdas de combinación y ajuste de texto para asegurarse de que sus respuestas no excedan el ancho de su hoja de cálculo.

    • Cuota de mercado: De todas las ventas de tu categoría, ¿qué porcentaje tiene en cuenta tu app? ¿Cómo se compara eso con la competencia?
    • Visitantes únicos: ¿Cuántos visitantes únicos llegaron a tu página en la tienda? ¿Cómo se compara eso con la competencia? ¿Qué podrías hacer para fomentar más visitas?
    • Tasa de conversión: De todos los visitantes a tu página, ¿qué porcentaje compró realmente tu app? A esto se le llama la tasa de conversión. ¿Cómo se compara tu tasa de conversión con la competencia? ¿Qué podrías hacer para mejorar tu tasa de conversión?
    • Ventas personales: Los registros de ventas revelan quién compró tu app. Algunas de esas ventas pueden ser el resultado de que usted promocione personalmente la aplicación a otros en la clase. ¿Qué porcentaje de tus ventas son el resultado de ventas personales? ¿Cuántas personas intentaste vender que no compraron tu app? ¿Cuál es tu tasa de cierre?
    • Venta cruzada: De las personas que compraron tu app, ¿qué otras apps compraron? ¿Qué apps se venden bien con tu app? Quizás podrías promocionar tu app en esas páginas y viceversa. Para encontrar esta respuesta, debe importar la tabla de ventas a Microsoft Access y luego ejecutar las dos consultas que se enumeran a continuación. Vale la pena; la salida es realmente interesante.

    Entregables

    Envío electrónico: Enviar el archivo Excel electrónicamente

    Envío de papel: Por favor, imprima el archivo de Excel en vista horizontal usando fit to page.

    Cómo encontrar la información de venta cruzada

    Comience importando los datos de ventas a una base de datos en blanco en MS Access. En la pestaña Datos externos, seleccione Excel y siga las indicaciones de la pantalla. La hoja de trabajo debe venir como la tabla RawData o como sea el nombre que su profesor la llame.

    Ahora va a crear dos consultas para ejecutar contra la tabla. La primera consulta, PurchasedTogether, crea una nueva fila para cada combinación comprada por un cliente. Por ejemplo, (WickedCrazyApp, CoolMusicApp), (BogusFlowerApp, IntenseAwesomeApp) y así sucesivamente. La lógica de esta consulta es encontrar todos los registros de ambas tablas donde coinciden los correos electrónicos pero las aplicaciones compradas no. Para crear esta consulta ve a Crear > Diseño de consultas y agrega la tabla RawData dos veces en el proceso de diseño de consultas. La segunda versión de la tabla se llama RawData_1. Arrastre un conector de un campo de correo electrónico a otro para unir los campos Email de ambas tablas. (El ejemplo mostrado se simplifica, mostrando solo dos campos.) Rellene la cuadrícula en la parte inferior para que coincida con el ejemplo. Ejecute la consulta haciendo clic en el signo de exclamación rojo.

    La segunda consulta, PurchasedTogetherTotales, cuenta cuántas veces aparece cada combinación. La lógica de esta consulta es contar combinaciones sin importar quién las compró. Hemos limitado aún más los resultados a esos recuentos mayores a 4, pero puedes cambiar este número según sea necesario. Para crear esta consulta debes agregar la consulta PurchasedTogether en el proceso de diseño de consultas. En otras palabras, ¡estás haciendo una consulta de una consulta! Agregue la fila Total a la cuadrícula haciendo clic en la σ, luego complete el resto de la cuadrícula como se muestra. ¡Ejecuta la consulta y tienes tus datos de venta cruzada!

    PurchasedTogether crea una nueva fila para cada combinación comprada por un cliente. PurchasedTogetherTotales cuenta cuántas veces aparece cada combinación sin importar quién la compró.


    This page titled 10.2: Bases de datos is shared under a CC BY-NC-SA 3.0 license and was authored, remixed, and/or curated by Anonymous via source content that was edited to the style and standards of the LibreTexts platform.