본문 바로가기

SQL

고객 로그인 테이블 생성: 고객 로그인 정보를 저장하기 위한 테이블을 생성합니다.

반응형

고객 로그인 정보를 저장하는 테이블은 사용자의 로그인 패턴, 보안, 계정 활동 등을 관리하는 데 중요합니다. 이 테이블은 로그인 ID, 고객 ID, 로그인 시간, 로그인 IP, 로그인 결과(성공/실패), 로그인 장치 정보 등의 정보를 포함할 수 있습니다. 다음은 고객 로그인 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 고객 로그인 테이블 생성
CREATE TABLE customer_logins (
    login_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    login_time TIMESTAMP,
    login_ip VARCHAR(15),
    login_result BOOLEAN,
    device_info TEXT,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 고객의 로그인 시간, IP 주소, 로그인 결과, 사용된 장치 정보를 저장합니다.

 

2. 로그인 시도 기록 테이블 생성
CREATE TABLE login_attempts (
    attempt_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    attempt_time TIMESTAMP,
    attempt_ip VARCHAR(15),
    result BOOLEAN,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 로그인 시도의 시간, IP 주소, 시도 결과(성공/실패)를 기록합니다.

 

3. 비정상 로그인 시도 테이블 생성
CREATE TABLE unusual_login_attempts (
    unusual_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    attempt_time TIMESTAMP,
    attempt_ip VARCHAR(15),
    reason TEXT,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 비정상적인 로그인 시도(예: 다수의 실패, 이상 지역에서의 시도)의 상세 정보와 원인을 저장합니다.

 

4. 고객 로그인 위치 테이블 생성
CREATE TABLE login_locations (
    location_id INT AUTO_INCREMENT PRIMARY KEY,
    login_id INT,
    location TEXT,
    FOREIGN KEY (login_id) REFERENCES customer_logins(login_id)
);
설명: 로그인 발생 위치를 저장합니다.

 

5. 고객 로그인 장치 테이블 생성
CREATE TABLE login_devices (
    device_id INT AUTO_INCREMENT PRIMARY KEY,
    login_id INT,
    device_type VARCHAR(50),
    device_details TEXT,
    FOREIGN KEY (login_id) REFERENCES customer_logins(login_id)
);
설명: 로그인에 사용된 장치의 유형과 상세 정보를 저장합니다.

 

6. 고객 로그인 알림 테이블 생성
CREATE TABLE login_notifications (
    notification_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    notification_time TIMESTAMP,
    message TEXT,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 로그인 관련 알림(예: 비정상 로그인 시도 알림)을 저장합니다.

 

7. 고객 로그인 세션 테이블 생성
CREATE TABLE login_sessions (
    session_id INT AUTO_INCREMENT PRIMARY KEY,
    login_id INT,
    session_start TIMESTAMP,
    session_end TIMESTAMP,
    FOREIGN KEY (login_id) REFERENCES customer_logins(login_id)
);
설명: 로그인 세션의 시작과 종료 시간을 기록합니다.

 

8. 로그인 비밀번호 변경 기록 테이블 생성
CREATE TABLE password_changes (
    change_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    change_time TIMESTAMP,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 비밀번호 변경 시간과 해당 고객을 기록합니다.

 

9. 로그인 보안 질문 테이블 생성
CREATE TABLE security_questions (
    question_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    question TEXT,
    answer TEXT,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 로그인 보안 질문과 답변을 저장합니다.

 

10. 고객 로그인 히스토리 테이블 생성
CREATE TABLE login_history (
    history_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    history_detail TEXT,
    history_time TIMESTAMP,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 고객의 로그인 이력과 상세 정보를 기록합니다.


관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, TIMESTAMP, BOOLEAN, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.

반응형