Files
gyber/db/schema/resource_info.sql

35 lines
1.9 KiB
MySQL
Raw Permalink Normal View History

2025-09-15 13:33:34 +09:00
CREATE TABLE `resource_info` (
`resource_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '자산 고유 ID (PK)',
`category_id` TINYINT(3) UNSIGNED NOT NULL COMMENT '자산 카테고리 ID (FK)',
`resource_code` VARCHAR(100) DEFAULT NULL COMMENT '관리 코드 (자산 번호 등)',
`manufacturer` VARCHAR(100) DEFAULT NULL COMMENT '제조사',
`resource_name` VARCHAR(100) NOT NULL COMMENT '제품명 또는 모델명',
`serial_num` VARCHAR(200) DEFAULT NULL COMMENT '시리얼 번호 (UNIQUE)',
`spec_value` DECIMAL(10, 2) DEFAULT NULL COMMENT '주요 사양 값 (숫자)',
`spec_unit` TINYINT(3) UNSIGNED DEFAULT NULL COMMENT '사양 단위 ID',
`user_id` BIGINT(20) DEFAULT NULL COMMENT '현재 할당된 사용자 ID (FK, user_info.user_id)',
`comments` VARCHAR(200) DEFAULT NULL COMMENT '비고 또는 추가 설명',
`purchase_date` DATE DEFAULT NULL COMMENT '구매 일자',
`is_locked` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '동기화 대상 제외용 잠금(0:해제, 1:잠금)',
`register_date` DATETIME NOT NULL DEFAULT current_timestamp() COMMENT '시스템 최초 등록 일시',
`update_date` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '최종 정보 수정 일시',
PRIMARY KEY (resource_id)
)
ENGINE = INNODB,
AUTO_INCREMENT = 503,
AVG_ROW_LENGTH = 164,
CHARACTER SET utf8mb4,
COLLATE utf8mb4_general_ci,
COMMENT = '개별 자산 정보',
ROW_FORMAT = DYNAMIC;
ALTER TABLE `resource_info`
ADD UNIQUE INDEX uix_serial_num(serial_num) COMMENT '시리얼 번호는 고유해야 함 (NULL 제외)';
ALTER TABLE `resource_info`
ADD CONSTRAINT `fk_resource_category` FOREIGN KEY (category_id)
REFERENCES resource_category(category_id) ON DELETE NO ACTION ON UPDATE CASCADE;
ALTER TABLE `resource_info`
ADD CONSTRAINT `fk_resource_user` FOREIGN KEY (user_id)
REFERENCES user_info(user_id) ON DELETE SET NULL ON UPDATE CASCADE;