| | 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 | |