ID: F202512191206
Tags: ERD, Avans 2-1 LU3
File Link: avans 2-1 lu3 erd.svg, avans 2-1 lu3 erd v2.svg, Avans 2-2 lu3 ERD v3.svg, Avans 2-2 lu3 ERD v4.svg
Status: File-Descriptor
FILE - avans 2-1 lu3 ERD
our dbdiagram code for v4:
// v4
Table users {
id uuid [pk]
email varchar(255) [not null, unique]
password_hash varchar(255) [not null]
refresh_hash varchar (255)
created_at datetime
updated_at datetime
}
Table roles {
id int [pk, increment]
name varchar(50) [not null, unique]
}
Table user_roles {
user_id uuid [not null]
role_id int [not null]
indexes {
(user_id, role_id) [pk]
}
}
Table student_favourites {
student_id uuid [not null]
module_id int [not null]
indexes {
(student_id, module_id) [pk]
}
}
Table student_profiles {
id uuid [pk]
user_id uuid [not null, unique]
interests varchar(255)
merits varchar(255)
goals varchar(255)
created_at datetime [not null]
updated_at datetime [not null]
}
Table module_information {
id uuid [pk]
name varchar(50)
short_description varchar(100)
description varchar(255)
learning_outcomes varchar(255)
module_tags json
studycredit int [not null]
location varchar(100)
contact_id int
level varchar(100)
available_spots int
start_date datetime [not null]
created_at datetime [not null]
updated_at datetime [not null]
}
Table recommendation_cache {
id uuid [pk]
user_id uuid [not null]
interests text [not null]
merits text
goals text
model_version varchar(100) [not null]
created_at datetime [not null]
expires_at datetime
}
Table recommendation_order {
recommendation_cache_id uuid [not null]
module_information_id uuid [not null]
recommendation_order int
}
Ref: recommendation_cache.id < recommendation_order.recommendation_cache_id
Ref: module_information.id < recommendation_order.module_information_id
Ref: user_roles.user_id > users.id
Ref: user_roles.role_id > roles.id
Ref: users.id - student_profiles.user_id
Ref: recommendation_cache.user_id > users.id
Ref: student_favourites.student_id > users.id
Ref: student_favourites.module_id > module_information.id