Databases
DBML
Introducción
DBML (Database Markup Language) es un lenguaje de marcado simple diseñado para definir y documentar estructuras de bases de datos.
Recursos y Enlaces
- Databases
- DB-dbml-intro-code
- Documentación oficial DBML
- dbdiagram.io - Herramienta visual
- Relaciones en dbdiagram
- Video tutorial
Conceptos Fundamentales
Definición de Tablas
Table users {
id int [pk, increment]
username varchar [unique, not null]
email varchar [not null]
created_at timestamp [default: `now()`]
}
Relaciones
Las relaciones se definen usando referencias entre tablas:
> - REF: ref:para definir relaciones- Tipos de relaciones: one-to-one, one-to-many, many-to-many
Table posts {
id int [pk]
user_id int
title varchar
content text
Ref: posts.user_id > users.id
}
Propiedades de Campos
pk- Primary Keyincrement- Auto-incrementunique- Valor úniconot null- No nulodefault- Valor por defecto
Definición de Índices
Indexes {
(user_id, created_at) [name: 'user_created_index']
(email) [unique]
}
Características Avanzadas
Tipos de Datos
int,varchar,text,timestamp,booleandecimal,float,doubledate,time,datetime
Notas y Documentación
- Crear notas en las propiedades usando comentarios
- Documentar tablas y relaciones
Table products {
id int [pk]
name varchar
// Nota: Precio en dólares
price decimal
}
Abreviaciones y Defaults
- Sintaxis abreviada para constraints comunes
- Valores por defecto para diferentes tipos de datos
Workflow de Proyecto
Definición del Proyecto
- Esquema general de la base de datos
- Relaciones entre entidades
- Constraints y validaciones
Relaciones y Claves Foráneas
- Definición explícita de relaciones
- Tipos de cardinalidad
- Restricciones de integridad referencial
Optimización
- Índices para consultas frecuentes
- Claves primarias compuestas
- Normalización adecuada
¿Te gusta este contenido? Suscríbete vía RSS