Buenas prácticas de nombramiento en JavaScript y bases de datos
Clase 30 de 36 • Curso de NestJS: Persistencia de Datos con TypeORM
Contenido del curso
- 3
Instalación de Docker en Windows, macOS y Ubuntu
01:35 - 4

Configuración de Postgres en Docker Compose
09:18 - 5

Conexión a Postgres en Docker: Terminal y PgAdmin
15:16 - 6

Conexión de NestJS a Postgres con Node Postgres
07:28 - 7

Inyección de Dependencias en NETJS: Conexión a PostgreSQL
10:49 - 8

Conexión a Bases de Datos con Variables de Entorno en Node.js
13:49
- 9

Implementación de TypeORM con NestJS en Proyectos Node.js
09:14 - 10

Creación de Entidades en ORM para Tiendas Virtuales
07:46 - 11

Implementación del Patrón Repository en NestJS con TypeORM
13:31 - 12

Operaciones CRUD en ProductService usando TypeORM y Postgres
13:35 - 13

Cambio de Postgres a MySQL en Docker para CRUD de Productos
17:28
- 18

Relaciones 1 a 1 en Bases de Datos con TimeORM
18:58 - 19

Manipulación de Relaciones Uno a Uno en Controladores y Servicios
10:28 - 20

Relaciones Uno a Muchos en Bases de Datos con TypeORM
10:36 - 21

Gestión de Relaciones Uno a Muchos en Controladores de API
10:27 - 22

Relaciones Muchos a Muchos en Time1M: Creación y Manejo Práctico
08:38 - 23

Manipulación de Relaciones Muchos a Muchos en Controladores
15:08 - 24

Manipulación de Relaciones Muchos a Muchos con TimeORM en JavaScript
19:09 - 25

Relaciones Muchos a Muchos con Campos Agregados en TimeWareM
16:41 - 26

CRUD de órdenes de compra y gestión de ítems en NestJS
30:07
- 27

Paginación de Productos con Limit y Offset en Controladores API
10:37 - 28

Filtrado de Precios con Rango Usando Between en Time Wareham
10:17 - 29

Indexación de Parámetros en Bases de Datos: Uso y Precauciones
02:56 - 30

Buenas prácticas de nombramiento en JavaScript y bases de datos
17:52 - 31

Serialización y Transformación de Datos en APIs con ClassTransformer
16:55
¿Cómo mantener las buenas prácticas en el nombramiento de bases de datos y código?
El correcto nombramiento de las variables y tablas es fundamental para mantener la coherencia, comprensión y eficacia en la programación y administración de bases de datos. Muchas veces subestimado, el naming es clave para el trabajo colaborativo y la futura escalabilidad del sistema.
¿Cuál es la diferencia entre el naming en JavaScript y bases de datos?
- JavaScript: Las variables en JavaScript suelen nombrarse mediante la convención CamelCase, donde cada nueva palabra inicia con mayúscula (por ejemplo,
ProductId). - Bases de datos: Aquí las buenas prácticas dictan que no se usen caracteres especiales, incluyendo mayúsculas, para evitar problemas de compatibilidad y facilitar el trabajo en equipo. Un ejemplo sería usar
created_aten lugar deCreatedAt.
¿Cómo podemos garantizar buenas prácticas en bases de datos?
- Nombres en minúsculas con guiones bajos: Usar una convención consistente como el uso de underscores (
_) para separar palabras en nombres de columnas y tablas comoproduct_id. - Tablas en plural: Es común nombrar tablas en plural, como
Products, en vez deProduct, para expresar que contienen múltiples registros de dicha entidad. - Evitar caracteres especiales: Mantener nombres simples y claros para facilitar futuras consultas y mantenimiento.
¿Cómo personalizar las relaciones de tablas usando TimeWareM?
TimeWareM nos permite personalizar el nombramiento de tablas y columnas mediante el uso de decoradores en entidades de TypeScript:
@Entity('Products')
export class Product {
@PrimaryGeneratedColumn()
product_id: number;
@Column({ name: 'created_at' })
createdAt: Date;
}
- Relaciones uno a uno: Utilizar
@JoinColumnpara especificar el nombre de la clave foránea, comocustomer_id. - Relaciones uno a muchos: Se puede añadir el decorador
@JoinColumnpara establecer claramente el nombre de la columna que lleva la relación. - Relaciones muchos a muchos: Nos permite también determinar el nombre de las tablas ternarias generadas automáticamente, utilizando
@JoinTabley especificando nombres para las columnas con@JoinColumne@InverseJoinColumn.
¿Cuáles son los cuidados a tener al modificar el naming en bases de datos productivas?
- Planificación desde el diseño: Pensar en los nombres y normas a usar desde el diseño inicial del sistema evita problemas y migraciones complicadas más adelante.
- Migraciones cuidadosas: Cambiar el nombre de tablas o columnas en un ambiente productivo puede conllevar riesgos de pérdida de datos. Es vital coordinar con el equipo de base de datos y aplicar las migraciones con scripts SQL de ser necesario.
¿Qué hacer si la base de datos ya está en producción?
- Evaluar riesgos: La modificación del naming en producción requiere un análisis detallado sobre el impacto, especialmente en la integridad de datos y el funcionamiento del sistema.
- Consultar con expertos: Es crucial contar con un especialista en bases de datos para determinar la mejor estrategia y reducir riesgos durante las migraciones.
Este tema no solo trata de normas estéticas, sino que impacta en la eficacia, escalabilidad y sostenibilidad del proyecto. Por lo tanto, es vital adoptarlas desde el inicio para facilitar la comunicación entre equipos y evitar futuros errores. Sigue aprendiendo y mejorando tus prácticas para desarrollar sistemas robustos y bien organizados.