{"id":2231,"date":"2026-08-18T07:03:18","date_gmt":"2026-08-18T07:03:18","guid":{"rendered":"https:\/\/www.vpascode.com\/pl\/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\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","title":{"rendered":"Tworzenie schematu ERD dla systemu zarz\u0105dzania hotelem przy u\u017cyciu PlantUML i VPasCode"},"content":{"rendered":"<p><img loading=\"lazy\" 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\" height=\"768\" loading=\"lazy\" sizes=\"auto, (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>Podczas projektowania solidnych architektur baz danych dla z\u0142o\u017conych domen, takich jak hotelarstwo, kluczowe jest jasne wizualizowanie relacji. Niezale\u017cnie od tego, czy mapujesz profile klient\u00f3w, \u015bledzisz stany pokoi, czy zarz\u0105dzasz rozliczeniami, dobrze strukturyzowany diagram relacji encji (ERD) oszcz\u0119dza niezliczone godziny podczas rozwoju. W tym warsztacie poka\u017c\u0119 Ci, jak od podstaw zbudowa\u0142em kompleksowy schemat ERD dla systemu zarz\u0105dzania hotelem, u\u017cywaj\u0105c PlantUML wewn\u0105trz <a href=\"https:\/\/www.vpascode.com\/editor\/\">darmowego edytora PlantUML<\/a>, <a href=\"https:\/\/vpascode.com\/\">VPasCode<\/a>.<\/p>\n<p id=\"LzlMgfr\"><img loading=\"lazy\" alt=\"Hotel Management ERD diagram showing relationships between Customer, Room, Reservation, Payment, and Staff entities.\" class=\"alignnone size-full wp-image-2661\" decoding=\"async\" height=\"738\" loading=\"lazy\" sizes=\"auto, (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. Inicjalizowanie \u015brodowiska PlantUML<\/h2>\n<p>Zaczynam od ustawienia podstawowej struktury skryptu. Przy pracy ze z\u0142o\u017conymi schematami zawieraj\u0105cymi wiele atrybut\u00f3w, czytelno\u015b\u0107 uk\u0142adu jest priorytetem. Konfiguruj\u0119 PlantUML tak, aby ukrywa\u0107 niepotrzebny ba\u0142agan i zoptymalizowa\u0107 kierunek uk\u0142adu diagramu:<\/p>\n<pre><code class=\"language-plantuml\">\r\n@startuml \r\ntytu\u0142: Hotel Management ERD\r\n\r\nhide circle\r\nkierunek: od lewej do prawej\r\n    <\/code><\/pre>\n<p><strong>Dlaczego taka metoda?<\/strong> Ukrywanie domy\u015blnych k\u00f3\u0142ek atrybut\u00f3w sprawia, \u017ce pude\u0142ka encji s\u0105 czyste i nowoczesne. Ustawienie kierunku na <code>od lewej do prawej<\/code> pomaga zapobiega\u0107 temu, aby szerokie schematy ERD nie sta\u0142y si\u0119 pionowo niezarz\u0105dzalne, logicznie rozk\u0142adaj\u0105c relacje mi\u0119dzy wieloma tabelami.<\/p>\n<h2>2. Definiowanie podstawowych encji i atrybut\u00f3w<\/h2>\n<p>Nast\u0119pnie musz\u0119 zdefiniowa\u0107 podstawowe encje reprezentuj\u0105ce nasz\u0105 domen\u0119 biznesow\u0105. Strukturyzuj\u0119 ka\u017cd\u0105 encj\u0119 z jej kluczami g\u0142\u00f3wnymi, ograniczeniami unikalno\u015bci i atrybutami o okre\u015blonym typie. Zobaczmy, jak skonfigurowa\u0142em podstawowe <code>Klienta<\/code> i <code>Typu Pokoju<\/code> encji:<\/p>\n<pre><code class=\"language-plantuml\">\r\nentity \"Klient\" jako klient {\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\nentity \"TypPokoiu\" jako roomtype {\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>Poprzez definiowanie jawnego znacznika takiego jak <code>&lt;&lt;PK&gt;&gt;<\/code> i <code>&lt;&lt;UK&gt;&gt;<\/code>, ka\u017cdy przegl\u0105daj\u0105cy kod natychmiast rozumie regu\u0142y indeksowania i unikalno\u015bci jeszcze zanim napisane zostan\u0105 skrypty migracji bazy danych.<\/p>\n<h2>3. Mapowanie encji operacyjnych (Pokoje, Rezerwacje i Personel)<\/h2>\n<p>Maj\u0105c ju\u017c dane referencyjne, przechodz\u0119 do transakcyjnego serca systemu zarz\u0105dzania hotelem: pokoi, rezerwacji i przep\u0142yw\u00f3w pracy personelu. Ka\u017cda encja \u0142\u0105czy si\u0119 z naszymi podstawowymi tabelami za pomoc\u0105 kluczy obcych:<\/p>\n<pre><code class=\"language-plantuml\">\r\nentity \"Pok\u00f3j\" jako room {\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\nentity \"Rezerwacja\" jako reservation {\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. Ustalanie relacji finansowych i us\u0142ugowych<\/h2>\n<p>Aby zamkn\u0105\u0107 architektur\u0119, mapuj\u0119 rekordy rozliczeniowe (P\u0142atno\u015bci i Faktury) wraz z us\u0142ugami pomocniczymi, takimi jak Room Service obs\u0142ugiwane przez personel hotelu. Aby po\u0142\u0105czy\u0107 wszystko ze sob\u0105, jawnie definiuj\u0119 kardynalno\u015b\u0107, u\u017cywaj\u0105c standardowej notacji PlantUML:<\/p>\n<pre><code class=\"language-plantuml\">\r\n' Relacje\r\ncustomer ||--o{ rezerwacja : \"tworzy\"\r\npok\u00f3j ||--o{ rezerwacja : \"przypisany do\"\r\nrezerwacja ||--|| p\u0142atno\u015b\u0107 : \"posiada\"\r\nrezerwacja ||--|| faktura : \"generuje\"\r\nrezerwacja ||--o{ obs\u0142uga pokoju : \"zg\u0142asza\"\r\npersonel ||--o{ obs\u0142uga pokoju : \"realizuje\"\r\ntyp pokoju ||--o{ pok\u00f3j : \"kategoryzuje\"\r\n\r\n@enduml\r\n    <\/code><\/pre>\n<p><strong>Wyb\u00f3r projektowy:<\/strong> U\u017cywanie precyzyjnej notacji \u201e\u0142apy kruka<code>||--o{<\/code> dla obowi\u0105zkowych relacji jeden-do-wielu z opcjonalnym ko\u0144cem) zapewnia, \u017ce regu\u0142y logiki biznesowej \u2014 takie jak konieczno\u015b\u0107 posiadania klienta przez rezerwacj\u0119, podczas gdy klient mo\u017ce mie\u0107 wiele lub zero aktywnych rezerwacji \u2014 s\u0105 poprawnie zamodelowane.<\/p>\n<section class=\"post-section\">\u00a0<\/section>\n<hr \/>\n<h2>Pe\u0142ny skrypt PlantUML<\/h2>\n<p>Oto pe\u0142ny, zebrany kod \u017ar\u00f3d\u0142owy naszego diagramu ERD dla systemu zarz\u0105dzania hotelem. Mo\u017cesz skopiowa\u0107 i wklei\u0107 ten kod bezpo\u015brednio do swojego ulubionego <strong>darmowego edytora PlantUML<\/strong> aby edytowa\u0107 lub renderowa\u0107 grafik\u0119 wektorow\u0105:<\/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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml: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\">\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\n<span>Edytuj PlantUML w VPasCode<\/span>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nLRDRkCs4BuRy3iGkMotQ81qYrw2HR7kncs3RZQ1worw4yOIOzEII84Y8OYRlHWjzXc2FaQklSLwhmv5IT5lWEsb5yES-KXnllbcXczI1LBfE2BpsNocSgMBmpcvOB2L49Fbwe8OaERuLs20Co0xeMX4OulTiO0Idqa_elDPoAZKd8P412IY6TsJG9140lwps1VaWjuopaI6fr12kRzdn11GCjze1J6RpoXNJENavDU8uTyJ0Ya9ox_autn6oDVLocC1EISVFbnUaDS_MCVfgVrbCJlUe-FtnUhjBulLLz-VlRHc3YPZQIY67Xe3YrhcRy_ENbOdsWXl1MyvNxaz44YQedcz_6Djrudc8Luv4dk8k2Z-zZ4-YlxBz-lbpykLXVXG74AHCGKaOhxP04d49bUF3raN5m0Y9DtJL4cmvE1NBg-MlwqNLpUDNqiH66hJW1bQh9SkGZIA3Bz-_DoFyfEblkRrHeIF3_kIrwJyM_FgLXEySXrJQI5YhpjirMHL06GVBzwDIUM9vtOE3a_4diQyldIRByg1RC2WK6oGoxUNLujt-BblNfKP24IgZlS9pz7vu_Nrk-NYlJKRah50e0RZhZr1vgaq_ivnrkSR3mE5UjmAf3uMNEc6s0vrwpovAUCesNiAgsRmcK0h5b66u25CTrDKWKJ2shB2M_4096OLl6U9yfuZ2YCCxGaYAGusM0EDaPBYyFXG_5FMnM0hbYKMSefSXjhVKSxpkC_s1g9Gy2xR7SPMr52PeP2Xf4msovgo9yi4PHFLFY5McqulsuC9TAisd3NlcrqXUjkoOhkiXfd0BQsY7U77YaQdm-wG9jItZO3Y9sFOWjDSdLIjCY6DuCBB-hLj85GQ8cPpEUOFHO0wK5RAJVctlbrIq2rrct4d6bVlJ-kcw9zC4mbu9aCbIwEgiuGtH_k3BXPJXHBi8UfGlgjQjcqe7ZOJdaBeEk6mOgPoe6Na9I1XAxXkaU_IQZ8fN8btxztXxYUR3EbaU-l-rvnLoo_douNajkSZoMkKYc5XbhiDld9PHKKDPxKprJ7ArHpltV0PJKfYgnudyuYhrHjqMXpqjfoX0zX_hugkBAbCiMj4JfFLeX5ajVu_vxiK4Gm5MIR0u5D51xoVd2pd-51oKvcEqR83YOD5sCUKPs86V7XJb4MUTITQXxRhJPaQi2E8kH4aAbDl3kdA-iK2dIJVJZPtAXjUl3UsV0EfPxR5GQHrb-eKl_D3A8e__L70L56NRuBngdr1LZJ2aEmBr3qMx-vEJyN7ziGv9oTbxyrFvhFgvJCAIX224G6c8X28RNaj_kwkqqVj1f4o260KMhSEX6qfnxVndWvnU8L-9X5lAOJKs7ER8fb6IsedXpk-zJAfDbJn8Yx47h0LCg-WyzaRoWDyzlyB\" \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\ntytu\u0142: Diagram ERD zarz\u0105dzania hotelem\r\n\r\nhide circle\r\nkierunek od lewej do prawej\r\n\r\n' Definiowanie encji z atrybutami\r\nentity \"Klient\" as klient {\r\n  * klient_id : UUID &lt;&gt;\r\n  --\r\n  imi\u0119 : VARCHAR(50)\r\n  nazwisko : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&gt;\r\n  telefon : VARCHAR(20)\r\n  adres : TEXT\r\n  punkty lojalno\u015bciowe : INTEGER\r\n  ca\u0142kowita liczba pobyt\u00f3w : INTEGER\r\n  data rejestracji : TIMESTAMP\r\n  data urodzenia : DATE\r\n  narodowo\u015b\u0107 : VARCHAR(50)\r\n}\r\n\r\nentity \"Pok\u00f3j\" as pok\u00f3j {\r\n  * pok\u00f3j_id : UUID &lt;&gt;\r\n  --\r\n  numer pokoju : VARCHAR(10) &lt;&gt;\r\n  numer pi\u0119tra : INTEGER\r\n  typ_pokoju_id : UUID &lt;&gt;\r\n  pojemno\u015b\u0107 : INTEGER\r\n  cena bazowa : DECIMAL(10,2)\r\n  dost\u0119pny : BOOLEAN\r\n  z widokiem : BOOLEAN\r\n  powierzchnia : INTEGER\r\n  data ostatniego remontu : DATE\r\n}\r\n\r\nentity \"TypPokoju\" as typ_pokoju {\r\n  * typ_pokoju_id : UUID &lt;&gt;\r\n  --\r\n  nazwa_typu : VARCHAR(50) &lt;&gt;\r\n  opis : TEXT\r\n  standardowa_pojemno\u015b\u0107 : INTEGER\r\n  cena_bazowa : DECIMAL(10,2)\r\n  dodatkowa_op\u0142ata za dodatkowe \u0142\u00f3\u017cko : DECIMAL(10,2)\r\n  z aneksem kuchennym : BOOLEAN\r\n  z balkonem : BOOLEAN\r\n}\r\n\r\nentity \"Rezerwacja\" as rezerwacja {\r\n  * rezerwacja_id : UUID &lt;&gt;\r\n  --\r\n  klient_id : UUID &lt;&gt;\r\n  pok\u00f3j_id : UUID &lt;&gt;\r\n  data_wjazdu : DATE\r\n  data_wyjazdu : DATE\r\n  liczba_go\u015bci : INTEGER\r\n  kwota_ca\u0142kowita : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n  specjalne_wymagania : TEXT\r\n  utworzono_w : TIMESTAMP\r\n  zaktualizowano_w : TIMESTAMP\r\n  kod_potwierdzenia : VARCHAR(20) &lt;&gt;\r\n}\r\n\r\nentity \"P\u0142atno\u015b\u0107\" as p\u0142atno\u015b\u0107 {\r\n  * p\u0142atno\u015b\u0107_id : UUID &lt;&gt;\r\n  --\r\n  rezerwacja_id : UUID &lt;&gt;\r\n  kwota : DECIMAL(10,2)\r\n  data_p\u0142atno\u015bci : TIMESTAMP\r\n  metoda_p\u0142atno\u015bci : VARCHAR(30)\r\n  numer_transakcji : VARCHAR(50) &lt;&gt;\r\n  status : VARCHAR(20)\r\n  url_paragonu : TEXT\r\n  kwota_zwrotu : DECIMAL(10,2)\r\n}\r\n\r\nentity \"Faktura\" as faktura {\r\n  * faktura_id : UUID &lt;&gt;\r\n  --\r\n  rezerwacja_id : UUID &lt;&gt;\r\n  numer_faktury : VARCHAR(20) &lt;&gt;\r\n  data_wystawienia : DATE\r\n  data_wymagalno\u015bci : DATE\r\n  suma_cz\u0119\u015bciowa : DECIMAL(10,2)\r\n  podatek : DECIMAL(10,2)\r\n  op\u0142ata za us\u0142ug\u0119 : DECIMAL(10,2)\r\n  kwota_ca\u0142kowita : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n}\r\n\r\nentity \"Personel\" as personel {\r\n  * personel_id : UUID &lt;&gt;\r\n  --\r\n  imi\u0119 : VARCHAR(50)\r\n  nazwisko : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&gt;\r\n  telefon : VARCHAR(20)\r\n  rola : VARCHAR(30)\r\n  data_zatrudnienia : DATE\r\n  wynagrodzenie : DECIMAL(10,2)\r\n  harmonogram_zmian : VARCHAR(50)\r\n  aktywny : BOOLEAN\r\n}\r\n\r\nentity \"Obs\u0142ugaPokoiu\" as obs\u0142uga_pokoju {\r\n  * us\u0142uga_id : UUID &lt;&gt;\r\n  --\r\n  rezerwacja_id : UUID &lt;&gt;\r\n  personel_id : UUID &lt;&gt;\r\n  typ_us\u0142ugi : VARCHAR(50)\r\n  opis : TEXT\r\n  czas_zg\u0142oszenia : TIMESTAMP\r\n  czas_zako\u0144czenia : TIMESTAMP\r\n  status : VARCHAR(20)\r\n  cena : DECIMAL(10,2)\r\n}\r\n\r\n' Relacje\r\nklient ||--o{ rezerwacja : \"tworzy\"\r\npok\u00f3j ||--o{ rezerwacja : \"przypisany do\"\r\nrezerwacja ||--|| p\u0142atno\u015b\u0107 : \"posiada\"\r\nrezerwacja ||--|| faktura : \"generuje\"\r\nrezerwacja ||--o{ obs\u0142uga_pokoju : \"zg\u0142asza\"\r\npersonel ||--o{ obs\u0142uga_pokoju : \"realizuje\"\r\ntyp_pokoju ||--o{ pok\u00f3j : \"kategoryzuje\"\r\n\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nLRDRkCs4BuRy3iGkMotQ81qYrw2HR7kncs3RZQ1worw4yOIOzEII84Y8OYRlHWjzXc2FaQklSLwhmv5IT5lWEsb5yES-KXnllbcXczI1LBfE2BpsNocSgMBmpcvOB2L49Fbwe8OaERuLs20Co0xeMX4OulTiO0Idqa_elDPoAZKd8P412IY6TsJG9140lwps1VaWjuopaI6fr12kRzdn11GCjze1J6RpoXNJENavDU8uTyJ0Ya9ox_autn6oDVLocC1EISVFbnUaDS_MCVfgVrbCJlUe-FtnUhjBulLLz-VlRHc3YPZQIY67Xe3YrhcRy_ENbOdsWXl1MyvNxaz44YQedcz_6Djrudc8Luv4dk8k2Z-zZ4-YlxBz-lbpykLXVXG74AHCGKaOhxP04d49bUF3raN5m0Y9DtJL4cmvE1NBg-MlwqNLpUDNqiH66hJW1bQh9SkGZIA3Bz-_DoFyfEblkRrHeIF3_kIrwJyM_FgLXEySXrJQI5YhpjirMHL06GVBzwDIUM9vtOE3a_4diQyldIRByg1RC2WK6oGoxUNLujt-BblNfKP24IgZlS9pz7vu_Nrk-NYlJKRah50e0RZhZr1vgaq_ivnrkSR3mE5UjmAf3uMNEc6s0vrwpovAUCesNiAgsRmcK0h5b66u25CTrDKWKJ2shB2M_4096OLl6U9yfuZ2YCCxGaYAGusM0EDaPBYyFXG_5FMnM0hbYKMSefSXjhVKSxpkC_s1g9Gy2xR7SPMr52PeP2Xf4msovgo9yi4PHFLFY5McqulsuC9TAisd3NlcrqXUjkoOhkiXfd0BQsY7U77YaQdm-wG9jItZO3Y9sFOWjDSdLIjCY6DuCBB-hLj85GQ8cPpEUOFHO0wK5RAJVctlbrIq2rrct4d6bVlJ-kcw9zC4mbu9aCbIwEgiuGtH_k3BXPJXHBi8UfGlgjQjcqe7ZOJdaBeEk6mOgPoe6Na9I1XAxXkaU_IQZ8fN8btxztXxYUR3EbaU-l-rvnLoo_douNajkSZoMkKYc5XbhiDld9PHKKDPxKprJ7ArHpltV0PJKfYgnudyuYhrHjqMXpqjfoX0zX_hugkBAbCiMj4JfFLeX5ajVu_vxiK4Gm5MIR0u5D51xoVd2pd-51oKvcEqR83YOD5sCUKPs86V7XJb4MUTITQXxRhJPaQi2E8kH4aAbDl3kdA-iK2dIJVJZPtAXjUl3UsV0EfPxR5GQHrb-eKl_D3A8e__L70L56NRuBngdr1LZJ2aEmBr3qMx-vEJyN7ziGv9oTbxyrFvhFgvJCAIX224G6c8X28RNaj_kwkqqVj1f4o260KMhSEX6qfnxVndWvnU8L-9X5lAOJKs7ER8fb6IsedXpk-zJAfDbJn8Yx47h0LCg-WyzaRoWDyzlyB\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n             <\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml: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\">\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\n<span>Edytuj PlantUML w VPasCode<\/span>\n<\/a>\n<\/div>\n<\/div>\n<\/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>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"ANJCSUi\"><img loading=\"lazy\" alt=\"Editing a ERD in Visual Paradigm VPasCode\" class=\"alignnone wp-image-2662 size-full\" decoding=\"async\" height=\"856\" loading=\"lazy\" sizes=\"auto, (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;\">O\u017cyj swoje projekty baz danych dzi\u0119ki VPasCode<\/span><\/section>\n<p>Tworzenie z\u0142o\u017conych modeli baz danych nie musi oznacza\u0107 walki z niezgrabnymi interfejsami graficznymi typu \u201eprzeci\u0105gnij i upu\u015b\u0107<\/p>\n<p>Got\u00f3w spr\u00f3bowa\u0107 zbudowa\u0107 w\u0142asne architektury system\u00f3w? Przenie\u015b si\u0119 na <a href=\"https:\/\/www.vpascode.com\/editor\/\">VPasCode<\/a> aby ju\u017c dzi\u015b do\u015bwiadczy\u0107 renderowania w czasie rzeczywistym, automatycznego wykrywania formatu i bezproblemowego eksportu do swojej dokumentacji technicznej!<\/p>\n","protected":false},"excerpt":{"rendered":"Podczas projektowania solidnych architektur baz danych dla z\u0142o\u017conych domen, takich jak hotelarstwo, kluczowe jest jasne wizualizowanie relacji. Niezale\u017cnie od tego, czy mapujesz profile klient\u00f3w, \u015bledzisz stany pokoi, czy zarz\u0105dzasz rozliczeniami, dobrze strukturyzowany diagram relacji encji (ERD) oszcz\u0119dza niezliczone godziny podczas&#8230;","protected":false},"author":4,"featured_media":2232,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Build a Hotel Management ERD Using PlantUML & VPasCode","_yoast_wpseo_metadesc":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[19],"tags":[],"asset-category":[],"class_list":["post-2231","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials-guides"],"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>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\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/build-professional-database-diagrams-thumbnail-1.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=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"},\"author\":{\"name\":\"jick\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\"},\"headline\":\"Tworzenie schematu ERD dla systemu zarz\u0105dzania hotelem przy u\u017cyciu PlantUML i VPasCode\",\"datePublished\":\"2026-08-18T07:03:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"},\"wordCount\":498,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"articleSection\":[\"Tutorials &amp; Guides\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\",\"name\":\"Build a Hotel Management ERD Using PlantUML & VPasCode\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.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\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"width\":1376,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tworzenie schematu ERD dla systemu zarz\u0105dzania hotelem przy u\u017cyciu PlantUML i VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/wp-content\\\/uploads\\\/sites\\\/9\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pl\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\",\"name\":\"jick\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@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\\\/pl\\\/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\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","og_locale":"pl_PL","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\/pl\/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\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","type":"image\/jpeg"}],"author":"jick","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":false,"Szacowany czas czytania":"3 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"author":{"name":"jick","@id":"https:\/\/www.vpascode.com\/pl\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6"},"headline":"Tworzenie schematu ERD dla systemu zarz\u0105dzania hotelem przy u\u017cyciu PlantUML i VPasCode","datePublished":"2026-08-18T07:03:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"wordCount":498,"commentCount":0,"publisher":{"@id":"https:\/\/www.vpascode.com\/pl\/#organization"},"image":{"@id":"https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","articleSection":["Tutorials &amp; Guides"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","url":"https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","name":"Build a Hotel Management ERD Using PlantUML & VPasCode","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/build-professional-database-diagrams-thumbnail-1.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\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage","url":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","contentUrl":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","width":1376,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/pl\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Tworzenie schematu ERD dla systemu zarz\u0105dzania hotelem przy u\u017cyciu PlantUML i VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/pl\/#website","url":"https:\/\/www.vpascode.com\/pl\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/pl\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.vpascode.com\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/pl\/wp-content\/uploads\/sites\/9\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.vpascode.com\/pl\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6","name":"jick","image":{"@type":"ImageObject","inLanguage":"pl-PL","@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\/pl\/author\/jick\/"}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/posts\/2231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/comments?post=2231"}],"version-history":[{"count":0,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/posts\/2231\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/media\/2232"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/media?parent=2231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/categories?post=2231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/tags?post=2231"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.vpascode.com\/pl\/wp-json\/wp\/v2\/asset-category?post=2231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}