Representación de una tabla o entidad en el código.
Un modelo es la representación en código de una entidad de la base de datos. Define la estructura de los datos, sus tipos, relaciones y restricciones. En ORMs como Prisma, TypeORM o Sequelize, los modelos permiten: - Definir el esquema de las tablas - Establecer relaciones (1:1, 1:N, N:M) - Agregar validaciones - Definir índices y constraints - Generar migraciones automáticamente
// schema.prisma - Modelo en Prisma model User { id String @id @default(cuid()) email String @unique name String? password String role Role @default(USER) posts Post[] // Relación 1:N profile Profile? // Relación 1:1 createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@index([email]) @@map("users") // Nombre de la tabla } model Post { id String @id @default(cuid()) title String content String? published Boolean @default(false) author User @relation(fields: [authorId], references: [id]) authorId String tags Tag[] // Relación N:M @@map("posts") } enum Role { USER ADMIN MODERATOR }