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 UNIQUE,
"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 "Sections" (
"section_id" INT,
"section_name" VARCHAR(255),
"section_description" VARCHAR(255),
PRIMARY KEY ("section_id")
);





INSERT INTO "Courses" VALUES ("101", "Calculus I", "Introduction to differential and integral calculus.");
INSERT INTO "Courses" VALUES ("102", "Linear Algebra", "Study of vector spaces, linear transformations, and matrices.");
INSERT INTO "Courses" VALUES ("103", "Discrete Mathematics", "Foundations of discrete mathematics for computer science.");
INSERT INTO "Courses" VALUES ("104", "Probability and Statistics", "Introduction to probability theory and statistical inference.");
INSERT INTO "Courses" VALUES ("105", "Differential Equations", "Methods for solving ordinary and partial differential equations.");
INSERT INTO "Courses" VALUES ("106", "Abstract Algebra", "Study of algebraic structures such as groups, rings, and fields.");
INSERT INTO "Courses" VALUES ("107", "Real Analysis", "Rigorous treatment of real numbers, sequences, series, and functions.");
INSERT INTO "Courses" VALUES ("108", "Complex Analysis", "Study of functions of complex variables.");
INSERT INTO "Courses" VALUES ("109", "Numerical Analysis", "Development and analysis of algorithms for solving mathematical problems.");
INSERT INTO "Courses" VALUES ("110", "Topology", "Study of topological spaces and continuous functions.");
INSERT INTO "Courses" VALUES ("201", "Introduction to Programming", "Fundamentals of programming using Python.");
INSERT INTO "Courses" VALUES ("202", "Data Structures", "Common data structures and algorithms.");
INSERT INTO "Courses" VALUES ("301", "English Composition", "Developing effective writing skills.");
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 English");
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 "Sections" VALUES ("1", "Fall 2023 - Section A", "Calculus I offered in Fall 2023, morning session.");
INSERT INTO "Sections" VALUES ("2", "Fall 2023 - Section B", "Calculus I offered in Fall 2023, afternoon session.");
INSERT INTO "Sections" VALUES ("3", "Spring 2024 - Section A", "Linear Algebra offered in Spring 2024.");
INSERT INTO "Sections" VALUES ("4", "Fall 2023 - Section C", "Discrete Mathematics offered in Fall 2023.");
INSERT INTO "Sections" VALUES ("5", "Summer 2024 - Section A", "Probability and Statistics offered in Summer 2024.");
INSERT INTO "Sections" VALUES ("6", "Fall 2024 - Section A", "Differential Equations offered in Fall 2024.");
INSERT INTO "Sections" VALUES ("7", "Spring 2025 - Section A", "Abstract Algebra offered in Spring 2025.");
INSERT INTO "Sections" VALUES ("8", "Fall 2025 - Section A", "Real Analysis offered in Fall 2025.");
INSERT INTO "Sections" VALUES ("9", "Spring 2026 - Section A", "Complex Analysis offered in Spring 2026.");
INSERT INTO "Sections" VALUES ("10", "Fall 2026 - Section A", "Numerical Analysis offered in Fall 2026.");
INSERT INTO "Sections" VALUES ("11", "Spring 2027 - Section A", "Topology offered in Spring 2027.");
INSERT INTO "Sections" VALUES ("12", "Fall 2023 - Section D", "Introduction to Programming for beginners.");