codeSearch/test/create_additional_tables.py

163 lines
7.9 KiB
Python

import sqlite3
def create_abbreviation_table():
"""약어 테이블을 생성하고 샘플 데이터를 삽입합니다."""
conn = sqlite3.connect('fault_codes.db')
cursor = conn.cursor()
# 테이블 생성
cursor.execute('''
CREATE TABLE IF NOT EXISTS abbreviations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
abbreviation TEXT NOT NULL,
description TEXT NOT NULL
)
''')
# 기존 데이터 삭제
cursor.execute("DELETE FROM abbreviations")
# 샘플 데이터 삽입
sample_data = [
('APS', '공기압력센서(Air Pressure Sensor)'),
('ATC', '자동 열차 제어(Automatic Train Control)'),
('ATP', '자동 열차 보호(Automatic Train Protection)'),
('ATO', '자동 열차 운행(Automatic Train Operation)'),
('BCP', '제동 제어 유닛(Brake Control Unit)'),
('CBC', '중앙 버퍼 커플러(Central Buffer Coupler)'),
('CCU', '중앙 제어 유닛(Central Control Unit)'),
('CCTV', '폐쇄회로 TV(Closed Circuit Television)'),
('CO', '컴프레서(Compressor)'),
('CPU', '중앙 처리 장치(Central Processing Unit)'),
('CU', '제어 유닛(Control Unit)'),
('DCDC', 'DC-DC 컨버터(DC-DC Converter)'),
('DI', '디지털 입력(Digital Input)'),
('DO', '디지털 출력(Digital Output)'),
('ELR', '전자식 부하 조절기(Electronic Load Regulator)'),
('ETCS', '유럽 열차 제어 시스템(European Train Control System)'),
('HVAC', '냉난방 장치(Heating, Ventilation, Air Conditioning)'),
('IPS', '무정전 전원 공급 장치(Interruption Power Supply)'),
('JRU', '법적 기록 장치(Juridical Recording Unit)'),
('LCD', '액정 디스플레이(Liquid Crystal Display)'),
('LED', '발광 다이오드(Light Emitting Diode)'),
('MU', '다중 장치(Multiple Unit)'),
('PCB', '인쇄 회로 기판(Printed Circuit Board)'),
('PIS', '승객 정보 시스템(Passenger Information System)'),
('SIV', '정지형 인버터(Static Inverter)'),
('TCMS', '열차 제어 관리 시스템(Train Control Management System)'),
('TFT', '박막 트랜지스터(Thin Film Transistor)'),
('VCB', '진공 차단기(Vacuum Circuit Breaker)')
]
cursor.executemany("INSERT INTO abbreviations (abbreviation, description) VALUES (?, ?)", sample_data)
conn.commit()
conn.close()
print("약어 테이블이 생성되었습니다.")
def create_drawing_table():
"""도면 테이블을 생성하고 샘플 데이터를 삽입합니다."""
conn = sqlite3.connect('fault_codes.db')
cursor = conn.cursor()
# 테이블 생성
cursor.execute('''
CREATE TABLE IF NOT EXISTS drawings (
id INTEGER PRIMARY KEY AUTOINCREMENT,
drawing_code TEXT NOT NULL,
drawing_name TEXT NOT NULL,
related_device TEXT,
drawing_path TEXT
)
''')
# 기존 데이터 삭제
cursor.execute("DELETE FROM drawings")
# 샘플 데이터 삽입
sample_data = [
('DRW-001', '주회로도', 'TCMS', None),
('DRW-002', '보조전원장치', 'SIV', None),
('DRW-003', '배터리 충전기', 'Battery Charger', None),
('DRW-004', '인버터 회로도', 'Inverter', None),
('DRW-005', '제동장치 회로도', 'Brake System', None),
('DRW-006', '공기압축기 회로도', 'Compressor', None),
('DRW-007', '자동문 제어 회로도', 'Door Control', None),
('DRW-008', '객실 공조장치', 'HVAC', None),
('DRW-009', '운전실 공조장치', 'Driver HVAC', None),
('DRW-010', '열차 정보 시스템', 'PIS', None),
('DRW-011', '승객 안내 시스템', 'PA System', None),
('DRW-012', '열차 방송 시스템', 'Broadcast System', None),
('DRW-013', '비상 인터폰', 'Emergency Interphone', None),
('DRW-014', '차량 연결 장치', 'Coupler System', None),
('DRW-015', '집전장치', 'Pantograph', None)
]
cursor.executemany("INSERT INTO drawings (drawing_code, drawing_name, related_device, drawing_path) VALUES (?, ?, ?, ?)", sample_data)
conn.commit()
conn.close()
print("도면 테이블이 생성되었습니다.")
def create_signal_table():
"""신호 테이블을 생성하고 샘플 데이터를 삽입합니다."""
conn = sqlite3.connect('fault_codes.db')
cursor = conn.cursor()
# 테이블 생성
cursor.execute('''
CREATE TABLE IF NOT EXISTS signals (
id INTEGER PRIMARY KEY AUTOINCREMENT,
signal_code TEXT NOT NULL,
signal_name TEXT NOT NULL,
signal_type TEXT NOT NULL,
description TEXT,
source TEXT,
destination TEXT,
unit TEXT,
value_range TEXT
)
''')
# 기존 데이터 삭제
cursor.execute("DELETE FROM signals")
# 샘플 데이터 삽입
sample_data = [
('SIG001', '객실 온도', 'AI', '객실 내부 온도', 'HVAC 센서', 'TCMS', '°C', '-10~50'),
('SIG002', '운전실 온도', 'AI', '운전실 내부 온도', 'HVAC 센서', 'TCMS', '°C', '-10~50'),
('SIG003', '팬 속도', 'AI', '공조장치 팬 속도', 'HVAC 제어장치', 'TCMS', 'RPM', '0~2000'),
('SIG004', '문 열림 상태', 'DI', '객실문 열림/닫힘 상태', '문 제어장치', 'TCMS', 'Boolean', '0/1'),
('SIG005', '비상 브레이크', 'DI', '비상 제동 적용 여부', '제동 제어장치', 'TCMS', 'Boolean', '0/1'),
('SIG006', '팬토그래프 상태', 'DI', '팬토그래프 접촉 상태', '팬토그래프 제어장치', 'TCMS', 'Boolean', '0/1'),
('SIG007', '모터 전류', 'AI', '견인 모터 전류', '인버터', 'TCMS', 'A', '0~1000'),
('SIG008', '배터리 전압', 'AI', '배터리 전압', '배터리 관리 시스템', 'TCMS', 'V', '24~29'),
('SIG009', '냉각수 온도', 'AI', '견인 모터 냉각수 온도', '냉각 시스템', 'TCMS', '°C', '0~100'),
('SIG010', '차량 속도', 'AI', '차량 주행 속도', '속도 센서', 'TCMS', 'km/h', '0~120'),
('SIG011', '팬토그래프 압력', 'AI', '팬토그래프 공기압', '공기압 센서', 'TCMS', 'bar', '0~10'),
('SIG012', '주 공기통 압력', 'AI', '주 공기통 압력', '공기압 센서', 'TCMS', 'bar', '0~12'),
('SIG013', '보조 공기통 압력', 'AI', '보조 공기통 압력', '공기압 센서', 'TCMS', 'bar', '0~12'),
('SIG014', '제동 실린더 압력', 'AI', '제동 실린더 압력', '공기압 센서', 'TCMS', 'bar', '0~5'),
('SIG015', '비상 경보', 'DO', '비상 경보 상태', 'TCMS', '경보 장치', 'Boolean', '0/1'),
('SIG016', '객실 조명 상태', 'DO', '객실 조명 켜짐/꺼짐', 'TCMS', '조명 제어장치', 'Boolean', '0/1'),
('SIG017', '운전실 조명 상태', 'DO', '운전실 조명 켜짐/꺼짐', 'TCMS', '조명 제어장치', 'Boolean', '0/1'),
('SIG018', '외부 조명 상태', 'DO', '외부 조명 켜짐/꺼짐', 'TCMS', '조명 제어장치', 'Boolean', '0/1'),
('SIG019', '컴프레서 상태', 'DO', '컴프레서 동작 상태', 'TCMS', '컴프레서 제어장치', 'Boolean', '0/1'),
('SIG020', '견인 동력 설정', 'AO', '견인 동력 설정 값', 'TCMS', '인버터', '%', '0~100')
]
cursor.executemany("""
INSERT INTO signals (
signal_code, signal_name, signal_type, description,
source, destination, unit, value_range
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
""", sample_data)
conn.commit()
conn.close()
print("신호 테이블이 생성되었습니다.")
if __name__ == "__main__":
create_abbreviation_table()
create_drawing_table()
create_signal_table()