CREATE TABLE course
(
    course_id   INTEGER
        constraint course_pk
            primary key,
    courseLevel TEXT
);
course
CREATE TABLE person
(
    p_id           INTEGER
        constraint person_pk
            primary key,
    professor      INTEGER,
    student        INTEGER,
    hasPosition    TEXT,
    inPhase        TEXT,
    yearsInProgram TEXT
);
person
CREATE TABLE "advisedBy"
(
    p_id       INTEGER,
    p_id_dummy INTEGER,
    constraint advisedBy_pk
        primary key (p_id, p_id_dummy),
    constraint advisedBy_person_p_id_p_id_fk
        foreign key (p_id, p_id_dummy) references person (p_id, p_id)
);
advisedBy
CREATE TABLE taughtBy
(
    course_id INTEGER,
    p_id      INTEGER,
    primary key (course_id, p_id),
    foreign key (p_id) references person(p_id),
    foreign key (course_id) references course(course_id)
);
taughtBy
original_column_name,column_name,column_description,data_format,value_description
p_id,person id,id number identifying each person,integer,
p_id_dummy,person id dummy,the id number identifying the advisor,integer,
advisedBy
original_column_name,column_name,column_description,data_format,value_description
course_id,course ID,the identification number identifying each course,integer,
p_id,person ID,the identification number identifying each person,integer,
taughtBy
original_column_name,column_name,column_description,data_format,value_description
course_id,course id,unique id number identifying courses,integer,
courseLevel,course level,course level,text,"commonsense evidence:
 Level_300: basic or medium undergraduate courses.
 Level_400: high-level or harder undergraduate course.
 Level_500: professional or master/graduate courses"
course
original_column_name,column_name,column_description,data_format,value_description
p_id,person ID,the unique number identifying each person,integer,
professor,professor,whether the person is a professor,integer,"0: professor
1: student"
student,student,whether the person is a student,integer,"0: professor
1: student"
hasPosition,has position,whether the person has a position in the faculty,text,"0: the person is not a faculty member
Common Sense evidence:
faculty_aff: affiliated faculty
faculty_eme: faculty employee"
inPhase,in phase,the phase of qualification the person is undergoing,text,0: the person is not undergoing the phase of qualification
yearsInProgram,years in program,the year of the program the person is at,text,"0: the person is not in any programs
Common Sense evidence:
yearX means the person is on the Xth year of the program"
person