| Version 1 (modified by , 27 hours ago) ( diff ) |
|---|
Процедури
Процедура 1: Додавање третман на археолошки предмет (add_treatment)
- Намена:
Процедурата add_treatment е наменета за евидентирање на нов конзерваторски или реставраторски третман над археолошки предмет. Нејзината основна цел е да обезбеди контролирано внесување на третмани, при што секој третман се поврзува со конкретен предмет (object_id) и автоматски добива датум на внесување.
- Случај на употреба:
Во рамки на системот за управување со културно наследство, археолошките предмети често поминуваат низ повеќе конзерваторски интервенции (чистење, стабилизација, реконструкција, лабораториска обработка и слично). Наместо рачно внесување на записи во табелата Treatments, процедурата обезбедува стандардизиран начин за евиденција на интервенциите.
- Причина за употреба на процедура:
Избрана е процедура наместо директен INSERT бидејќи постои потреба од дополнителна бизнис логика и валидација пред внесување на третман. Процедурата ја користи функцијата is_object_available(p_object_id) со цел да се провери дали предметот е достапен за третман.
Без оваа проверка би било возможно да се внесе третман за предмет кој:
- не постои
- има статус што не дозволува третман
- не е достапен за обработка
- Имплементација:
Процедурата прима:
p_object_id– идентификатор на предметотp_desc– опис на третманот
Пред внесување се повикува:
IF NOT is_object_available(p_object_id)
Доколку предметот не е достапен, процедурата прекинува со грешка:
RAISE EXCEPTION 'Објектот не е достапен за третман';
Доколку условот е исполнет, се креира запис во табелата Treatments, а датумот автоматски се поставува преку:
CURRENT_DATE
- Логика на работа:
Оваа процедура имплементира контрола на процесот на конзервација. Во реален музејски или археолошки контекст, не секој предмет може веднаш да биде обработуван – некои предмети можат да бидат веќе во процес на реставрација, дел од изложба, во транспорт или привремено недостапни.
Со ова се обезбедува конзистентност во евиденцијата на третмани и се спречуваат нелогични операции.
- Пример на употреба:
CALL add_treatment(
804822,
'Чистење'
);
- Заклучок:
Процедурата add_treatment претставува важен дел од конзерваторскиот workflow во системот. Таа овозможува сигурна евиденција на реставраторски активности, спречува внесување третмани врз недостапни предмети и обезбедува доследна документација на интервенциите врз културното наследство.
Процедура 2: Барање пристап за истражување (request_access)
- Намена:
Процедурата request_access е наменета за креирање ново барање за истражувачки пристап до конкретен археолошки предмет. Нејзината главна цел е да го моделира процесот на институционално одобрување на пристап до чувствителни археолошки информации.
- Случај на употреба:
Во реален систем за културно наследство, не секој корисник има директен пристап до сите предмети. Истражувачи, археолози и надворешни институции мора прво да поднесат барање за пристап, кое потоа може да биде одобрено или одбиено од институцијата која управува со предметот.
- Причина за употреба на процедура:
Процедурата е воведена со цел да се централизира процесот на поднесување барања за пристап.
Наместо секој корисник директно да внесува записи во Researcher_Access, процедурата:
- автоматски поставува датум на барањето
- автоматски поставува статус „Во обработка“
- гарантира стандардизиран процес на внес
- Имплементација:
Процедурата прима:
p_user_idp_object_idp_institution_id
При внесување автоматски се поставува:
CURRENT_DATE
како датум на барање, а статусот автоматски добива вредност:
7 -- во обработка
со што новото барање не може веднаш да биде одобрено.
- Логика на работа:
Оваа процедура ја имплементира институционалната контрола на пристап до археолошки предмети. Во реална средина, дел од артефактите може да бидат чувствителни, недостапни за јавноста или во процес на научна обработка.
Со користење на оваа процедура се обезбедува:
- следење на кој корисник побарал пристап
- следење на институцијата од која доаѓа барањето
- централизирана контрола на одобрување
- Пример на употреба:
CALL request_access(
10,
804822,
1
);
- Заклучок:
request_access претставува важен механизам за контрола на истражувачки пристап и обезбедува правилна имплементација на безбедносната политика на системот.
Процедура 3: Додавање автор во публикација (add_author_to_publication)
- Намена:
Процедурата add_author_to_publication е наменета за поврзување на автор со научна публикација.
- Случај на употреба:
Во археолошките и научните истражувања, една публикација често има повеќе автори, а еден автор може да учествува во повеќе публикации. Оваа M:N релација е реализирана преку табелата Publication_Authors.
- Причина за употреба на процедура:
Избрана е процедура бидејќи е потребна дополнителна проверка за спречување дупликати.
Пред внесување се проверува:
IF EXISTS (
SELECT 1
FROM Publication_Authors
)
со што се спречува ист автор повеќепати да биде поврзан со истата публикација.
- Имплементација:
Процедурата прима:
p_publication_idp_author_id
Доколку авторот веќе постои во публикацијата:
RAISE NOTICE 'Авторот веќе постои';
во спротивно се врши внес.
- Логика на работа:
Оваа процедура обезбедува точна научна евиденција и спречува логички неконзистентни записи.
- Пример на употреба:
CALL add_author_to_publication(
50,
12
);
- Заклучок:
Процедурата овозможува конзистентна и точна евиденција на научно авторство, што е особено важно кај академски публикации и археолошка документација.
Процедура 4: Додавање нов археолошки предмет (add_new_object)
- Намена:
Процедурата add_new_object е наменета за евидентирање нов археолошки предмет во системот.
- Случај на употреба:
При откривање на нов предмет на археолошки локалитет, потребно е негово иницијално внесување во базата, заедно со инвентарен број, локалитет, статус и корисникот кој го пронашол.
- Причина за употреба на процедура:
Избрана е процедура за да се централизира процесот на иницијална регистрација и да се избегне нецелосен внес на податоци.
- Имплементација:
Процедурата прима:
- инвентарен број
- наслов
- статус
- локалитет
- корисник кој го пронашол предметот
и директно внесува запис во Objects.
- Логика на работа:
Оваа процедура ја моделира реалната археолошка документација, каде секој предмет мора да има основни метаподатоци веднаш по неговото пронаоѓање.
- Пример на употреба:
CALL add_new_object(
'INV-2025-001',
'Керамичка вазна',
1,
10,
3
);
- Заклучок:
add_new_object овозможува конзистентен и стандарден процес на регистрација на нови археолошки предмети.
Процедура 5: Целосна каталогизација на предмет (catalog_object)
- Намена:
Процедурата catalog_object е наменета за целосна каталогизација на археолошки предмет.
- Случај на употреба:
По иницијално внесување, предметите треба да добијат култура, категорија и материјал. Бидејќи овие информации се распоредени во повеќе табели, процесот би барал повеќе рачни INSERT операции.
- Причина за употреба на процедура:
Избрана е процедура бидејќи процесот бара координиран внес во повеќе табели:
ObjectsObject_ClassificationMaterials_Objects
- Имплементација:
Најпрво се внесува предметот во Objects.
Потоа преку:
RETURNING object_id INTO v_object_id
се зачувува ID-то на новокреираниот предмет.
Потоа автоматски се креираат записи во:
Object_ClassificationMaterials_Objects
- Логика на работа:
Оваа процедура ја моделира реалната каталогизација на археолошки предмет, каде објектот не е само физички запис, туку мора да биде класифициран според култура, категорија и материјал.
- Пример на употреба:
CALL catalog_object(
'INV-2025-021',
'Монета',
1,
3,
8,
2,
5,
1
);
- Заклучок:
catalog_object претставува централен механизам за каталогизација во системот, кој обезбедува конзистентност, автоматизација и намалување на човечки грешки при внес на археолошки податоци.
