faculties { faculty_id int pk faculty_name varchar(100) } departments { department_id int pk faculty_id int > faculties.faculty_id department_name varchar(150) } groups { group_id int pk faculty_id int > faculties.faculty_id group_name varchar(20) course int } students { student_id int pk group_id int > groups.group_id last_name varchar(50) first_name varchar(50) middle_name varchar(50) gender varchar(10) birth_date date scholarship numeric has_children bool } teachers { teacher_id int pk department_id int > departments.department_id last_name varchar(50) first_name varchar(50) middle_name varchar(50) category varchar(50) salary numeric academic_degree varchar(50) } disciplines { discipline_id int pk discipline_name varchar(150) } semesters { semester_id int pk semester_number int academic_year varchar(20) } teaching_assignments { assignment_id int pk teacher_id int > teachers.teacher_id discipline_id int > disciplines.discipline_id group_id int > groups.group_id semester_id int > semesters.semester_id lecture_hours int practice_hours int lab_hours int } exams { exam_id int pk student_id int > students.student_id discipline_id int > disciplines.discipline_id teacher_id int > teachers.teacher_id semester_id int > semesters.semester_id exam_date date grade int } diploma_works { diploma_id int pk student_id int > students.student_id teacher_id int > teachers.teacher_id topic varchar(300) defense_date date }