﻿CREATE TABLE `user_info` (
  `user_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '사용자 고유 ID (PK)',
  `display_name` VARCHAR(100) DEFAULT NULL COMMENT '표시 이름 (AD의 displayName)',
  `account_name` VARCHAR(255) NOT NULL COMMENT '계정 이름 (AD의 sAMAccountName 또는 userPrincipalName 앞부분, UNIQUE)',
  `group_id` BIGINT(20) DEFAULT NULL COMMENT '소속 그룹 ID (FK, group_info.group_id)',
  PRIMARY KEY (user_id)
)
ENGINE = INNODB,
AUTO_INCREMENT = 87,
AVG_ROW_LENGTH = 682,
CHARACTER SET utf8mb4,
COLLATE utf8mb4_general_ci,
COMMENT = '사용자 기본 정보',
ROW_FORMAT = DYNAMIC;

ALTER TABLE `user_info` 
  ADD UNIQUE INDEX uix_account_name(account_name) COMMENT '계정 이름은 고유해야 함';

ALTER TABLE `user_info` 
  ADD CONSTRAINT `fk_user_group` FOREIGN KEY (group_id)
    REFERENCES group_info(group_id) ON DELETE SET NULL ON UPDATE CASCADE;