학교 수업 일정 정보를 저장하는 테이블은 교육 기관에서 학생, 교사, 수업, 강의실 등의 관리를 위해 중요합니다. 이 테이블은 수업 일정 ID, 과목 코드, 교사 ID, 학생 그룹, 수업 시작 시간, 수업 종료 시간, 수업 장소, 주기적 일정 정보 등의 정보를 포함할 수 있습니다. 다음은 학교 수업 일정 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.
1. 기본 학교 수업 일정 테이블 생성
CREATE TABLE class_schedules (
schedule_id INT AUTO_INCREMENT PRIMARY KEY,
course_code VARCHAR(20),
instructor_id INT,
student_group VARCHAR(50),
start_time TIMESTAMP,
end_time TIMESTAMP,
location TEXT,
recurring_info TEXT
);
설명: 수업 일정 ID, 과목 코드, 교사 ID, 학생 그룹, 수업 시작 시간, 수업 종료 시간, 수업 장소, 주기적 일정 정보 등을 저장합니다.
2. 과목 정보 테이블 생성
CREATE TABLE courses (
course_id INT AUTO_INCREMENT PRIMARY KEY,
course_code VARCHAR(20),
title VARCHAR(100),
description TEXT,
department VARCHAR(100)
);
설명: 과목 ID, 과목 코드, 과목명, 설명, 소속 학과 등을 저장합니다.
3. 교사 정보 테이블 생성
CREATE TABLE instructors (
instructor_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
department VARCHAR(100),
office_location TEXT,
contact_info TEXT
);
설명: 교사 ID, 이름, 소속 학과, 사무실 위치, 연락처 정보 등을 저장합니다.
4. 학생 그룹 정보 테이블 생성
CREATE TABLE student_groups (
group_id INT AUTO_INCREMENT PRIMARY KEY,
group_name VARCHAR(50),
member_count INT
);
설명: 학생 그룹 ID, 그룹명, 멤버 수 등을 저장합니다.
5. 강의실 정보 테이블 생성
CREATE TABLE classrooms (
room_id INT AUTO_INCREMENT PRIMARY KEY,
room_number VARCHAR(20),
building_name VARCHAR(50),
capacity INT,
available_equipment TEXT
);
설명: 강의실 ID, 강의실 번호, 건물명, 수용 인원, 사용 가능 장비 등을 저장합니다.
6. 수업 출석부 테이블 생성
CREATE TABLE class_attendance (
attendance_id INT AUTO_INCREMENT PRIMARY KEY,
schedule_id INT,
student_id INT,
date TIMESTAMP,
status VARCHAR(20),
FOREIGN KEY (schedule_id) REFERENCES class_schedules(schedule_id)
);
설명: 출석부 ID, 수업 일정 ID, 학생 ID, 날짜, 출석 상태 등을 저장합니다.
7. 수업 과제 테이블 생성
CREATE TABLE class_assignments (
assignment_id INT AUTO_INCREMENT PRIMARY KEY,
schedule_id INT,
title VARCHAR(100),
description TEXT,
due_date TIMESTAMP,
FOREIGN KEY (schedule_id) REFERENCES class_schedules(schedule_id)
);
설명: 과제 ID, 수업 일정 ID, 과제명, 설명, 마감 일자 등을 저장합니다.
8. 시험 일정 테이블 생성
CREATE TABLE exam_schedules (
exam_id INT AUTO_INCREMENT PRIMARY KEY,
schedule_id INT,
exam_date TIMESTAMP,
location TEXT,
FOREIGN KEY (schedule_id) REFERENCES class_schedules(schedule_id)
);
설명: 시험 ID, 수업 일정 ID, 시험 날짜, 시험 장소 등을 저장합니다.
9. 성적 기록 테이블 생성
CREATE TABLE grades (
grade_id INT AUTO_INCREMENT PRIMARY KEY,
student_id INT,
course_code VARCHAR(20),
grade VARCHAR(5),
semester TEXT
);
설명: 성적 기록 ID, 학생 ID, 과목 코드, 성적, 학기 등을 저장합니다.
10. 학교 행사 일정 테이블 생성
CREATE TABLE school_events (
event_id INT AUTO_INCREMENT PRIMARY KEY,
event_name VARCHAR(100),
event_date TIMESTAMP,
location TEXT,
description TEXT
);
설명: 행사 ID, 행사명, 행사 날짜, 행사 장소, 행사 설명 등을 저장합니다.
관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, TIMESTAMP, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
자동차 주행 로그 테이블 생성: 자동차 주행 로그 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
---|---|
지도 위치 테이블 생성: 지도 위치 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
음악 플레이리스트 테이블 생성: 음악 플레이리스트 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |
게임 플레이어 테이블 생성: 게임 플레이어 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
전화 통화 기록 테이블 생성: 전화 통화 기록 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |