온라인 강의 정보를 저장하는 테이블은 교육 기관, 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: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
온라인 쇼핑 테이블 생성: 온라인 쇼핑 주문 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
---|---|
신용카드 트랜잭션 테이블 생성: 신용카드 트랜잭션 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
사용자 프로필 테이블 생성: 사용자 프로필 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |
항공편 예약 테이블 생성: 항공편 예약 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
음식 주문 테이블 생성: 음식 주문 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |