PRAGMA foreign_keys = ON;

PRAGMA writable_schema = 1;
DELETE FROM sqlite_master WHERE type IN ("table", "index", "trigger");
PRAGMA writable_schema = 0;
VACUUM;

CREATE TABLE "Courses" (
"course_id" INT,
"course_name" VARCHAR(255),
"course_description" VARCHAR(255),
PRIMARY KEY ("course_id")
);

CREATE TABLE "Degree_Programs" (
"degree_program_id" INT,
"degree_summary_name" VARCHAR(255),
PRIMARY KEY ("degree_program_id")
);

CREATE TABLE "Departments" (
"department_id" INT,
"department_name" VARCHAR(255),
PRIMARY KEY ("department_id")
);

CREATE TABLE "Sections" (
"section_id" INT,
"section_name" VARCHAR(255),
PRIMARY KEY ("section_id")
);





INSERT INTO "Courses" VALUES ("1", "Calculus I", "Introduction to differential calculus.");
INSERT INTO "Courses" VALUES ("2", "Linear Algebra", "Study of vector spaces and linear transformations.");
INSERT INTO "Courses" VALUES ("3", "Discrete Mathematics", "Foundations of discrete structures for computer science.");
INSERT INTO "Courses" VALUES ("4", "Introduction to Programming", "Basic concepts of programming using Python.");
INSERT INTO "Courses" VALUES ("5", "Differential Equations", "Methods for solving ordinary and partial differential equations.");
INSERT INTO "Courses" VALUES ("6", "Probability and Statistics", "Introduction to probability theory and statistical inference.");
INSERT INTO "Courses" VALUES ("7", "Abstract Algebra", "Study of algebraic structures like groups, rings, and fields.");
INSERT INTO "Courses" VALUES ("8", "Data Structures", "Fundamental data structures and algorithms.");
INSERT INTO "Courses" VALUES ("9", "Complex Analysis", "Theory of functions of a complex variable.");
INSERT INTO "Courses" VALUES ("10", "Numerical Analysis", "Algorithms for solving mathematical problems numerically.");
INSERT INTO "Degree_Programs" VALUES ("1", "Bachelor of Science in Mathematics");
INSERT INTO "Degree_Programs" VALUES ("2", "Bachelor of Science in Computer Science");
INSERT INTO "Degree_Programs" VALUES ("3", "Bachelor of Arts in Liberal Arts");
INSERT INTO "Degree_Programs" VALUES ("4", "Master of Science in Applied Mathematics");
INSERT INTO "Degree_Programs" VALUES ("5", "Doctor of Philosophy in Mathematics");
INSERT INTO "Departments" VALUES ("1", "Mathematics Department");
INSERT INTO "Departments" VALUES ("2", "Computer Science Department");
INSERT INTO "Departments" VALUES ("3", "Physics Department");
INSERT INTO "Departments" VALUES ("4", "English Department");
INSERT INTO "Departments" VALUES ("5", "History Department");
INSERT INTO "Sections" VALUES ("1", "Fall 2023 - Section A");
INSERT INTO "Sections" VALUES ("2", "Fall 2023 - Section B");
INSERT INTO "Sections" VALUES ("3", "Spring 2024 - Section A");
INSERT INTO "Sections" VALUES ("4", "Spring 2024 - Section B");
INSERT INTO "Sections" VALUES ("5", "Summer 2024 - Section A");