Changes between Version 3 and Version 4 of UseCase0001PrototypeImplementationDB
- Timestamp:
- 08/07/26 15:52:23 (24 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UseCase0001PrototypeImplementationDB
v3 v4 8 8 9 9 Експертот сака да креира нов курс во системот. 10 11 == Предуслов: табела `expert_course` ==12 13 Шемата нема врска помеѓу `expert` и `course`, па нема каде да се запише кој експерт го креирал курсот. Оваа табела мора да се додаде во DDL пред овој случај на употреба да работи.14 15 {{{16 CREATE TABLE expert_course (17 expert_id bigint NOT NULL,18 course_id bigint NOT NULL,19 CONSTRAINT pk_expert_course PRIMARY KEY (expert_id, course_id),20 CONSTRAINT fk_ec_expert FOREIGN KEY (expert_id)21 REFERENCES expert (expert_id) ON DELETE CASCADE,22 CONSTRAINT fk_ec_course FOREIGN KEY (course_id)23 REFERENCES course (course_id) ON DELETE CASCADE24 );25 }}}26 10 27 11 == Главен тек == … … 204 188 - `uq_course_content_position` и `uq_course_lecture_position` — две модули или две лекции не смеат да имаат иста позиција. 205 189 - `uq_course_translate` — не смее да има два превода на ист јазик за ист курс. 206 207 == Забелешки ==208 209 - Сите вредности за `difficulty`, `content_type` и `tag_type` мора да се со мали букви — тоа се лабели на PostgreSQL enum типови и се осетливи на голема/мала буква.210 - `tag_type` има само две вредности: `skill` и `topic`. Вредноста `interest` не постои и предизвикува грешка, а не празен резултат.211 - Целиот блок мора да биде во една трансакција. Ако некој од чекорите падне, курсот не смее да остане делумно креиран.212 - `uq_course_version_one_active` дозволува само една активна верзија по курс. При креирање на нова верзија, старата мора прво да се постави на `is_active = false`.
