Нормализација на базата и функционални карактеристики
- Субтипови за корисник — јасна поделба на улоги:
User(user_id, user_name, user_surname, email, password, role)
student(student_id → User.user_id, teacher_id → User.user_id)
teacher(teacher_id → User.user_id)
- Домен-табели
elements(element_id, symbol, element_name, atomic_number, atomic_weight, melting_point, boiling_point, hazard_type, description_element, teacher_id→User)
labequipment(equipment_id, equipment_name, type, description, safety_info, teacher_id→User)
reaction(reaction_id, teacher_id→User, element1_id→elements, element2_id→elements, product, conditions)
experiment(experiment_id, teacher_id→User, reaction_id→reaction, result, safety_warning, time_stamp)
- N:M релации
experimentlabequipment(experiment_id→experiment, equipment_id→labequipment)
userparticipatesinexperiment(user_id→User, experiment_id→experiment[, participation_timestamp])
- Tracking-табели (активности/прегледи):
userviewselement(user_id→User, element_id→elements)
userviewslabequipment(user_id→User, equipment_id→labequipment)
Табела | PK | Важни FK | НФ статус |
User | user_id | — | 3NF / BCNF (формално по user_id) |
student | student_id | teacher_id → User | 3NF / BCNF |
teacher | teacher_id | — | 3NF / BCNF |
elements | element_id | teacher_id → User | 3NF / BCNF |
labequipment | equipment_id | teacher_id → User | 3NF / BCNF |
reaction | reaction_id | teacher_id, element1_id, element2_id | 3NF / BCNF |
experiment | experiment_id | teacher_id, reaction_id | 3NF / BCNF |
experimentlabequipment | (experiment_id, equipment_id) | експеримент / опрема | 3NF / BCNF |
userparticipatesinexperiment | (user_id, experiment_id) | корисник / експеримент | 3NF / BCNF |
userviewselement | (user_id, element_id) | корисник / елемент | 3NF / BCNF |
userviewslabequipment | (user_id, equipment_id) | корисник / опрема | 3NF / BCNF |
Last modified
34 hours ago
Last modified on 09/13/25 23:10:46
Note:
See TracWiki
for help on using the wiki.