{"id":2143,"date":"2026-08-18T07:03:18","date_gmt":"2026-08-18T07:03:18","guid":{"rendered":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"modified":"2026-08-18T07:03:18","modified_gmt":"2026-08-18T07:03:18","slug":"building-a-hotel-management-erd-with-plantuml-and-vpascode","status":"publish","type":"post","link":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","title":{"rendered":"Construindo um ERD de Gest\u00e3o de Hot\u00e9is com PlantUML e VPasCode"},"content":{"rendered":"<p><img fetchpriority=\"high\" alt='A YouTube thumbnail-style graphic featuring the bold text \"BUILD PROFESSIONAL DATABASE DIAGRAMS\" in large uppercase letters, with a pointing finger icon on the right and a rendered Entity Relationship Diagram displayed in the background.' class=\"alignnone size-full wp-image-2717\" decoding=\"async\" fetchpriority=\"high\" height=\"768\" sizes=\"(max-width: 1376px) 100vw, 1376px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg 1376w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-300x167.jpg 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-1024x572.jpg 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-768x429.jpg 768w\" width=\"1376\"\/><\/p>\n<p>Ao projetar arquiteturas de banco de dados robustas para dom\u00ednios complexos como o hospitalar, visualizar relacionamentos de forma clara \u00e9 essencial. Seja ao mapear perfis de clientes, rastrear estoques de quartos ou gerenciar faturamento, um Diagrama de Relacionamento de Entidades (ERD) bem estruturado poupa incont\u00e1veis horas durante o desenvolvimento. Neste masterclass, vou mostrar como criei um ERD abrangente de Gest\u00e3o de Hot\u00e9is do zero usando PlantUML dentro do <a href=\"https:\/\/www.vpascode.com\/editor\/\">editor gratuito do PlantUML<\/a>, <a href=\"https:\/\/vpascode.com\/\">VPasCode<\/a>.<\/p>\n<p id=\"LzlMgfr\"><img alt=\"\" class=\"alignnone size-full wp-image-2661\" decoding=\"async\" height=\"738\" sizes=\"(max-width: 1508px) 100vw, 1508px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7.png 1508w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-300x147.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-1024x501.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-768x376.png 768w\" width=\"1508\"\/><\/p>\n<h2>1. Inicializando o Ambiente do PlantUML<\/h2>\n<p>Come\u00e7o configurando a estrutura fundamental do script. Ao trabalhar com esquemas complexos que cont\u00eam numerosos atributos, a legibilidade do layout \u00e9 fundamental. Configuro o PlantUML para ocultar ru\u00eddos desnecess\u00e1rios e otimizar a dire\u00e7\u00e3o do layout do diagrama:<\/p>\n<pre><code class=\"language-plantuml\">\r\n@startuml \r\nt\u00edtulo ERD de Gest\u00e3o de Hot\u00e9is\r\n\r\nesconder c\u00edrculo\r\ndire\u00e7\u00e3o da esquerda para a direita\r\n    <\/code><\/pre>\n<p><strong>Por que essa abordagem?<\/strong>Ocultar os c\u00edrculos de atributos padr\u00e3o mant\u00e9m as caixas de entidades limpas e modernas. Definir a dire\u00e7\u00e3o como <code>dire\u00e7\u00e3o da esquerda para a direita<\/code>ajuda a evitar que ERDs largos se tornem verticalmente invi\u00e1veis, espalhando relacionamentos entre m\u00faltiplas tabelas de forma l\u00f3gica.<\/p>\n<h2>2. Definindo Entidades Principais e Atributos<\/h2>\n<p>Em seguida, preciso definir as entidades principais que representam nosso dom\u00ednio de neg\u00f3cios. Estruturo cada entidade com suas chaves prim\u00e1rias, restri\u00e7\u00f5es \u00fanicas e atributos tipados. Vamos ver como configurei as entidades principais <code>Cliente<\/code> e <code>Tipo de Quarto<\/code> entidades:<\/p>\n<pre><code class=\"language-plantuml\">\r\nentidade \"Cliente\" como cliente {\r\n  * customer_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&lt;UK&gt;&gt;\r\n  phone : VARCHAR(20)\r\n  address : TEXT\r\n  loyalty_points : INTEGER\r\n  total_stays : INTEGER\r\n  date_registered : TIMESTAMP\r\n  date_of_birth : DATE\r\n  nationality : VARCHAR(50)\r\n}\r\n\r\nentidade \"Tipo de Quarto\" como tipodequarto {\r\n  * room_type_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  type_name : VARCHAR(50) &lt;&lt;UK&gt;&gt;\r\n  description : TEXT\r\n  standard_capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  extra_bed_charge : DECIMAL(10,2)\r\n  has_kitchenette : BOOLEAN\r\n  has_balcony : BOOLEAN\r\n}\r\n    <\/code><\/pre>\n<p>Ao definir marcadores expl\u00edcitos como <code>&lt;&lt;PK&gt;&gt;<\/code> e <code>&lt;&lt;UK&gt;&gt;<\/code>, qualquer pessoa revisando o c\u00f3digo entende imediatamente as regras de indexa\u00e7\u00e3o e unicidade antes mesmo de os scripts de migra\u00e7\u00e3o do banco de dados serem escritos.<\/p>\n<h2>3. Mapeando Entidades Operacionais (Quartos, Reservas e Funcion\u00e1rios)<\/h2>\n<p>Com nossos dados de refer\u00eancia em lugar, passo para o cora\u00e7\u00e3o operacional do sistema de gest\u00e3o de hot\u00e9is: quartos, reservas e fluxos de trabalho de funcion\u00e1rios. Cada entidade se liga de volta \u00e0s nossas tabelas fundamentais usando chaves estrangeiras:<\/p>\n<pre><code class=\"language-plantuml\">\r\nentidade \"Quarto\" como quarto {\r\n  * room_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  room_number : VARCHAR(10) &lt;&lt;UK&gt;&gt;\r\n  floor_number : INTEGER\r\n  room_type_id : UUID &lt;&lt;FK&gt;&gt;\r\n  capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  is_available : BOOLEAN\r\n  has_view : BOOLEAN\r\n  square_feet : INTEGER\r\n  last_renovated : DATE\r\n}\r\n\r\nentidade \"Reserva\" como reserva {\r\n  * reservation_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  customer_id : UUID &lt;&lt;FK&gt;&gt;\r\n  room_id : UUID &lt;&lt;FK&gt;&gt;\r\n  check_in_date : DATE\r\n  check_out_date : DATE\r\n  number_of_guests : INTEGER\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n  special_requests : TEXT\r\n  created_at : TIMESTAMP\r\n  updated_at : TIMESTAMP\r\n  confirmation_code : VARCHAR(20) &lt;&lt;UK&gt;&gt;\r\n}\r\n    <\/code><\/pre>\n<h2>4. Estabelecendo Relacionamentos Financeiros e de Servi\u00e7o<\/h2>\n<p>Para finalizar a arquitetura, mapeio os registros de faturamento (Pagamentos e Faturas) junto com servi\u00e7os auxiliares como o Servi\u00e7o de Quarto gerenciado pelos funcion\u00e1rios do hotel. Para conectar tudo isso, defino explicitamente a cardinalidade usando a nota\u00e7\u00e3o padr\u00e3o do PlantUML:<\/p>\n<pre><code class=\"language-plantuml\">\r\n' Relacionamentos\r\ncustomer ||--o{ reservation : \"realiza\"\r\nroom ||--o{ reservation : \"atribu\u00edda a\"\r\nreservation ||--|| payment : \"possui\"\r\nreservation ||--|| invoice : \"gera\"\r\nreservation ||--o{ roomservice : \"solicita\"\r\nstaff ||--o{ roomservice : \"atende\"\r\nroomtype ||--o{ room : \"categoriza\"\r\n\r\n@enduml\r\n    <\/code><\/pre>\n<p><strong>Escolha de Design:<\/strong> Usando a nota\u00e7\u00e3o precisa de p\u00e9s de corvo (como <code>||--o{<\/code> para relacionamentos um-para-muitos obrigat\u00f3rios-para-opcionais) garante que as regras de l\u00f3gica de neg\u00f3cios\u2014como uma reserva exigir um cliente, mas um cliente potencialmente ter m\u00faltiplas ou nenhuma reserva ativa\u2014sejam modeladas com precis\u00e3o.<\/p>\n<section class=\"post-section\">\u00a0<\/section>\n<hr\/>\n<h2>O Script Completo do PlantUML<\/h2>\n<p>Aqui est\u00e1 o c\u00f3digo-fonte completo e montado para o nosso ERD de gest\u00e3o de hot\u00e9is. Voc\u00ea pode copiar e colar este c\u00f3digo diretamente em seu editor <strong>editor gratuito do PlantUML<\/strong> para editar ou renderizar gr\u00e1ficos vetoriais:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRDRXit4CVl0lGEX2zjYXfmNVGI54KKIqqCn4cgA4Lln6Xt917XaXj-g57ZF4oGGz13da8lrY7tmwjTRe3uqeiWxWm_vZV_6VAHTM2SBoIRJgOJ9vn4jbZEMOxi2Lft_AJ3twVQ7VyLDhYWpRJAqR3i-CLaNkhf91S6Zv-ZAp2qRpqQ-bE20GOi68M3CFKxDiUDKC8mL4xaaADbcIuOE2FMtcbQlp6mioifQ81dmKEpp5kd2zhr_NJ2s0_jc8kSFMIlNr_FsQ-_1TFvUVZT26CTLr0WMV-SBQ-UpfRV_tBn8DWaZ9gm024xdt-wk7XGhrlkjEhEkAncG9uRj9OCgyLVgxYyFe1q1rvgeLmmN3zVBPuibi7cj0F9YVYXPyZ18JUu5TQXmH3IwlfcyMerktdPclM6huLnEpBEPwj5-Ax02Qr02dVe1_CXvggb-OUdBEiQfj44lGOP_ez0Z2RbYpLXxp9fa6oarkREeHDEdEaE9GvMpg24h3fkntyD5dbfH1O8pnTNrpUpPxJHZvUHiR0SzfGOMCjWV_pYnRF5x7cmxC3olS2_Jx-I0C4Wto2wqsrYvWqglIUUUSknXsebogZv0R8Gq0csP8GLksWQYgps8U5dHfGXUHtba2vK3YRdzu64xvm1laQQlGEpJVe4N6-4otQeqBa4opL8Akv3rz23iqIBPWyDbMeKusZ0t7qQGJDQkaafqc6pDrme7cgW8_tgk_QkRwZq6Afbwwc19IiG2ksLIo6Y73XlXtLkIym4pJJujbcrILjcCCY9W-kNhI_p4GjHfXPLL9WodVSwIuozH_ubR4bEgbLa2OSmRBZNmx5I_afMnc4qQzQ4Jo9eR0MwdSuxn_-v0aPgL1Qokns7LJ36sc26L1pS6zd1R73ZLJwQkXwjtsbfqyXKgBqEPLEZgeVtGDNC73J5opOeOQsdbFT4cNliVx9-7SMO0k_WNLASTB2m_NY5tq_UVNPUPHJzyQCHZTXetcRJy8k3__lYDLhYK7KxUcmCG8C4SqZIs8cDuvPQIUvbubJXuY45x_4h3V5LoCdnS_h6g1FMWglpz-t2IoDlreiNq-3qwKkcRc3SYGA7NQae9SO3fCnZzJfo9tseddnBb13aL3KlUkArJxdRs_Dp_Vxa4dd8pgYRIl4Fd4qdyPcITgfUZCSlzCoCdXrhc71xsxP7SYurrQH8kpMjWTosQ59hXSqxgIH7gwMWwpauLtMHTYCLqZkvZYEcgECN73Bos6fJ1JkTF29tUeV_1m00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"language-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml \r\n\r\ntitle ERD de Gest\u00e3o de Hot\u00e9is\r\n\r\nesconder c\u00edrculo\r\ndire\u00e7\u00e3o da esquerda para a direita\r\n\r\n' Definir entidades com atributos\r\nentidade \"Cliente\" como customer {\r\n  * customer_id : UUID &lt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&gt;\r\n  phone : VARCHAR(20)\r\n  address : TEXT\r\n  loyalty_points : INTEGER\r\n  total_stays : INTEGER\r\n  date_registered : TIMESTAMP\r\n  date_of_birth : DATE\r\n  nationality : VARCHAR(50)\r\n}\r\n\r\nentidade \"Quarto\" como room {\r\n  * room_id : UUID &lt;&gt;\r\n  --\r\n  room_number : VARCHAR(10) &lt;&gt;\r\n  floor_number : INTEGER\r\n  room_type_id : UUID &lt;&gt;\r\n  capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  is_available : BOOLEAN\r\n  has_view : BOOLEAN\r\n  square_feet : INTEGER\r\n  last_renovated : DATE\r\n}\r\n\r\nentidade \"Tipo de Quarto\" como roomtype {\r\n  * room_type_id : UUID &lt;&gt;\r\n  --\r\n  type_name : VARCHAR(50) &lt;&gt;\r\n  description : TEXT\r\n  standard_capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  extra_bed_charge : DECIMAL(10,2)\r\n  has_kitchenette : BOOLEAN\r\n  has_balcony : BOOLEAN\r\n}\r\n\r\nentidade \"Reserva\" como reservation {\r\n  * reservation_id : UUID &lt;&gt;\r\n  --\r\n  customer_id : UUID &lt;&gt;\r\n  room_id : UUID &lt;&gt;\r\n  check_in_date : DATE\r\n  check_out_date : DATE\r\n  number_of_guests : INTEGER\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n  special_requests : TEXT\r\n  created_at : TIMESTAMP\r\n  updated_at : TIMESTAMP\r\n  confirmation_code : VARCHAR(20) &lt;&gt;\r\n}\r\n\r\nentidade \"Pagamento\" como payment {\r\n  * payment_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  amount : DECIMAL(10,2)\r\n  payment_date : TIMESTAMP\r\n  payment_method : VARCHAR(30)\r\n  transaction_id : VARCHAR(50) &lt;&gt;\r\n  status : VARCHAR(20)\r\n  receipt_url : TEXT\r\n  refund_amount : DECIMAL(10,2)\r\n}\r\n\r\nentidade \"Fatura\" como invoice {\r\n  * invoice_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  invoice_number : VARCHAR(20) &lt;&gt;\r\n  issued_date : DATE\r\n  due_date : DATE\r\n  subtotal : DECIMAL(10,2)\r\n  tax : DECIMAL(10,2)\r\n  service_charge : DECIMAL(10,2)\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n}\r\n\r\nentidade \"Funcion\u00e1rio\" como staff {\r\n  * staff_id : UUID &lt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&gt;\r\n  phone : VARCHAR(20)\r\n  role : VARCHAR(30)\r\n  hire_date : DATE\r\n  salary : DECIMAL(10,2)\r\n  shift_schedule : VARCHAR(50)\r\n  is_active : BOOLEAN\r\n}\r\n\r\nentidade \"Servi\u00e7o de Quarto\" como roomservice {\r\n  * service_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  staff_id : UUID &lt;&gt;\r\n  service_type : VARCHAR(50)\r\n  description : TEXT\r\n  request_time : TIMESTAMP\r\n  completion_time : TIMESTAMP\r\n  status : VARCHAR(20)\r\n  price : DECIMAL(10,2)\r\n}\r\n\r\n' Relacionamentos\r\ncustomer ||--o{ reservation : \"realiza\"\r\nroom ||--o{ reservation : \"atribu\u00edda a\"\r\nreservation ||--|| payment : \"possui\"\r\nreservation ||--|| invoice : \"gera\"\r\nreservation ||--o{ roomservice : \"solicita\"\r\nstaff ||--o{ roomservice : \"atende\"\r\nroomtype ||--o{ room : \"categoriza\"\r\n\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRDRXit4CVl0lGEX2zjYXfmNVGI54KKIqqCn4cgA4Lln6Xt917XaXj-g57ZF4oGGz13da8lrY7tmwjTRe3uqeiWxWm_vZV_6VAHTM2SBoIRJgOJ9vn4jbZEMOxi2Lft_AJ3twVQ7VyLDhYWpRJAqR3i-CLaNkhf91S6Zv-ZAp2qRpqQ-bE20GOi68M3CFKxDiUDKC8mL4xaaADbcIuOE2FMtcbQlp6mioifQ81dmKEpp5kd2zhr_NJ2s0_jc8kSFMIlNr_FsQ-_1TFvUVZT26CTLr0WMV-SBQ-UpfRV_tBn8DWaZ9gm024xdt-wk7XGhrlkjEhEkAncG9uRj9OCgyLVgxYyFe1q1rvgeLmmN3zVBPuibi7cj0F9YVYXPyZ18JUu5TQXmH3IwlfcyMerktdPclM6huLnEpBEPwj5-Ax02Qr02dVe1_CXvggb-OUdBEiQfj44lGOP_ez0Z2RbYpLXxp9fa6oarkREeHDEdEaE9GvMpg24h3fkntyD5dbfH1O8pnTNrpUpPxJHZvUHiR0SzfGOMCjWV_pYnRF5x7cmxC3olS2_Jx-I0C4Wto2wqsrYvWqglIUUUSknXsebogZv0R8Gq0csP8GLksWQYgps8U5dHfGXUHtba2vK3YRdzu64xvm1laQQlGEpJVe4N6-4otQeqBa4opL8Akv3rz23iqIBPWyDbMeKusZ0t7qQGJDQkaafqc6pDrme7cgW8_tgk_QkRwZq6Afbwwc19IiG2ksLIo6Y73XlXtLkIym4pJJujbcrILjcCCY9W-kNhI_p4GjHfXPLL9WodVSwIuozH_ubR4bEgbLa2OSmRBZNmx5I_afMnc4qQzQ4Jo9eR0MwdSuxn_-v0aPgL1Qokns7LJ36sc26L1pS6zd1R73ZLJwQkXwjtsbfqyXKgBqEPLEZgeVtGDNC73J5opOeOQsdbFT4cNliVx9-7SMO0k_WNLASTB2m_NY5tq_UVNPUPHJzyQCHZTXetcRJy8k3__lYDLhYK7KxUcmCG8C4SqZIs8cDuvPQIUvbubJXuY45x_4h3V5LoCdnS_h6g1FMWglpz-t2IoDlreiNq-3qwKkcRc3SYGA7NQae9SO3fCnZzJfo9tseddnBb13aL3KlUkArJxdRs_Dp_Vxa4dd8pgYRIl4Fd4qdyPcITgfUZCSlzCoCdXrhc71xsxP7SYurrQH8kpMjWTosQ59hXSqxgIH7gwMWwpauLtMHTYCLqZkvZYEcgECN73Bos6fJ1JkTF29tUeV_1m00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"ANJCSUi\"><img alt=\"Editing a ERD in Visual Paradigm VPasCode\" class=\"alignnone wp-image-2662 size-full\" decoding=\"async\" height=\"856\" sizes=\"(max-width: 1311px) 100vw, 1311px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766.png 1311w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-300x196.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-1024x669.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-768x501.png 768w\" width=\"1311\"\/><\/p>\n<hr\/>\n<section class=\"post-section\"><span style=\"font-size: 1.7em; font-weight: bold;\">Leve seus projetos de banco de dados \u00e0 vida com o VPasCode<\/span><\/section>\n<p>Criar modelos de banco de dados complexos n\u00e3o precisa significar lutar com interfaces de usu\u00e1rio desajeitadas de arrastar e soltar. Ao aproveitar uma abordagem de diagrama como c\u00f3digo, sua arquitetura permanece controlada por vers\u00e3o, limpa e facilmente mantida.<\/p>\n<p>Pronto para tentar construir suas pr\u00f3prias arquiteturas de sistema? Acesse <a href=\"https:\/\/www.vpascode.com\/editor\/\">VPasCode<\/a> para experimentar renderiza\u00e7\u00e3o em tempo real, detec\u00e7\u00e3o autom\u00e1tica de formato e exporta\u00e7\u00f5es sem problemas para sua documenta\u00e7\u00e3o t\u00e9cnica hoje!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ao projetar arquiteturas de banco de dados robustas para dom\u00ednios complexos como o hospitalar, visualizar relacionamentos de forma clara \u00e9 essencial. Seja ao mapear perfis de clientes, rastrear estoques de quartos ou gerenciar faturamento, um Diagrama de Relacionamento de Entidades&#8230;<\/p>\n","protected":false},"author":4,"featured_media":2144,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[19],"tags":[],"class_list":["post-2143","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials-guides"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Build a Hotel Management ERD Using PlantUML &amp; VPasCode<\/title>\n<meta name=\"description\" content=\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build a Hotel Management ERD Using PlantUML &amp; VPasCode\" \/>\n<meta property=\"og:description\" content=\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-18T07:03:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1376\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\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=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"},\"author\":{\"name\":\"jick\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\"},\"headline\":\"Construindo um ERD de Gest\u00e3o de Hot\u00e9is com PlantUML e VPasCode\",\"datePublished\":\"2026-08-18T07:03:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"},\"wordCount\":561,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail.jpg\",\"articleSection\":[\"Tutorials &amp; Guides\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\",\"name\":\"Build a Hotel Management ERD Using PlantUML & VPasCode\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail.jpg\",\"datePublished\":\"2026-08-18T07:03:18+00:00\",\"description\":\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail.jpg\",\"width\":1376,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Construindo um ERD de Gest\u00e3o de Hot\u00e9is com PlantUML e VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\",\"name\":\"jick\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@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\\\/pt\\\/author\\\/jick\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Build a Hotel Management ERD Using PlantUML & VPasCode","description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","og_locale":"pt_PT","og_type":"article","og_title":"Build a Hotel Management ERD Using PlantUML & VPasCode","og_description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","og_url":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","og_site_name":"VPasCode","article_published_time":"2026-08-18T07:03:18+00:00","og_image":[{"width":1376,"height":768,"url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg","type":"image\/jpeg"}],"author":"jick","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":false,"Tempo estimado de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"author":{"name":"jick","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6"},"headline":"Construindo um ERD de Gest\u00e3o de Hot\u00e9is com PlantUML e VPasCode","datePublished":"2026-08-18T07:03:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"wordCount":561,"commentCount":0,"publisher":{"@id":"https:\/\/www.vpascode.com\/pt\/#organization"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg","articleSection":["Tutorials &amp; Guides"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","url":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","name":"Build a Hotel Management ERD Using PlantUML & VPasCode","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg","datePublished":"2026-08-18T07:03:18+00:00","description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage","url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg","contentUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg","width":1376,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Construindo um ERD de Gest\u00e3o de Hot\u00e9is com PlantUML e VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/pt\/#website","url":"https:\/\/www.vpascode.com\/pt\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/pt\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6","name":"jick","image":{"@type":"ImageObject","inLanguage":"pt-PT","@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\/pt\/author\/jick\/"}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/posts\/2143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/comments?post=2143"}],"version-history":[{"count":0,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/posts\/2143\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/media\/2144"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/media?parent=2143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/categories?post=2143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/tags?post=2143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}