| 2 | [[Image(baziER.png)]] |
| 3 | == Податочни побарувања |
| 4 | |
| 5 | === Ентитети |
| 6 | 1. **Lab Equipment** - ентитет за лабораториската опрема |
| 7 | - equipment_id - SERIAL (примарен клуч) |
| 8 | - equipment_name - VARCHAR(50) (атрибут, не може да биде NULL, уникатен) |
| 9 | - type - VARCHAR(50) (атрибут) |
| 10 | - description - TEXT (атрибут) |
| 11 | - safety_info - TEXT (атрибут) |
| 12 | 2. **User** - ентитет за корисникот кој се логира |
| 13 | - user_id - SERIAL (примарен клуч) |
| 14 | - user_name - VARCHAR(30) (атрибут, не може да биде NULL) |
| 15 | - user_surname - VARCHAR(30) (атрибут, не може да биде NULL) |
| 16 | - password - VARCHAR(30) (атрибут, не може да биде NULL) |
| 17 | - role - ENUM('student', 'teacher') (атрибут, не може да биде NULL) |
| 18 | 3. **Elements** - ентитет за хемиските елементи |
| 19 | - element_id - SERIAL (примарен клуч) |
| 20 | - symbol - VARCHAR(2) (атрибут, не може да биде NULL, уникатен) |
| 21 | - element_name - VARCHAR(50) (атрибут, не може да биде NULL) |
| 22 | - atomic_number - INT (атрибут, не може да биде NULL) |
| 23 | - atomic_weight - FLOAT (атрибут, не може да биде NULL) |
| 24 | - melting_point - FLOAT (атрибут) |
| 25 | - boiling_point - FLOAT (атрибут) |
| 26 | - hazard_type - VARCHAR(50) (атрибут) |
| 27 | - description_element - TEXT (атрибут) |
| 28 | 4. **Reaction** - ентитет за хемиските реакции |
| 29 | - reaction_id - SERIAL (примарен клуч) |
| 30 | - element1_id - INT (надворешен клуч, не може да биде NULL) |
| 31 | - element2_id - INT (надворешен клуч, не може да биде NULL) |
| 32 | - product - VARCHAR(50) (атрибут) |
| 33 | - conditions - TEXT (атрибут) |
| 34 | 5. **Experiment** - ентитет за експериментите |
| 35 | - experiment_id - SERIAL (примарен клуч) |
| 36 | - user_id - INT (надворешен клуч, не може да биде NULL) |
| 37 | - reaction_id - INT (надворешен клуч, не може да биде NULL) |
| 38 | - result - TEXT (атрибут) |
| 39 | - time_stamp - TIMESTAMP DEFAULT CURRENT_TIMESTAMP (атрибут) |
| 40 | - safety_warning - TEXT (атрибут) |
| 41 | |
| 42 | == Релации |
| 43 | - **!UserCreatesLabEquipment** – 1:N еден корисник може да создаде повеќе лабораториски инструменти. |
| 44 | - **!UserViewsLabEquipment** – N:M повеќе корисници можат да гледаат ист лабораториски инструмент. |
| 45 | - **!ExperimentUtilizesEquipment** – N:M еден експеримент може да користи повеќе лабораториски инструменти, а еден инструмент може да се користи во повеќе експерименти. |
| 46 | - **!UserViewsExperiment** – N:M повеќе корисници можат да гледаат ист експеримент. |
| 47 | - **!UserCreatesReaction** – 1:N еден корисник може да создаде повеќе реакции. |
| 48 | - **!ElementsInReaction** – 1:N една реакција може да содржи повеќе хемиски елементи (реактантни). |
| 49 | - **!UserCreatesElement** – 1:N еден корисник може да создаде повеќе хемиски елементи. |
| 50 | - **!UserViewsElement** – N:M повеќе корисници можат да гледаат ист хемиски елемент. |
| 51 | |