{"id":2692,"date":"2026-07-14T14:23:12","date_gmt":"2026-07-14T06:23:12","guid":{"rendered":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/"},"modified":"2026-07-14T14:23:12","modified_gmt":"2026-07-14T06:23:12","slug":"free-sql-to-erd-tool-online-editor","status":"publish","type":"releases","link":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/","title":{"rendered":"Chuy\u1ec3n \u0111\u1ed5i SQL th\u00e0nh s\u01a1 \u0111\u1ed3 ER tr\u1ef1c quan ngay l\u1eadp t\u1ee9c: VPasCode gi\u1edbi thi\u1ec7u h\u1ed7 tr\u1ee3 t\u01b0\u01a1ng t\u00e1c chuy\u1ec3n \u0111\u1ed5i SQL th\u00e0nh s\u01a1 \u0111\u1ed3"},"content":{"rendered":"<p>Thi\u1ebft k\u1ebf v\u00e0 t\u00e0i li\u1ec7u c\u01a1 s\u1edf d\u1eef li\u1ec7u v\u1eeba tr\u1edf n\u00ean tr\u01a1n tru h\u01a1n r\u1ea5t nhi\u1ec1u. N\u1ebfu b\u1ea1n t\u1eebng m\u1ea5t h\u00e0ng gi\u1edd \u0111\u1ec3 k\u00e9o, th\u1ea3 v\u00e0 c\u0103n ch\u1ec9nh c\u00e1c h\u1ed9p th\u1ee7 c\u00f4ng nh\u1eb1m t\u1ea1o s\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 (ERD), Visual Paradigm c\u00f3 tin tuy\u1ec7t v\u1eddi d\u00e0nh cho b\u1ea1n. Ch\u00fang t\u00f4i \u0111\u00e3 ch\u00ednh th\u1ee9c n\u00e2ng c\u1ea5p m\u1ea1nh m\u1ebd n\u1ec1n t\u1ea3ng t\u00edch h\u1ee3p chuy\u1ec3n \u0111\u1ed5i v\u0103n b\u1ea3n th\u00e0nh s\u01a1 \u0111\u1ed3 c\u1ee7a m\u00ecnh, <strong>VPasCode<\/strong>, b\u1eb1ng c\u00e1ch gi\u1edbi thi\u1ec7u h\u1ed7 tr\u1ee3 m\u1ea1nh m\u1ebd cho m\u00e3 SQL g\u1ed1c.<\/p>\n<p>V\u1edbi c\u1ea3i ti\u1ebfn m\u1edbi nh\u1ea5t n\u00e0y, VPasCode hi\u1ec7n ho\u1ea1t \u0111\u1ed9ng nh\u01b0 m\u1ed9t c\u00f4ng c\u1ee5 <strong>c\u00f4ng c\u1ee5 SQL mi\u1ec5n ph\u00ed chuy\u1ec3n th\u00e0nh s\u01a1 \u0111\u1ed3 ERD<\/strong>. B\u1ea1n ch\u1ec9 c\u1ea7n d\u00e1n c\u00e1c \u0111o\u1ea1n m\u00e3 SQL DDL th\u00f4 v\u00e0o m\u00f4i tr\u01b0\u1eddng c\u1ee7a ch\u00fang t\u00f4i v\u00e0 quan s\u00e1t s\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 ho\u00e0n ch\u1ec9nh \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb ngay l\u1eadp t\u1ee9c tr\u01b0\u1edbc m\u1eaft b\u1ea1n.<\/p>\n<p id=\"yjbPRfO\"><img fetchpriority=\"high\" alt=\"A screenshot of Visual Paradigm's VPasCode that shows the editing of a SQL, with the code rendered as an ERD in Mermaid format\" class=\"alignnone wp-image-2939 size-full\" decoding=\"async\" fetchpriority=\"high\" height=\"745\" sizes=\"(max-width: 1192px) 100vw, 1192px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d47b6a5f3.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d47b6a5f3.png 1192w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d47b6a5f3-300x188.png 300w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d47b6a5f3-1024x640.png 1024w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d47b6a5f3-768x480.png 768w\" width=\"1192\"\/><\/p>\n<p>D\u00f9 b\u1ea1n l\u00e0 ki\u1ebfn tr\u00fac s\u01b0 d\u1eef li\u1ec7u \u0111ang thi\u1ebft k\u1ebf m\u1ed9t h\u1ec7 sinh th\u00e1i doanh nghi\u1ec7p, nh\u00e0 ph\u00e1t tri\u1ec3n to\u00e0n stack \u0111ang th\u1eed nghi\u1ec7m m\u1ed9t t\u00ednh n\u0103ng m\u1edbi, hay sinh vi\u00ean \u0111ang h\u1ecdc h\u1ec7 th\u1ed1ng qu\u1ea3n l\u00fd c\u01a1 s\u1edf d\u1eef li\u1ec7u quan h\u1ec7, c\u00f4ng c\u1ee5 <strong>c\u00f4ng c\u1ee5 s\u01a1 \u0111\u1ed3 ERD SQL tr\u1ef1c tuy\u1ebfn<\/strong>\u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf nh\u1eb1m ti\u1ebft ki\u1ec7m th\u1eddi gian cho b\u1ea1n v\u00e0 lo\u1ea1i b\u1ecf c\u00e1c \u0111i\u1ec3m ngh\u1ebdn trong vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 th\u1ee7 c\u00f4ng.<\/p>\n<hr\/>\n<h2>VPasCode l\u00e0 g\u00ec? N\u1ec1n t\u1ea3ng s\u01a1 \u0111\u1ed3 theo m\u00e3 ngu\u1ed3n t\u1ed1i \u01b0u<\/h2>\n<p>N\u1ebfu b\u1ea1n m\u1edbi s\u1eed d\u1ee5ng n\u1ec1n t\u1ea3ng n\u00e0y, \u0111\u00e2y l\u00e0 ph\u1ea7n t\u00f3m t\u1eaft nhanh: <a href=\"https:\/\/www.vpascode.com\/overview\/\">VPasCode<\/a>l\u00e0 trung t\u00e2m t\u00edch h\u1ee3p chuy\u1ec3n \u0111\u1ed5i v\u0103n b\u1ea3n th\u00e0nh s\u01a1 \u0111\u1ed3 c\u1ee7a Visual Paradigm. Thay v\u00ec c\u00e1c c\u00f4ng c\u1ee5 v\u1ebd truy\u1ec1n th\u1ed1ng ki\u1ec3u nh\u1ea5p chu\u1ed9t v\u00e0 k\u00e9o th\u1ea3, VPasCode \u00e1p d\u1ee5ng tri\u1ebft l\u00fd \u201cS\u01a1 \u0111\u1ed3 theo m\u00e3 ngu\u1ed3n\u201d (DaC). N\u00f3 cho ph\u00e9p b\u1ea1n x\u00e2y d\u1ef1ng, duy tr\u00ec v\u00e0 ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n c\u00e1c ki\u1ebfn tr\u00fac h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p, s\u01a1 \u0111\u1ed3 lu\u1ed3ng v\u00e0 s\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1 b\u1eb1ng c\u00fa ph\u00e1p v\u0103n b\u1ea3n \u0111\u01a1n gi\u1ea3n, d\u1ec5 \u0111\u1ecdc.<\/p>\n<p>N\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c trang b\u1ecb tr\u00ecnh so\u1ea1n th\u1ea3o m\u00e3 nhanh nh\u01b0 ch\u1edbp \u1edf b\u00ean tr\u00e1i v\u00e0 tr\u00ecnh hi\u1ec3n th\u1ecb s\u01a1 \u0111\u1ed3 th\u1eddi gian th\u1ef1c \u1edf b\u00ean ph\u1ea3i. V\u00ec \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng nh\u01b0 m\u1ed9t m\u00f4i tr\u01b0\u1eddng t\u00edch h\u1ee3p th\u1ef1c s\u1ef1, VPasCode v\u1ec1 m\u1eb7t l\u00fd thuy\u1ebft h\u1ed7 tr\u1ee3 t\u1ea5t c\u1ea3 c\u00e1c chu\u1ea9n chuy\u1ec3n \u0111\u1ed5i v\u0103n b\u1ea3n th\u00e0nh s\u01a1 \u0111\u1ed3 ph\u1ed5 bi\u1ebfn, bao g\u1ed3m c\u00fa ph\u00e1p PlantUML v\u00e0 Mermaid \u0111\u1ea7y \u0111\u1ee7. N\u00f3 mang \u0111\u1ebfn cho b\u1ea1n s\u1ef1 k\u1ebft h\u1ee3p ho\u00e0n h\u1ea3o gi\u1eefa c\u00e1c b\u1ed9 \u0111\u1ed9ng l\u1ef1c m\u00e3 ngu\u1ed3n m\u1edf v\u00e0 h\u1ec7 sinh th\u00e1i web hi\u1ec7n \u0111\u1ea1i c\u1ee7a Visual Paradigm.<\/p>\n<hr\/>\n<h2>T\u00ednh linh ho\u1ea1t \u0111\u1ed9ng c\u01a1 k\u00e9p: Tr\u00ecnh ch\u1ec9nh s\u1eeda s\u01a1 \u0111\u1ed3 ERD SQL t\u1ed1i \u01b0u<\/h2>\n<p>Trong khi c\u00e1c c\u00f4ng c\u1ee5 chuy\u1ec3n \u0111\u1ed5i m\u00e3 th\u00e0nh s\u01a1 \u0111\u1ed3 th\u00f4ng th\u01b0\u1eddng bu\u1ed9c b\u1ea1n ph\u1ea3i s\u1eed d\u1ee5ng m\u1ed9t \u0111\u1ed9ng c\u01a1 b\u1ed1 c\u1ee5c duy nh\u1ea5t, VPasCode mang \u0111\u1ebfn cho b\u1ea1n quy\u1ec1n ki\u1ec3m so\u00e1t ho\u00e0n to\u00e0n v\u1ec1 s\u00e1ng t\u1ea1o v\u00e0 ki\u1ebfn tr\u00fac. Kh\u00e1c v\u1edbi c\u00e1c ng\u00f4n ng\u1eef kh\u00e1c m\u00e0 ch\u00fang t\u00f4i h\u1ed7 tr\u1ee3, tr\u00ecnh ch\u1ec9nh s\u1eeda <strong>tr\u00ecnh ch\u1ec9nh s\u1eeda s\u01a1 \u0111\u1ed3 ERD SQL<\/strong>gi\u1edbi thi\u1ec7u m\u1ed9t c\u00f4ng t\u1eafc hi\u1ec3n th\u1ecb k\u00e9p \u0111\u1ed9c \u0111\u00e1o.<\/p>\n<p>\u1ede ph\u00eda tr\u00ean tr\u00ecnh so\u1ea1n th\u1ea3o m\u00e3 SQL trong khung b\u00ean tr\u00e1i, b\u1ea1n s\u1ebd t\u00ecm th\u1ea5y m\u1ed9t menu th\u1ea3 xu\u1ed1ng m\u1eb7c \u0111\u1ecbnh l\u00e0 <strong>\u201cMermaid\u201d<\/strong>. N\u1ebfu b\u1ea1n mu\u1ed1n xem ho\u1eb7c xu\u1ea5t thi\u1ebft k\u1ebf c\u01a1 s\u1edf d\u1eef li\u1ec7u c\u1ee7a m\u00ecnh b\u1eb1ng quy t\u1eafc c\u00fa ph\u00e1p PlantUML thay v\u00ec v\u1eady, b\u1ea1n ch\u1ec9 c\u1ea7n nh\u1ea5p v\u00e0o menu th\u1ea3 xu\u1ed1ng v\u00e0 chuy\u1ec3n sang <strong>\u201cPlantUML\u201d<\/strong>. H\u1ec7 th\u1ed1ng s\u1ebd t\u1ef1 \u0111\u1ed9ng x\u1eed l\u00fd \u0111o\u1ea1n m\u00e3 SQL c\u1ee7a b\u1ea1n v\u00e0 chuy\u1ec3n \u0111\u1ed5i n\u00f3 ngay l\u1eadp t\u1ee9c b\u1eb1ng \u0111\u1ed9ng c\u01a1 b\u1ea1n \u0111\u00e3 ch\u1ecdn.<\/p>\n<hr\/>\n<h2>Xem n\u00f3 ho\u1ea1t \u0111\u1ed9ng: 4 v\u00ed d\u1ee5 t\u01b0\u01a1ng t\u00e1c th\u1ef1c t\u1ebf<\/h2>\n<p>\u0110\u1ec3 ch\u1ee9ng minh t\u00ednh linh ho\u1ea1t c\u1ee7a t\u00ednh n\u0103ng m\u1edbi n\u00e0y trong nhi\u1ec1u lo\u1ea1i ng\u1eef ngh\u0129a c\u01a1 s\u1edf d\u1eef li\u1ec7u v\u00e0 ki\u1ebfn tr\u00fac ph\u1ea7n m\u1ec1m kh\u00e1c nhau, ch\u00fang t\u00f4i \u0111\u00e3 chu\u1ea9n b\u1ecb b\u1ed1n v\u00ed d\u1ee5 t\u01b0\u01a1ng t\u00e1c. B\u1ea1n c\u00f3 th\u1ec3 nh\u1ea5p v\u00e0o c\u00e1c li\u00ean k\u1ebft d\u01b0\u1edbi m\u1ed7i m\u1eabu \u0111\u1ec3 m\u1edf ch\u00fang tr\u1ef1c ti\u1ebfp trong m\u00f4i tr\u01b0\u1eddng <strong>c\u00f4ng c\u1ee5 s\u01a1 \u0111\u1ed3 ERD SQL tr\u1ef1c tuy\u1ebfn<\/strong>m\u00f4i tr\u01b0\u1eddng.<\/p>\n<h3>1. S\u01a1 \u0111\u1ed3 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed (SQL chu\u1ea9n)<\/h3>\n<p>S\u01a1 \u0111\u1ed3 quan h\u1ec7 chu\u1ea9n n\u00e0y minh h\u1ecda c\u00e1c m\u1ed1i quan h\u1ec7 th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed kinh \u0111i\u1ec3n: ng\u01b0\u1eddi d\u00f9ng, \u0111\u1ecba ch\u1ec9, s\u1ea3n ph\u1ea9m, \u0111\u01a1n h\u00e0ng, c\u00e1c m\u1ee5c chi ti\u1ebft \u0111\u01a1n h\u00e0ng v\u00e0 \u0111\u00e1nh gi\u00e1 s\u1ea3n ph\u1ea9m, v\u1edbi c\u00e1c tham chi\u1ebfu kh\u00f3a ch\u00ednh v\u00e0 kh\u00f3a ngo\u1ea1i ti\u00eau chu\u1ea9n.<\/p>\n<p id=\"trovHxL\"><img alt=\"A Mermaid ERD rendered from a SQL, edited with Visual Paradigm's VPasCode Diagram-as-Code (DaC) platform: An Ecommerce schema example\" class=\"alignnone wp-image-2940\" decoding=\"async\" height=\"1286\" sizes=\"(max-width: 800px) 100vw, 800px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d48997de2.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d48997de2.png 863w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d48997de2-187x300.png 187w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d48997de2-637x1024.png 637w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d48997de2-768x1234.png 768w\" width=\"800\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Sql<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/#sql:eNqdlFFvgjAUhd9N+A\/3UZI9qJvLkj1VUh0Zgqt1mU+kg7o0IrhSXPz3G6AgatXslXN773dOL7UIRhQDRQMHQ5ZymULbaAGIEAb2yHYpTIg9RmQOr3h+lyt8xUQE74hYL4i0e\/2+Ca5HwZ05Dsxc+22Gi7JFFkV+zFa8Ku32OmYhBZIzxUOfKaD2GE8pGk+qHkbLfDZaRss6BGNhKHma8qtwuQO\/liswgoeYYNfC09JkW4QlSyRi3j3vpmQValvJT3sDSRYruYXyjHmZfS2TMAvUVfR0mVWDHh\/Oh9rIs9fpHMGupQi4H\/D4b9qh\/UJkgRIbDgPPczByLzMnMrxhEzRhl9PKG6vl0qNiKksrB\/e9IwMqUSzSGVhHLNBtTVEw9Ai2R27OB+0dnKm\/+kZ5zds4US1efkoflS8UX13Na1d6PrDdmujk74zFKt\/FEyWLhdJFZnnulBKUf18s\/UT4BULT+Z6q4btcgCqqkz472man2kKj1\/4H0EYo+Ubwn6vx6RPSTfvfkyCZEvEXTMfIcU4S\/UzCLVD8QW97yX4Bs6l7UQ==\" 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 Sql 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\">Sql<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#sql:eNqdlFFvgjAUhd9N+A\/3UZI9qJvLkj1VUh0Zgqt1mU+kg7o0IrhSXPz3G6AgatXslXN773dOL7UIRhQDRQMHQ5ZymULbaAGIEAb2yHYpTIg9RmQOr3h+lyt8xUQE74hYL4i0e\/2+Ca5HwZ05Dsxc+22Gi7JFFkV+zFa8Ku32OmYhBZIzxUOfKaD2GE8pGk+qHkbLfDZaRss6BGNhKHma8qtwuQO\/liswgoeYYNfC09JkW4QlSyRi3j3vpmQValvJT3sDSRYruYXyjHmZfS2TMAvUVfR0mVWDHh\/Oh9rIs9fpHMGupQi4H\/D4b9qh\/UJkgRIbDgPPczByLzMnMrxhEzRhl9PKG6vl0qNiKksrB\/e9IwMqUSzSGVhHLNBtTVEw9Ai2R27OB+0dnKm\/+kZ5zds4US1efkoflS8UX13Na1d6PrDdmujk74zFKt\/FEyWLhdJFZnnulBKUf18s\/UT4BULT+Z6q4btcgCqqkz472man2kKj1\/4H0EYo+Ubwn6vx6RPSTfvfkyCZEvEXTMfIcU4S\/UzCLVD8QW97yX4Bs6l7UQ==\" \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 Sql in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"language-sql\"><code class=\"language-sql\" data-language=\"sql\" class=\"language-sql\">\r\nCREATE TABLE users (\r\n  id BIGINT PRIMARY KEY,\r\n  email VARCHAR(255) NOT NULL UNIQUE,\r\n  full_name VARCHAR(120),\r\n  created_at TIMESTAMP NOT NULL\r\n);\r\n\r\nCREATE TABLE addresses (\r\n  id BIGINT PRIMARY KEY,\r\n  user_id BIGINT NOT NULL REFERENCES users(id),\r\n  line1 VARCHAR(255) NOT NULL,\r\n  city VARCHAR(80),\r\n  country CHAR(2) NOT NULL\r\n);\r\n\r\nCREATE TABLE products (\r\n  id BIGINT PRIMARY KEY,\r\n  sku VARCHAR(64) NOT NULL UNIQUE,\r\n  name VARCHAR(200) NOT NULL,\r\n  price_cents INT NOT NULL,\r\n  active BOOLEAN NOT NULL\r\n);\r\n\r\nCREATE TABLE orders (\r\n  id BIGINT PRIMARY KEY,\r\n  user_id BIGINT NOT NULL,\r\n  address_id BIGINT,\r\n  status VARCHAR(32) NOT NULL,\r\n  total_cents INT NOT NULL,\r\n  placed_at TIMESTAMP NOT NULL,\r\n  FOREIGN KEY (user_id) REFERENCES users(id),\r\n  FOREIGN KEY (address_id) REFERENCES addresses(id)\r\n);\r\n\r\nCREATE TABLE order_items (\r\n  id BIGINT PRIMARY KEY,\r\n  order_id BIGINT NOT NULL,\r\n  product_id BIGINT NOT NULL,\r\n  quantity INT NOT NULL,\r\n  unit_cents INT NOT NULL,\r\n  CONSTRAINT fk_oi_order FOREIGN KEY (order_id) REFERENCES orders(id),\r\n  CONSTRAINT fk_oi_product FOREIGN KEY (product_id) REFERENCES products(id)\r\n);\r\n\r\nCREATE TABLE reviews (\r\n  id BIGINT PRIMARY KEY,\r\n  product_id BIGINT NOT NULL REFERENCES products(id),\r\n  user_id BIGINT NOT NULL REFERENCES users(id),\r\n  rating SMALLINT NOT NULL,\r\n  body TEXT,\r\n  created_at TIMESTAMP NOT NULL\r\n);\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#sql:eNqdlFFvgjAUhd9N+A\/3UZI9qJvLkj1VUh0Zgqt1mU+kg7o0IrhSXPz3G6AgatXslXN773dOL7UIRhQDRQMHQ5ZymULbaAGIEAb2yHYpTIg9RmQOr3h+lyt8xUQE74hYL4i0e\/2+Ca5HwZ05Dsxc+22Gi7JFFkV+zFa8Ku32OmYhBZIzxUOfKaD2GE8pGk+qHkbLfDZaRss6BGNhKHma8qtwuQO\/liswgoeYYNfC09JkW4QlSyRi3j3vpmQValvJT3sDSRYruYXyjHmZfS2TMAvUVfR0mVWDHh\/Oh9rIs9fpHMGupQi4H\/D4b9qh\/UJkgRIbDgPPczByLzMnMrxhEzRhl9PKG6vl0qNiKksrB\/e9IwMqUSzSGVhHLNBtTVEw9Ai2R27OB+0dnKm\/+kZ5zds4US1efkoflS8UX13Na1d6PrDdmujk74zFKt\/FEyWLhdJFZnnulBKUf18s\/UT4BULT+Z6q4btcgCqqkz472man2kKj1\/4H0EYo+Ubwn6vx6RPSTfvfkyCZEvEXTMfIcU4S\/UzCLVD8QW97yX4Bs6l7UQ==\" \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 Sql 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\/#sql:eNqdlFFvgjAUhd9N+A\/3UZI9qJvLkj1VUh0Zgqt1mU+kg7o0IrhSXPz3G6AgatXslXN773dOL7UIRhQDRQMHQ5ZymULbaAGIEAb2yHYpTIg9RmQOr3h+lyt8xUQE74hYL4i0e\/2+Ca5HwZ05Dsxc+22Gi7JFFkV+zFa8Ku32OmYhBZIzxUOfKaD2GE8pGk+qHkbLfDZaRss6BGNhKHma8qtwuQO\/liswgoeYYNfC09JkW4QlSyRi3j3vpmQValvJT3sDSRYruYXyjHmZfS2TMAvUVfR0mVWDHh\/Oh9rIs9fpHMGupQi4H\/D4b9qh\/UJkgRIbDgPPczByLzMnMrxhEzRhl9PKG6vl0qNiKksrB\/e9IwMqUSzSGVhHLNBtTVEw9Ai2R27OB+0dnKm\/+kZ5zds4US1efkoflS8UX13Na1d6PrDdmujk74zFKt\/FEyWLhdJFZnnulBKUf18s\/UT4BULT+Z6q4btcgCqqkz472man2kKj1\/4H0EYo+Ubwn6vx6RPSTfvfkyCZEvEXTMfIcU4S\/UzCLVD8QW97yX4Bs6l7UQ==\" 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 Sql trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>2. S\u01a1 \u0111\u1ed3 Qu\u1ea3n l\u00fd N\u1ed9i dung Blog (Ng\u1eef ph\u00e1p PostgreSQL)<\/h3>\n<p>C\u00e1c \u1ee9ng d\u1ee5ng hi\u1ec7n \u0111\u1ea1i y\u00eau c\u1ea7u c\u00e1c c\u1ea5u tr\u00fac d\u1eef li\u1ec7u n\u00e2ng cao. S\u01a1 \u0111\u1ed3 \u0111\u1ecbnh h\u01b0\u1edbng PostgreSQL n\u00e0y c\u00f3 c\u00e1c c\u1ea5u h\u00ecnh n\u00e2ng cao bao g\u1ed3m m\u1ea3ng ph\u1ee9c t\u1ea1p (<code>TEXT[]<\/code>), \u0111\u1ed1i t\u01b0\u1ee3ng JSON hi\u1ec7n \u0111\u1ea1i (<code>JSONB<\/code>), v\u00e0 ki\u1ec3u d\u1eef li\u1ec7u UUID cho kh\u00f3a ch\u00ednh.<\/p>\n<p id=\"QlOGmuK\"><img alt=\"A Mermaid ERD rendered from a SQL, edited with Visual Paradigm's VPasCode Diagram-as-Code (DaC) platform: A blog example\" class=\"alignnone wp-image-2942\" decoding=\"async\" height=\"1290\" sizes=\"(max-width: 800px) 100vw, 800px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4a58ed60.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4a58ed60.png 930w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4a58ed60-186x300.png 186w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4a58ed60-635x1024.png 635w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4a58ed60-768x1239.png 768w\" width=\"800\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Sql<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/#sql:eNqtVM9vmzAUvkfK\/\/BuBamHLFV22cmhTsdGTGdMu26akBO81FoIyJh01bT\/fWDSmCRr2m49mve+5\/f9MB7FiGFgaBxg4JW+zVUJTr8HIFOIY\/8cLqk\/RfQGPuKb0+b7imcCrhD13iPqDAcDF0jIgMRBYMoi43Jp66ORrUNM\/E8xNm0zmQPDn5k58DXXXCWVssBRPdjUMqE5fIhCMoZzPEFxwODk1+8TU5srwbVIE66B+VMcMTS9ZF\/sfQ8AEl47br\/nvuv3+j2vy3he4xe5kuIlpN90SXdJlctqYbuGj3SlopwrWWiZr6wEBVdipZOH+ymeYIqJh6POio5M3VfiXeSlfoJyG4btRtvhndU2ebF7taveP5OGlnppVT07iNKOnGejR+Sc5em90XEvhz\/nQhXaKqz5ojSnr99axavZUpa3IoVxGAYYkUP9JiiI2kvWUtyV4BOGLzA9bBzsTtwz5uWeGURVpP+b7jzL6lQ9YXSThaM2m7BsXdvkYvdFDPe923Qd+RscM48XhcrXz7PmdR5DYuLh\/IMeNXBL8O2+DB2twdkMPm0gLdYLScQoqnMF33+YFZKmCSYhxf4F2YG5f12hIfQH8LOVcQ==\" 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 Sql 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\">Sql<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#sql:eNqtVM9vmzAUvkfK\/\/BuBamHLFV22cmhTsdGTGdMu26akBO81FoIyJh01bT\/fWDSmCRr2m49mve+5\/f9MB7FiGFgaBxg4JW+zVUJTr8HIFOIY\/8cLqk\/RfQGPuKb0+b7imcCrhD13iPqDAcDF0jIgMRBYMoi43Jp66ORrUNM\/E8xNm0zmQPDn5k58DXXXCWVssBRPdjUMqE5fIhCMoZzPEFxwODk1+8TU5srwbVIE66B+VMcMTS9ZF\/sfQ8AEl47br\/nvuv3+j2vy3he4xe5kuIlpN90SXdJlctqYbuGj3SlopwrWWiZr6wEBVdipZOH+ymeYIqJh6POio5M3VfiXeSlfoJyG4btRtvhndU2ebF7taveP5OGlnppVT07iNKOnGejR+Sc5em90XEvhz\/nQhXaKqz5ojSnr99axavZUpa3IoVxGAYYkUP9JiiI2kvWUtyV4BOGLzA9bBzsTtwz5uWeGURVpP+b7jzL6lQ9YXSThaM2m7BsXdvkYvdFDPe923Qd+RscM48XhcrXz7PmdR5DYuLh\/IMeNXBL8O2+DB2twdkMPm0gLdYLScQoqnMF33+YFZKmCSYhxf4F2YG5f12hIfQH8LOVcQ==\" \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 Sql in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"language-sql\"><code class=\"language-sql\" data-language=\"sql\" class=\"language-sql\">\r\nCREATE TABLE authors (\r\n  id UUID PRIMARY KEY,\r\n  name VARCHAR(200) NOT NULL,\r\n  email VARCHAR(255) NOT NULL UNIQUE,\r\n  bio TEXT,\r\n  avatar_url VARCHAR(500),\r\n  meta JSONB DEFAULT '{}',\r\n  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\r\n);\r\n\r\nCREATE TABLE categories (\r\n  id UUID PRIMARY KEY,\r\n  name VARCHAR(100) NOT NULL UNIQUE,\r\n  slug VARCHAR(120) NOT NULL UNIQUE,\r\n  description TEXT,\r\n  parent_id UUID REFERENCES categories(id),\r\n  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\r\n);\r\n\r\nCREATE TABLE posts (\r\n  id UUID PRIMARY KEY,\r\n  author_id UUID NOT NULL REFERENCES authors(id),\r\n  category_id UUID REFERENCES categories(id),\r\n  title VARCHAR(300) NOT NULL,\r\n  slug VARCHAR(350) NOT NULL UNIQUE,\r\n  body TEXT NOT NULL,\r\n  excerpt TEXT,\r\n  tags TEXT[],\r\n  published BOOLEAN NOT NULL DEFAULT FALSE,\r\n  views INTEGER NOT NULL DEFAULT 0,\r\n  published_at TIMESTAMPTZ,\r\n  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\r\n  updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\r\n);\r\n\r\nCREATE TABLE comments (\r\n  id UUID PRIMARY KEY,\r\n  post_id UUID NOT NULL REFERENCES posts(id),\r\n  author_name VARCHAR(120) NOT NULL,\r\n  author_email VARCHAR(255) NOT NULL,\r\n  body TEXT NOT NULL,\r\n  approved BOOLEAN NOT NULL DEFAULT FALSE,\r\n  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\r\n);\r\n\r\nCREATE TABLE post_tags (\r\n  post_id UUID NOT NULL REFERENCES posts(id),\r\n  tag VARCHAR(60) NOT NULL,\r\n  PRIMARY KEY (post_id, tag),\r\n  CONSTRAINT fk_tags_post FOREIGN KEY (post_id) REFERENCES posts(id)\r\n);\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#sql:eNqtVM9vmzAUvkfK\/\/BuBamHLFV22cmhTsdGTGdMu26akBO81FoIyJh01bT\/fWDSmCRr2m49mve+5\/f9MB7FiGFgaBxg4JW+zVUJTr8HIFOIY\/8cLqk\/RfQGPuKb0+b7imcCrhD13iPqDAcDF0jIgMRBYMoi43Jp66ORrUNM\/E8xNm0zmQPDn5k58DXXXCWVssBRPdjUMqE5fIhCMoZzPEFxwODk1+8TU5srwbVIE66B+VMcMTS9ZF\/sfQ8AEl47br\/nvuv3+j2vy3he4xe5kuIlpN90SXdJlctqYbuGj3SlopwrWWiZr6wEBVdipZOH+ymeYIqJh6POio5M3VfiXeSlfoJyG4btRtvhndU2ebF7taveP5OGlnppVT07iNKOnGejR+Sc5em90XEvhz\/nQhXaKqz5ojSnr99axavZUpa3IoVxGAYYkUP9JiiI2kvWUtyV4BOGLzA9bBzsTtwz5uWeGURVpP+b7jzL6lQ9YXSThaM2m7BsXdvkYvdFDPe923Qd+RscM48XhcrXz7PmdR5DYuLh\/IMeNXBL8O2+DB2twdkMPm0gLdYLScQoqnMF33+YFZKmCSYhxf4F2YG5f12hIfQH8LOVcQ==\" \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 Sql 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\/#sql:eNqtVM9vmzAUvkfK\/\/BuBamHLFV22cmhTsdGTGdMu26akBO81FoIyJh01bT\/fWDSmCRr2m49mve+5\/f9MB7FiGFgaBxg4JW+zVUJTr8HIFOIY\/8cLqk\/RfQGPuKb0+b7imcCrhD13iPqDAcDF0jIgMRBYMoi43Jp66ORrUNM\/E8xNm0zmQPDn5k58DXXXCWVssBRPdjUMqE5fIhCMoZzPEFxwODk1+8TU5srwbVIE66B+VMcMTS9ZF\/sfQ8AEl47br\/nvuv3+j2vy3he4xe5kuIlpN90SXdJlctqYbuGj3SlopwrWWiZr6wEBVdipZOH+ymeYIqJh6POio5M3VfiXeSlfoJyG4btRtvhndU2ebF7taveP5OGlnppVT07iNKOnGejR+Sc5em90XEvhz\/nQhXaKqz5ojSnr99axavZUpa3IoVxGAYYkUP9JiiI2kvWUtyV4BOGLzA9bBzsTtwz5uWeGURVpP+b7jzL6lQ9YXSThaM2m7BsXdvkYvdFDPe923Qd+RscM48XhcrXz7PmdR5DYuLh\/IMeNXBL8O2+DB2twdkMPm0gLdYLScQoqnMF33+YFZKmCSYhxf4F2YG5f12hIfQH8LOVcQ==\" 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 Sql trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>3. \u0110\u1ed9ng c\u01a1 SaaS \u0111a ng\u01b0\u1eddi d\u00f9ng (Ng\u1eef ph\u00e1p MySQL)<\/h3>\n<p>M\u1eabu DDL MySQL n\u00e0y m\u00f4 t\u1ea3 m\u1ed9t h\u1ec7 th\u1ed1ng kinh doanh \u0111a ng\u01b0\u1eddi d\u00f9ng theo d\u00f5i c\u00e1c t\u1ed5 ch\u1ee9c, c\u1ea5u tr\u00fac ph\u00e2n c\u1ea5p \u0111\u1ed9i nh\u00f3m, quy\u1ec1n truy c\u1eadp ng\u01b0\u1eddi d\u00f9ng, ph\u00e2n b\u1ed5 d\u1ef1 \u00e1n v\u00e0 h\u00f3a \u0111\u01a1n thanh to\u00e1n b\u1eb1ng c\u00e1c tr\u01b0\u1eddng t\u00edch h\u1ee3p s\u1eb5n <code>AUTO_INCREMENT<\/code>, <code>ENUM<\/code> tr\u01b0\u1eddng, v\u00e0 s\u1ed1 th\u1eadp ph\u00e2n r\u00f5 r\u00e0ng.<\/p>\n<p id=\"yscEibK\"><img loading=\"lazy\" alt=\"A Mermaid ERD rendered from a SQL, edited with Visual Paradigm's VPasCode Diagram-as-Code (DaC) platform: A Multi-Tenant SaaS Engine example\" class=\"alignnone wp-image-2941\" decoding=\"async\" height=\"1290\" loading=\"lazy\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d493dfc5f.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d493dfc5f.png 930w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d493dfc5f-186x300.png 186w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d493dfc5f-635x1024.png 635w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d493dfc5f-768x1239.png 768w\" width=\"800\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Sql<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/#sql:eNrNVMGO2jAQvSPxD3MDJFSxVHvqKRtMGzWEbXBW5RR5ExdcJQ6yHXa3X1\/byQLZhLbboranODNvxvZ7z+OGyMEIsHPjIyjEhnD2jShWcAnDfg+ApeAFGJwIL2MvcEO0QPr3NvQWTriGj2g9NihOcgp3Tuh+cMLhdDIZQbDEEES+b9MyKzeH9NX0JA1R4H2KkEXtMsIBe8HabHgAzNDciXwME4shiWJ7CjfLpY+coI3CYd0sJ49xKamQ0NntqmqXCEoUTWOiYKZpwN4CtbFuFIb60rHJrrCzuLWl5S79jdJ+b\/Su3+v33FPaFSX5q+jWOsU1ssFzQ4YGzzadUpkItjPqAkaf8Z9SMF+GyHsfmGPBsDrTCEI0RxrrolXTTkOd7Lx9pdIFbk9zwrKjC6+vz9iMSPlQiDTeErnthldsMakd+RT\/hFRRZBRQEC2GA5LmjA\/GMMhpfk+FWe0ZfdCrUZvSA+hVts6IVHFWbBg\/qPV\/qLgTxVeaqMvbuD1NOm18X6Ybqi+PXL2Hr3Uaw7SD9cmbSfXypSKqlLVwZvJwxjdGsUoKs0qKfJdRzaoNi2Sr42mnlMf6urVQsZkOVovKmzx9EfnnijG+L1hCL6KYecOdidoWdc6G6n1jXhw0fjvtfqokL0p+VlQLUeTx10VXhSLZD9slpRCUJ09QnatL7Gg1G7QtlAryRRmjSMrtd0eYNU5CeEKz7Ixz6jJr65IeLfKCRd3r1Ch\/3UDtqlrxRpmd5N3wow8aFc9T49mk3wF1cF4g\" 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 Sql 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\">Sql<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#sql:eNrNVMGO2jAQvSPxD3MDJFSxVHvqKRtMGzWEbXBW5RR5ExdcJQ6yHXa3X1\/byQLZhLbboranODNvxvZ7z+OGyMEIsHPjIyjEhnD2jShWcAnDfg+ApeAFGJwIL2MvcEO0QPr3NvQWTriGj2g9NihOcgp3Tuh+cMLhdDIZQbDEEES+b9MyKzeH9NX0JA1R4H2KkEXtMsIBe8HabHgAzNDciXwME4shiWJ7CjfLpY+coI3CYd0sJ49xKamQ0NntqmqXCEoUTWOiYKZpwN4CtbFuFIb60rHJrrCzuLWl5S79jdJ+b\/Su3+v33FPaFSX5q+jWOsU1ssFzQ4YGzzadUpkItjPqAkaf8Z9SMF+GyHsfmGPBsDrTCEI0RxrrolXTTkOd7Lx9pdIFbk9zwrKjC6+vz9iMSPlQiDTeErnthldsMakd+RT\/hFRRZBRQEC2GA5LmjA\/GMMhpfk+FWe0ZfdCrUZvSA+hVts6IVHFWbBg\/qPV\/qLgTxVeaqMvbuD1NOm18X6Ybqi+PXL2Hr3Uaw7SD9cmbSfXypSKqlLVwZvJwxjdGsUoKs0qKfJdRzaoNi2Sr42mnlMf6urVQsZkOVovKmzx9EfnnijG+L1hCL6KYecOdidoWdc6G6n1jXhw0fjvtfqokL0p+VlQLUeTx10VXhSLZD9slpRCUJ09QnatL7Gg1G7QtlAryRRmjSMrtd0eYNU5CeEKz7Ixz6jJr65IeLfKCRd3r1Ch\/3UDtqlrxRpmd5N3wow8aFc9T49mk3wF1cF4g\" \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 Sql in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"language-sql\"><code class=\"language-sql\" data-language=\"sql\" class=\"language-sql\">\r\nCREATE TABLE organizations (\r\n  id INT AUTO_INCREMENT PRIMARY KEY,\r\n  name VARCHAR(200) NOT NULL,\r\n  slug VARCHAR(120) NOT NULL UNIQUE,\r\n  plan TINYINT NOT NULL DEFAULT 0,\r\n  active BOOLEAN NOT NULL DEFAULT TRUE,\r\n  max_users INT NOT NULL DEFAULT 10,\r\n  created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\r\n  updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP\r\n);\r\n\r\nCREATE TABLE teams (\r\n  id INT AUTO_INCREMENT PRIMARY KEY,\r\n  org_id INT NOT NULL,\r\n  name VARCHAR(120) NOT NULL,\r\n  description TEXT,\r\n  created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\r\n  FOREIGN KEY (org_id) REFERENCES organizations(id)\r\n);\r\n\r\nCREATE TABLE users (\r\n  id INT AUTO_INCREMENT PRIMARY KEY,\r\n  org_id INT NOT NULL,\r\n  email VARCHAR(255) NOT NULL UNIQUE,\r\n  password_hash VARCHAR(255) NOT NULL,\r\n  display_name VARCHAR(120) NOT NULL,\r\n  role ENUM('admin', 'member', 'viewer') NOT NULL DEFAULT 'member',\r\n  active BOOLEAN NOT NULL DEFAULT TRUE,\r\n  last_login DATETIME,\r\n  created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\r\n  FOREIGN KEY (org_id) REFERENCES organizations(id)\r\n);\r\n\r\nCREATE TABLE projects (\r\n  id INT AUTO_INCREMENT PRIMARY KEY,\r\n  org_id INT NOT NULL,\r\n  name VARCHAR(200) NOT NULL,\r\n  description TEXT,\r\n  budget DECIMAL(12, 2) NOT NULL DEFAULT 0.00,\r\n  status ENUM('planning', 'active', 'completed', 'archived') NOT NULL DEFAULT 'planning',\r\n  start_date DATE,\r\n  end_date DATE,\r\n  created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\r\n  FOREIGN KEY (org_id) REFERENCES organizations(id)\r\n);\r\n\r\nCREATE TABLE invoices (\r\n  id INT AUTO_INCREMENT PRIMARY KEY,\r\n  org_id INT NOT NULL,\r\n  user_id INT NOT NULL,\r\n  project_id INT,\r\n  invoice_no VARCHAR(32) NOT NULL UNIQUE,\r\n  amount DECIMAL(12, 2) NOT NULL,\r\n  tax DECIMAL(12, 2) NOT NULL DEFAULT 0.00,\r\n  total DECIMAL(12, 2) NOT NULL,\r\n  currency CHAR(3) NOT NULL DEFAULT 'USD',\r\n  status ENUM('draft', 'sent', 'paid', 'cancelled') NOT NULL DEFAULT 'draft',\r\n  due_date DATE NOT NULL,\r\n  paid_at DATETIME,\r\n  created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\r\n  FOREIGN KEY (org_id) REFERENCES organizations(id),\r\n  FOREIGN KEY (user_id) REFERENCES users(id),\r\n  FOREIGN KEY (project_id) REFERENCES projects(id)\r\n);\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#sql:eNrNVMGO2jAQvSPxD3MDJFSxVHvqKRtMGzWEbXBW5RR5ExdcJQ6yHXa3X1\/byQLZhLbboranODNvxvZ7z+OGyMEIsHPjIyjEhnD2jShWcAnDfg+ApeAFGJwIL2MvcEO0QPr3NvQWTriGj2g9NihOcgp3Tuh+cMLhdDIZQbDEEES+b9MyKzeH9NX0JA1R4H2KkEXtMsIBe8HabHgAzNDciXwME4shiWJ7CjfLpY+coI3CYd0sJ49xKamQ0NntqmqXCEoUTWOiYKZpwN4CtbFuFIb60rHJrrCzuLWl5S79jdJ+b\/Su3+v33FPaFSX5q+jWOsU1ssFzQ4YGzzadUpkItjPqAkaf8Z9SMF+GyHsfmGPBsDrTCEI0RxrrolXTTkOd7Lx9pdIFbk9zwrKjC6+vz9iMSPlQiDTeErnthldsMakd+RT\/hFRRZBRQEC2GA5LmjA\/GMMhpfk+FWe0ZfdCrUZvSA+hVts6IVHFWbBg\/qPV\/qLgTxVeaqMvbuD1NOm18X6Ybqi+PXL2Hr3Uaw7SD9cmbSfXypSKqlLVwZvJwxjdGsUoKs0qKfJdRzaoNi2Sr42mnlMf6urVQsZkOVovKmzx9EfnnijG+L1hCL6KYecOdidoWdc6G6n1jXhw0fjvtfqokL0p+VlQLUeTx10VXhSLZD9slpRCUJ09QnatL7Gg1G7QtlAryRRmjSMrtd0eYNU5CeEKz7Ixz6jJr65IeLfKCRd3r1Ch\/3UDtqlrxRpmd5N3wow8aFc9T49mk3wF1cF4g\" \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 Sql 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\/#sql:eNrNVMGO2jAQvSPxD3MDJFSxVHvqKRtMGzWEbXBW5RR5ExdcJQ6yHXa3X1\/byQLZhLbboranODNvxvZ7z+OGyMEIsHPjIyjEhnD2jShWcAnDfg+ApeAFGJwIL2MvcEO0QPr3NvQWTriGj2g9NihOcgp3Tuh+cMLhdDIZQbDEEES+b9MyKzeH9NX0JA1R4H2KkEXtMsIBe8HabHgAzNDciXwME4shiWJ7CjfLpY+coI3CYd0sJ49xKamQ0NntqmqXCEoUTWOiYKZpwN4CtbFuFIb60rHJrrCzuLWl5S79jdJ+b\/Su3+v33FPaFSX5q+jWOsU1ssFzQ4YGzzadUpkItjPqAkaf8Z9SMF+GyHsfmGPBsDrTCEI0RxrrolXTTkOd7Lx9pdIFbk9zwrKjC6+vz9iMSPlQiDTeErnthldsMakd+RT\/hFRRZBRQEC2GA5LmjA\/GMMhpfk+FWe0ZfdCrUZvSA+hVts6IVHFWbBg\/qPV\/qLgTxVeaqMvbuD1NOm18X6Ybqi+PXL2Hr3Uaw7SD9cmbSfXypSKqlLVwZvJwxjdGsUoKs0qKfJdRzaoNi2Sr42mnlMf6urVQsZkOVovKmzx9EfnnijG+L1hCL6KYecOdidoWdc6G6n1jXhw0fjvtfqokL0p+VlQLUeTx10VXhSLZD9slpRCUJ09QnatL7Gg1G7QtlAryRRmjSMrtd0eYNU5CeEKz7Ixz6jJr65IeLfKCRd3r1Ch\/3UDtqlrxRpmd5N3wow8aFc9T49mk3wF1cF4g\" 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 Sql trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>4. S\u1ed5 tay Qu\u1ea3n l\u00fd Th\u01b0 vi\u1ec7n (Ng\u1eef ph\u00e1p SQLite)<\/h3>\n<p>L\u00fd t\u01b0\u1edfng cho c\u00e1c c\u1ea5u tr\u00fac \u1ee9ng d\u1ee5ng \u0111\u1ecba ph\u01b0\u01a1ng h\u00f3a, t\u1eadp d\u1eef li\u1ec7u SQLite n\u00e0y bao g\u1ed3m c\u00e1c c\u1ea5u h\u00ecnh to\u00e0n di\u1ec7n cho th\u01b0 m\u1ee5c nh\u00e0 xu\u1ea5t b\u1ea3n, danh m\u1ee5c t\u1ed3n kho v\u1edbi c\u00e1c r\u00e0ng bu\u1ed9c tham chi\u1ebfu c\u1ea5u tr\u00fac, c\u01a1 s\u1edf d\u1eef li\u1ec7u th\u00e0nh vi\u00ean, c\u00e1c kho\u1ea3n m\u01b0\u1ee3n v\u1eadt l\u00fd v\u00e0 c\u00e1c kho\u1ea3n gi\u1eef ch\u1ed7 trong danh s\u00e1ch ch\u1edd.<\/p>\n<p id=\"GmPPcWS\"><img loading=\"lazy\" alt=\"A Mermaid ERD rendered from a SQL, edited with Visual Paradigm's VPasCode Diagram-as-Code (DaC) platform: A Library Management System example\" class=\"alignnone wp-image-2943\" decoding=\"async\" height=\"1028\" loading=\"lazy\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4b4f3892.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4b4f3892.png 1234w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4b4f3892-233x300.png 233w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4b4f3892-797x1024.png 797w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4b4f3892-768x987.png 768w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d4b4f3892-1195x1536.png 1195w\" width=\"800\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Sql<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/#sql:eNq9VMtu2zAQvBvwP\/AWBTAKN0WKAD3JDp0aVeRUlovmJFASY7GhSZWk4vrvS5GCHo5kp0DbI\/fBndmd3XkA3RCC0J15EORFTInMsJDAGY8AIClY+iG8gwF4CJb3bvAIvsDHSeliaIfBNzeYf3YD52o6vQT+KgT+xvOMG6WpwFKCEH4PjWGPY0lUk\/JBpxgHlgrZqml0wEiUFcejy0\/j0Xg0b4OLOX8+j6umENkgYyQyZi2wDVaw8ZdfN9AEKaJoF1+Xkizi1yHGQxHbFmjb9rRK3MKFu\/FCcAHZtoR2YXHq+CjhBVM1SgM9QYpwVnfCtiglpbF817+9N56Ev5RMd2XxmbeaGWOKZSJIblLq\/gv9L9sC3dAG0fTd1BYWJMHaOtet9JybCbiyvAiLpOLJM5itVh50\/decwqBqHkp+FkToESIFbvXMLDqBkbK2cHkP16F7\/9Dt6WIVwOWdX04POO3RXWqkCxhAfw7XLVk62tMrDlSojL9Btk9ESBV1xHtzPGiKzobERKgsSjW7hi0zk0OUqEOd+LFSSEz4VqA8O5xeiEHdRx1+xmJJHm2diep1Cd5SrobVyNI1SVaVkgsVcZFi0fmhUYyJajUVOBWYSVPcUp6v\/HUYuOU3T89RjKIysDvwKrUza7PlzuAntkj3m6Zw+6OqY4OK2eFd\/JZDlyCRRoyfPR9\/SVl4hwhtil1f91fLM84696b\/6lYkM5JH6pCfO1BrhViq6Vot\/OCENQt9hPJXrrdd9jtRosgLPn00ekdCOWLnBzKofku21xVzIfj+5ClKC9xPR2BVCHaUW3kY3iPanPGhhWFc4dZU\/nAJOuE1yU5CNedBsWecpv+mszlFycm+HknF7kpBnwilfT1NEEtw6RrWz8L11vD\/NPI3UI6ImQ==\" 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 Sql 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\">Sql<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#sql:eNq9VMtu2zAQvBvwP\/AWBTAKN0WKAD3JDp0aVeRUlovmJFASY7GhSZWk4vrvS5GCHo5kp0DbI\/fBndmd3XkA3RCC0J15EORFTInMsJDAGY8AIClY+iG8gwF4CJb3bvAIvsDHSeliaIfBNzeYf3YD52o6vQT+KgT+xvOMG6WpwFKCEH4PjWGPY0lUk\/JBpxgHlgrZqml0wEiUFcejy0\/j0Xg0b4OLOX8+j6umENkgYyQyZi2wDVaw8ZdfN9AEKaJoF1+Xkizi1yHGQxHbFmjb9rRK3MKFu\/FCcAHZtoR2YXHq+CjhBVM1SgM9QYpwVnfCtiglpbF817+9N56Ev5RMd2XxmbeaGWOKZSJIblLq\/gv9L9sC3dAG0fTd1BYWJMHaOtet9JybCbiyvAiLpOLJM5itVh50\/decwqBqHkp+FkToESIFbvXMLDqBkbK2cHkP16F7\/9Dt6WIVwOWdX04POO3RXWqkCxhAfw7XLVk62tMrDlSojL9Btk9ESBV1xHtzPGiKzobERKgsSjW7hi0zk0OUqEOd+LFSSEz4VqA8O5xeiEHdRx1+xmJJHm2diep1Cd5SrobVyNI1SVaVkgsVcZFi0fmhUYyJajUVOBWYSVPcUp6v\/HUYuOU3T89RjKIysDvwKrUza7PlzuAntkj3m6Zw+6OqY4OK2eFd\/JZDlyCRRoyfPR9\/SVl4hwhtil1f91fLM84696b\/6lYkM5JH6pCfO1BrhViq6Vot\/OCENQt9hPJXrrdd9jtRosgLPn00ekdCOWLnBzKofku21xVzIfj+5ClKC9xPR2BVCHaUW3kY3iPanPGhhWFc4dZU\/nAJOuE1yU5CNedBsWecpv+mszlFycm+HknF7kpBnwilfT1NEEtw6RrWz8L11vD\/NPI3UI6ImQ==\" \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 Sql in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"language-sql\"><code class=\"language-sql\" data-language=\"sql\" class=\"language-sql\">\r\nCREATE TABLE publishers (\r\n  id INTEGER PRIMARY KEY,\r\n  name VARCHAR(200) NOT NULL,\r\n  address TEXT,\r\n  website VARCHAR(300),\r\n  established_year INT\r\n);\r\n\r\nCREATE TABLE books (\r\n  id INTEGER PRIMARY KEY,\r\n  publisher_id INT,\r\n  isbn VARCHAR(20) NOT NULL UNIQUE,\r\n  title VARCHAR(300) NOT NULL,\r\n  subtitle VARCHAR(300),\r\n  language VARCHAR(30) NOT NULL DEFAULT 'English',\r\n  page_count INT,\r\n  publication_year INT,\r\n  edition INT DEFAULT 1,\r\n  cover_image BLOB,\r\n  description TEXT,\r\n  rating REAL DEFAULT 0.0,\r\n  price DECIMAL(8, 2),\r\n  in_stock BOOLEAN NOT NULL DEFAULT TRUE,\r\n  acquired_at DATE,\r\n  created_at TIMESTAMP NOT NULL,\r\n  FOREIGN KEY (publisher_id) REFERENCES publishers(id)\r\n);\r\n\r\nCREATE TABLE authors (\r\n  id INTEGER PRIMARY KEY,\r\n  first_name VARCHAR(80) NOT NULL,\r\n  last_name VARCHAR(80) NOT NULL,\r\n  birth_date DATE,\r\n  nationality VARCHAR(60),\r\n  biography TEXT,\r\n  website VARCHAR(300)\r\n);\r\n\r\nCREATE TABLE book_authors (\r\n  book_id INT NOT NULL,\r\n  author_id INT NOT NULL,\r\n  role VARCHAR(60) DEFAULT 'Author',\r\n  sort_order INT NOT NULL DEFAULT 0,\r\n  PRIMARY KEY (book_id, author_id),\r\n  CONSTRAINT fk_ba_book FOREIGN KEY (book_id) REFERENCES books(id),\r\n  CONSTRAINT fk_ba_author FOREIGN KEY (author_id) REFERENCES authors(id)\r\n);\r\n\r\nCREATE TABLE members (\r\n  id INTEGER PRIMARY KEY,\r\n  card_no VARCHAR(20) NOT NULL UNIQUE,\r\n  first_name VARCHAR(80) NOT NULL,\r\n  last_name VARCHAR(80) NOT NULL,\r\n  email VARCHAR(255) NOT NULL UNIQUE,\r\n  phone VARCHAR(30),\r\n  address TEXT,\r\n  membership_type VARCHAR(30) NOT NULL DEFAULT 'Standard',\r\n  joined_at DATE NOT NULL,\r\n  expires_at DATE NOT NULL,\r\n  active BOOLEAN NOT NULL DEFAULT TRUE\r\n);\r\n\r\nCREATE TABLE loans (\r\n  id INTEGER PRIMARY KEY,\r\n  book_id INT NOT NULL,\r\n  member_id INT NOT NULL,\r\n  borrowed_at TIMESTAMP NOT NULL,\r\n  due_at DATE NOT NULL,\r\n  returned_at TIMESTAMP,\r\n  renewal_count INT NOT NULL DEFAULT 0,\r\n  notes TEXT,\r\n  FOREIGN KEY (book_id) REFERENCES books(id),\r\n  FOREIGN KEY (member_id) REFERENCES members(id)\r\n);\r\n\r\nCREATE TABLE holds (\r\n  id INTEGER PRIMARY KEY,\r\n  book_id INT NOT NULL,\r\n  member_id INT NOT NULL,\r\n  placed_at TIMESTAMP NOT NULL,\r\n  expires_at DATE,\r\n  fulfilled_at TIMESTAMP,\r\n  cancelled BOOLEAN NOT NULL DEFAULT FALSE,\r\n  FOREIGN KEY (book_id) REFERENCES books(id),\r\n  FOREIGN KEY (member_id) REFERENCES members(id)\r\n);\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#sql:eNq9VMtu2zAQvBvwP\/AWBTAKN0WKAD3JDp0aVeRUlovmJFASY7GhSZWk4vrvS5GCHo5kp0DbI\/fBndmd3XkA3RCC0J15EORFTInMsJDAGY8AIClY+iG8gwF4CJb3bvAIvsDHSeliaIfBNzeYf3YD52o6vQT+KgT+xvOMG6WpwFKCEH4PjWGPY0lUk\/JBpxgHlgrZqml0wEiUFcejy0\/j0Xg0b4OLOX8+j6umENkgYyQyZi2wDVaw8ZdfN9AEKaJoF1+Xkizi1yHGQxHbFmjb9rRK3MKFu\/FCcAHZtoR2YXHq+CjhBVM1SgM9QYpwVnfCtiglpbF817+9N56Ev5RMd2XxmbeaGWOKZSJIblLq\/gv9L9sC3dAG0fTd1BYWJMHaOtet9JybCbiyvAiLpOLJM5itVh50\/decwqBqHkp+FkToESIFbvXMLDqBkbK2cHkP16F7\/9Dt6WIVwOWdX04POO3RXWqkCxhAfw7XLVk62tMrDlSojL9Btk9ESBV1xHtzPGiKzobERKgsSjW7hi0zk0OUqEOd+LFSSEz4VqA8O5xeiEHdRx1+xmJJHm2diep1Cd5SrobVyNI1SVaVkgsVcZFi0fmhUYyJajUVOBWYSVPcUp6v\/HUYuOU3T89RjKIysDvwKrUza7PlzuAntkj3m6Zw+6OqY4OK2eFd\/JZDlyCRRoyfPR9\/SVl4hwhtil1f91fLM84696b\/6lYkM5JH6pCfO1BrhViq6Vot\/OCENQt9hPJXrrdd9jtRosgLPn00ekdCOWLnBzKofku21xVzIfj+5ClKC9xPR2BVCHaUW3kY3iPanPGhhWFc4dZU\/nAJOuE1yU5CNedBsWecpv+mszlFycm+HknF7kpBnwilfT1NEEtw6RrWz8L11vD\/NPI3UI6ImQ==\" \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 Sql 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\/#sql:eNq9VMtu2zAQvBvwP\/AWBTAKN0WKAD3JDp0aVeRUlovmJFASY7GhSZWk4vrvS5GCHo5kp0DbI\/fBndmd3XkA3RCC0J15EORFTInMsJDAGY8AIClY+iG8gwF4CJb3bvAIvsDHSeliaIfBNzeYf3YD52o6vQT+KgT+xvOMG6WpwFKCEH4PjWGPY0lUk\/JBpxgHlgrZqml0wEiUFcejy0\/j0Xg0b4OLOX8+j6umENkgYyQyZi2wDVaw8ZdfN9AEKaJoF1+Xkizi1yHGQxHbFmjb9rRK3MKFu\/FCcAHZtoR2YXHq+CjhBVM1SgM9QYpwVnfCtiglpbF817+9N56Ev5RMd2XxmbeaGWOKZSJIblLq\/gv9L9sC3dAG0fTd1BYWJMHaOtet9JybCbiyvAiLpOLJM5itVh50\/decwqBqHkp+FkToESIFbvXMLDqBkbK2cHkP16F7\/9Dt6WIVwOWdX04POO3RXWqkCxhAfw7XLVk62tMrDlSojL9Btk9ESBV1xHtzPGiKzobERKgsSjW7hi0zk0OUqEOd+LFSSEz4VqA8O5xeiEHdRx1+xmJJHm2diep1Cd5SrobVyNI1SVaVkgsVcZFi0fmhUYyJajUVOBWYSVPcUp6v\/HUYuOU3T89RjKIysDvwKrUza7PlzuAntkj3m6Zw+6OqY4OK2eFd\/JZDlyCRRoyfPR9\/SVl4hwhtil1f91fLM84696b\/6lYkM5JH6pCfO1BrhViq6Vot\/OCENQt9hPJXrrdd9jtRosgLPn00ekdCOWLnBzKofku21xVzIfj+5ClKC9xPR2BVCHaUW3kY3iPanPGhhWFc4dZU\/nAJOuE1yU5CNedBsWecpv+mszlFycm+HknF7kpBnwilfT1NEEtw6RrWz8L11vD\/NPI3UI6ImQ==\" 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 Sql trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>T\u1ea1i sao n\u00ean s\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 ERD SQL tr\u1ef1c tuy\u1ebfn?<\/h2>\n<p>Vi\u1ec7c duy tr\u00ec t\u00e0i li\u1ec7u ch\u00ednh x\u00e1c c\u00f3 th\u1ec3 tr\u1edf th\u00e0nh g\u00e1nh n\u1eb7ng khi c\u00e1c l\u01b0\u1ee3c \u0111\u1ed3 thay \u0111\u1ed5i qua c\u00e1c l\u1ea7n ki\u1ec3m tra m\u00e3 ngu\u1ed3n v\u00e0 c\u00e1c v\u00f2ng ph\u00e1t tri\u1ec3n. VPasCode chuy\u1ec3n m\u00f4 h\u00ecnh h\u00f3a d\u1eef li\u1ec7u sang m\u00f4 h\u00ecnh \u01b0u ti\u00ean m\u00e3 ngu\u1ed3n:<\/p>\n<ul>\n<li><strong>Kh\u00f4ng c\u1ea7n c\u00e0i \u0111\u1eb7t:<\/strong>N\u00f3 ch\u1ea1y tr\u1ef1c ti\u1ebfp trong tr\u00ecnh duy\u1ec7t c\u1ee7a b\u1ea1n m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t k\u1ef3 b\u01b0\u1edbc thi\u1ebft l\u1eadp c\u1ea5u h\u00ecnh n\u00e0o.<\/li>\n<li><strong>Tr\u1ef1c quan h\u00f3a t\u1ee9c th\u00ec:<\/strong>Th\u1ea3 l\u01b0\u1ee3c \u0111\u1ed3 v\u0103n b\u1ea3n c\u1ee7a b\u1ea1n tr\u1ef1c ti\u1ebfp v\u00e0o giao di\u1ec7n v\u00e0 ngay l\u1eadp t\u1ee9c xem c\u00e1c con \u0111\u01b0\u1eddng tr\u1ef1c quan c\u00f3 c\u1ea5u tr\u00fac v\u1ec1 m\u1ed1i quan h\u1ec7.<\/li>\n<li><strong>Ti\u00eau chu\u1ea9n \u0111\u1ea7u ra linh ho\u1ea1t:<\/strong>L\u00e0m vi\u1ec7c d\u1ec5 d\u00e0ng v\u1edbi c\u1ea3 hai chu\u1ea9n PlantUML v\u00e0 Mermaid m\u1ed9t c\u00e1ch \u0111\u1ed9ng tr\u00ean m\u1ed9t b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n duy nh\u1ea5t, ph\u1ea3n h\u1ed3i nhanh.\n<p id=\"pZuvcDI\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-2944\" decoding=\"async\" height=\"745\" loading=\"lazy\" sizes=\"auto, (max-width: 1192px) 100vw, 1192px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d522312fb.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d522312fb.png 1192w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d522312fb-300x188.png 300w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d522312fb-1024x640.png 1024w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a55d522312fb-768x480.png 768w\" width=\"1192\"\/><\/p>\n<\/li>\n<\/ul>\n<h3>S\u1eb5n s\u00e0ng \u0111\u1ec3 thay \u0111\u1ed5i quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a b\u1ea1n?<\/h3>\n<p>Ng\u1eebng v\u1ebd \u0111\u01b0\u1eddng th\u1ee7 c\u00f4ng. Tr\u1ea3i nghi\u1ec7m s\u1ee9c m\u1ea1nh c\u1ee7a kh\u00f4ng gian l\u00e0m vi\u1ec7c chuy\u1ec3n v\u0103n b\u1ea3n th\u00e0nh s\u01a1 \u0111\u1ed3 kh\u00f4ng r\u00e0o c\u1ea3n c\u1ee7a ch\u00fang t\u00f4i ngay h\u00f4m nay!<\/p>\n<p>\ud83d\udc49 <a href=\"https:\/\/www.vpascode.com\/\" style=\"font-size: 1.2em; font-weight: bold; text-decoration: underline;\">B\u1eaft \u0111\u1ea7u d\u00f9ng Tr\u00ecnh so\u1ea1n th\u1ea3o VPasCode Mi\u1ec5n ph\u00ed Ngay<\/a><\/p>\n","protected":false},"featured_media":2693,"template":"","meta":{"_acf_changed":false,"_yoast_wpseo_title":"C\u00f4ng c\u1ee5 SQL sang ERD Mi\u1ec5n ph\u00ed: T\u1ea1o s\u01a1 \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u t\u1eeb DDL - VPasCode","_yoast_wpseo_metadesc":"Chuy\u1ec3n \u0111\u1ed5i d\u1ec5 d\u00e0ng c\u00e1c t\u1eadp l\u1ec7nh DDL SQL th\u00e0nh c\u00e1c s\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 tr\u1ef1c quan v\u1edbi VPasCode, c\u00f4ng c\u1ee5 SQL sang ERD mi\u1ec5n ph\u00ed c\u1ee7a ch\u00fang t\u00f4i. H\u1ed7 tr\u1ee3 \u0111\u1ecbnh d\u1ea1ng hi\u1ec3n th\u1ecb Mermaid v\u00e0 PlantUML theo th\u1eddi gian th\u1ef1c.","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":"","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":""}}},"product":[2,3],"product-area":[6,49],"version":[50],"release-type":[16],"class_list":["post-2692","releases","type-releases","status-publish","has-post-thumbnail","hentry","product-visual-paradigm","product-visual-paradigm-online","product-area-diagramming","product-area-vpascode","version-18-1","release-type-new-feature"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C\u00f4ng c\u1ee5 SQL sang ERD Mi\u1ec5n ph\u00ed: T\u1ea1o s\u01a1 \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u t\u1eeb DDL - VPasCode<\/title>\n<meta name=\"description\" content=\"Chuy\u1ec3n \u0111\u1ed5i d\u1ec5 d\u00e0ng c\u00e1c t\u1eadp l\u1ec7nh DDL SQL th\u00e0nh c\u00e1c s\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 tr\u1ef1c quan v\u1edbi VPasCode, c\u00f4ng c\u1ee5 SQL sang ERD mi\u1ec5n ph\u00ed c\u1ee7a ch\u00fang t\u00f4i. H\u1ed7 tr\u1ee3 \u0111\u1ecbnh d\u1ea1ng hi\u1ec3n th\u1ecb Mermaid v\u00e0 PlantUML theo th\u1eddi gian th\u1ef1c.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00f4ng c\u1ee5 SQL sang ERD Mi\u1ec5n ph\u00ed: T\u1ea1o s\u01a1 \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u t\u1eeb DDL - VPasCode\" \/>\n<meta property=\"og:description\" content=\"Chuy\u1ec3n \u0111\u1ed5i d\u1ec5 d\u00e0ng c\u00e1c t\u1eadp l\u1ec7nh DDL SQL th\u00e0nh c\u00e1c s\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 tr\u1ef1c quan v\u1edbi VPasCode, c\u00f4ng c\u1ee5 SQL sang ERD mi\u1ec5n ph\u00ed c\u1ee7a ch\u00fang t\u00f4i. H\u1ed7 tr\u1ee3 \u0111\u1ecbnh d\u1ea1ng hi\u1ec3n th\u1ecb Mermaid v\u00e0 PlantUML theo th\u1eddi gian th\u1ef1c.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Product Updates Vietnamese\" \/>\n<meta property=\"og:image\" content=\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/07\/img_6a55d47b6a5f3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1192\" \/>\n\t<meta property=\"og:image:height\" content=\"745\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/\",\"url\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/\",\"name\":\"C\u00f4ng c\u1ee5 SQL sang ERD Mi\u1ec5n ph\u00ed: T\u1ea1o s\u01a1 \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u t\u1eeb DDL - VPasCode\",\"isPartOf\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/07\/img_6a55d47b6a5f3.png\",\"datePublished\":\"2026-07-14T06:23:12+00:00\",\"description\":\"Chuy\u1ec3n \u0111\u1ed5i d\u1ec5 d\u00e0ng c\u00e1c t\u1eadp l\u1ec7nh DDL SQL th\u00e0nh c\u00e1c s\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 tr\u1ef1c quan v\u1edbi VPasCode, c\u00f4ng c\u1ee5 SQL sang ERD mi\u1ec5n ph\u00ed c\u1ee7a ch\u00fang t\u00f4i. H\u1ed7 tr\u1ee3 \u0111\u1ecbnh d\u1ea1ng hi\u1ec3n th\u1ecb Mermaid v\u00e0 PlantUML theo th\u1eddi gian th\u1ef1c.\",\"breadcrumb\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/#primaryimage\",\"url\":\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/07\/img_6a55d47b6a5f3.png\",\"contentUrl\":\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/07\/img_6a55d47b6a5f3.png\",\"width\":1192,\"height\":745},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/updates.visual-paradigm.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Chuy\u1ec3n \u0111\u1ed5i SQL th\u00e0nh s\u01a1 \u0111\u1ed3 ER tr\u1ef1c quan ngay l\u1eadp t\u1ee9c: VPasCode gi\u1edbi thi\u1ec7u h\u1ed7 tr\u1ee3 t\u01b0\u01a1ng t\u00e1c chuy\u1ec3n \u0111\u1ed5i SQL th\u00e0nh s\u01a1 \u0111\u1ed3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#website\",\"url\":\"https:\/\/updates.visual-paradigm.com\/vn\/\",\"name\":\"Visual Paradigm Product Updates Vietnamese\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/updates.visual-paradigm.com\/vn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#organization\",\"name\":\"Visual Paradigm Product Updates Vietnamese\",\"url\":\"https:\/\/updates.visual-paradigm.com\/vn\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2025\/11\/vp-updates.png\",\"contentUrl\":\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2025\/11\/vp-updates.png\",\"width\":185,\"height\":50,\"caption\":\"Visual Paradigm Product Updates Vietnamese\"},\"image\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00f4ng c\u1ee5 SQL sang ERD Mi\u1ec5n ph\u00ed: T\u1ea1o s\u01a1 \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u t\u1eeb DDL - VPasCode","description":"Chuy\u1ec3n \u0111\u1ed5i d\u1ec5 d\u00e0ng c\u00e1c t\u1eadp l\u1ec7nh DDL SQL th\u00e0nh c\u00e1c s\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 tr\u1ef1c quan v\u1edbi VPasCode, c\u00f4ng c\u1ee5 SQL sang ERD mi\u1ec5n ph\u00ed c\u1ee7a ch\u00fang t\u00f4i. H\u1ed7 tr\u1ee3 \u0111\u1ecbnh d\u1ea1ng hi\u1ec3n th\u1ecb Mermaid v\u00e0 PlantUML theo th\u1eddi gian th\u1ef1c.","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:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/","og_locale":"vi_VN","og_type":"article","og_title":"C\u00f4ng c\u1ee5 SQL sang ERD Mi\u1ec5n ph\u00ed: T\u1ea1o s\u01a1 \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u t\u1eeb DDL - VPasCode","og_description":"Chuy\u1ec3n \u0111\u1ed5i d\u1ec5 d\u00e0ng c\u00e1c t\u1eadp l\u1ec7nh DDL SQL th\u00e0nh c\u00e1c s\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 tr\u1ef1c quan v\u1edbi VPasCode, c\u00f4ng c\u1ee5 SQL sang ERD mi\u1ec5n ph\u00ed c\u1ee7a ch\u00fang t\u00f4i. H\u1ed7 tr\u1ee3 \u0111\u1ecbnh d\u1ea1ng hi\u1ec3n th\u1ecb Mermaid v\u00e0 PlantUML theo th\u1eddi gian th\u1ef1c.","og_url":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/","og_site_name":"Visual Paradigm Product Updates Vietnamese","og_image":[{"width":1192,"height":745,"url":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/07\/img_6a55d47b6a5f3.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"5 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/","url":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/","name":"C\u00f4ng c\u1ee5 SQL sang ERD Mi\u1ec5n ph\u00ed: T\u1ea1o s\u01a1 \u0111\u1ed3 c\u01a1 s\u1edf d\u1eef li\u1ec7u t\u1eeb DDL - VPasCode","isPartOf":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/#primaryimage"},"image":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/#primaryimage"},"thumbnailUrl":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/07\/img_6a55d47b6a5f3.png","datePublished":"2026-07-14T06:23:12+00:00","description":"Chuy\u1ec3n \u0111\u1ed5i d\u1ec5 d\u00e0ng c\u00e1c t\u1eadp l\u1ec7nh DDL SQL th\u00e0nh c\u00e1c s\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 tr\u1ef1c quan v\u1edbi VPasCode, c\u00f4ng c\u1ee5 SQL sang ERD mi\u1ec5n ph\u00ed c\u1ee7a ch\u00fang t\u00f4i. H\u1ed7 tr\u1ee3 \u0111\u1ecbnh d\u1ea1ng hi\u1ec3n th\u1ecb Mermaid v\u00e0 PlantUML theo th\u1eddi gian th\u1ef1c.","breadcrumb":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/#primaryimage","url":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/07\/img_6a55d47b6a5f3.png","contentUrl":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/07\/img_6a55d47b6a5f3.png","width":1192,"height":745},{"@type":"BreadcrumbList","@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/free-sql-to-erd-tool-online-editor\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/updates.visual-paradigm.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Chuy\u1ec3n \u0111\u1ed5i SQL th\u00e0nh s\u01a1 \u0111\u1ed3 ER tr\u1ef1c quan ngay l\u1eadp t\u1ee9c: VPasCode gi\u1edbi thi\u1ec7u h\u1ed7 tr\u1ee3 t\u01b0\u01a1ng t\u00e1c chuy\u1ec3n \u0111\u1ed5i SQL th\u00e0nh s\u01a1 \u0111\u1ed3"}]},{"@type":"WebSite","@id":"https:\/\/updates.visual-paradigm.com\/vn\/#website","url":"https:\/\/updates.visual-paradigm.com\/vn\/","name":"Visual Paradigm Product Updates Vietnamese","description":"","publisher":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/updates.visual-paradigm.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/updates.visual-paradigm.com\/vn\/#organization","name":"Visual Paradigm Product Updates Vietnamese","url":"https:\/\/updates.visual-paradigm.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/updates.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2025\/11\/vp-updates.png","contentUrl":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2025\/11\/vp-updates.png","width":185,"height":50,"caption":"Visual Paradigm Product Updates Vietnamese"},"image":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/releases\/2692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/releases"}],"about":[{"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/types\/releases"}],"version-history":[{"count":0,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/releases\/2692\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media\/2693"}],"wp:attachment":[{"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media?parent=2692"}],"wp:term":[{"taxonomy":"product","embeddable":true,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/product?post=2692"},{"taxonomy":"product-area","embeddable":true,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/product-area?post=2692"},{"taxonomy":"version","embeddable":true,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/version?post=2692"},{"taxonomy":"release-type","embeddable":true,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/release-type?post=2692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}