{"id":2238,"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\/"},"modified":"2026-08-04T16:21:03","modified_gmt":"2026-08-04T16:21:03","slug":"can-plantuml-draw-erd-complete-guide-free-tool","status":"publish","type":"post","link":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool\/","title":{"rendered":"PlantUML c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ERD kh\u00f4ng? H\u01b0\u1edbng d\u1eabn \u0111\u1ea7y \u0111\u1ee7 &#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-M\u1ed1i quan h\u1ec7).<\/strong>N\u00f3 h\u1ed7 tr\u1ee3 b\u1ea3n \u0111\u1ecba vi\u1ec7c m\u00f4 h\u00ecnh h\u00f3a l\u01b0\u1ee3c \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u b\u1eb1ng k\u00fd hi\u1ec7u K\u1ef9 thu\u1eadt Th\u00f4ng tin (ch\u00e2n qu\u1ea1) ti\u00eau chu\u1ea9n c\u0169ng nh\u01b0 k\u00fd hi\u1ec7u ERD Chen c\u1ed5 \u0111i\u1ec3n. 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 ER 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 y\u1ebfu t\u1ed1 tr\u1ef1c quan th\u1ee7 c\u00f4ng.<\/p>\n<p>Cho d\u00f9 b\u1ea1n c\u1ea7n \u00e1nh x\u1ea1 c\u00e1c kh\u00f3a ch\u00ednh, \u0111\u1ecbnh ngh\u0129a c\u00e1c 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, \u01b0u ti\u00ean m\u00e3. Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, ch\u00fang t\u00f4i s\u1ebd bao g\u1ed3m c\u00fa ph\u00e1p ERD c\u1ee7a PlantUML, c\u00e1c l\u1ef1c l\u01b0\u1ee3ng (cardinalities), 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 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 ERD: C\u00e2u tr\u1ea3 l\u1eddi nhanh &amp; 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-M\u1ed1i quan h\u1ec7 to\u00e0n di\u1ec7n ngay t\u1eeb \u0111\u1ea7u b\u1eb1ng v\u0103n b\u1ea3n \u0111\u00e1nh d\u1ea5u \u0111\u01a1n gi\u1ea3n. B\u1eb1ng c\u00e1ch t\u1eadn d\u1ee5ng c\u00e1c ti\u1ec7n \u00edch m\u1edf r\u1ed9ng ti\u00eau chu\u1ea9n, n\u00f3 hi\u1ec3n th\u1ecb c\u00e1c 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.<\/p>\n<h3>C\u00e1c k\u00fd hi\u1ec7u ERD \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 trong PlantUML (Ti\u00eau 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 ER:<\/p>\n<ul>\n<li><strong>K\u00fd hi\u1ec7u K\u1ef9 thu\u1eadt Th\u00f4ng tin (IE):<\/strong>K\u00fd hi\u1ec7u ch\u00e2n qu\u1ea1 ti\u00eau chu\u1ea9n \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng cho vi\u1ec7c 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 kh\u00f3a ch\u00ednh v\u00e0 kh\u00f3a ngo\u1ea1i r\u00f5 r\u00e0ng.<\/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 bi\u1ec3u di\u1ec5n c\u00e1c th\u1ef1c th\u1ec3 d\u01b0\u1edbi d\u1ea1ng h\u00ecnh ch\u1eef nh\u1eadt, c\u00e1c thu\u1ed9c t\u00ednh d\u01b0\u1edbi d\u1ea1ng h\u00ecnh b\u1ea7u d\u1ee5c, v\u00e0 c\u00e1c m\u1ed1i quan h\u1ec7 d\u01b0\u1edbi d\u1ea1ng h\u00ecnh thoi.<\/li>\n<\/ul>\n<h3>C\u00fa ph\u00e1p ERD c\u01a1 b\u1ea3n c\u1ee7a PlantUML v\u00e0 v\u00ed d\u1ee5 m\u00e3<\/h3>\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t v\u00ed d\u1ee5 l\u00e0m vi\u1ec7c t\u1ed1i thi\u1ec3u v\u1ec1 m\u1ed9t s\u01a1 \u0111\u1ed3 ER quan h\u1ec7 \u0111\u01b0\u1ee3c vi\u1ebft b\u1eb1ng k\u1ecbch b\u1ea3n PlantUML s\u1eed d\u1ee5ng k\u00fd hi\u1ec7u ch\u00e2n qu\u1ea1 ti\u00eau 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>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XP1FYy8m4CNlWNo7sPvKjg225n6nk2uMhOfMhoNR36oWQIIT7aJzxgQr_c4lEwSPteFVUpCfI5WgTSRP1_sYHZXcGkMSaJa26VWnH4Q3L1PJKiO9d65EYaxWxGkq7eW2IhV0cJDmqwclH4aOGhYAOJJQBCRZk-Rx3mzgeJBdE0JRwJpOjlg3GVkXfHO5eKm4EKCSHhDT74GRpgxlxBML3TnKsujUd__X_qRyVdewhZI9B17Qb7aLu6is3QDWsUfrF_lj9aJTztBnVNDky4FmtDzIB3pE9fXBzz0R\" rel=\"noopener noreferrer\" target=\"_blank\">\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>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span>\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:VP3D2i8m48JlUOgr9nKBAdWH4Oi_MBGgMhsMs2mOQ199jmTHtzsqL0KFxccM6VXsPv8JjrIeZ3NeWWhXcd6f6Paha86p8J8AXBIOaZIQCTGawGRUCKVh0S-XS0Bk3DoqgoMH0eOGRc8OZNQhyRYoVBzEeE8oS_ufs4-NmRxP7mnQjPLQv8GYuUJyE8pcXpY8TkpvXMwjgAccL1zijVtd_bwsU2VQxa_YMSALANH9disdOHIicxrkfzygwTM7ZuVlctlD7OBdQaenzzW4jN3jlG00\" \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\n!theme plain\ntop to bottom direction\n\nentity \"User\" as user {\n    * user_id : INT &lt;&lt;PK&gt;&gt;\n    --\n    * email : VARCHAR(255)\n    * created_at : TIMESTAMP\n}\n\nentity \"Order\" as order {\n    * order_id : INT &lt;&lt;PK&gt;&gt;\n    --\n    * user_id : INT &lt;&lt;FK&gt;&gt;\n    * total_amount : DECIMAL(10,2)\n}\n\nuser ||--o{ order : \"places\"\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VP3D2i8m48JlUOgr9nKBAdWH4Oi_MBGgMhsMs2mOQ199jmTHtzsqL0KFxccM6VXsPv8JjrIeZ3NeWWhXcd6f6Paha86p8J8AXBIOaZIQCTGawGRUCKVh0S-XS0Bk3DoqgoMH0eOGRc8OZNQhyRYoVBzEeE8oS_ufs4-NmRxP7mnQjPLQv8GYuUJyE8pcXpY8TkpvXMwjgAccL1zijVtd_bwsU2VQxa_YMSALANH9disdOHIicxrkfzygwTM7ZuVlctlD7OBdQaenzzW4jN3jlG00\" \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             <\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XP1FYy8m4CNlWNo7sPvKjg225n6nk2uMhOfMhoNR36oWQIIT7aJzxgQr_c4lEwSPteFVUpCfI5WgTSRP1_sYHZXcGkMSaJa26VWnH4Q3L1PJKiO9d65EYaxWxGkq7eW2IhV0cJDmqwclH4aOGhYAOJJQBCRZk-Rx3mzgeJBdE0JRwJpOjlg3GVkXfHO5eKm4EKCSHhDT74GRpgxlxBML3TnKsujUd__X_qRyVdewhZI9B17Qb7aLu6is3QDWsUfrF_lj9aJTztBnVNDky4FmtDzIB3pE9fXBzz0R\" rel=\"noopener noreferrer\" target=\"_blank\">\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>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span>\n<\/a>\n<\/div>\n<\/div>\n<p>\u0110\u00e2y l\u00e0 h\u00ecnh \u1ea3nh ERD \u0111\u00e3 \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-M\u1ed1i quan h\u1ec7 \u0111\u1ea7u ti\u00ean c\u1ee7a b\u1ea1n trong PlantUML<\/h2>\n<p>X\u00e2y d\u1ef1ng m\u1ed9t s\u01a1 \u0111\u1ed3 ERD trong PlantUML y\u00eau c\u1ea7u \u0111\u1ecbnh ngh\u0129a c\u00e1c th\u1ef1c th\u1ec3, g\u00e1n c\u00e1c ki\u1ec3u d\u1eef li\u1ec7u v\u00e0 r\u00e0ng bu\u1ed9c, c\u0169ng nh\u01b0 khai b\u00e1o c\u00e1c m\u1ed1i quan h\u1ec7 v\u1edbi c\u00e1c b\u1ed9 n\u1ed1i l\u1ef1c l\u01b0\u1ee3ng (cardinality) ph\u00f9 h\u1ee3p.<\/p>\n<h3>\u0110\u1ecbnh ngh\u0129a 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 t\u1eeb kh\u00f3a <code>entity<\/code> keyword. 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 t\u1ed5 ch\u1ee9c c\u00e1c thu\u1ed9c t\u00ednh b\u1eb1ng c\u00e1c d\u1ea5u ph\u00e2n c\u00e1ch 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 chung.<\/p>\n<ul>\n<li><strong>Kh\u00f3a ch\u00ednh (PK):<\/strong> \u0110\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh b\u1eb1ng d\u1ea5u sao (&#8220;<code>*<\/code>) v\u00e0 \u0111\u01b0\u1ee3c g\u1eafn th\u1ebb v\u1edbi &#8220;<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 &#8220;<code>&lt;&lt;FK&gt;&gt;<\/code> \u0111\u1ec3 bi\u1ec3u th\u1ecb c\u00e1c tham chi\u1ebfu quan h\u1ec7.<\/li>\n<li><strong>Tr\u01b0\u1eddng b\u1eaft bu\u1ed9c:<\/strong> \u0110\u01b0\u1ee3c l\u00e0m n\u1ed5i b\u1eadt b\u1eb1ng d\u1ea5u sao (&#8220;<code>*<\/code>) tr\u01b0\u1edbc t\u00ean c\u1ed9t.<\/li>\n<\/ul>\n<h3>\u00c1nh x\u1ea1 l\u1ef1c l\u01b0\u1ee3ng v\u00e0 c\u00e1c lo\u1ea1i quan h\u1ec7 (1:1, 1:N, N:M)<\/h3>\n<p>C\u00e1c \u0111\u01b0\u1eddng 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 d\u1ea1ng ch\u00e2n qu\u1ea1:<\/p>\n<table>\n<thead>\n<tr>\n<th>C\u00fa ph\u00e1p<\/th>\n<th>\u00dd ngh\u0129a k\u00fd hi\u1ec7u<\/th>\n<th>Lo\u1ea1i 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-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-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-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-nhi\u1ec1u t\u00f9y ch\u1ecdn<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h2>Kh\u1eafc ph\u1ee5c c\u00e1c \u0111i\u1ec3m \u0111au v\u00e0 h\u1ea1n ch\u1ebf ph\u1ed5 bi\u1ebfn c\u1ee7a PlantUML ERD<\/h2>\n<p>M\u1eb7c d\u00f9 PlantUML r\u1ea5t m\u1ea1nh m\u1ebd, 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 ra s\u1ef1 c\u1ea3n tr\u1edf trong quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a nh\u00e0 ph\u00e1t tri\u1ec3n.<\/p>\n<h3>G\u1ee1 l\u1ed7i 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 b\u1ecb 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 qu\u00e1 tr\u00ecnh 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 ra c\u00e1c 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 k\u00e9m 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 kh\u1ea3 n\u0103ng \u0111\u1ecdc b\u1ed1 c\u1ee5c<\/h3>\n<p>Khi c\u00e1c l\u01b0\u1ee3c \u0111\u1ed3 m\u1edf r\u1ed9ng l\u00ean \u0111\u1ebfn h\u00e0ng ch\u1ee5c b\u1ea3ng, c\u00e1c thu\u1eadt to\u00e1n t\u1ef1 \u0111\u1ed9ng b\u1ed1 tr\u00ed c\u1ee7a Graphviz c\u00f3 th\u1ec3 t\u1ea1o ra c\u00e1c \u0111\u01b0\u1eddng quan h\u1ec7 ch\u1ed3ng ch\u00e9o. 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 tinh 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 PlantUML ERD v\u1edbi VPasCode &amp; AI<\/h2>\n<p>N\u1ebfu b\u1ea1n \u0111ang t\u00ecm ki\u1ebfm m\u1ed9t c\u00f4ng c\u1ee5 \u0111\u00e1ng tin c\u1eady<strong>bi\u00ean t\u1eadp vi\u00ean PlantUML ERD mi\u1ec5n ph\u00ed<\/strong>lo\u1ea1i b\u1ecf c\u00e1c 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 tr\u1ef1c tuy\u1ebfn d\u1ef1a tr\u00ean tr\u00ecnh duy\u1ec7t to\u00e0n di\u1ec7n \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 b\u1edfi c\u00e1c t\u00ednh n\u0103ng AI b\u1ea3n \u0111\u1ecba.<\/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>T\u1ea1o v\u00e0 ch\u1ec9nh s\u1eeda s\u01a1 \u0111\u1ed3 AI t\u1ee9c th\u00ec<\/h3>\n<p>Nh\u01b0 \u0111\u00e3 n\u00eau trong b\u1ea3n c\u1eadp nh\u1eadt c\u1ee7a ch\u00fang t\u00f4i<a href=\"https:\/\/updates.visual-paradigm.com\/releases\/vpascode-ai-diagram-generation-code-modification-update\/\" rel=\"noopener\" target=\"_blank\">C\u1eadp nh\u1eadt l\u1edbn VPasCode: T\u1ea1o v\u00e0 Ch\u1ec9nh s\u1eeda S\u01a1 \u0111\u1ed3 T\u1ee9c th\u00ec v\u1edbi AI<\/a>, b\u1ea1n c\u00f3 th\u1ec3 b\u1ecf qua vi\u1ec7c l\u1eadp tr\u00ecnh th\u1ee7 c\u00f4ng b\u1eb1ng c\u00e1ch nh\u1eadp c\u00e1c l\u1ec7nh b\u1eb1ng ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean\u2014ch\u1eb3ng h\u1ea1n nh\u01b0<em>&#8220;T\u1ea1o m\u1ed9t s\u01a1 \u0111\u1ed3 ERD trong PlantUML cho c\u01a1 s\u1edf d\u1eef li\u1ec7u th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed&#8221;<\/em>\u2014cho ph\u00e9p b\u1ea1n t\u1ea1o v\u00e0 t\u00e1i c\u1ea5u tr\u00fac c\u00e1c l\u01b0\u1ee3c \u0111\u1ed3 ngay b\u00ean trong tr\u00ecnh bi\u00ean t\u1eadp ch\u1ec9 trong v\u00e0i gi\u00e2y.<\/p>\n<h3>Hi\u1ec3n th\u1ecb d\u1ef1a tr\u00ean tr\u00ecnh duy\u1ec7t t\u1ee9c th\u00ec &amp; Ph\u00e1t hi\u1ec7n \u0111\u1ecbnh d\u1ea1ng t\u1ef1 \u0111\u1ed9ng<\/h3>\n<p>VPasCode \u0111\u00f3ng vai tr\u00f2 l\u00e0 m\u1ed9t c\u00f4ng c\u1ee5<strong>PlantUML mi\u1ec5n ph\u00ed<\/strong>. Ch\u1ec9 c\u1ea7n d\u00e1n k\u1ecbch b\u1ea3n c\u1ee7a b\u1ea1n ho\u1eb7c nh\u1eadp y\u00eau c\u1ea7u c\u1ee7a b\u1ea1n v\u00e0o tr\u00ecnh bi\u00ean t\u1eadp, v\u00e0 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 s\u01a1 \u0111\u1ed3 ERD c\u1ee7a b\u1ea1n theo th\u1eddi gian th\u1ef1c.<\/p>\n<h3>S\u01a1 \u0111\u1ed3 \u0111a ng\u00f4n ng\u1eef v\u1edbi d\u1ecbch 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 bao g\u1ed3m c\u00e1c t\u00ednh n\u0103ng d\u1ecbch 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 bi\u00ean t\u1eadp 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 &amp; T\u00e0i li\u1ec7u K\u1ef9 thu\u1eadt<\/h3>\n<p>Khi s\u01a1 \u0111\u1ed3 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 SVG vector. 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 c\u00e1c 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<p><em>(L\u01b0u \u00fd: C\u00e1c t\u00ednh n\u0103ng t\u1ea1o s\u01a1 \u0111\u1ed3 AI n\u00e2ng cao, ch\u1ec9nh s\u1eeda m\u00e3 v\u00e0 s\u1eeda l\u1ed7i c\u00f3 s\u1eb5n trong Visual Paradigm Online Deluxe Edition \/ Visual Paradigm Desktop Professional Edition+).<\/em><\/p>\n<hr \/>\n<h2>PlantUML so v\u1edbi Mermaid so v\u1edbi SQL: L\u1ef1a ch\u1ecdn ph\u01b0\u01a1ng ph\u00e1p S\u01a1 \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng M\u00e3 ph\u00f9 h\u1ee3p<\/h2>\n<p>Vi\u1ec7c l\u1ef1a ch\u1ecdn \u0111\u1ecbnh d\u1ea1ng S\u01a1 \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng M\u00e3 (DaC) ph\u00f9 h\u1ee3p ph\u1ee5 thu\u1ed9c v\u00e0o c\u00f4ng c\u1ee5 hi\u1ec7n c\u00f3 c\u1ee7a nh\u00f3m b\u1ea1n v\u00e0 c\u00e1c y\u00eau c\u1ea7u c\u1ee7a d\u1ef1 \u00e1n.<\/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 t\u00f9y ch\u1ec9nh, h\u1ed7 tr\u1ee3 Chen ERD ho\u1eb7c c\u00e1c nh\u00f3m g\u00f3i ph\u1ee9c t\u1ea1p.<\/li>\n<li><strong>Ch\u1ecdn Mermaid:<\/strong> Khi b\u1ea1n \u01b0u ti\u00ean c\u00fa ph\u00e1p \u0111\u01a1n gi\u1ea3n, nh\u1eb9 nh\u00e0ng \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb g\u1ed1c b\u00ean trong c\u00e1c t\u1ec7p GitHub Markdown.<\/li>\n<\/ul>\n<blockquote style=\"background: #f9f9f9; border-left: 4px solid #0073aa; padding: 10px 15px; margin: 15px 0;\"><p><strong>M\u1eb9o chuy\u00ean nghi\u1ec7p:<\/strong> VPasCode h\u1ed7 tr\u1ee3 c\u1ea3 hai \u0111\u1ecbnh d\u1ea1ng PlantUML v\u00e0 Mermaid m\u1ed9t c\u00e1ch li\u1ec1n m\u1ea1ch. B\u1ea1n c\u00f3 th\u1ec3 chuy\u1ec3n \u0111\u1ed5i gi\u1eefa c\u00e1c ng\u00f4n ng\u1eef 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><\/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>Ngo\u00e0i c\u00e1c ng\u00f4n ng\u1eef DSL s\u01a1 \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3, <a href=\"https:\/\/www.vpascode.com\/editor\/\">VPasCode<\/a> c\u00f3 th\u1ec3 ph\u00e2n t\u00edch tr\u1ef1c ti\u1ebfp c\u00e1c c\u00e2u l\u1ec7nh DDL SQL th\u00f4, cho ph\u00e9p b\u1ea1n chuy\u1ec3n \u0111\u1ed5i tr\u1ef1c ti\u1ebfp c\u00e1c k\u1ecbch b\u1ea3n di chuy\u1ec3n c\u01a1 s\u1edf d\u1eef li\u1ec7u hi\u1ec7n c\u00f3 th\u00e0nh c\u00e1c ERD tr\u1ef1c quan \u0111\u00e3 \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb 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 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 quy\u1ec1n truy c\u1eadp mi\u1ec5n ph\u00ed v\u00e0o vi\u1ec7c ch\u1ec9nh s\u1eeda m\u00e3 d\u1ef1a tr\u00ean web, hi\u1ec3n th\u1ecb tr\u1ef1c ti\u1ebfp v\u00e0 xu\u1ea5t h\u00ecnh \u1ea3nh.<\/p>\n<h3>PlantUML c\u00f3 th\u1ec3 t\u1ef1 \u0111\u1ed9ng t\u1ea1o ERD t\u1eeb c\u01a1 s\u1edf d\u1eef li\u1ec7u kh\u00f4ng?<\/h3>\n<p>B\u1ea3n th\u00e2n PlantUML y\u00eau c\u1ea7u \u0111\u1ea7u v\u00e0o l\u00e0 k\u1ecbch b\u1ea3n, nh\u01b0ng c\u00e1c c\u00f4ng c\u1ee5 c\u01a1 s\u1edf d\u1eef li\u1ec7u ho\u1eb7c tr\u00ecnh so\u1ea1n th\u1ea3o tr\u1ef1c tuy\u1ebfn nh\u01b0 VPasCode c\u00f3 th\u1ec3 nh\u1eadn c\u00e1c k\u1ecbch b\u1ea3n SQL, c\u1ea5u tr\u00fac d\u1eef li\u1ec7u ho\u1eb7c c\u00e1c l\u1eddi nh\u1eafc AI b\u1eb1ng ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean v\u00e0 t\u1ef1 \u0111\u1ed9ng hi\u1ec3n th\u1ecb ch\u00fang th\u00e0nh c\u00e1c 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 k\u00fd hi\u1ec7u kh\u00f3a ch\u00ednh v\u00e0 kh\u00f3a ngo\u1ea1i b\u1eb1ng c\u00e1c bi\u1ec7t danh nh\u01b0 <code>&lt;&lt;PK&gt;&gt;<\/code> v\u00e0 <code>&lt;&lt;FK&gt;&gt;<\/code> b\u00ean c\u1ea1nh c\u00e1c \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 qu\u1ea1 nh\u01b0 <code>||--o{<\/code>.<\/p>\n","protected":false},"excerpt":{"rendered":"C\u00f3, PlantUML c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ERD (S\u01a1 \u0111\u1ed3 Th\u1ef1c th\u1ec3-M\u1ed1i quan h\u1ec7).N\u00f3 h\u1ed7 tr\u1ee3 b\u1ea3n \u0111\u1ecba vi\u1ec7c m\u00f4 h\u00ecnh h\u00f3a l\u01b0\u1ee3c \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u b\u1eb1ng k\u00fd hi\u1ec7u K\u1ef9 thu\u1eadt Th\u00f4ng tin (ch\u00e2n qu\u1ea1) ti\u00eau chu\u1ea9n c\u0169ng&#8230;","protected":false},"author":4,"featured_media":2239,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Can PlantUML Draw ERD? Complete Guide & Free Tool","_yoast_wpseo_metadesc":"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.","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":""}},"source_url":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[22],"tags":[],"asset-category":[],"class_list":["post-2238","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-insights"],"source_url":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","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\/\" \/>\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\/\" \/>\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-2.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\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool\\\/\"},\"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 \u0111\u1ea7y \u0111\u1ee7 &#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\\\/\"},\"wordCount\":2565,\"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\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/08\\\/plantuml-erd-diagram-as-code-guide-2.jpg\",\"articleSection\":[\"Insights\"],\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool\\\/\",\"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\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/08\\\/plantuml-erd-diagram-as-code-guide-2.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\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/08\\\/plantuml-erd-diagram-as-code-guide-2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/08\\\/plantuml-erd-diagram-as-code-guide-2.jpg\",\"width\":1312,\"height\":816},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/can-plantuml-draw-erd-complete-guide-free-tool\\\/#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 \u0111\u1ea7y \u0111\u1ee7 &#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\/","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\/","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-2.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\/#article","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool\/"},"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 \u0111\u1ea7y \u0111\u1ee7 &#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\/"},"wordCount":2565,"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\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/08\/plantuml-erd-diagram-as-code-guide-2.jpg","articleSection":["Insights"],"inLanguage":"vi","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool\/","url":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool\/","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\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/08\/plantuml-erd-diagram-as-code-guide-2.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\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool\/#primaryimage","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/08\/plantuml-erd-diagram-as-code-guide-2.jpg","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/08\/plantuml-erd-diagram-as-code-guide-2.jpg","width":1312,"height":816},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/vn\/can-plantuml-draw-erd-complete-guide-free-tool\/#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 \u0111\u1ea7y \u0111\u1ee7 &#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\/2238","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=2238"}],"version-history":[{"count":0,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/posts\/2238\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media\/2239"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=2238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/categories?post=2238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/tags?post=2238"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/asset-category?post=2238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}