
Accept yourself, your strengths, your weaknesses, your truths, and know what tools you have to fulfill your purpose.
Steve Maraboli, Life, the Truth, and Being Free
QuickDBD es una herramienta que permite Dibujar diagramas de base de datos escribiendo.
Su interfaz es bastante sencilla, consiste de un editor de texto similar a lenguage de marcado (Markdown) del lado izquierdo, y del lado derecho muestra el diagrama que se está generando.
El diagrama ejemplo es claro, la definición de una tabla consiste en una línea seguido por un texto que corresponde al nombre de la tabla. Para iniciar la definición de los campos, se debe de escribir en una nueva línea el caracter guión (‘-‘), y en las líneas posteriores se definen los campos, incluyento la posiblidad de definir su tipo y la relación que tiene el campo con otras tablas.
Existe la posiblidad de colocarle un alias a las tablas, y poder hacer referencia a este alias para definir las relaciones. Para definir un alias se utiliza la palabra clave as seguido por el alias asignado a la tabla, incluso es posible agregar más de un alias separando cada uno con una coma.
# Modify this code to update the DB schema diagram. # To reset the sample schema, replace everything with # two dots ('..' - without quotes). Customer - CustomerID PK int Name string INDEX Address1 string Address2 NULL string Address3 NULL string Order - OrderID PK int CustomerID int FK >- Customer.CustomerID TotalAmount money OrderStatusID int FK >- os.OrderStatusID OrderLine as ol ---- OrderLineID PK int OrderID int FK >- Order.OrderID ProductID int FK >- p.ProductID Quantity int # Table documentation comment 1 (try the PDF/RTF export) Product as p # Table documentation comment 2 ------------ ProductID PK int # Field documentation comment 1 # Field documentation comment 2 Name varchar(200) UNIQUE # Field documentation comment 3 Price money OrderStatus as os ---- OrderStatusID PK int Name UNIQUE string
El resultado, es el siguiente diagrama, en donde se puede apreciar el detalle y estilo, e incluso permité reorganizar manualmente la posición de las tablas en el diagrama. Por el momento es posible mover cada tabla una por una, o mover todas las tablas al mismo tiempo, pero no el seleccionar tablas específicas y tener la opción de moverlas.

La magia no termina con el diagrama, QuickDBD permite exportar el diagrama y generar un script de creación de las tablas. Al momento de la publicación de este artículo, QuickDBD permite las siguientes opciones.
- ANSI SQL
- MySQL/MariaDB
- Oracle (12c+)
- PostgreSQL
- SQL Server
Incluso tiene la capacidad de generar documentación en PDF o RTF, o incluso guardar el diagrama como una imágen PNG o SVG.
-- Exported from QuickDBD: https://www.quickdatatabasediagrams.com/ -- NOTE! If you have used non-SQL datatypes in your design, you will have to change these here. -- Modify this code to update the DB schema diagram. -- To reset the sample schema, replace everything with -- two dots ('..' - without quotes). SET XACT_ABORT ON BEGIN TRANSACTION QUICKDBD CREATE TABLE [Customer] ( [CustomerID] int NOT NULL , [Name] string NOT NULL , [Address1] string NOT NULL , [Address2] string NULL , [Address3] string NULL , CONSTRAINT [PK_Customer] PRIMARY KEY CLUSTERED ( [CustomerID] ASC ) ) CREATE TABLE [Order] ( [OrderID] int NOT NULL , [CustomerID] int NOT NULL , [TotalAmount] money NOT NULL , [OrderStatusID] int NOT NULL , CONSTRAINT [PK_Order] PRIMARY KEY CLUSTERED ( [OrderID] ASC ) ) CREATE TABLE [OrderLine] ( [OrderLineID] int NOT NULL , [OrderID] int NOT NULL , [ProductID] int NOT NULL , [Quantity] int NOT NULL , CONSTRAINT [PK_OrderLine] PRIMARY KEY CLUSTERED ( [OrderLineID] ASC ) ) -- Table documentation comment 1 (try the PDF/RTF export) -- Table documentation comment 2 CREATE TABLE [Product] ( [ProductID] int NOT NULL , -- Field documentation comment 1 -- Field documentation comment 2 -- Field documentation comment 3 [Name] varchar(200) NOT NULL , [Price] money NOT NULL , CONSTRAINT [PK_Product] PRIMARY KEY CLUSTERED ( [ProductID] ASC ), CONSTRAINT [UK_Product_Name] UNIQUE ( [Name] ) ) CREATE TABLE [OrderStatus] ( [OrderStatusID] int NOT NULL , [Name] string NOT NULL , CONSTRAINT [PK_OrderStatus] PRIMARY KEY CLUSTERED ( [OrderStatusID] ASC ), CONSTRAINT [UK_OrderStatus_Name] UNIQUE ( [Name] ) ) ALTER TABLE [Order] WITH CHECK ADD CONSTRAINT [FK_Order_CustomerID] FOREIGN KEY([CustomerID]) REFERENCES [Customer] ([CustomerID]) ALTER TABLE [Order] CHECK CONSTRAINT [FK_Order_CustomerID] ALTER TABLE [Order] WITH CHECK ADD CONSTRAINT [FK_Order_OrderStatusID] FOREIGN KEY([OrderStatusID]) REFERENCES [os] ([OrderStatusID]) ALTER TABLE [Order] CHECK CONSTRAINT [FK_Order_OrderStatusID] ALTER TABLE [OrderLine] WITH CHECK ADD CONSTRAINT [FK_OrderLine_OrderID] FOREIGN KEY([OrderID]) REFERENCES [Order] ([OrderID]) ALTER TABLE [OrderLine] CHECK CONSTRAINT [FK_OrderLine_OrderID] ALTER TABLE [OrderLine] WITH CHECK ADD CONSTRAINT [FK_OrderLine_ProductID] FOREIGN KEY([ProductID]) REFERENCES [p] ([ProductID]) ALTER TABLE [OrderLine] CHECK CONSTRAINT [FK_OrderLine_ProductID] CREATE INDEX [idx_Customer_Name] ON [Customer] ([Name]) COMMIT TRANSACTION QUICKDBD
La acción de importar se encuentra limitada debido a que actualmente no soportan todas las funcionalidades de las bases de datos, por lo que la secuencia importar, modificar y exportar, no es recomendada ya que es posible que se pueda perder información.
La documentación generada por QuickDBD incluye para cada tabla, descripción de la misma, nombre de los campos, descripción del campo, tipo, valor por defecto y una columna otros, en donde se detallan los atributos adicionales que fueron asignados al campo.

QuickDBD posee actualmente dos tipos de planes. Siendo el básico “gratis”, y el plan PRO con una suscripción de $14.00 mensuales, con la posibilidad de pagar $7 la primera semana (oferta única).
- Básico
- Máximo número de diagramas: 1
- Máximo de tablas por diagrama: 10
- Diagramas privados: no disponible
- Posibilidad de exportar imagenes, sql y documento: disponible
- PRO
- Máximo número de diagramas: 30
- Máximo de tablas por diagrama: cualquier número
- Diagramas privados: disponible
- Posibilidad de exportar imagenes, sql y documento: disponible
Por el momento me encuentro evaluando esta herramienta, lo utilizaré para el diseño de un proyecto de la universidad, se ve que QuickDBD tiene mucho potencial.
El último Twitt de la cuenta de QuickDBD fue el 8 de febrero del 2019, y actualmente su plan de trabajo se encuentra disponible y vacío, por lo que no está claro si tendrá nuevas funcionalidades.