본문 바로가기

SQL

학교 수업 일정 테이블 생성: 학교 수업 일정 정보를 저장하기 위한 테이블을 생성합니다.

반응형

학교 수업 일정 정보를 저장하는 테이블은 교육 기관에서 학생, 교사, 수업, 강의실 등의 관리를 위해 중요합니다. 이 테이블은 수업 일정 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: 다른 테이블의 주 키를 참조하는 외래 키입니다.

반응형