Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №2606731
А
Аноним
09 января 2025 13:05 · публичный вопрос
А
Аноним

Создайте много табличную базу данных

Ответ нейросети
09 января 2025 13:05

Создание много таблицной базы данных требует четкого плана и понимания, какие данные вы хотите хранить. Давайте рассмотрим пример базы данных для университета, содержащей информацию о студентах, курсах и преподавателях.

Модель базы данных

  1. Таблица Students (Студенты)

    • StudentID (Уникальный идентификатор студента) - INT, PRIMARY KEY
    • FirstName (Имя) - VARCHAR(50)
    • LastName (Фамилия) - VARCHAR(50)
    • Email (Электронная почта) - VARCHAR(100)
    • EnrollmentDate (Дата зачисления) - DATE
  2. Таблица Courses (Курсы)

    • CourseID (Уникальный идентификатор курса) - INT, PRIMARY KEY
    • CourseName (Название курса) - VARCHAR(100)
    • Credits (Кредиты) - INT
  3. Таблица Instructors (Преподаватели)

    • InstructorID (Уникальный идентификатор преподавателя) - INT, PRIMARY KEY
    • FirstName (Имя) - VARCHAR(50)
    • LastName (Фамилия) - VARCHAR(50)
    • Email (Электронная почта) - VARCHAR(100)
  4. Таблица Enrollments (Записи о курсах)

    • EnrollmentID (Уникальный идентификатор записи) - INT, PRIMARY KEY
    • StudentID (Идентификатор студента) - INT, FOREIGN KEY (Students)
    • CourseID (Идентификатор курса) - INT, FOREIGN KEY (Courses)
    • Grade (Оценка) - VARCHAR(2)
  5. Таблица Course_Instructors (Преподавание курсов)

    • CourseInstructorID (Уникальный идентификатор) - INT, PRIMARY KEY
    • CourseID (Идентификатор курса) - INT, FOREIGN KEY (Courses)
    • InstructorID (Идентификатор преподавателя) - INT, FOREIGN KEY (Instructors)

SQL-запросы для создания таблиц

CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Email VARCHAR(100),
    EnrollmentDate DATE
);

CREATE TABLE Courses (
    CourseID INT PRIMARY KEY,
    CourseName VARCHAR(100),
    Credits INT
);

CREATE TABLE Instructors (
    InstructorID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Email VARCHAR(100)
);

CREATE TABLE Enrollments (
    EnrollmentID INT PRIMARY KEY,
    StudentID INT,
    CourseID INT,
    Grade VARCHAR(2),
    FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);

CREATE TABLE Course_Instructors (
    CourseInstructorID INT PRIMARY KEY,
    CourseID INT,
    InstructorID INT,
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID),
    FOREIGN KEY (InstructorID) REFERENCES Instructors(InstructorID)
);

Примечания

  • Каждый студент может записываться на несколько курсов, а каждый курс может иметь несколько студентов, поэтому мы используем таблицу Enrollments для связи между ними.
  • Каждый курс может преподаваться несколькими преподавателями, и каждый преподаватель может вести несколько курсов, что реализуется в таблице Course_Instructors.

Если вам нужно больше деталей или конкретные примеры использования, дайте знать!