| Version 2 (modified by , 2 weeks ago) ( diff ) |
|---|
Relational Model
1. Основни табели
Objects
- PK: object_id
- Attributes: inventory_number (UNIQUE), title, creation_year, acquisition_date, description
- FK: site_id → Sites, current_status_id → Status_Types, found_by_user_id → Users
- Description: Централна табела која ги претставува културните објекти (артефакти) и ги поврзува со сите останати ентитети во системот.
Sites
- PK: site_id
- Attributes: site_name, latitude, longitude, altitude, discovery_year, is_active
- FK: site_type_id → Site_Types, region_id → Regions, protection_status_id → Protection_Status, municipality_id → Municipalities
- Description: Содржи податоци за археолошки локалитети со географски и административни информации.
Users
- PK: user_id
- Attributes: username (UNIQUE), full_name, email (UNIQUE), password_hash
- FK: role_id → Roles
- Description: Регистрирани корисници на системот со дефинирани улоги.
Institutions
- PK: institution_id
- Attributes: name (UNIQUE), address, city
- Description: Институции (музеи, лаборатории, универзитети) кои управуваат со објектите.
Publications
- PK: publication_id
- Attributes: title, request_date, publisher_location
- FK: status_id → Status_Types, main_author_id → Authors
- Description: Научни публикации поврзани со артефактите.
Treatments
- PK: treatment_id
- Attributes: treatment_date, description
- FK: object_id → Objects
- Description: Евиденција на конзервациски третмани применети врз објектите.
Fragments
- PK: fragment_id
- Attributes: description, discovery_date
- FK: site_id → Sites, object_id → Objects, found_by_user_id → Users, status_id → Status_Types, parent_fragment_id → Fragments
- Description: Моделира делови од артефакти со поддршка за хиерархиска (self-referencing) структура.
Conservation_Projects
- PK: project_id
- Attributes: project_name, start_date, end_date, budget
- FK: institution_id → Institutions, object_id → Objects
- Description: Проекти поврзани со конзервација и реставрација.
Exhibitions
- PK: exhibition_id
- Attributes: name, start_date, end_date
- FK: location_institution_id → Institutions
- Description: Изложби во кои се прикажуваат објектите.
Condition_Assessment
- PK: assessment_id
- Attributes: assessment_date, notes
- FK: object_id → Objects, status_id → Status_Types
- Description: Проценка на физичката состојба на објектите низ време.
2. Помошни (Junction) табели
Овие табели се користат за решавање на M:N релации:
- Object_Publication (object_id, publication_id) — Objects <-> Publications
- Object_Exhibition (object_id, exhibition_id) — Objects <-> Exhibitions
- Publication_Authors (publication_id, author_id) — Publications <-> Authors
- Materials_Objects (object_id, material_id) — Objects <-> Materials
- Treatment_Materials (treatment_id, material_id) — Treatments <-> Materials
3. Ограничувања (Constraints)
За обезбедување на интегритет на податоците се применети следните ограничувања:
- UNIQUE: inventory_number (Objects), username, email (Users), site_name + region_id (Sites).
- CHECK: Географски координати во дозволен опсег за Македонија.
- CHECK: Валидност на датуми (end_date >= start_date).
- CHECK: Година на создавање (creation_year) не е во иднината.
- CHECK: fragment_id <> parent_fragment_id (спречување на директен цикличен однoс).
- FOREIGN KEY: Обезбедуваат референтен интегритет помеѓу сите поврзани табели.
4. Дизајн одлуки
- M:N релациите се реализирани преку посебни junction табели со composite primary keys за подобра нормализација.
- Self-referencing е имплементиран кај Fragments за моделирање на делови од објекти и нивна хиерархиска поврзаност.
- Status_Types е генерализирана табела која овозможува унифицирано управување со различни типови статуси преку полето "type".
- User_Details е издвоена табела со цел дополнителна нормализација и оптимизација на пребарувањето.
- Object_Location_History овозможува целосно следење на движењето на објектите низ времето.
- Treatment_Step_Log овозможува прецизно и детаљно евидентирање на секоја фаза од конзервациските процеси.
5. Дијаграм
Attachments (1)
- diagram.png (611.2 KB ) - added by 2 weeks ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.
