| | 11 | ---- |
| | 12 | |
| | 13 | == Species == |
| | 14 | |
| | 15 | Ги содржи можните видови на животни |
| | 16 | |
| | 17 | Податоците се статички и се преземаат од `species.csv` |
| | 18 | |
| | 19 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 20 | || species_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 21 | || name || VARCHAR(100) || NOT NULL UNIQUE || Име на вид || |
| | 22 | || description || VARCHAR(255) || || Опис на вид || |
| | 23 | |
| | 24 | ---- |
| | 25 | |
| | 26 | == Breed == |
| | 27 | |
| | 28 | Ги содржи можните раси на животни и нивните видови |
| | 29 | |
| | 30 | Податоците се статички и се преземаат од `breed.csv` |
| | 31 | |
| | 32 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 33 | || breed_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 34 | || name || VARCHAR(100) || NOT NULL || Име на раса || |
| | 35 | || description || VARCHAR(255) || || Опис на раса || |
| | 36 | || species_id || INTEGER || NOT NULL FK || Вид на животно на кое му припаѓа расата || |
| | 37 | |
| | 38 | ---- |
| | 39 | |
| | 40 | == Category == |
| | 41 | |
| | 42 | Ги содржи можните категории на производи кои се набавуваат |
| | 43 | |
| | 44 | Податоците се статички и се внесуваат со `INSERT INTO ... VALUES` |
| | 45 | |
| | 46 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 47 | || category_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 48 | || name || VARCHAR(100) || NOT NULL || Име на категорија || |
| | 49 | || description || VARCHAR(255) || || Опис на категорија || |
| | 50 | |
| | 51 | ---- |
| | 52 | |
| | 53 | == Room_Type == |
| | 54 | |
| | 55 | Ги содржи можните типови на соби |
| | 56 | |
| | 57 | Податоците се статички и се внесуваат со `INSERT INTO ... VALUES` |
| | 58 | |
| | 59 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 60 | || room_type_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 61 | || name || VARCHAR(100) || NOT NULL UNIQUE || Име на тип на соба || |
| | 62 | || description || VARCHAR(255) || || Опис на тип на соба || |
| | 63 | || price_per_night || NUMERIC(10, 2) || NOT NULL DEFAULT 0.00 || Цена за една ноќ || |
| | 64 | |
| | 65 | ---- |
| | 66 | |
| | 67 | == Service == |
| | 68 | |
| | 69 | Ги содржи сервисите кои ги нуди хотелот |
| | 70 | |
| | 71 | Податоците се статички и се внесуваат со `INSERT INTO ... VALUES` |
| | 72 | |
| | 73 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 74 | || service_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 75 | || name || VARCHAR(100) || NOT NULL UNIQUE || Име на сервис || |
| | 76 | || description || VARCHAR(255) || || Опис на сервис || |
| | 77 | || price || NUMERIC(10, 2) || NOT NULL DEFAULT 0.00 || Цена за сервис || |
| | 78 | || duration_minutes || INTEGER || || Времетраење на сервис во минути || |
| | 79 | |
| | 80 | ---- |
| | 81 | |
| | 82 | == Enum lookup табели == |
| | 83 | |
| | 84 | Секое поле кое претходно беше слободен текст (статус, метод на плаќање, дестинација, термин) сега е поддржано со мала reference табела наместо VARCHAR, следејќи го истиот принцип како Category / Room_Type / Service — со цел референцијален интегритет наместо произволен текст. Статичките вредности се внесуваат преку `INSERT INTO ... VALUES` во `inserts.sql`, а редоследот на инсертирање го фиксира `_id`-то на секоја вредност (пр. `OrderStatus` id 1 = 'pending'). |
| | 85 | |
| | 86 | Секоја табела ја следи истата структура: |
| | 87 | {{{ |
| | 88 | {name}_id SMALLINT PRIMARY KEY (GENERATED ALWAYS AS IDENTITY) |
| | 89 | name VARCHAR(20) NOT NULL UNIQUE |
| | 90 | }}} |
| | 91 | |
| | 92 | ||= Табела =||= Можни вредности || |
| | 93 | || `OrderStatus` || pending, confirmed, completed, cancelled || |
| | 94 | || `ReservationStatus` || confirmed, completed, pending, cancelled, no-show || |
| | 95 | || `ServiceReservationStatus` || scheduled, completed, cancelled, no-show || |
| | 96 | || `PaymentMethod` || credit card, debit card, cash, bank transfer, PayPal || |
| | 97 | || `PaymentStatus` || completed, refunded, pending || |
| | 98 | || `DeliveryStatus` || pending, in_transit, delivered, failed || |
| | 99 | || `DeliveryTimeSlot` || morning, afternoon, evening, overnight || |
| | 100 | || `PetDeliveryStatus` || scheduled, delivered, failed, confirmed || |
| | 101 | || `PetDeliveryDestination` || home, hotel, vet clinic, airport || |
| | 102 | || `MedicalRecordStatus` || healthy, sick, recovering || |
| | 103 | || `DateStatus` || occupied, available, maintenance || |
| | 104 | |
| | 105 | ---- |
| | 106 | |
| | 107 | == Hotel == |
| | 108 | |
| | 109 | Ги содржи хотелите кои го користат системот |
| | 110 | |
| | 111 | Податоците се статички и се внесуваат со `INSERT INTO ... VALUES` |
| | 112 | |
| | 113 | Број на редици: 10 |
| | 114 | |
| | 115 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 116 | || hotel_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 117 | || name || VARCHAR(100) || NOT NULL || Име на хотел || |
| | 118 | || location || VARCHAR(100) || UNIQUE || Локација на хотел || |
| | 119 | |
| | 120 | ---- |
| | 121 | |
| | 122 | == Employee == |
| | 123 | |
| | 124 | Ги содржи вработените во хотелот |
| | 125 | |
| | 126 | Генерирање |
| | 127 | * Имиња по случаен избор од привремени табели `first_names_male`, `first_names_female`, `last_names` |
| | 128 | * Проверка за валидност на телефонски број и електронска пошта |
| | 129 | * Датум на вработување помеѓу 2016 и 2026 |
| | 130 | |
| | 131 | Број на редици: 300 (околу 30 вработени во секој хотел) |
| | 132 | |
| | 133 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 134 | || employee_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 135 | || first_name || VARCHAR(50) || NOT NULL || Име на вработен || |
| | 136 | || last_name || VARCHAR(50) || NOT NULL || Презиме на вработен || |
| | 137 | || role || VARCHAR(50) || || Работна позиција на вработен || |
| | 138 | || phone || VARCHAR(20) || || Телефонски број на вработен || |
| | 139 | || email || VARCHAR(100) || || Електронска пошта на вработен || |
| | 140 | || hire_date || DATE || || Датум на вработување || |
| | 141 | || hotel_id || INTEGER || NOT NULL DEFAULT -1 FK || Хотел во кој работи вработениот || |
| | 142 | |
| | 143 | ---- |
| | 144 | |
| | 145 | == Room == |
| | 146 | |
| | 147 | Ги содржи индивидуалните соби во даден хотел |
| | 148 | |
| | 149 | Генерирање |
| | 150 | * Број на соба по случаен избор вклучувајќи број и буква |
| | 151 | |
| | 152 | Број на редици: 2,500 (околу 250 соби во секој хотел) |
| | 153 | |
| | 154 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 155 | || room_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 156 | || room_number || VARCHAR(20) || NOT NULL || Број на соба, може да содржи и букви || |
| | 157 | || capacity || INTEGER || || Број на дозволени миленичиња во соба || |
| | 158 | || room_type_id || INTEGER || NOT NULL FK || Тип на соба || |
| | 159 | || hotel_id || INTEGER || NOT NULL DEFAULT -1 FK || Хотел во кој се наоѓа собата || |
| | 160 | |
| | 161 | ---- |
| | 162 | |
| | 163 | == Date == |
| | 164 | |
| | 165 | За секој датум се чува статус на собата |
| | 166 | |
| | 167 | Генерирање |
| | 168 | * Примарен клуч претставува комбинација на `date` и `room_id` |
| | 169 | * Содржи податоци за секој датум од 2015 до 2027 |
| | 170 | |
| | 171 | Број на редици: ~11,870,000 |
| | 172 | |
| | 173 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 174 | || date || DATE || NOT NULL || Датум || |
| | 175 | || room_id || INTEGER || NOT NULL FK || Соба || |
| | 176 | || status_id || SMALLINT || FK || Статус на соба за дадениот датум (occupied/available/maintenance) || |
| | 177 | |
| | 178 | ---- |
| | 179 | |
| | 180 | == Supplier == |
| | 181 | |
| | 182 | Ги содржи добавувачите на производи |
| | 183 | |
| | 184 | Податоците се статички и се внесуваат со `INSERT INTO ... VALUES` |
| | 185 | |
| | 186 | Број на редици: 5 |
| | 187 | |
| | 188 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 189 | || supplier_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 190 | || name || VARCHAR(100) || NOT NULL || Име на доставувачка компанија || |
| | 191 | || contact_name || VARCHAR(100) || || Име на доставувач || |
| | 192 | || phone || VARCHAR(20) || || Телефонски број || |
| | 193 | || email || VARCHAR(100) || || Електронска пошта || |
| | 194 | || address || VARCHAR(255) || || Адреса на добавувач || |
| | 195 | |
| | 196 | ---- |
| | 197 | |
| | 198 | == Customer == |
| | 199 | |
| | 200 | Ги содржи корисниците на системот |
| | 201 | |
| | 202 | Генерирање |
| | 203 | * Имиња по случаен избор од привремени табели `first_names_male`, `first_names_female`, `last_names` |
| | 204 | * Проверка за валидност на телефонски број и електронска пошта |
| | 205 | * Датум на регистрација помеѓу 2016 и 2026 |
| | 206 | |
| | 207 | Број на редици: 150,000 |
| | 208 | |
| | 209 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 210 | || customer_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 211 | || first_name || VARCHAR(50) || NOT NULL || Име на корисник || |
| | 212 | || last_name || VARCHAR(50) || NOT NULL || Презиме на корисник || |
| | 213 | || email || VARCHAR(100) || NOT NULL UNIQUE || Електронска пошта на корисник || |
| | 214 | || phone || VARCHAR(20) || || Телефонски број на корисник || |
| | 215 | || address || VARCHAR(255) || || Адреса на корисник || |
| | 216 | || registration_date || DATE || || Датум на креирање на профил || |
| | 217 | |
| | 218 | ---- |
| | 219 | |
| | 220 | == Pet == |
| | 221 | |
| | 222 | Ги содржи миленичињата кои се внесени во системот |
| | 223 | |
| | 224 | Генерирање |
| | 225 | * Имиња и пол по случаен избор |
| | 226 | * Датум на раѓање по случаен избор |
| | 227 | |
| | 228 | Број на редици: 200,000 |
| | 229 | |
| | 230 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 231 | || pet_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 232 | || name || VARCHAR(100) || NOT NULL || Име на милениче || |
| | 233 | || date_of_birth || DATE || || Датум на раѓање на милениче || |
| | 234 | || gender || VARCHAR(10) || || Пол на милениче || |
| | 235 | || customer_id || INTEGER || NOT NULL FK || Корисник на кој му припаѓа миленичето || |
| | 236 | || species_id || INTEGER || NOT NULL FK || Вид на животно || |
| | 237 | || breed_id || INTEGER || FK || Раса на животно || |
| | 238 | |
| | 239 | ---- |
| | 240 | |
| | 241 | == Product == |
| | 242 | |
| | 243 | Ги содржи производите кои ги добавува хотелот |
| | 244 | |
| | 245 | Генерирање |
| | 246 | * Случаен избор на име, категорија и цена |
| | 247 | |
| | 248 | Број на редици: 500 |
| | 249 | |
| | 250 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 251 | || product_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 252 | || name || VARCHAR(100) || NOT NULL || Име на производ || |
| | 253 | || description || VARCHAR(255) || || Опис на производ || |
| | 254 | || price || NUMERIC(10, 2) || NOT NULL DEFAULT 0.00 || Цена на производ || |
| | 255 | || category_id || INTEGER || NOT NULL FK || Категорија на производ || |
| | 256 | || supplier_id || INTEGER || FK || Доставувач на производ || |
| | 257 | |
| | 258 | ---- |
| | 259 | |
| | 260 | == "Order" == |
| | 261 | |
| | 262 | Ги содржи нарачките на производи |
| | 263 | |
| | 264 | Генерирање |
| | 265 | * Датум, статус и цена по случаен избор |
| | 266 | |
| | 267 | Број на редици: 45,000 |
| | 268 | |
| | 269 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 270 | || order_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 271 | || order_date || DATE || NOT NULL DEFAULT CURRENT_DATE || Датум на нарачка || |
| | 272 | || status_id || SMALLINT || FK || Статус на нарачка || |
| | 273 | || total_amount || NUMERIC(10, 2) || DEFAULT 0.00 || Цена на нарачка || |
| | 274 | || customer_id || INTEGER || NOT NULL FK || Корисник кој ја направил нарачката || |
| | 275 | || hotel_id || INTEGER || NOT NULL FK || Хотелот преку кој е направена нарачката || |
| | 276 | |
| | 277 | ---- |
| | 278 | |
| | 279 | == OrderProduct == |
| | 280 | |
| | 281 | За секоја нарачка се чуваат производите кои се нарачани |
| | 282 | |
| | 283 | Генерирање |
| | 284 | * Број на производи и цена по случаен избор |
| | 285 | |
| | 286 | Број на редици: ~23,000 |
| | 287 | |
| | 288 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 289 | || orderproduct_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 290 | || quantity || INTEGER || DEFAULT 1 || Број на производи од даден тип во нарачката || |
| | 291 | || unit_price || NUMERIC(10, 2) || || Цена за една инстанца од производот || |
| | 292 | || order_id || INTEGER || NOT NULL FK || Нарачка || |
| | 293 | || product_id || INTEGER || NOT NULL FK || Производ || |
| | 294 | |
| | 295 | ---- |
| | 296 | |
| | 297 | == Delivery == |
| | 298 | |
| | 299 | Ги содржи доставите на производи во нарачка |
| | 300 | |
| | 301 | '''Забелешка:''' полето претходно наречено `delivered_at` (VARCHAR) чуваше термин на достава (morning/afternoon/evening/overnight), не временска ознака — преименувано во `delivery_time_slot_id` и поврзано со lookup табела. |
| | 302 | |
| | 303 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 304 | || delivery_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 305 | || delivery_time_slot_id || SMALLINT || FK || Термин на достава || |
| | 306 | || status_id || SMALLINT || FK || Статус на достава || |
| | 307 | || hotel_id || INTEGER || NOT NULL FK || Хотелот поврзан со доставата || |
| | 308 | || purchase_id || INTEGER || NOT NULL FK || Клуч до OrderProduct || |
| | 309 | |
| | 310 | ---- |
| | 311 | |
| | 312 | == Reservation == |
| | 313 | |
| | 314 | Ги содржи резервациите |
| | 315 | |
| | 316 | Генерирање |
| | 317 | * 100 batch итерации, 100,000 записи по итерација |
| | 318 | * Датуми од 2015 до 2027 |
| | 319 | * Статуси по случаен избор |
| | 320 | |
| | 321 | Број на редици: 10,000,000 |
| | 322 | |
| | 323 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 324 | || reservation_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 325 | || reservation_date || DATE || NOT NULL DEFAULT CURRENT_DATE || Датум на резервација || |
| | 326 | || status_id || SMALLINT || FK || Статус на резервација || |
| | 327 | || notes || VARCHAR(255) || || Дополнителни информации за резервацијата || |
| | 328 | || total_cost || INTEGER || || Цена на резервацијата || |
| | 329 | || pet_id || INTEGER || NOT NULL FK || Милениче на кое се однесува резервацијата || |
| | 330 | || employee_id || INTEGER || FK || Вработен кој ја извршил резервацијата || |
| | 331 | |
| | 332 | '''Дополнително ограничување:''' `chk_reservation_status CHECK (status_id IN ('1','2','3','4','5'))` — експлицитно го ограничува `status_id` на познатите вредности 1–5. Технички е донекаде redundant со FK кон `ReservationStatus` (FK веќе гарантира дека вредноста постои во lookup табелата), но служи како дополнителна експлицитна заштита на ниво на самата табела. |
| | 333 | |
| | 334 | ---- |
| | 335 | |
| | 336 | == RoomReservation == |
| | 337 | |
| | 338 | Ги содржи резервациите за хотелски соби |
| | 339 | |
| | 340 | Генерирање |
| | 341 | * Секоја резервација добива точно една соба |
| | 342 | * Времетраење од 1 до 6 ноќевања со валидни `check_in_date` и `check_out_date` |
| | 343 | |
| | 344 | Број на редици: 10,000,000 |
| | 345 | |
| | 346 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 347 | || room_reservation_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 348 | || check_in_date || DATE || NOT NULL || Датум на пристигнување во хотелот || |
| | 349 | || check_out_date || DATE || NOT NULL, CHECK > check_in_date || Датум на излегување од хотелот || |
| | 350 | || reservation_id || INTEGER || NOT NULL FK UNIQUE || Резервација || |
| | 351 | || room_id || INTEGER || NOT NULL FK || Соба || |
| | 352 | |
| | 353 | '''Дополнителни ограничувања:''' |
| | 354 | * `chk_roomres_dates CHECK (check_out_date > check_in_date)` — заминувањето мора да е по пристигнувањето. |
| | 355 | * `chk_roomres_max_stay CHECK (check_out_date - check_in_date <= 365)` — максимален престој од 365 дена, спречува очигледно погрешен/нереален внес на датуми. |
| | 356 | |
| | 357 | ---- |
| | 358 | |
| | 359 | == ServiceReservation == |
| | 360 | |
| | 361 | Ги содржи резервациите за сервиси |
| | 362 | |
| | 363 | Генерирање |
| | 364 | * ~60% од резервациите имаат сервис |
| | 365 | * `scheduled_date` се наоѓа помеѓу `check_in_date` и `check_out_date` од `RoomReservation` |
| | 366 | * `scheduled_time` се избира од неколку можни термини |
| | 367 | |
| | 368 | Број на редици: ~9,000,000 |
| | 369 | |
| | 370 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 371 | || service_reservation_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 372 | || scheduled_date || DATE || NOT NULL || Датум на резервација || |
| | 373 | || scheduled_time || TIME || || Време на резервација || |
| | 374 | || status_id || SMALLINT || FK || Статус на резервација || |
| | 375 | || reservation_id || INTEGER || NOT NULL FK || Резервација || |
| | 376 | || service_id || INTEGER || NOT NULL FK || Сервис || |
| | 377 | |
| | 378 | '''Дополнително ограничување:''' `chk_svcres_status CHECK (status_id IN ('1','2','3','4'))` — исто како кај `Reservation`, редовно се преклопува со FK кон `ServiceReservationStatus`. |
| | 379 | |
| | 380 | ---- |
| | 381 | |
| | 382 | == Employee_Service == |
| | 383 | |
| | 384 | Ги содржи вработените кои можат да извршуваат даден сервис |
| | 385 | |
| | 386 | Генерирање |
| | 387 | * Примарен клуч претставува комбинација на `employee_id` и `service_id` |
| | 388 | |
| | 389 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 390 | || employee_id || INTEGER || NOT NULL FK || Вработен || |
| | 391 | || service_id || INTEGER || NOT NULL FK || Сервис || |
| | 392 | |
| | 393 | ---- |
| | 394 | |
| | 395 | == Product_Service == |
| | 396 | |
| | 397 | Ги содржи производите кои се користат во даден сервис |
| | 398 | |
| | 399 | Генерирање |
| | 400 | * Примарен клуч претставува комбинација на `product_id` и `service_id` |
| | 401 | |
| | 402 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 403 | || product_id || INTEGER || NOT NULL FK || Производ || |
| | 404 | || service_id || INTEGER || NOT NULL FK || Сервис || |
| | 405 | |
| | 406 | ---- |
| | 407 | |
| | 408 | == Payment == |
| | 409 | |
| | 410 | Ги содржи плаќањата за резервациите |
| | 411 | |
| | 412 | Генерирање |
| | 413 | * Само за резервации кои се `confirmed` или `completed` |
| | 414 | * Случаен избор за датум, статус и начин на плаќање |
| | 415 | |
| | 416 | Број на редици: ~6,000,000 |
| | 417 | |
| | 418 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 419 | || payment_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 420 | || payment_date || DATE || NOT NULL DEFAULT CURRENT_DATE || Датум на плаќање || |
| | 421 | || amount || NUMERIC(10, 2) || NOT NULL || Платена сума || |
| | 422 | || payment_method_id || SMALLINT || FK || Начин на плаќање || |
| | 423 | || status_id || SMALLINT || FK || Статус на плаќање || |
| | 424 | || reservation_id || INTEGER || FK || Резервација || |
| | 425 | |
| | 426 | '''Дополнителни ограничувања:''' |
| | 427 | * `chk_payment_source CHECK (reservation_id IS NOT NULL)` — секое плаќање мора да е поврзано со резервација. |
| | 428 | * `chk_payment_positive CHECK (amount > 0)` — сумата на плаќање мора да е позитивна, спречува внес на нула/негативни износи. |
| | 429 | |
| | 430 | ---- |
| | 431 | |
| | 432 | == Review == |
| | 433 | |
| | 434 | Ги содржи рецензиите за хотели |
| | 435 | |
| | 436 | Генерирање |
| | 437 | * Случајно избрани оцени помеѓу 1 и 10 |
| | 438 | * Пораката се избира од дадени опции зависно од оцената |
| | 439 | |
| | 440 | Број на редици: 150,000 |
| | 441 | |
| | 442 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 443 | || review_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 444 | || review_date || DATE || || Датум на оставање на рецензија || |
| | 445 | || rating || INTEGER || CHECK BETWEEN 1 AND 10 || Оцена || |
| | 446 | || comment || VARCHAR(255) || || Коментар || |
| | 447 | || customer_id || INTEGER || NOT NULL FK || Корисник кој ја оставил рецензијата || |
| | 448 | || hotel_id || INTEGER || NOT NULL FK || Хотел за кој се однесува рецензијата || |
| | 449 | |
| | 450 | ---- |
| | 451 | |
| | 452 | == MedicalRecord == |
| | 453 | |
| | 454 | Ги содржи медицинските записи за миленичињата |
| | 455 | |
| | 456 | Генерирање |
| | 457 | * Случаен избор на име на ветеринар преку привремена табела `last_names` |
| | 458 | * Случаен избор за датум, статус, алергени, лекови и дијагноза |
| | 459 | |
| | 460 | Број на редици: 300,000 |
| | 461 | |
| | 462 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 463 | || record_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 464 | || record_date || DATE || || Датум на запис || |
| | 465 | || status_id || SMALLINT || FK || Статус на запис || |
| | 466 | || vet_name || VARCHAR(50) || || Име на ветеринар || |
| | 467 | || alergies || VARCHAR(255) || || Алергии на миленичето || |
| | 468 | || medications || VARCHAR(255) || || Лекови кои ги прима миленичето || |
| | 469 | || note || VARCHAR(255) || || Дополнителни информации || |
| | 470 | || diagnosis || VARCHAR(255) || || Дијагноза на миленичето || |
| | 471 | || pet_id || INTEGER || NOT NULL FK || Милениче || |
| | 472 | |
| | 473 | ---- |
| | 474 | |
| | 475 | == PetDelivery == |
| | 476 | |
| | 477 | Ги содржи доставите на миленичиња |
| | 478 | |
| | 479 | Генерирање |
| | 480 | * Случаен избор на време на достава, статус и дестинација |
| | 481 | |
| | 482 | Број на редици: 80,000 |
| | 483 | |
| | 484 | ||= Колона =||= Тип =||= Ограничувања =||= Објаснување || |
| | 485 | || pet_delivery_id || INTEGER || PRIMARY KEY || Примарен клуч || |
| | 486 | || delivery_time || TIMESTAMP || || Време на достава || |
| | 487 | || status_id || SMALLINT || FK || Статус на достава || |
| | 488 | || destination_id || SMALLINT || FK || Дестинација на достава || |
| | 489 | || reservation_id || INTEGER || NOT NULL FK || Резервација со која е поврзана доставата || |
| | 490 | || employee_id || INTEGER || FK || Вработен кој ја врши доставата || |
| | 491 | |
| | 492 | \\ |