School

students, teachers, courses, classes and results. 9 tables, 32 columns, no data.

The map

Map of the 9 tables and their linksN1N1N1N1N1N1N1N1N1studentsPKidbigintfull_namevarcharborn_ondateemailvarcharteachersPKidbigintfull_namevarcharemailvarcharclassroomsPKidbigintroom_codevarcharseatsintegeraudit_logattimestamptzwhovarcharwhattextdepartmentsPKidbigintnamevarcharFKhead_teacher_idbigintcoursesPKidbiginttitlevarcharFKteacher_idbigintFKdepartment_idbigintsessionsPKidbigintFKcourse_idbigintFKclassroom_idbigintstarts_attimestamptzenrolmentsPKidbigintFKstudent_idbigintFKcourse_idbigintgradenumericattendancePKidbigintFKstudent_idbigintFKsession_idbigintpresentboolean

Each line runs from a linking column (N) to the key it points at (1). The same tables are listed below as text.

The tables

students

  • id bigintPK
  • full_name varchar(200) required
  • born_on date
  • email varchar(255)

teachers

  • id bigintPK
  • full_name varchar(200) required
  • email varchar(255)

departments

  • id bigintPK
  • name varchar(200) required
  • head_teacher_id bigint→ teachers

courses

  • id bigintPK
  • title varchar(200) required
  • teacher_id bigint→ teachers required
  • department_id bigint→ departments required

classrooms

  • id bigintPK
  • room_code varchar(20) required
  • seats integer required

sessions

  • id bigintPK
  • course_id bigint→ courses required
  • classroom_id bigint→ classrooms required
  • starts_at timestamptz required

enrolments

  • id bigintPK
  • student_id bigint→ students required
  • course_id bigint→ courses required
  • grade numeric(12,2)

attendance

  • id bigintPK
  • student_id bigint→ students required
  • session_id bigint→ sessions required
  • present boolean required

audit_log

  • at timestamptz required
  • who varchar(100) required
  • what text

What you could look at in SSDO

Create a free workspace and open this sample   All samples

PK is a primary key. “→ table” is a link (a foreign key) to that table. This page is a description of a structure we wrote; it holds no rows.