{"id":1908,"date":"2026-08-04T16:21:03","date_gmt":"2026-08-04T16:21:03","guid":{"rendered":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/"},"modified":"2026-08-04T16:21:03","modified_gmt":"2026-08-04T16:21:03","slug":"can-plantuml-draw-erd-complete-guide-free-tool-2","status":"publish","type":"post","link":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/","title":{"rendered":"PlantUML c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ERD kh\u00f4ng? H\u01b0\u1edbng d\u1eabn ho\u00e0n ch\u1ec9nh &#038; C\u00f4ng c\u1ee5 mi\u1ec5n ph\u00ed"},"content":{"rendered":"<p><strong>C\u00f3, PlantUML c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ERD (s\u01a1 \u0111\u1ed3 th\u1ef1c th\u1ec3 &#8211; m\u1ed1i quan h\u1ec7).<\/strong>N\u00f3 h\u1ed7 tr\u1ee3 m\u00f4 h\u00ecnh h\u00f3a l\u01b0\u1ee3c \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u m\u1ed9t c\u00e1ch t\u00edch h\u1ee3p b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng k\u00fd hi\u1ec7u chu\u1ea9n Information Engineering (k\u00fd hi\u1ec7u ch\u00e2n chim) c\u0169ng nh\u01b0 k\u00fd hi\u1ec7u ERD Chen c\u1ed5 \u0111i\u1ec3n. B\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u00fa ph\u00e1p d\u1ef1a tr\u00ean v\u0103n b\u1ea3n, c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n v\u00e0 ki\u1ebfn tr\u00fac s\u01b0 c\u01a1 s\u1edf d\u1eef li\u1ec7u c\u00f3 th\u1ec3 nhanh ch\u00f3ng t\u1ea1o ra c\u00e1c s\u01a1 \u0111\u1ed3 ERD s\u1ea1ch s\u1ebd, c\u00f3 th\u1ec3 ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n m\u00e0 kh\u00f4ng c\u1ea7n k\u00e9o th\u1ea3 c\u00e1c th\u00e0nh ph\u1ea7n tr\u1ef1c quan m\u1ed9t c\u00e1ch th\u1ee7 c\u00f4ng.<\/p>\n<p>D\u00f9 b\u1ea1n c\u1ea7n x\u00e1c \u0111\u1ecbnh kh\u00f3a ch\u00ednh, \u0111\u1ecbnh ngh\u0129a r\u00e0ng bu\u1ed9c kh\u00f3a ngo\u1ea1i hay tr\u1ef1c quan h\u00f3a c\u00e1c m\u1ed1i quan h\u1ec7 c\u01a1 s\u1edf d\u1eef li\u1ec7u ph\u1ee9c t\u1ea1p, PlantUML cung c\u1ea5p m\u1ed9t c\u00e1ch ti\u1ebfp c\u1eadn linh ho\u1ea1t, l\u1ea5y m\u00e3 ngu\u1ed3n l\u00e0m \u01b0u ti\u00ean. Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, ch\u00fang ta s\u1ebd t\u00ecm hi\u1ec3u c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 ERD c\u1ee7a PlantUML, c\u00e1c lo\u1ea1i cardinality v\u00e0 c\u00e1ch t\u1ed1i \u01b0u h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a b\u1ea1n b\u1eb1ng m\u1ed9t<strong>c\u00f4ng c\u1ee5 PlantUML mi\u1ec5n ph\u00ed<\/strong>v\u1edbi kh\u1ea3 n\u0103ng xem tr\u01b0\u1edbc theo th\u1eddi gian th\u1ef1c.<\/p>\n<p><img fetchpriority=\"high\" alt=\"A split screen illustrating the Diagram-as-Code concept, showing PlantUML code generating a database Entity-Relationship Diagram with crow's foot relationships.\" class=\"alignnone size-full wp-image-1826\" decoding=\"async\" fetchpriority=\"high\" height=\"816\" sizes=\"(max-width: 1312px) 100vw, 1312px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/plantuml-erd-diagram-as-code-guide.jpg\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/plantuml-erd-diagram-as-code-guide.jpg 1312w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/plantuml-erd-diagram-as-code-guide-300x187.jpg 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/plantuml-erd-diagram-as-code-guide-1024x637.jpg 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/plantuml-erd-diagram-as-code-guide-768x478.jpg 768w\" width=\"1312\"\/><\/p>\n<hr\/>\n<h2>C\u00f3, PlantUML c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ERD: C\u00e2u tr\u1ea3 l\u1eddi nhanh &amp; C\u00e1c kh\u1ea3 n\u0103ng c\u1ed1t l\u00f5i<\/h2>\n<p>PlantUML h\u1ed7 tr\u1ee3 t\u1ea1o s\u01a1 \u0111\u1ed3 th\u1ef1c th\u1ec3 &#8211; m\u1ed1i quan h\u1ec7 to\u00e0n di\u1ec7n ngay t\u1eeb \u0111\u1ea7u b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng v\u0103n b\u1ea3n \u0111\u1ecbnh d\u1ea1ng \u0111\u01a1n gi\u1ea3n. B\u1eb1ng c\u00e1ch t\u1eadn d\u1ee5ng c\u00e1c ph\u1ea7n m\u1edf r\u1ed9ng chu\u1ea9n, n\u00f3 hi\u1ec3n th\u1ecb c\u1ea5u tr\u00fac c\u01a1 s\u1edf d\u1eef li\u1ec7u m\u1ed9t c\u00e1ch s\u1ea1ch s\u1ebd v\u00e0 x\u00e1c \u0111\u1ecbnh r\u00f5 r\u00e0ng.<\/p>\n<h3>C\u00e1c k\u00fd hi\u1ec7u s\u01a1 \u0111\u1ed3 ERD \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 trong PlantUML (chu\u1ea9n so v\u1edbi ERD Chen)<\/h3>\n<p>PlantUML cung c\u1ea5p hai phong c\u00e1ch ch\u00ednh \u0111\u1ec3 hi\u1ec3n th\u1ecb s\u01a1 \u0111\u1ed3 ERD:<\/p>\n<ul>\n<li><strong>K\u00fd hi\u1ec7u Information Engineering (IE):<\/strong>K\u00fd hi\u1ec7u ch\u00e2n chim chu\u1ea9n \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 m\u00f4 h\u00ecnh h\u00f3a c\u01a1 s\u1edf d\u1eef li\u1ec7u quan h\u1ec7, bi\u1ec3u di\u1ec5n c\u00e1c th\u1ef1c th\u1ec3 d\u01b0\u1edbi d\u1ea1ng c\u1ea5u tr\u00fac b\u1ea3ng v\u1edbi c\u00e1c d\u1ea5u hi\u1ec7u r\u00f5 r\u00e0ng cho kh\u00f3a ch\u00ednh v\u00e0 kh\u00f3a ngo\u1ea1i.<\/li>\n<li><strong>K\u00fd hi\u1ec7u ERD Chen:<\/strong>M\u1ed9t phong c\u00e1ch m\u00f4 h\u00ecnh h\u00f3a kh\u00e1i ni\u1ec7m, trong \u0111\u00f3 c\u00e1c th\u1ef1c th\u1ec3 \u0111\u01b0\u1ee3c bi\u1ec3u di\u1ec5n b\u1eb1ng h\u00ecnh ch\u1eef nh\u1eadt, thu\u1ed9c t\u00ednh b\u1eb1ng h\u00ecnh elip v\u00e0 m\u1ed1i quan h\u1ec7 b\u1eb1ng h\u00ecnh thoi.<\/li>\n<\/ul>\n<h3>C\u00fa ph\u00e1p c\u01a1 b\u1ea3n s\u01a1 \u0111\u1ed3 ERD PlantUML v\u00e0 v\u00ed d\u1ee5 m\u00e3 ngu\u1ed3n<\/h3>\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t v\u00ed d\u1ee5 \u0111\u01a1n gi\u1ea3n ho\u1ea1t \u0111\u1ed9ng c\u1ee7a s\u01a1 \u0111\u1ed3 ERD quan h\u1ec7 \u0111\u01b0\u1ee3c vi\u1ebft b\u1eb1ng m\u00e3 script PlantUML s\u1eed d\u1ee5ng k\u00fd hi\u1ec7u ch\u00e2n chim chu\u1ea9n:<\/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\/#plantuml:VP11Yy8m48NlWVo7iISL2wlWHKGihiiMxQvqgzSIcm43JIFfz23M_svQAuY7lRtXEtppth8aOQdIEMSzEg56EET25PoHEGCPE1eYeq4gYnafum1dM92Y2tZx4gq7eeJA1RXo1Z1iSweap23yIM0-tsqMYuRu_eEZ5Yftz134g-yWxa-cqy63P1O5eKm5EPo4qVel2Q8TPxTNvw-LdTGqwMbjZ_-qxszzTNpeIfB8Kw5DLJJYp_KgZ89jV_mncWmwUTklhdtVN3lj33otKuQbnzaI2-a6l0C0\" 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>Ch\u1ec9nh s\u1eeda Plantuml trong 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:SoWkIImgAStDuULIBCb8pKrLACX9pCpZvKh9B4fDBidCprCeoIy0OeMa_9AI_5nUBbwkrBoIp99A1IM_z6CR7kwUcwcGSdXdNhgIGcAnGcbnQf52DI-NWe8Mc1sVcQ9WfU3f5w9WOnFWRMS7aj7LXSYdvYPcvW1bmno3d3qSWpICJ4qr8JB9HQc99QafyOabGEaGJr_Nu117tm1UhbfasuzCEBOmJo7Zy0AerVb5AGYxmHnybgCxpWqghmNqQabYJdnYRdvf7iXw5rTdJrz77mr30nqZJQWJmBwigT7LpQ-6Mci5TC_4XxksboZnSZcavgK00nG0\" \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=\"language-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!theme plain\r\ndirection top to bottom\r\n\r\nentity \"Ng\u01b0\u1eddi d\u00f9ng\" as user {\r\n  * user_id : INT &lt;&lt;PK&gt;&gt;\r\n  --\r\n  * email : VARCHAR(255)\r\n  * created_at : TIMESTAMP\r\n}\r\n\r\nentity \"\u0110\u01a1n h\u00e0ng\" as order {\r\n  * order_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}\r\n\r\nuser ||--o{ order : \"\u0111\u1eb7t\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:SoWkIImgAStDuULIBCb8pKrLACX9pCpZvKh9B4fDBidCprCeoIy0OeMa_9AI_5nUBbwkrBoIp99A1IM_z6CR7kwUcwcGSdXdNhgIGcAnGcbnQf52DI-NWe8Mc1sVcQ9WfU3f5w9WOnFWRMS7aj7LXSYdvYPcvW1bmno3d3qSWpICJ4qr8JB9HQc99QafyOabGEaGJr_Nu117tm1UhbfasuzCEBOmJo7Zy0AerVb5AGYxmHnybgCxpWqghmNqQabYJdnYRdvf7iXw5rTdJrz77mr30nqZJQWJmBwigT7LpQ-6Mci5TC_4XxksboZnSZcavgK00nG0\" \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\/#plantuml:VP11Yy8m48NlWVo7iISL2wlWHKGihiiMxQvqgzSIcm43JIFfz23M_svQAuY7lRtXEtppth8aOQdIEMSzEg56EET25PoHEGCPE1eYeq4gYnafum1dM92Y2tZx4gq7eeJA1RXo1Z1iSweap23yIM0-tsqMYuRu_eEZ5Yftz134g-yWxa-cqy63P1O5eKm5EPo4qVel2Q8TPxTNvw-LdTGqwMbjZ_-qxszzTNpeIfB8Kw5DLJJYp_KgZ89jV_mncWmwUTklhdtVN3lj33otKuQbnzaI2-a6l0C0\" 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>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u00ecnh \u1ea3nh s\u01a1 \u0111\u1ed3 ERD \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb:<br \/>\n<img alt=\"An example ERD editing in Visual Paradigm's VPasCode\" class=\"alignnone wp-image-1844 size-full\" decoding=\"async\" height=\"745\" sizes=\"(max-width: 1192px) 100vw, 1192px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a7215bd11fe3.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a7215bd11fe3.png 1192w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a7215bd11fe3-300x188.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a7215bd11fe3-1024x640.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a7215bd11fe3-768x480.png 768w\" width=\"1192\"\/><\/p>\n<hr\/>\n<h2>H\u01b0\u1edbng d\u1eabn t\u1eebng b\u01b0\u1edbc: Vi\u1ebft s\u01a1 \u0111\u1ed3 th\u1ef1c th\u1ec3 &#8211; m\u1ed1i quan h\u1ec7 \u0111\u1ea7u ti\u00ean c\u1ee7a b\u1ea1n trong PlantUML<\/h2>\n<p>Vi\u1ec7c x\u00e2y d\u1ef1ng s\u01a1 \u0111\u1ed3 ERD trong PlantUML y\u00eau c\u1ea7u x\u00e1c \u0111\u1ecbnh c\u00e1c th\u1ef1c th\u1ec3, g\u00e1n ki\u1ec3u d\u1eef li\u1ec7u v\u00e0 r\u00e0ng bu\u1ed9c, \u0111\u1ed3ng th\u1eddi khai b\u00e1o c\u00e1c m\u1ed1i quan h\u1ec7 v\u1edbi c\u00e1c k\u1ebft n\u1ed1i cardinality ph\u00f9 h\u1ee3p.<\/p>\n<h3>X\u00e1c \u0111\u1ecbnh c\u00e1c th\u1ef1c th\u1ec3, thu\u1ed9c t\u00ednh v\u00e0 kh\u00f3a ch\u00ednh\/kh\u00f3a ngo\u1ea1i<\/h3>\n<p>C\u00e1c th\u1ef1c th\u1ec3 \u0111\u01b0\u1ee3c khai b\u00e1o b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng t\u1eeb kh\u00f3a<code>entity<\/code>T\u1eeb kh\u00f3a. C\u00e1c thu\u1ed9c t\u00ednh \u0111\u01b0\u1ee3c li\u1ec7t k\u00ea b\u00ean trong d\u1ea5u ngo\u1eb7c nh\u1ecdn. B\u1ea1n c\u00f3 th\u1ec3 s\u1eafp x\u1ebfp c\u00e1c thu\u1ed9c t\u00ednh b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u00e1c d\u1ea5u g\u1ea1ch ngang (<code>--<\/code>) \u0111\u1ec3 ph\u00e2n t\u00e1ch kh\u00f3a ch\u00ednh, kh\u00f3a ngo\u1ea1i v\u00e0 c\u00e1c c\u1ed9t th\u00f4ng th\u01b0\u1eddng.<\/p>\n<ul>\n<li><strong>Kh\u00f3a ch\u00ednh (PK):<\/strong> \u0110\u01b0\u1ee3c ch\u1ec9 ra b\u1eb1ng d\u1ea5u sao (<code>*<\/code>) v\u00e0 \u0111\u01b0\u1ee3c \u0111\u00e1nh d\u1ea5u v\u1edbi <code>&lt;&lt;PK&gt;&gt;<\/code>.<\/li>\n<li><strong>Kh\u00f3a ngo\u1ea1i (FK):<\/strong> \u0110\u01b0\u1ee3c \u0111\u00e1nh d\u1ea5u b\u1eb1ng <code>&lt;&lt;FK&gt;&gt;<\/code> \u0111\u1ec3 bi\u1ec3u di\u1ec5n c\u00e1c tham chi\u1ebfu li\u00ean quan.<\/li>\n<li><strong>C\u00e1c tr\u01b0\u1eddng b\u1eaft bu\u1ed9c:<\/strong> \u0110\u01b0\u1ee3c l\u00e0m n\u1ed5i b\u1eadt b\u1eb1ng d\u1ea5u sao (<code>*<\/code>) tr\u01b0\u1edbc t\u00ean c\u1ed9t.<\/li>\n<\/ul>\n<h3>\u00c1nh x\u1ea1 t\u00ednh cardinality v\u00e0 c\u00e1c lo\u1ea1i m\u1ed1i quan h\u1ec7 (1:1, 1:N, N:M)<\/h3>\n<p>C\u00e1c \u0111\u01b0\u1eddng m\u1ed1i quan h\u1ec7 x\u00e1c \u0111\u1ecbnh c\u00e1ch c\u00e1c b\u1ea3ng li\u00ean k\u1ebft v\u1edbi nhau. PlantUML s\u1eed d\u1ee5ng c\u00e1c t\u1ed5 h\u1ee3p k\u00fd t\u1ef1 c\u1ee5 th\u1ec3 \u0111\u1ec3 hi\u1ec3n th\u1ecb c\u00e1c b\u1ed9 n\u1ed1i h\u00ecnh ch\u00e2n chim:<\/p>\n<table>\n<thead>\n<tr>\n<th>Ng\u1eef ph\u00e1p<\/th>\n<th>\u00dd ngh\u0129a k\u00fd hi\u1ec7u<\/th>\n<th>Lo\u1ea1i m\u1ed1i quan h\u1ec7<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>||--||<\/code><\/td>\n<td>Ch\u00ednh x\u00e1c m\u1ed9t \u0111\u1ebfn ch\u00ednh x\u00e1c m\u1ed9t<\/td>\n<td>M\u1ed9t \u0111\u1ebfn m\u1ed9t (1:1)<\/td>\n<\/tr>\n<tr>\n<td><code>||--o{<\/code><\/td>\n<td>Ch\u00ednh x\u00e1c m\u1ed9t \u0111\u1ebfn kh\u00f4ng ho\u1eb7c nhi\u1ec1u<\/td>\n<td>M\u1ed9t \u0111\u1ebfn nhi\u1ec1u (1:N)<\/td>\n<\/tr>\n<tr>\n<td><code>}|--|{<\/code><\/td>\n<td>M\u1ed9t ho\u1eb7c nhi\u1ec1u \u0111\u1ebfn m\u1ed9t ho\u1eb7c nhi\u1ec1u<\/td>\n<td>Nhi\u1ec1u \u0111\u1ebfn nhi\u1ec1u (N:M)<\/td>\n<\/tr>\n<tr>\n<td><code>|o--o{<\/code><\/td>\n<td>Kh\u00f4ng ho\u1eb7c m\u1ed9t \u0111\u1ebfn kh\u00f4ng ho\u1eb7c nhi\u1ec1u<\/td>\n<td>M\u1ed9t \u0111\u1ebfn nhi\u1ec1u t\u00f9y ch\u1ecdn<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr\/>\n<h2>V\u01b0\u1ee3t qua c\u00e1c \u0111i\u1ec3m \u0111au ph\u1ed5 bi\u1ebfn v\u00e0 gi\u1edbi h\u1ea1n c\u1ee7a PlantUML ERD<\/h2>\n<p>M\u1eb7c d\u00f9 PlantUML r\u1ea5t m\u1ea1nh m\u1ebd, nh\u01b0ng vi\u1ec7c l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c c\u00f4ng c\u1ee5 CLI c\u1ee5c b\u1ed9 ho\u1eb7c c\u00e0i \u0111\u1eb7t m\u00e1y ch\u1ee7 th\u01b0\u1eddng g\u00e2y kh\u00f3 kh\u0103n cho quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a nh\u00e0 ph\u00e1t tri\u1ec3n.<\/p>\n<h3>Kh\u1eafc ph\u1ee5c s\u1ef1 c\u1ed1 c\u00fa ph\u00e1p v\u00e0 s\u1eeda l\u1ed7i \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 b\u1edfi AI<\/h3>\n<p>M\u1ed9t d\u1ea5u ngo\u1eb7c thi\u1ebfu ho\u1eb7c c\u00fa ph\u00e1p quan h\u1ec7 kh\u00f4ng h\u1ee3p l\u1ec7 trong PlantUML c\u00f3 th\u1ec3 l\u00e0m d\u1eebng vi\u1ec7c hi\u1ec3n th\u1ecb m\u00e0 kh\u00f4ng cung c\u1ea5p ph\u1ea3n h\u1ed3i g\u1ee1 l\u1ed7i r\u00f5 r\u00e0ng. Vi\u1ec7c t\u00ecm ki\u1ebfm l\u1ed7i ch\u00ednh t\u1ea3 trong c\u00e1c l\u01b0\u1ee3c \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u l\u1edbn c\u00f3 th\u1ec3 t\u1ed1n th\u1eddi gian ph\u00e1t tri\u1ec3n qu\u00fd gi\u00e1.<\/p>\n<h3>Qu\u1ea3n l\u00fd c\u00e1c l\u01b0\u1ee3c \u0111\u1ed3 ph\u1ee9c t\u1ea1p v\u00e0 \u0111\u1ed9 d\u1ec5 \u0111\u1ecdc b\u1ed1 c\u1ee5c<\/h3>\n<p>Khi c\u00e1c l\u01b0\u1ee3c \u0111\u1ed3 m\u1edf r\u1ed9ng \u0111\u1ebfn h\u00e0ng ch\u1ee5c b\u1ea3ng, c\u00e1c thu\u1eadt to\u00e1n b\u1ed1 c\u1ee5c t\u1ef1 \u0111\u1ed9ng c\u1ee7a Graphviz c\u00f3 th\u1ec3 t\u1ea1o ra c\u00e1c \u0111\u01b0\u1eddng quan h\u1ec7 ch\u1ed3ng ch\u00e9o l\u00ean nhau. C\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n c\u1ea7n c\u00e1c c\u00f4ng c\u1ee5 cung c\u1ea5p ph\u1ea3n h\u1ed3i tr\u1ef1c quan t\u1ee9c th\u00ec \u0111\u1ec3 hi\u1ec7u ch\u1ec9nh c\u00e1c ch\u1ec9 d\u1eabn b\u1ed1 c\u1ee5c m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3.<\/p>\n<hr\/>\n<h2>T\u1ed1i \u01b0u h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c ERD PlantUML v\u1edbi VPasCode<\/h2>\n<p>N\u1ebfu b\u1ea1n \u0111ang t\u00ecm ki\u1ebfm m\u1ed9t <strong>tr\u00ecnh so\u1ea1n th\u1ea3o ERD PlantUML mi\u1ec5n ph\u00ed<\/strong> gi\u00fap lo\u1ea1i b\u1ecf nh\u1eefng r\u1eafc r\u1ed1i khi c\u00e0i \u0111\u1eb7t c\u1ee5c b\u1ed9, <a href=\"https:\/\/vpascode.com\" rel=\"noopener\" target=\"_blank\">Visual Paradigm VPasCode<\/a> cung c\u1ea5p m\u1ed9t gi\u1ea3i ph\u00e1p ho\u00e0n ch\u1ec9nh d\u1ef1a tr\u00ean tr\u00ecnh duy\u1ec7t tr\u1ef1c tuy\u1ebfn.<\/p>\n<p id=\"oICzpPg\"><img alt=\"Screenshot of Visual Paradigm VPasCode editing an PlantUML ERD in its PlantUML editor\" class=\"alignnone wp-image-1831 size-full\" decoding=\"async\" height=\"745\" sizes=\"(max-width: 1192px) 100vw, 1192px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a7211284a469.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a7211284a469.png 1192w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a7211284a469-300x188.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a7211284a469-1024x640.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a7211284a469-768x480.png 768w\" width=\"1192\"\/><\/p>\n<h3>Hi\u1ec3n th\u1ecb t\u1ee9c th\u00ec d\u1ef1a tr\u00ean tr\u00ecnh duy\u1ec7t v\u00e0 ph\u00e1t hi\u1ec7n \u0111\u1ecbnh d\u1ea1ng t\u1ef1 \u0111\u1ed9ng<\/h3>\n<p>VPasCode ho\u1ea1t \u0111\u1ed9ng nh\u01b0 m\u1ed9t c\u00f4ng c\u1ee5 PlantUML mi\u1ec5n ph\u00ed, d\u1ec5 s\u1eed d\u1ee5ng, kh\u00f4ng c\u1ea7n c\u00e0i \u0111\u1eb7t<strong>c\u00f4ng c\u1ee5 PlantUML mi\u1ec5n ph\u00ed<\/strong>. Ch\u1ec9 c\u1ea7n d\u00e1n \u0111o\u1ea1n m\u00e3 c\u1ee7a b\u1ea1n v\u00e0o tr\u00ecnh so\u1ea1n th\u1ea3o, n\u1ec1n t\u1ea3ng s\u1ebd t\u1ef1 \u0111\u1ed9ng ph\u00e1t hi\u1ec7n c\u00fa ph\u00e1p PlantUML \u0111\u1ec3 hi\u1ec3n th\u1ecb ERD c\u1ee7a b\u1ea1n ngay l\u1eadp t\u1ee9c.<\/p>\n<h3>S\u01a1 \u0111\u1ed3 \u0111a ng\u00f4n ng\u1eef v\u1edbi t\u00ednh n\u0103ng d\u1ecbch thu\u1eadt AI<\/h3>\n<p>Khi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c nh\u00f3m k\u1ef9 thu\u1eadt ph\u00e2n t\u00e1n, t\u00e0i li\u1ec7u th\u01b0\u1eddng c\u1ea7n \u0111\u01b0\u1ee3c \u0111\u1ecba ph\u01b0\u01a1ng h\u00f3a. VPasCode t\u00edch h\u1ee3p c\u00e1c t\u00ednh n\u0103ng d\u1ecbch thu\u1eadt AI b\u1ea3n \u0111\u1ecba, cho ph\u00e9p b\u1ea1n d\u1ecbch v\u0103n b\u1ea3n s\u01a1 \u0111\u1ed3 v\u00e0 nh\u00e3n th\u1ef1c th\u1ec3 sang nhi\u1ec1u ng\u00f4n ng\u1eef tr\u1ef1c ti\u1ebfp b\u00ean trong tr\u00ecnh so\u1ea1n th\u1ea3o ch\u1ec9 v\u1edbi m\u1ed9t c\u00fa nh\u1ea5p chu\u1ed9t.<\/p>\n<h3>Xu\u1ea5t v\u00e0 nh\u00fang ERD v\u00e0o OpenDocs v\u00e0 t\u00e0i li\u1ec7u k\u1ef9 thu\u1eadt<\/h3>\n<p>Khi ERD c\u1ee7a b\u1ea1n \u0111\u00e3 s\u1eb5n s\u00e0ng, h\u00e3y xu\u1ea5t thi\u1ebft k\u1ebf c\u1ee7a b\u1ea1n d\u01b0\u1edbi d\u1ea1ng t\u1ec7p PNG \u0111\u1ed9 ph\u00e2n gi\u1ea3i cao ho\u1eb7c t\u1ec7p SVG vect\u01a1. B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 t\u00edch h\u1ee3p s\u01a1 \u0111\u1ed3 tr\u1ef1c ti\u1ebfp v\u00e0o OpenDocs ho\u1eb7c t\u1ea1o li\u00ean k\u1ebft chia s\u1ebb t\u1ee9c th\u00ec cho c\u00e1c y\u00eau c\u1ea7u k\u00e9o (pull requests) v\u00e0 \u0111\u00e1nh gi\u00e1 thi\u1ebft k\u1ebf.<\/p>\n<hr\/>\n<h2>PlantUML so v\u1edbi Mermaid so v\u1edbi SQL: Ch\u1ecdn ph\u01b0\u01a1ng ph\u00e1p s\u01a1 \u0111\u1ed3 h\u00f3a m\u00e3 \u0111\u00fang<\/h2>\n<p>Vi\u1ec7c ch\u1ecdn \u0111\u1ecbnh d\u1ea1ng s\u01a1 \u0111\u1ed3 h\u00f3a m\u00e3 (DaC) ph\u00f9 h\u1ee3p ph\u1ee5 thu\u1ed9c v\u00e0o c\u00f4ng c\u1ee5 hi\u1ec7n c\u00f3 v\u00e0 y\u00eau c\u1ea7u d\u1ef1 \u00e1n c\u1ee7a \u0111\u1ed9i ng\u0169 b\u1ea1n.<\/p>\n<h3>Khi n\u00e0o n\u00ean s\u1eed d\u1ee5ng PlantUML so v\u1edbi Mermaid cho c\u00e1c l\u01b0\u1ee3c \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u<\/h3>\n<ul>\n<li><strong>Ch\u1ecdn PlantUML:<\/strong> Khi b\u1ea1n c\u1ea7n c\u00e1c kh\u1ea3 n\u0103ng m\u00f4 h\u00ecnh h\u00f3a n\u00e2ng cao, ch\u1ee7 \u0111\u1ec1 \u0111\u1ecbnh d\u1ea1ng t\u00f9y ch\u1ec9nh, h\u1ed7 tr\u1ee3 ERD Chen ho\u1eb7c c\u00e1c nh\u00f3m g\u00f3i ph\u1ee9c t\u1ea1p.<\/li>\n<li><strong>Ch\u1ecdn Mermaid:<\/strong> Khi b\u1ea1n th\u00edch c\u00fa ph\u00e1p \u0111\u01a1n gi\u1ea3n, nh\u1eb9 nh\u00e0ng, \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb tr\u1ef1c ti\u1ebfp b\u00ean trong c\u00e1c t\u1ec7p Markdown c\u1ee7a GitHub.<\/li>\n<\/ul>\n<blockquote style=\"background: #f9f9f9; border-left: 4px solid #0073aa; padding: 10px 15px; margin: 15px 0;\">\n<p><strong>M\u1eb9o chuy\u00ean gia:<\/strong> VPasCode h\u1ed7 tr\u1ee3 c\u1ea3 \u0111\u1ecbnh d\u1ea1ng PlantUML v\u00e0 Mermaid m\u1ed9t c\u00e1ch tr\u01a1n tru. B\u1ea1n c\u00f3 th\u1ec3 chuy\u1ec3n \u0111\u1ed5i gi\u1eefa c\u00e1c ng\u00f4n ng\u1eef m\u00f4 t\u1ea3 (DSL) trong c\u00f9ng m\u1ed9t tr\u00ecnh so\u1ea1n th\u1ea3o m\u00e0 kh\u00f4ng c\u1ea7n thay \u0111\u1ed5i quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a m\u00ecnh.<\/p>\n<\/blockquote>\n<h3>Hi\u1ec3n th\u1ecb ERD tr\u1ef1c ti\u1ebfp t\u1eeb c\u00e1c l\u01b0\u1ee3c \u0111\u1ed3 SQL th\u00f4<\/h3>\n<p>B\u00ean c\u1ea1nh c\u00e1c DSL bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3, VPasCode c\u00f3 th\u1ec3 ph\u00e2n t\u00edch tr\u1ef1c ti\u1ebfp c\u00e1c l\u1ec7nh DDL SQL th\u00f4, cho ph\u00e9p b\u1ea1n chuy\u1ec3n \u0111\u1ed5i c\u00e1c t\u1eadp l\u1ec7nh di chuy\u1ec3n c\u01a1 s\u1edf d\u1eef li\u1ec7u hi\u1ec7n c\u00f3 th\u00e0nh s\u01a1 \u0111\u1ed3 ER tr\u1ef1c quan \u0111\u01b0\u1ee3c render m\u00e0 kh\u00f4ng c\u1ea7n chuy\u1ec3n \u0111\u1ed5i th\u1ee7 c\u00f4ng.<\/p>\n<hr\/>\n<h2>C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p (FAQ)<\/h2>\n<h3>PlantUML c\u00f3 mi\u1ec5n ph\u00ed \u0111\u1ec3 s\u1eed d\u1ee5ng cho vi\u1ec7c t\u1ea1o s\u01a1 \u0111\u1ed3 ERD kh\u00f4ng?<\/h3>\n<p>C\u00f3, PlantUML l\u00e0 m\u00e3 ngu\u1ed3n m\u1edf. H\u01a1n n\u1eefa, c\u00e1c n\u1ec1n t\u1ea3ng tr\u1ef1c tuy\u1ebfn nh\u01b0 VPasCode cung c\u1ea5p truy c\u1eadp mi\u1ec5n ph\u00ed v\u00e0o ch\u1ec9nh s\u1eeda m\u00e3 d\u1ef1a tr\u00ean web, hi\u1ec3n th\u1ecb tr\u1ef1c ti\u1ebfp v\u00e0 xu\u1ea5t \u1ea3nh.<\/p>\n<h3>PlantUML c\u00f3 th\u1ec3 t\u1ef1 \u0111\u1ed9ng t\u1ea1o s\u01a1 \u0111\u1ed3 ERD t\u1eeb m\u1ed9t c\u01a1 s\u1edf d\u1eef li\u1ec7u kh\u00f4ng?<\/h3>\n<p>Ch\u00ednh PlantUML y\u00eau c\u1ea7u \u0111\u1ea7u v\u00e0o l\u00e0 script, nh\u01b0ng c\u00e1c c\u00f4ng c\u1ee5 c\u01a1 s\u1edf d\u1eef li\u1ec7u ho\u1eb7c tr\u00ecnh ch\u1ec9nh s\u1eeda tr\u1ef1c tuy\u1ebfn nh\u01b0 VPasCode c\u00f3 th\u1ec3 nh\u1eadn c\u00e1c script SQL ho\u1eb7c c\u1ea5u tr\u00fac d\u1eef li\u1ec7u v\u00e0 t\u1ef1 \u0111\u1ed9ng render ch\u00fang th\u00e0nh s\u01a1 \u0111\u1ed3 ER tr\u1ef1c quan.<\/p>\n<h3>L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 bi\u1ec3u di\u1ec5n c\u00e1c m\u1ed1i quan h\u1ec7 kh\u00f3a ngo\u1ea1i trong PlantUML?<\/h3>\n<p>B\u1ea1n c\u00f3 th\u1ec3 \u0111\u00e1nh d\u1ea5u kh\u00f3a ch\u00ednh v\u00e0 kh\u00f3a ngo\u1ea1i b\u1eb1ng c\u00e1c ki\u1ec3u d\u00e1ng nh\u01b0<code>&lt;&lt;PK&gt;&gt;<\/code> v\u00e0 <code>&lt;&lt;FK&gt;&gt;<\/code> b\u00ean c\u1ea1nh \u0111\u1ecbnh ngh\u0129a thu\u1ed9c t\u00ednh, v\u00e0 k\u1ebft n\u1ed1i c\u00e1c th\u1ef1c th\u1ec3 b\u1eb1ng c\u00fa ph\u00e1p ch\u00e2n chim nh\u01b0<code>||--o{<\/code>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>C\u00f3, PlantUML c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ERD (s\u01a1 \u0111\u1ed3 th\u1ef1c th\u1ec3 &#8211; m\u1ed1i quan h\u1ec7).N\u00f3 h\u1ed7 tr\u1ee3 m\u00f4 h\u00ecnh h\u00f3a l\u01b0\u1ee3c \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u m\u1ed9t c\u00e1ch t\u00edch h\u1ee3p b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng k\u00fd hi\u1ec7u chu\u1ea9n Information Engineering&#8230;<\/p>\n","protected":false},"author":4,"featured_media":1909,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","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":""}},"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[22],"tags":[],"class_list":["post-1908","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-insights"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Can PlantUML Draw ERD? Complete Guide &amp; Free Tool<\/title>\n<meta name=\"description\" content=\"Yes, PlantUML can draw ERDs! Learn PlantUML ERD syntax, crow&#039;s foot notation, and how to use a free PlantUML ERD editor with live preview.\" \/>\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\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Can PlantUML Draw ERD? Complete Guide &amp; Free Tool\" \/>\n<meta property=\"og:description\" content=\"Yes, PlantUML can draw ERDs! Learn PlantUML ERD syntax, crow&#039;s foot notation, and how to use a free PlantUML ERD editor with live preview.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-04T16:21:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/08\/plantuml-erd-diagram-as-code-guide-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1312\" \/>\n\t<meta property=\"og:image:height\" content=\"816\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"jick\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/\"},\"author\":{\"name\":\"jick\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\"},\"headline\":\"PlantUML c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ERD kh\u00f4ng? H\u01b0\u1edbng d\u1eabn ho\u00e0n ch\u1ec9nh &#038; C\u00f4ng c\u1ee5 mi\u1ec5n ph\u00ed\",\"datePublished\":\"2026-08-04T16:21:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/\"},\"wordCount\":2354,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/08\\\/plantuml-erd-diagram-as-code-guide-1.jpg\",\"articleSection\":[\"Insights\"],\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/\",\"name\":\"Can PlantUML Draw ERD? Complete Guide & Free Tool\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/08\\\/plantuml-erd-diagram-as-code-guide-1.jpg\",\"datePublished\":\"2026-08-04T16:21:03+00:00\",\"description\":\"Yes, PlantUML can draw ERDs! Learn PlantUML ERD syntax, crow's foot notation, and how to use a free PlantUML ERD editor with live preview.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/08\\\/plantuml-erd-diagram-as-code-guide-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/08\\\/plantuml-erd-diagram-as-code-guide-1.jpg\",\"width\":1312,\"height\":816},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PlantUML c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ERD kh\u00f4ng? H\u01b0\u1edbng d\u1eabn ho\u00e0n ch\u1ec9nh &#038; C\u00f4ng c\u1ee5 mi\u1ec5n ph\u00ed\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\",\"name\":\"jick\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"caption\":\"jick\"},\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/author\\\/jick\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Can PlantUML Draw ERD? Complete Guide & Free Tool","description":"Yes, PlantUML can draw ERDs! Learn PlantUML ERD syntax, crow's foot notation, and how to use a free PlantUML ERD editor with live preview.","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\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/","og_locale":"vi_VN","og_type":"article","og_title":"Can PlantUML Draw ERD? Complete Guide & Free Tool","og_description":"Yes, PlantUML can draw ERDs! Learn PlantUML ERD syntax, crow's foot notation, and how to use a free PlantUML ERD editor with live preview.","og_url":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/","og_site_name":"VPasCode","article_published_time":"2026-08-04T16:21:03+00:00","og_image":[{"width":1312,"height":816,"url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/08\/plantuml-erd-diagram-as-code-guide-1.jpg","type":"image\/jpeg"}],"author":"jick","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":false,"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"5 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/#article","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/"},"author":{"name":"jick","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6"},"headline":"PlantUML c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ERD kh\u00f4ng? H\u01b0\u1edbng d\u1eabn ho\u00e0n ch\u1ec9nh &#038; C\u00f4ng c\u1ee5 mi\u1ec5n ph\u00ed","datePublished":"2026-08-04T16:21:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/"},"wordCount":2354,"commentCount":0,"publisher":{"@id":"https:\/\/www.vpascode.com\/vn\/#organization"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/08\/plantuml-erd-diagram-as-code-guide-1.jpg","articleSection":["Insights"],"inLanguage":"vi","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/","url":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/","name":"Can PlantUML Draw ERD? Complete Guide & Free Tool","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/08\/plantuml-erd-diagram-as-code-guide-1.jpg","datePublished":"2026-08-04T16:21:03+00:00","description":"Yes, PlantUML can draw ERDs! Learn PlantUML ERD syntax, crow's foot notation, and how to use a free PlantUML ERD editor with live preview.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/#primaryimage","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/08\/plantuml-erd-diagram-as-code-guide-1.jpg","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/08\/plantuml-erd-diagram-as-code-guide-1.jpg","width":1312,"height":816},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/vn\/"},{"@type":"ListItem","position":2,"name":"PlantUML c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ERD kh\u00f4ng? H\u01b0\u1edbng d\u1eabn ho\u00e0n ch\u1ec9nh &#038; C\u00f4ng c\u1ee5 mi\u1ec5n ph\u00ed"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/vn\/#website","url":"https:\/\/www.vpascode.com\/vn\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/vn\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6","name":"jick","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","caption":"jick"},"url":"https:\/\/www.vpascode.com\/vn\/author\/jick\/"}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/posts\/1908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/comments?post=1908"}],"version-history":[{"count":0,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/posts\/1908\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media\/1909"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=1908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/categories?post=1908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/tags?post=1908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}