wiki:Normalization

Version 2 (modified by 221028, 39 hours ago) ( diff )

--

Нормализација на базата и функционални карактеристики

  • Субтипови за корисник — јасна поделба на улоги:
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
Note: See TracWiki for help on using the wiki.