Crear un Modelo: Erwin Data Modeler – Teradata
Creando un modelo en Erwin Data Modeler con base de datos Teradata
En este artículo vamos a recorrer paso a paso cómo crear un modelo en Erwin Data Modeler utilizando como motor de base de datos Teradata. Tomaremos como ejemplo un conjunto de entidades comunes en un escenario de negocio:
- Cliente
- Factura
- Producto
- Categoría
- Usuario
- RolUsuario
- Factura_Producto (en el modelo físico, para manejar la relación de muchos a muchos entre Factura y Producto).
1. Preparando el entorno
Antes de empezar:
- Verifica que tienes instalado Erwin Data Modeler con el driver de Teradata configurado.
- Crea un nuevo modelo lógico/físico (LDM/PDM) seleccionando Teradata como base de datos objetivo.
2. Diseño del modelo lógico
En el nivel lógico, identificamos las entidades principales y sus atributos:
Entidad Cliente
- IdCliente (PK)
- Nombre
- Apellido
- Direccion
- Teléfono
- DNI
Entidad Factura
- IdFactura (PK)
- Cif
- Fecha
- RazonSocial
- Direccion
- MontoTotal
- IdCliente (FK)
Entidad Producto
- IdProducto (PK)
- Producto
- PrecioCompra
- PrecioVenta
- Stock
- IdCategoria (FK)
Entidad Categoría
- IdCategoria (PK)
- Categoria
- Descripcion
Entidad Usuario
- IdUsuario (PK)
- Usuario
- Password
- Estado
- IdRol (FK)
Entidad RolUsuario
- IdRol (PK)
- Rol
Nota: Relación Factura – Producto contiene una relacion muchos a muchos (una factura puede contener varios productos y un producto puede estar en varias facturas).
3. Normalizando las relaciones
Para manejar las relaciones de muchos a muchos, se crean tablas intermedias en el modelo físico:
- Factura_Producto
- IdFactura (FK)
- IdProducto (FK)
- Cantidad
4. Generación del modelo físico en Teradata
En el modelo físico, definimos los tipos de datos según Teradata. Por ejemplo:
INTEGERpara claves primarias.VARCHAR(100)para nombres y correos.DECIMAL(10,2)para montos y precios.DATEpara fechas.
Video Tutorial:
5. Validaciones finales
Antes de exportar el modelo a Teradata:
- Verifica consistencia de nombres.
- Revisa que todas las relaciones tengan sus llaves correctamente asignadas.
- Comprueba que los tipos de datos sean compatibles con Teradata.
- Documenta cada entidad y columna para facilitar el mantenimiento.
6. Exportando a Teradata
Una vez terminado el modelo físico, Erwin permite generar el DDL de Teradata:
- Ve a Forward Engineer > Generate Database Script.
- Selecciona Teradata como destino.
- Elige las tablas y relaciones que quieras generar.
- Exporta el script y ejecútalo en tu base de datos Teradata.
Ejemplo de definición en el DDL para Teradata:
CREATE TABLE MiBaseDatos.Cliente (
IdCliente INTEGER NOT NULL,
Nombre VARCHAR(100),
Apellido VARCHAR(100),
Direccion VARCHAR(100),
Telefono VARCHAR(20),
Dni VARCHAR(20),
PRIMARY KEY (IdCliente)
);
CREATE TABLE MiBaseDatos.Factura (
IdFactura INTEGER NOT NULL,
Cif VARCHAR(20),
Fecha DATE,
MontoTotal DECIMAL(10,2),
RazonSocial VARCHAR(20),
IdCliente INTEGER,
PRIMARY KEY (IdFactura),
FOREIGN KEY (IdCliente) REFERENCES Cliente(IdCliente)
);
CREATE TABLE MiBaseDatos.Producto (
IdProducto INTEGER NOT NULL,
Producto VARCHAR(100),
PrecioCompra DECIMAL(10,2),
PrecioVenta DECIMAL(10,2),
Stock VARCHAR(100),
IdCategoria INTEGER,
PRIMARY KEY (IdProducto),
FOREIGN KEY (IdCategoria) REFERENCES Categoria(IdCategoria)
);
CREATE TABLE MiBaseDatos.Categoria (
IdCategoria INTEGER NOT NULL,
Categoria VARCHAR(100),
Descripcion VARCHAR(100),
PRIMARY KEY (IdCategoria)
);
-- Nota: Esta tabla tambien se puede llamar Detalle_Pedido
CREATE TABLE MiBaseDatos.Factura_Producto (
IdFactura INTEGER,
IdProducto INTEGER,
Cantidad INTEGER,
PRIMARY KEY (IdFactura, IdProducto),
FOREIGN KEY (IdFactura) REFERENCES Factura(IdFactura),
FOREIGN KEY (IdProducto) REFERENCES Producto(IdProducto)
);
CREATE TABLE MiBaseDatos.Usuario (
IdUsuario INTEGER NOT NULL,
NombreUsuario VARCHAR(50),
Contrasena VARCHAR(100),
Email VARCHAR(100),
PRIMARY KEY (IdUsuario)
);
CREATE TABLE MiBaseDatos.RolUsuario (
IdRol INTEGER NOT NULL,
Rol VARCHAR(50),
PRIMARY KEY (IdRol)
);Conclusión
Crear un modelo de datos en Erwin Data Modeler para Teradata no solo ayuda a organizar la información, sino que también asegura consistencia, escalabilidad y documentación clara. Con este modelo, puedes gestionar clientes, facturas, productos, categorías y usuarios de manera eficiente, y tener un diseño listo para producción en Teradata.
Nota: en este caso se utilizo como base de datos Teradata, pero usando la misma metodoloía se puede hacer lo mismo para llevarlo a SqlServer, Oracle o el motor de bases de datos de su preferencia.