고객 로그인 정보를 저장하는 테이블은 사용자의 로그인 패턴, 보안, 계정 활동 등을 관리하는 데 중요합니다. 이 테이블은 로그인 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: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
마켓플레이스 데이터 테이블 생성: 마켓플레이스 데이터를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
---|---|
상품 추천 정보 테이블 생성: 상품 추천 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
배송 추적 테이블 생성: 배송 추적 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
세금 테이블 생성: 세금 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
이미지 테이블 생성: 상품 이미지 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2023.12.31 |