기존에 수영장 정보 테이블을 만들었었다
링크참조: https://tacit.tistory.com/147
이제 수영장 강사, 강습, 직원 등 추가적인 정보들을 위한 테이블을 만들고, 서로 관계성을 연결시켜보자
먼저 강사정보 테이블
CREATE TABLE trainer (
`idx` int NOT NULL AUTO_INCREMENT COMMENT '강사 고유번호',
`name` varchar(5) NOT NULL COMMENT '강사 이름',
`gender` char(1) NOT NULL comment '성별 남:M, 여:W',
`birth_date` date NOT NULL comment '생년월일',
created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시',
updated_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '업데이트일시',
PRIMARY KEY (idx)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
강습정보 테이블
CREATE TABLE lesson_schedule (
idx int NOT NULL AUTO_INCREMENT COMMENT '강습 고유번호',
lesson_code int(5) NOT NULL COMMENT '강습 코드',
title varchar(20) NOT NULL COMMENT '강습 이름',
trainer_idx int NOT NULL COMMENT '담당 강사 idx',
open_time time DEFAULT NULL COMMENT '시작시간',
close_time time DEFAULT NULL COMMENT '종료시간',
student_count int DEFAULT NULL COMMENT '등록회원 수',
created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시',
updated_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '업데이트일시',
PRIMARY KEY (idx),
UNIQUE KEY (`lesson_code`),
KEY idx_lesson1 (title),
KEY idx_lesson2 (lesson_code),
KEY idx_lesson3 (open_time, close_time),
FOREIGN KEY (`trainer_idx`) REFERENCES `trainer` (`idx`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
'programming' 카테고리의 다른 글
Sass 컴파일러 vscode 에서 사용하기 (0) | 2023.05.04 |
---|---|
OOP(Object Oriented Programing) 객체지향 프로그래밍 (0) | 2022.10.04 |
[DB] INDEX (0) | 2022.05.20 |
[DB] 문자형 컬럼을 탐색하는 방법 (0) | 2022.05.20 |
[DB] 집계함수 종류와 각각의 역할 (0) | 2022.05.19 |