✅ Sesión 4 — Vistas, procedimientos almacenados, funciones y Trigger

Beginner to Expert Data Engineer
5 min readMar 25, 2024

--

Hemos llegado a la etapa donde la practica se dirige a entender y poner en practica los conceptos: DML y DDL. Ambos son son acrónimos comunes en el ámbito de las bases de datos relacionales y se refieren a tipos específicos de comandos que se utilizan para manipular y administrar datos y esquemas de bases de datos. Aquí está la diferencia entre ellos:

DML (Data Manipulation Language):

  • DML se refiere al conjunto de comandos utilizados para manipular datos en una base de datos.
  • Los comandos DML se utilizan para realizar operaciones como insertar, actualizar, eliminar y recuperar datos en las tablas de la base de datos.
  • Algunos ejemplos de comandos DML comunes son INSERT, UPDATE, DELETE y SELECT.

DDL (Data Definition Language):

  • DDL se refiere al conjunto de comandos utilizados para definir, modificar y eliminar estructuras de base de datos y objetos relacionados.
  • Los comandos DDL se utilizan para crear y administrar la estructura de la base de datos, como crear tablas, definir restricciones, modificar la estructura de las tablas, etc.
  • Algunos ejemplos de comandos DDL comunes son CREATE, ALTER y DROP.

En resumen, DML se utiliza para manipular los datos dentro de la base de datos (como agregar, actualizar o eliminar filas), mientras que DDL se utiliza para definir la estructura de la base de datos (como crear, modificar o eliminar tablas y otros objetos).

Existe bastante material en la Red para entender los conceptos de INSERT, UPDATE, DELETE y SELECT. O de CREATE, ALTER y DROP. no me adentrare en detalles así que dejo la el link a una página que me ayudo a entender un poco mas de la teoría vista:

Tarea #3

El enunciado

Parte 1 del enunciado
Parte 2 del enunciado

Desarrollo

Con este en mente nuestra primer tarea es entender como se relacionan las tablas, en mi caso parto de la tabla de hechos y de allí comienzo a armar mi Esquema ER copo de Nieve. Vámonos a la teoría:

El modelo de datos de copo de nieve es una variación del modelo de datos entidad-relación (ER) en el que se normalizan las dimensiones adicionales en un esquema de estrella típico. Por acá te dejo en un poco mas de detalle Modelado de Bases de Datos (OLAP)

  • Modelo de Estrella: En el modelo de estrella, los datos se organizan en una tabla de hechos central rodeada por múltiples tablas de dimensiones. Esta estructura es simple y fácil de entender, pero puede llevar a redundancias de datos y almacenamiento ineficiente, especialmente cuando las dimensiones contienen atributos jerárquicos.
  • Modelo de Copo de Nieve: En el modelo de copo de nieve, las tablas de dimensiones se normalizan adicionalmente, dividiendo los atributos jerárquicos en subtablas separadas. Esto reduce la redundancia de datos y mejora la eficiencia del almacenamiento, ya que los datos se normalizan aún más. La normalización se realiza para evitar la duplicación de datos y mejorar el rendimiento de consulta en presencia de dimensiones con atributos jerárquicos.

Ventajas Modelo de Copo de Nieve

  • Menor redundancia de datos: Al normalizar las tablas de dimensiones, se evita la repetición innecesaria de datos.
  • Mayor eficiencia de almacenamiento: Al reducir la redundancia, se ahorra espacio de almacenamiento.
  • Mejor rendimiento de consulta: Las consultas pueden ser más eficientes debido a la estructura normalizada y la reducción de la duplicación de datos.

Desventajas Modelo de Copo de Nieve

  • Mayor complejidad: El modelo de copo de nieve puede ser más complejo de entender y mantener debido a la presencia de más tablas y relaciones.
  • Rendimiento potencialmente afectado: Si se realizan muchas operaciones de unión, especialmente en tablas normalizadas, puede haber un impacto en el rendimiento de las consultas.

En resumen, el modelo de copo de nieve es una extensión del modelo de estrella que busca minimizar la redundancia y mejorar la eficiencia del almacenamiento mediante la normalización adicional de las tablas de dimensiones.

ER Copo de Nieve

En el ER de la imagen anterior se trabajo con una tabla de hechos Ventas y las restantes a su alrededor con relación entre ellas como tablas de dimensiones, la tabla auditoria se mantiene allí por temas de llevar el respaldo de los saldos del cliente, no tiene relación con ninguna porque consideramos es parte de la seguridad, aunque si pertenece a la misma base de Datos. Veamos un poco mas de detalle:

Tabla de Hechos:

  • Similar al modelo de estrella, la tabla de hechos en un modelo ER copo de nieve contiene las métricas o medidas numéricas que se están analizando.
  • Estas métricas suelen ser cantidades numéricas como ventas, ingresos, cantidad de productos vendidos, etc.
  • Al igual que en el modelo de estrella, las tablas de hechos tienen claves foráneas que se conectan con las tablas de dimensiones para proporcionar contexto a las medidas numéricas.

Tablas de Dimensiones:

  • Las tablas de dimensiones en un modelo ER copo de nieve contienen atributos contextuales que proporcionan detalles sobre los datos en la tabla de hechos.
  • A diferencia del modelo de estrella, en un modelo ER copo de nieve, las tablas de dimensiones pueden estar normalizadas, lo que significa que se dividen en varias tablas más pequeñas.
  • Por ejemplo, una dimensión como “Cliente” puede tener atributos como nombre, dirección, ciudad, estado, país, etc. En un modelo de estrella, estos atributos pueden estar en una sola tabla de dimensiones, pero en un modelo ER copo de nieve, podrían estar divididos en tablas separadas como Cliente, Dirección, Ciudad, Estado, País, etc.

Lo siguiente seria generar el script con las líneas DDL y DML para generar las tablas y los SP y trigger que permiten la carga de la información en la BD.

Este es el paso a paso

--

--