Загрузка данных


-- === ЗАДАНИЕ 1-2: Создание таблицы студентов и добавление записей ===
CREATE TABLE Students (
    id INTEGER PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    birth_date DATE,
    group_number VARCHAR(10)
);

INSERT INTO Students (id, first_name, last_name, birth_date, group_number)
VALUES 
(1, 'Иван', 'Иванов', '2000-05-15', 'Группа 101'),
(2, 'Мария', 'Петрова', '2001-08-22', 'Группа 102');


-- === ЗАДАНИЕ 3-4: Изменение структуры (email) и обновление данных ===
-- Добавляем столбец для почты[span_0](start_span)[span_0](end_span)
ALTER TABLE Students ADD COLUMN email VARCHAR(100);

-- Заполняем почту для существующих студентов[span_1](start_span)[span_1](end_span)
UPDATE Students SET email = 'ivanov@example.com' WHERE id = 1;
UPDATE Students SET email = 'petrova@example.com' WHERE id = 2;


-- === ЗАДАНИЕ 5: Удаление столбца с номером группы ===
ALTER TABLE Students DROP COLUMN group_number;


-- === ЗАДАНИЕ 6-7: Работа со связанной таблицей (Оценки) ===
-- Создаем таблицу Grades с внешним ключом на Students
CREATE TABLE Grades (
    id INTEGER PRIMARY KEY,
    student_id INTEGER,
    subject VARCHAR(50) NOT NULL,
    grade INTEGER,
    FOREIGN KEY (student_id) REFERENCES Students(id)
);

-- Добавляем оценки, привязанные к ID студентов
INSERT INTO Grades (id, student_id, subject, grade)
VALUES 
(1, 1, 'Математика', 5),
(2, 2, 'Физика', 4);


-- === ЗАДАНИЕ 8: Проверка результата ===
-- Вывод всех данных из таблицы студентов
SELECT * FROM Students;


-- === САМОСТОЯТЕЛЬНАЯ РАБОТА ===
-- 1. Удаление таблицы Grades
DROP TABLE Grades;

-- 2-3. Создание новой таблицы Courses и её заполнение
CREATE TABLE Courses (
    course_id INTEGER PRIMARY KEY,
    course_name VARCHAR(100),
    credits INTEGER,
    instructor VARCHAR(100),
    start_date DATE
);

INSERT INTO Courses (course_id, course_name, credits, instructor, start_date)
VALUES (1, 'Основы SQL', 3, 'Смирнов А.П.', '2026-09-01'),
       (2, 'Веб-дизайн', 4, 'Васильева Е.М.', '2026-09-15');

-- 4. Удаление одного столбца из новой таблицы
ALTER TABLE Courses DROP COLUMN instructor;