{"id":2118,"date":"2026-05-26T07:38:24","date_gmt":"2026-05-26T07:38:24","guid":{"rendered":"https:\/\/www.vpascode.com\/pt\/docs\/uncategorized\/plantuml-erd-syntax-guide\/"},"modified":"2026-05-26T07:38:24","modified_gmt":"2026-05-26T07:38:24","slug":"plantuml-erd-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/","title":{"rendered":"Guia de Sintaxe de ERD do PlantUML"},"content":{"rendered":"<h2>O que \u00e9 um Diagrama de Relacionamento de Entidades (ERD)?<\/h2>\n<p>Um <strong>Diagrama de Relacionamento de Entidades (ERD)<\/strong> \u00e9 um plano estrutural usado para projetar, documentar e analisar bancos de dados relacionais. Ele visualiza as tabelas (entidades) dentro de um sistema, as colunas espec\u00edficas (atributos) que cont\u00eam e como essas tabelas se conectam. No PlantUML, os ERDs s\u00e3o criados usando o <strong>nota\u00e7\u00e3o de Engenharia de Informa\u00e7\u00e3o (IE)<\/strong>, que implementa o padr\u00e3o <strong>nota\u00e7\u00e3o de p\u00e9 de corvo<\/strong> para representar restri\u00e7\u00f5es relacionais.<\/p>\n<p>Seja voc\u00ea projetando um armazenamento de dados de microsservi\u00e7o, otimizando caminhos de jun\u00e7\u00e3o SQL ou mapeando uma arquitetura de data warehouse em escala empresarial, um ERD UML baseado em texto garante que seus esquemas de banco de dados sejam perfeitamente claros. Com <strong>VPasCode<\/strong>, voc\u00ea pode definir suas tabelas de banco de dados, chaves de \u00edndice e relacionamentos l\u00f3gicos usando uma sintaxe limpa e declarativa. O motor manipula automaticamente o dimensionamento das caixas de tabela e roteia suas strings de conex\u00e3o de chave estrangeira sem linhas de layout sobrepostas.<\/p>\n<h2>Guia de Sintaxe Principal: Elementos e Constru\u00e7\u00f5es<\/h2>\n<p>Construir um ERD robusto no estilo IE no PlantUML depende de blocos de entidades estruturados, designa\u00e7\u00f5es expl\u00edcitas de chaves e modificadores de cardinalidade de p\u00e9 de corvo.<\/p>\n<h3>1. Declarando Entidades (Tabelas de Banco de Dados)<\/h3>\n<p>Voc\u00ea declara uma tabela de banco de dados usando a <code>entity<\/code>palavra-chave, seguida pelo nome da tabela e um conjunto de chaves. Dentro das chaves, voc\u00ea lista as colunas da tabela. Para tornar seu esquema limpo e leg\u00edvel, use um separador horizontal (<code>--<\/code>) para separar suas chaves prim\u00e1rias\/estrangeiras dos atributos de dados padr\u00e3o:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyqhoIofL50gBKujAbPII2nM0BFYInAJSb8Lgdcv580WCqN1Ii7JBqGXEi0x5YAagmkXKtCJCtE0ic6EGSuUZa4QHgQccX2PvABKn9BKbFZ44g1qYAUlQt28esy0BrSj0000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyqhoIofL50gBKujAbPII2nM0BFYInAJSb8Lgdcv580WCqN1Ii7JBqGXEi0x5YAagmkXKtCJCtE0ic6EGSuUZa4QHgQccX2PvABKn9BKbFZ44g1qYAUlQt28esy0BrSj0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">entity \"users\" as users_table {\r\n    id : INT [PK]\r\n    --\r\n    email : VARCHAR(255)\r\n    created_at : TIMESTAMP\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyqhoIofL50gBKujAbPII2nM0BFYInAJSb8Lgdcv580WCqN1Ii7JBqGXEi0x5YAagmkXKtCJCtE0ic6EGSuUZa4QHgQccX2PvABKn9BKbFZ44g1qYAUlQt28esy0BrSj0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyqhoIofL50gBKujAbPII2nM0BFYInAJSb8Lgdcv580WCqN1Ii7JBqGXEi0x5YAagmkXKtCJCtE0ic6EGSuUZa4QHgQccX2PvABKn9BKbFZ44g1qYAUlQt28esy0BrSj0000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"jsXYoEv\"><img alt=\"\" class=\"alignnone size-full wp-image-598\" decoding=\"async\" height=\"98\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1901022bcfe.png\" width=\"183\"\/><\/p>\n<h3>2. Designando Chaves Prim\u00e1rias e Estrangeiras<\/h3>\n<p>Embora indicadores de texto como `[PK]` ou `[FK]` funcionem bem, o motor IE do PlantUML tamb\u00e9m suporta \u00edcones visuais de chaves. Colocar um asterisco (<code>*<\/code>) antes de um atributo o designa como uma coluna **obrigat\u00f3ria (n\u00e3o nula)**, enquanto uma string de texto limpa ou uma tag adiciona contexto expl\u00edcito de indexa\u00e7\u00e3o:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyqhoIofL53ABqf9BIfMKgZcvL800Ys5p1G5AmLFln056vi0RpixYB2kBaowj3YrA1v9ZHjSJKfcSN9-QLv9V79-IYfGFimnoDd3CKZ3r42JbwiM0000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyqhoKn9J4bLK2f8JSbCoIzMKgZcvL800Ys5p1G5AmLFln056vi0RpixYB2kBaowj3YrA1v9ZHjSJN9-IcPwVdnAQd5oVbv9Fb15c6EGiuTZa8QfWIOlLoq0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">entidade \"pedidos\" {\r\n    * id : INT &lt;&lt;PK&gt;&gt;\r\n    --\r\n    * user_id : INT &lt;&lt;FK&gt;&gt;\r\n    codigo_desconto : VARCHAR(50)\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyqhoKn9J4bLK2f8JSbCoIzMKgZcvL800Ys5p1G5AmLFln056vi0RpixYB2kBaowj3YrA1v9ZHjSJN9-IcPwVdnAQd5oVbv9Fb15c6EGiuTZa8QfWIOlLoq0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IyqhoIofL53ABqf9BIfMKgZcvL800Ys5p1G5AmLFln056vi0RpixYB2kBaowj3YrA1v9ZHjSJKfcSN9-QLv9V79-IYfGFimnoDd3CKZ3r42JbwiM0000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"aivVLsO\"><img alt=\"\" class=\"alignnone size-full wp-image-599\" decoding=\"async\" height=\"98\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19010e1b143.png\" width=\"239\"\/><\/p>\n<h3>3. Mapeamento da cardinalidade e rela\u00e7\u00f5es de Pata de Corvo<\/h3>\n<p>Para conectar tabelas e garantir restri\u00e7\u00f5es de integridade referencial, use uma combina\u00e7\u00e3o de tra\u00e7os, colchetes e caracteres de pipe. Na nota\u00e7\u00e3o IE, esses s\u00edmbolos formam cabe\u00e7as distintas de **pata de corvo** que representam relacionamentos de banco de dados:<\/p>\n<ul>\n<li><code>||--||<\/code> **Exatamente Um para Exatamente Um:** Um mapeamento estrito e obrigat\u00f3rio de um para um.<\/li>\n<li><code>||--o|<\/code> **Exatamente Um para Zero ou Um:** Um mapeamento opcional de um para um.<\/li>\n<li><code>||--|{<\/code> **Exatamente Um para Um ou Muitos:** Uma depend\u00eancia obrigat\u00f3ria de um para muitos.<\/li>\n<li><code>||--o{<\/code> **Exatamente Um para Zero, Um ou Muitos:** Uma rela\u00e7\u00e3o padr\u00e3o, opcional de um para muitos.<\/li>\n<\/ul>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:AorEBIgEBqbCoabLgAdHrSslLiWlIW6AALWfA1Na92Qd5Yi10000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:AqbCIir9Z2yjBaqioimlLgYfqTNDhrOeI4t9J05ohHIKalDpyfCJbG00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">tabela_usuarios ||--o{ pedidos : \"coloca\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:AqbCIir9Z2yjBaqioimlLgYfqTNDhrOeI4t9J05ohHIKalDpyfCJbG00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:AorEBIgEBqbCoabLgAdHrSslLiWlIW6AALWfA1Na92Qd5Yi10000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"BYtNcjJ\"><img alt=\"\" class=\"alignnone size-full wp-image-600\" decoding=\"async\" height=\"174\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190119b741e.png\" width=\"114\"\/><\/p>\n<h2>Melhores Pr\u00e1ticas para Esquemas de Banco de Dados Limpos<\/h2>\n<ul>\n<li><strong>Mantenha as Conven\u00e7\u00f5es de Mai\u00fasculas e Min\u00fasculas:<\/strong> Mantenha suas declara\u00e7\u00f5es de entidades previs\u00edveis. Use snake_case em min\u00fasculas (por exemplo, <code>itens_do_pedido<\/code>) para tabelas reais mapeadas em SQL, ou use CamelCase em mai\u00fasculas para modelos conceituais de dom\u00ednio.<\/li>\n<li><strong>Documente Sempre as Chaves Estrangeiras:<\/strong> Ao vincular duas tabelas, especifique sempre a coluna de chave estrangeira dentro do bloco da tabela filha. Isso fornece contextos de refer\u00eancia claros para equipes de engenharia durante migra\u00e7\u00f5es de dados.<\/li>\n<li><strong>Controle o Espa\u00e7amento da Pata de Corvo:<\/strong> Esquemas de banco de dados complexos com dezenas de tabelas podem se tornar rapidamente lotados. Se suas linhas de relacionamento come\u00e7arem a cruzar de forma n\u00e3o natural, substitua seus conectores de dois tra\u00e7os (<code>--<\/code>) por tr\u00eas ou quatro tra\u00e7os (<code>---<\/code>) para afastar as tabelas e permitir que o motor de layout tenha mais espa\u00e7o para organizar a grade.<\/li>\n<\/ul>\n<h2>Exemplos Reais de ERD em PlantUML<\/h2>\n<h3>Exemplo 1: Modelo Relacional Central de Com\u00e9rcio Eletr\u00f4nico (Chaves e Mapeamentos)<\/h3>\n<p>Este modelo funcional representa um ciclo de transa\u00e7\u00e3o central de banco de dados de com\u00e9rcio eletr\u00f4nico, mostrando como usu\u00e1rios, pedidos e lan\u00e7amentos de pagamentos est\u00e3o conectados usando rela\u00e7\u00f5es estritas de pata de corvo.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZP9DQy9048RlWVo7mOkjD605BoAY-46bLaIaq5COap5PckocknkirVxtJZGfWLfmJyEyx-u-yp4q5hNDqyHrcZ3JH5y49Asm1zYgJz0aGz92HY2aLM1Yr1caYdCIp4UEcephn28a28GE4d8TyovaXXfJMCoNqytRQWfAsrYvZkkK3pToGzeq00qK4HnT1_YqG8JGW_bo0_t-wdamkAGzhv8fHP6mutMq7Z-DrdUFxVPzfMLep5xfq8_Hn3LFfzijFLci9DMLul9t7OklLrpdy6QmeWg_vfdzUbfWbSN4nrJbqh9XCXtFNqOBPd_eb60y0PkR6bdt3rc6XvHZFw4mgX0lySsCvuh-XTGe3GPMAEbhsX6FFQ2hdOxGqXuFLscRCA6Tu2PhIh1u2nCmGSnZWwsG8MyHByjvugUJvwbZsUKUrvTWGARXEfTC8PzELOMiHoH9yy-5PSWhoVlw0m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZPB1Qi9048RlWRp3uCLMAbZ1YuWeQgdKYXGfz1I6tLL3antTtTHQxTFqq9DFaHVhH4srOC5SChF_dystit_BEZGkYIFVAqA7z5H520H6QQbC-87fT_f58144Xky8Ke7IBfIO5J4i4fG69Lc8YVsQ2vrkMIVhUyeAodO1aMwDI2BoFViQwZaQZ67G7_R6BwCUa74ii3lVjf1OPMm11CK4MGrhtmD-IX1Ag4D_E8P6O_JGREwNo-LSLZ664JkUsq-T-_RJrMsbSfrhSxHsIKO6CxIp4q-rLZjuvZFIwbJ9FlxyYyOR7DbspSLmsKc24y_ThwS4ZXn60SQKQCU6Rg_JVsmFcF-cUe3ZMtA9FQ6hdQ6RuohcBeYKd1unzzt5dBjJ_GjgK5iKBYGT63LH71EXpavyYaujSNMMk0XTDGbvs1oNjtIhisnOa0JABXA-H4vVX8B_WPpANG8sctAPreU9rw4WA2A11T_RhsJoPfEVb7L-PMgBKypH_W40\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Congela o renderiza\u00e7\u00e3o da caixa de entidade em quadrados modernos n\u00edtidos\r\nesconder c\u00edrculo\r\nskinparam LINETYPE orto\r\n\r\nentidade \"users\" como user {\r\n    * id : INT &lt;&lt;PK&gt;&gt;\r\n    --\r\n    * email : VARCHAR(100)\r\n    * password_hash : VARCHAR(255)\r\n    phone : VARCHAR(20)\r\n}\r\n\r\nentidade \"orders\" como order {\r\n    * id : INT &lt;&lt;PK&gt;&gt;\r\n    --\r\n    * user_id : INT &lt;&lt;FK&gt;&gt;\r\n    * total_amount : DECIMAL(10,2)\r\n    status : VARCHAR(50)\r\n}\r\n\r\nentidade \"payment_ledgers\" como ledger {\r\n    * id : INT &lt;&lt;PK&gt;&gt;\r\n    --\r\n    * order_id : INT &lt;&lt;FK&gt;&gt;\r\n    * transaction_reference : VARCHAR(100)\r\n    gateway : VARCHAR(50)\r\n}\r\n\r\n' Define os v\u00ednculos do esquema relacional\r\nuser ||--o{ order : \"coloca\"\r\norder ||--|| ledger : \"gera\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZPB1Qi9048RlWRp3uCLMAbZ1YuWeQgdKYXGfz1I6tLL3antTtTHQxTFqq9DFaHVhH4srOC5SChF_dystit_BEZGkYIFVAqA7z5H520H6QQbC-87fT_f58144Xky8Ke7IBfIO5J4i4fG69Lc8YVsQ2vrkMIVhUyeAodO1aMwDI2BoFViQwZaQZ67G7_R6BwCUa74ii3lVjf1OPMm11CK4MGrhtmD-IX1Ag4D_E8P6O_JGREwNo-LSLZ664JkUsq-T-_RJrMsbSfrhSxHsIKO6CxIp4q-rLZjuvZFIwbJ9FlxyYyOR7DbspSLmsKc24y_ThwS4ZXn60SQKQCU6Rg_JVsmFcF-cUe3ZMtA9FQ6hdQ6RuohcBeYKd1unzzt5dBjJ_GjgK5iKBYGT63LH71EXpavyYaujSNMMk0XTDGbvs1oNjtIhisnOa0JABXA-H4vVX8B_WPpANG8sctAPreU9rw4WA2A11T_RhsJoPfEVb7L-PMgBKypH_W40\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZP9DQy9048RlWVo7mOkjD605BoAY-46bLaIaq5COap5PckocknkirVxtJZGfWLfmJyEyx-u-yp4q5hNDqyHrcZ3JH5y49Asm1zYgJz0aGz92HY2aLM1Yr1caYdCIp4UEcephn28a28GE4d8TyovaXXfJMCoNqytRQWfAsrYvZkkK3pToGzeq00qK4HnT1_YqG8JGW_bo0_t-wdamkAGzhv8fHP6mutMq7Z-DrdUFxVPzfMLep5xfq8_Hn3LFfzijFLci9DMLul9t7OklLrpdy6QmeWg_vfdzUbfWbSN4nrJbqh9XCXtFNqOBPd_eb60y0PkR6bdt3rc6XvHZFw4mgX0lySsCvuh-XTGe3GPMAEbhsX6FFQ2hdOxGqXuFLscRCA6Tu2PhIh1u2nCmGSnZWwsG8MyHByjvugUJvwbZsUKUrvTWGARXEfTC8PzELOMiHoH9yy-5PSWhoVlw0m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"UBJPtUm\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-601\" decoding=\"async\" height=\"444\" loading=\"lazy\" sizes=\"auto, (max-width: 301px) 100vw, 301px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19012676e1c.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19012676e1c.png 301w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19012676e1c-203x300.png 203w\" width=\"301\"\/><\/p>\n<p><strong>An\u00e1lise de Sintaxe:<\/strong> A diretiva <code>esconder c\u00edrculo<\/code> desativa os bal\u00f5es padr\u00e3o de token de classe UML, enquanto <code>skinparam LINETYPE orto<\/code> for\u00e7a os caminhos de relacionamento em \u00e2ngulos retos limpos de 90 graus. O esquema mostra claramente que um usu\u00e1rio pode fazer zero ou muitos pedidos (<code>||--o{<\/code>), enquanto um pedido deve ter exatamente um registro de lan\u00e7amento de pagamento associado (<code>||--||<\/code>).<\/p>\n<h3>Exemplo 2: Esquema de Sistema Avan\u00e7ado de Gerenciamento de Conte\u00fado (Interse\u00e7\u00e3o Muitos para Muitos)<\/h3>\n<p>Este modelo avan\u00e7ado de empresa mapeia uma topologia completa de sistema de gerenciamento de conte\u00fado (CMS). Mostra como lidar com arquiteturas muitos para muitos de forma limpa, aproveitando uma tabela intermedi\u00e1ria de mapeamento.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZPFVQy8m4CVV0_aV3b-s2GKty4L4bD4nsHHnPMnF9Mj36soJabmVdFg_BxK_h9qRzYcN-tBtkU-bKuDCOvucbCGYv1087IIS4hCHCcEQfV0wNxhUvye5fJ5Mb5329GhSGYzJ1aqFc87Y13jAm7vz426COBxqO3nUlKmcvRNZr6cMsphQRwcU6bKVREc4sypxRFtuF5lVFWo7TsNE97bqCV6bmgrDUEw7HycXJHWmv97IWfUOLRYz6bMojCroFnXKBKDk0Yqo54h-GZfqFVBhldxAiap8gAIfWXFCKTiXEZUdAVIFggPdneX8yj1dM9WpNxXltconwZgaqjIUAt_Au6fxki0dY6h7V_fdHr4IYrvdUxk1DKzOuIfB815o0mPr7c2kkQ7a-ChsUyTHkyQyKJ62H2QawL7IBFY2gdeAtxmGjalLKriHGsH1V5HCkGpjR_43\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZPFHQi8m58Rl2ts7Gs-s2GKty4Q6AADZiYdYojYkobaJkc2Jb2I5EVM1Th6dyCMMQbkjkc6lalm_EV_vJjhN1fN9UUewLCTI4AeWNl-eE4-bw-WP4nagvF0q70VXsoG0gOmLh5iOHf1Gy3AfZVOWbbn2iOQ5wu3zMi08T64u3k7sTlBOwssFVR-ICJSVKaLxhllQrGB3J4gjyZAOtZqCffStdSxLLjDfdfmKtYMPMo4CNaFNMJLJncXe8XMZLTJoO7vsN85yFyzrkrsM9PQSOfbXKXp5MXspYghA4SSiOoAf4fNRNQ2D-o1L4r9zrJ-kgWFKcYM2aWXD0Mau2fx3mMXoJ4foRdSrf-tsR4o7eNT1odd_oT6s8uKfQZLcU061DYetkK9jMKFAn4o3eYd6bZWoxJgRPxTS-hvSr1IxHIV2hB-vvphri4-OoeVnXLxpegfnwq51FmkvJmMn_yel\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nesconder c\u00edrculo\r\nskinparam LINETYPE orto\r\n\r\nentidade \"posts\" como post {\r\n    * id : INT &lt;&lt;PK&gt;&gt;\r\n    --\r\n    * author_id : INT &lt;&lt;FK&gt;&gt;\r\n    * title : VARCHAR(255)\r\n    slug : VARCHAR(255)\r\n    body : TEXT\r\n}\r\n\r\nentidade \"categories\" como category {\r\n    * id : INT &lt;&lt;PK&gt;&gt;\r\n    --\r\n    * name : VARCHAR(100)\r\n    description : VARCHAR(255)\r\n}\r\n\r\nentidade \"post_category_mappings\" como mapping {\r\n    * post_id : INT &lt;&lt;PK&gt;&gt;&lt;&lt;FK&gt;&gt;\r\n    * category_id : INT &lt;&lt;PK&gt;&gt;&lt;&lt;FK&gt;&gt;\r\n    --\r\n    assigned_at : TIMESTAMP\r\n}\r\n\r\nentidade \"comments\" como comment {\r\n    * id : INT &lt;&lt;PK&gt;&gt;\r\n    --\r\n    * post_id : INT &lt;&lt;FK&gt;&gt;\r\n    author_name : VARCHAR(100)\r\n    * content : TEXT\r\n}\r\n\r\n' Estruturas de links relacionais\r\npost ||--o{ mapping : \"cont\u00e9m\"\r\ncategory ||--o{ mapping : \"categoriza\"\r\npost ||--o{ comment : \"anexa\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZPFHQi8m58Rl2ts7Gs-s2GKty4Q6AADZiYdYojYkobaJkc2Jb2I5EVM1Th6dyCMMQbkjkc6lalm_EV_vJjhN1fN9UUewLCTI4AeWNl-eE4-bw-WP4nagvF0q70VXsoG0gOmLh5iOHf1Gy3AfZVOWbbn2iOQ5wu3zMi08T64u3k7sTlBOwssFVR-ICJSVKaLxhllQrGB3J4gjyZAOtZqCffStdSxLLjDfdfmKtYMPMo4CNaFNMJLJncXe8XMZLTJoO7vsN85yFyzrkrsM9PQSOfbXKXp5MXspYghA4SSiOoAf4fNRNQ2D-o1L4r9zrJ-kgWFKcYM2aWXD0Mau2fx3mMXoJ4foRdSrf-tsR4o7eNT1odd_oT6s8uKfQZLcU061DYetkK9jMKFAn4o3eYd6bZWoxJgRPxTS-hvSr1IxHIV2hB-vvphri4-OoeVnXLxpegfnwq51FmkvJmMn_yel\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZPFVQy8m4CVV0_aV3b-s2GKty4L4bD4nsHHnPMnF9Mj36soJabmVdFg_BxK_h9qRzYcN-tBtkU-bKuDCOvucbCGYv1087IIS4hCHCcEQfV0wNxhUvye5fJ5Mb5329GhSGYzJ1aqFc87Y13jAm7vz426COBxqO3nUlKmcvRNZr6cMsphQRwcU6bKVREc4sypxRFtuF5lVFWo7TsNE97bqCV6bmgrDUEw7HycXJHWmv97IWfUOLRYz6bMojCroFnXKBKDk0Yqo54h-GZfqFVBhldxAiap8gAIfWXFCKTiXEZUdAVIFggPdneX8yj1dM9WpNxXltconwZgaqjIUAt_Au6fxki0dY6h7V_fdHr4IYrvdUxk1DKzOuIfB815o0mPr7c2kkQ7a-ChsUyTHkyQyKJ62H2QawL7IBFY2gdeAtxmGjalLKriHGsH1V5HCkGpjR_43\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"uRrOAMH\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-602\" decoding=\"async\" height=\"293\" loading=\"lazy\" sizes=\"auto, (max-width: 495px) 100vw, 495px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19013a7b57a.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19013a7b57a.png 495w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19013a7b57a-300x178.png 300w\" width=\"495\"\/><\/p>\n<p><strong>An\u00e1lise de Sintaxe:<\/strong> Este modelo representa uma rela\u00e7\u00e3o cl\u00e1ssica muitos para muitos entre posts e categorias. Em vez de conect\u00e1-los diretamente, introduz uma tabela intermedi\u00e1ria (<code>post_category_mappings<\/code>) onde ambas as colunas atuam como chave prim\u00e1ria composta. Os indicadores de pata de corvo mapeiam explicitamente as rela\u00e7\u00f5es em cascata at\u00e9 a camada de coment\u00e1rios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O que \u00e9 um Diagrama de Relacionamento de Entidades (ERD)? Um Diagrama de Relacionamento de Entidades (ERD) \u00e9 um plano estrutural usado para projetar, documentar e analisar bancos de dados relacionais. Ele visualiza as tabelas (entidades) dentro de um sistema,&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":10,"template":"","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"ld_collection":[14],"class_list":["post-2118","ld_docs","type-ld_docs","status-publish","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PlantUML ERD Diagram Syntax | VPasCode Text to Diagram Guide<\/title>\n<meta name=\"description\" content=\"Design relational database schemas with PlantUML entity relationship diagrams in VPasCode, a free diagram-as-code tool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PlantUML ERD Diagram Syntax | VPasCode Text to Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Design relational database schemas with PlantUML entity relationship diagrams in VPasCode, a free diagram-as-code tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1901022bcfe.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-erd-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-erd-syntax-guide\\\/\",\"name\":\"PlantUML ERD Diagram Syntax | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-erd-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-erd-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a1901022bcfe.png\",\"datePublished\":\"2026-05-26T07:38:24+00:00\",\"description\":\"Design relational database schemas with PlantUML entity relationship diagrams in VPasCode, a free diagram-as-code tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-erd-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-erd-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-erd-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a1901022bcfe.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a1901022bcfe.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-erd-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Guia de Sintaxe de ERD do PlantUML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PlantUML ERD Diagram Syntax | VPasCode Text to Diagram Guide","description":"Design relational database schemas with PlantUML entity relationship diagrams in VPasCode, a free diagram-as-code tool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/","og_locale":"pt_PT","og_type":"article","og_title":"PlantUML ERD Diagram Syntax | VPasCode Text to Diagram Guide","og_description":"Design relational database schemas with PlantUML entity relationship diagrams in VPasCode, a free diagram-as-code tool.","og_url":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/","og_site_name":"VPasCode","og_image":[{"url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1901022bcfe.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo estimado de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/","url":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/","name":"PlantUML ERD Diagram Syntax | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1901022bcfe.png","datePublished":"2026-05-26T07:38:24+00:00","description":"Design relational database schemas with PlantUML entity relationship diagrams in VPasCode, a free diagram-as-code tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1901022bcfe.png","contentUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1901022bcfe.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-erd-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/pt\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"Guia de Sintaxe de ERD do PlantUML"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/pt\/#website","url":"https:\/\/www.vpascode.com\/pt\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/pt\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs\/2118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/users\/4"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/media?parent=2118"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_collection?post=2118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}