본문 바로가기

SQL

온라인 강의 테이블 생성: 온라인 강의 정보를 저장하기 위한 테이블을 생성합니다.

반응형

온라인 강의 정보를 저장하는 테이블은 교육 기관, e-learning 플랫폼, 또는 개인 강사가 강의 내용, 참가자, 진행 상태 등을 관리하는 데 중요합니다. 이 테이블은 강의 ID, 강사 ID, 강의 제목, 강의 설명, 강의 카테고리, 시작일, 종료일, 등록 학생 수, 강의 상태 등의 정보를 포함할 수 있습니다. 다음은 온라인 강의 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 온라인 강의 테이블 생성
CREATE TABLE online_courses (
    course_id INT AUTO_INCREMENT PRIMARY KEY,
    instructor_id INT,
    title VARCHAR(200),
    description TEXT,
    category VARCHAR(100),
    start_date DATE,
    end_date DATE,
    enrolled_students INT,
    course_status VARCHAR(50),
    FOREIGN KEY (instructor_id) REFERENCES instructors(instructor_id)
);
설명: 강의 ID, 강사 ID, 강의 제목, 강의 설명, 카테고리, 시작일, 종료일, 등록 학생 수, 강의 상태 등을 저장합니다.

 

2. 강사 정보 테이블 생성
CREATE TABLE instructors (
    instructor_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    bio TEXT,
    profile_pic TEXT
);
설명: 강사 ID, 이름, 이력서, 프로필 사진 등을 저장합니다.

 

3. 강의 컨텐츠 테이블 생성
CREATE TABLE course_contents (
    content_id INT AUTO_INCREMENT PRIMARY KEY,
    course_id INT,
    content_title VARCHAR(200),
    content_description TEXT,
    content_url TEXT,
    FOREIGN KEY (course_id) REFERENCES online_courses(course_id)
);
설명: 컨텐츠 ID, 강의 ID, 컨텐츠 제목, 설명, URL 등을 저장합니다.

 

4. 강의 등록 학생 테이블 생성
CREATE TABLE course_enrollments (
    enrollment_id INT AUTO_INCREMENT PRIMARY KEY,
    course_id INT,
    student_id INT,
    enrollment_date DATE,
    progress INT,
    FOREIGN KEY (course_id) REFERENCES online_courses(course_id),
    FOREIGN KEY (student_id) REFERENCES students(student_id)
);
설명: 등록 ID, 강의 ID, 학생 ID, 등록 날짜, 진행률 등을 저장합니다.

 

5. 학생 정보 테이블 생성
CREATE TABLE students (
    student_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100),
    registration_date DATE
);
설명: 학생 ID, 이름, 이메일, 등록 날짜 등을 저장합니다.

 

6. 강의 피드백 테이블 생성
CREATE TABLE course_feedbacks (
    feedback_id INT AUTO_INCREMENT PRIMARY KEY,
    course_id INT,
    student_id INT,
    feedback_date DATE,
    rating INT,
    comments TEXT,
    FOREIGN KEY (course_id) REFERENCES online_courses(course_id),
    FOREIGN KEY (student_id) REFERENCES students(student_id)
);
설명: 피드백 ID, 강의 ID, 학생 ID, 피드백 날짜, 평점, 코멘트 등을 저장합니다.

 

7. 강의 질문 테이블 생성
CREATE TABLE course_questions (
    question_id INT AUTO_INCREMENT PRIMARY KEY,
    course_id INT,
    student_id INT,
    question_text TEXT,
    question_date TIMESTAMP,
    FOREIGN KEY (course_id) REFERENCES online_courses(course_id),
    FOREIGN KEY (student_id) REFERENCES students(student_id)
);
설명: 질문 ID, 강의 ID, 학생 ID, 질문 내용, 질문 날짜 등을 저장합니다.

 

8. 강의 공지사항 테이블 생성
CREATE TABLE course_announcements (
    announcement_id INT AUTO_INCREMENT PRIMARY KEY,
    course_id INT,
    title VARCHAR(200),
    announcement_text TEXT,
    announcement_date TIMESTAMP,
    FOREIGN KEY (course_id) REFERENCES online_courses(course_id)
);
설명: 공지사항 ID, 강의 ID, 제목, 내용, 공지 날짜 등을 저장합니다.

 

9. 강의 자료 테이블 생성
CREATE TABLE course_materials (
    material_id INT AUTO_INCREMENT PRIMARY KEY,
    course_id INT,
    material_title VARCHAR(200),
    material_url TEXT,
    upload_date TIMESTAMP,
    FOREIGN KEY (course_id) REFERENCES online_courses(course_id)
);
설명: 자료 ID, 강의 ID, 자료 제목, URL, 업로드 날짜 등을 저장합니다.

 

10. 강의 할인 테이블 생성
CREATE TABLE course_discounts (
    discount_id INT AUTO_INCREMENT PRIMARY KEY,
    course_id INT,
    discount_rate DECIMAL(5,2),
    start_date DATE,
    end_date DATE,
    FOREIGN KEY (course_id) REFERENCES online_courses(course_id)
);
설명: 할인 ID, 강의 ID, 할인율, 시작 날짜, 종료 날짜 등을 저장합니다.


관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, DATE, TIMESTAMP, DECIMAL, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.

반응형