-- 1. 데이터베이스 생성
CREATE DATABASE IF NOT EXISTS flight_data;

-- 2. 데이터베이스 선택
USE flight_data;
-- 3. Airports 테이블 생성
CREATE TABLE IF NOT EXISTS Airports (
code CHAR(6) NOT NULL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
city VARCHAR(50),
country VARCHAR(50)
);

-- 4. Airports 테이블에 데이터 삽입 (샘플 데이터)
INSERT INTO Airports (code, name, city, country) VALUES
('ICN', 'Incheon International Airport', 'Incheon', 'South Korea'),
('GMP', 'Gimpo International Airport', 'Seoul', 'South Korea');

-- 5. AutoIncrement 테이블 생성
CREATE TABLE IF NOT EXISTS AutoIncrement (
id INT NOT NULL AUTO_INCREMENT,
flight_number VARCHAR(10) NOT NULL,
airline VARCHAR(50) NOT NULL,
callsign VARCHAR(50) NOT NULL,
origin CHAR(6) NOT NULL,
destination CHAR(6) NOT NULL,
latitude DECIMAL(9,6) NOT NULL,
longitude DECIMAL(9,6) NOT NULL,
speed DECIMAL(10,2),
altitude DECIMAL(10,2),
recorded_at DATETIME NOT NULL,
registration VARCHAR(50),
aircraft_type VARCHAR(50),
PRIMARY KEY (id),
UNIQUE KEY unique_callsign_timestamp (callsign, recorded_at),
FOREIGN KEY (origin) REFERENCES Airports(code),
FOREIGN KEY (destination) REFERENCES Airports(code)
);

-- 6. 인덱스 생성
CREATE INDEX idx_origin ON AutoIncrement(origin);
CREATE INDEX idx_destination ON AutoIncrement(destination);
CREATE INDEX idx_recorded_at ON AutoIncrement(recorded_at);

mysql> SHOW INDEX FROM AutoIncrement;
이걸로 인덱싱한 항목을 볼 수 있다.

'SQL&DB' 카테고리의 다른 글
| 파이썬으로 도커 안에 Mysql 이랑 공유디렉토리 없이 파일을 넣는법 (0) | 2025.02.07 |
|---|---|
| Docker 에서 구동하는 DB 에 데이터 넣기 (0) | 2025.02.07 |
| Docker 에 Mysql 깔고 수정하기 (0) | 2025.02.05 |
| SQL_테이블 만들고 넣기 (0) | 2025.02.03 |
| mssql - API 연결 (0) | 2025.02.03 |