| 256 | | ||= Кандидат клуч =||= Број на атрибути =||= Тип на атрибути =|| |
| 257 | | || {saleId, poId, productId} || 3 || Сурогат клучеви (стабилни) || |
| 258 | | || {saleId, poId, product_sku} || 3 || Мешано (saleId, poId сурогат; sku природен) || |
| 259 | | |
| 260 | | '''Избран примарен клуч: {saleId, poId, productId}''' |
| | 256 | '''Избран примарен клуч: {verification_token_uuid, meeting_reminder_id, course_what_will_be_learned, user_course_progress_id, expert_id, course_lecture_translate_id, course_content_translate_id, course_translate_id, tag_translate_id}''' |
| 263 | | 1. Сите три атрибути се сурогат клучеви кои не се менуваат со тек на време |
| 264 | | 2. productId е понумерички и поефикасен за индексирање од product_sku (кој е VARCHAR) |
| 265 | | 3. Сурогат клучевите обезбедуваат стабилност - ако се промени SKU кодот на продукт, примарниот клуч останува непроменет |
| | 259 | Ова е примарен клуч (минимален кандидат-клуч) бидејќи само со овие атрибути може да се добијат сите останати атрибути од универзалната релација преку затворање на функционалните зависности. |
| | 260 | Причината за големиот број атрибути во примарниот клуч е што универзалната релација содржи повеќе независни ентитети (корисници, експерти, курсеви, оцени, преводи, тагови) кои не се директно поврзани преку функционални зависности. |
| | 261 | Секој од овие независни ентитети бара најмалку еден идентификатор во клучот за да може да се пристапи до сите негови атрибути. |
| | 262 | Овој клуч е минимален - отстранувањето на било кој атрибут од него би довело до тоа да не може да се изведат некои од атрибутите во релацијата. |