Changes between Version 1 and Version 2 of DatabaseProgramming
- Timestamp:
- 06/16/26 11:04:15 (17 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DatabaseProgramming
v1 v2 19 19 * Излез: број на лајкови 20 20 21 === get_ recipe_average_rating===21 === get_total_recipes_by_cuisine === 22 22 23 Ја пресметува просечната оцена на избран рецепт.23 Го пресметува бројот на рецепти за избран тип на кујна. 24 24 25 * Влезен параметар: `p_recipe_id` 26 * Излез: просечна оцена 27 28 === get_recipe_favorites_count === 29 30 Го враќа бројот на корисници кои го имаат додадено рецептот во омилени. 31 32 * Влезен параметар: `p_recipe_id` 33 * Излез: број на омилени 25 * Влезен параметар: `p_cuisine_id` 26 * Излез: број на рецепти 34 27 35 28 === get_total_recipes_by_category === … … 38 31 39 32 * Влезен параметар: `p_category_id` 40 * Излез: број на рецепти41 42 === get_total_recipes_by_cuisine ===43 44 Го пресметува бројот на рецепти за избран тип на кујна.45 46 * Влезен параметар: `p_cuisine_id`47 33 * Излез: број на рецепти 48 34 … … 117 103 == Тригери == 118 104 119 Тригерите автоматски се активираат при INSERT или UPDATE операции и обезбедуваат валидација и интегритет на податоците.105 Тригерите автоматски се активираат при INSERT операции и обезбедуваат автоматско пополнување на временски ознаки. 120 106 121 === trg_validate_recipe_name === 122 123 Табела: `recipe` 124 125 Проверува дали името на рецептот е внесено и не е празно. 126 127 === trg_validate_recipe_calories === 128 129 Табела: `recipe` 130 131 Проверува дали бројот на калории е поголем или еднаков на нула. 132 133 === trg_validate_review_rating === 134 135 Табела: `recipe_review` 136 137 Проверува дали оцената е во опсег од 1 до 5. 138 139 === trg_validate_recipe_review_attempt === 140 141 Табела: `recipe_review` 142 143 Не дозволува оставање рецензија доколку корисникот претходно не го пробал рецептот. 144 145 === trg_validate_forum_comment === 107 === trg_set_comment_created_at === 146 108 147 109 Табела: `forumpost_comment` 148 110 149 Проверува дали содржината на коментарот е валидна и не е празна. 150 151 === trg_prevent_duplicate_favorite === 152 153 Табела: `recipe_favorite` 154 155 Спречува додавање на ист рецепт повеќе од еднаш во омилени. 156 157 === trg_prevent_duplicate_forumpost_like === 158 159 Табела: `forumpost_like` 160 161 Спречува двојно лајкнување на форум пост. 162 163 === trg_prevent_duplicate_recipe_dislike === 164 165 Табела: `recipe_dislike` 166 167 Спречува двојно додавање dislike за ист рецепт. 111 Автоматски го поставува полето `created_at` при креирање на нов коментар доколку вредноста не е внесена. 168 112 169 113 === trg_set_forumpost_created_at === … … 171 115 Табела: `forumpost` 172 116 173 Автоматски го поставува полето `created_at` при креирање на нов форум пост. 174 175 === trg_set_comment_created_at === 176 177 Табела: `forumpost_comment` 178 179 Автоматски го поставува полето `created_at` при креирање на нов коментар. 117 Автоматски го поставува полето `created_at` при креирање на нов форум пост доколку вредноста не е внесена. 180 118 181 119 === trg_set_recipe_attempt_time === … … 183 121 Табела: `recipe_attempt` 184 122 185 Автоматски го поставува времето на подгот вување во полето `attempted_at`.123 Автоматски го поставува времето на подготовка во полето `attempted_at` при внесување нов запис. 186 124 187 125 == Заклучок == … … 189 127 Во системот се имплементирани: 190 128 191 * 7кориснички функции129 * 5 кориснички функции 192 130 * 9 процедури 193 * 11тригери131 * 3 тригери 194 132 195 Овие механизми овозможуваат автоматска валидација на податоците, спречување на дупликати, автоматско пополнување на временски ознаки и обезбедување на конзистентност и интегритет на податоците во базата.133 Овие механизми овозможуваат централизирано извршување на бизнис логиката, автоматско пополнување на временски ознаки, спречување на дупликати и одржување на интегритетот на податоците во базата.
