diff --git a/schema/class_teacher.sql b/schema/class_teacher.sql new file mode 100644 index 0000000..95eec41 --- /dev/null +++ b/schema/class_teacher.sql @@ -0,0 +1,9 @@ +CREATE TABLE "public"."class_teacher" ( + "class_no" integer NOT NULL, + "teacher_no" integer NOT NULL, + "from_date" date NOT NULL, + "to_date" date NOT NULL, + CONSTRAINT "class_teacher_pkey" PRIMARY KEY (class_no, teacher_no), + CONSTRAINT "class_teacher_class_no_fkey" FOREIGN KEY ("class_no") REFERENCES "public"."class" ("class_no") ON DELETE CASCADE, + CONSTRAINT "class_teacher_teacher_no_fkey" FOREIGN KEY ("teacher_no") REFERENCES "public"."teacher" ("teacher_no") ON DELETE CASCADE +); diff --git a/schema/sequences.sql b/schema/sequences.sql index b35cb02..3dc50b5 100644 --- a/schema/sequences.sql +++ b/schema/sequences.sql @@ -1,3 +1,5 @@ CREATE SEQUENCE "public"."class_no_seq" AS bigint START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 NO CYCLE CACHE 1; CREATE SEQUENCE "public"."student_no_seq" AS bigint START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 NO CYCLE CACHE 1; + +CREATE SEQUENCE "public"."teacher_no_seq" AS bigint START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 NO CYCLE CACHE 1; diff --git a/schema/teacher.sql b/schema/teacher.sql new file mode 100644 index 0000000..8520330 --- /dev/null +++ b/schema/teacher.sql @@ -0,0 +1,7 @@ +CREATE TABLE "public"."teacher" ( + "teacher_no" integer DEFAULT nextval('public.teacher_no_seq'::regclass) NOT NULL, + "first_name" text NOT NULL, + "last_name" text NOT NULL, + "email" text NOT NULL, + CONSTRAINT "teacher_pkey" PRIMARY KEY (student_no) +);