domsam - IT 기술 블로그

간편 은행 스키마 본문

SQL/심화과정

간편 은행 스키마

domsam 2025. 3. 27. 12:07
반응형
-- 고객 테이블
CREATE TABLE Customer (
    customer_id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL UNIQUE
);

-- 계좌 테이블
CREATE TABLE Acc (
    account_id INT PRIMARY KEY AUTO_INCREMENT,
    account_type ENUM('01', '02', '03', '04') NOT NULL,
    balance DECIMAL(15, 2) NOT NULL,
    customer_id INT NOT NULL   
);

-- 카드 테이블
CREATE TABLE Card (
    card_id INT PRIMARY KEY AUTO_INCREMENT,
    card_number VARCHAR(16) NOT NULL UNIQUE,
    expiration_date DATE NOT NULL,
    customer_id INT
);

-- 보험 테이블
CREATE TABLE Insurance (
    insurance_id INT PRIMARY KEY AUTO_INCREMENT,
    policy_number VARCHAR(50) NOT NULL UNIQUE,
    premium DECIMAL(10, 2) NOT NULL,
    customer_id INT
);

-- 주식 테이블
CREATE TABLE Stock (
    stock_id INT PRIMARY KEY AUTO_INCREMENT,
    symbol VARCHAR(10) NOT NULL,
    quantity INT NOT NULL,
    customer_id INT
);

-- 트랜잭션 테이블 (계좌와 카드에서 발생)
CREATE TABLE Tran (
    transaction_id INT PRIMARY KEY AUTO_INCREMENT,
    amount DECIMAL(10, 2) NOT NULL,
    transaction_date DATE NOT NULL,
    account_id INT,
    card_id INT
);

 

'SQL > 심화과정' 카테고리의 다른 글

은행 업무 관리 시스템 - 요구사항  (0) 2025.04.01
그루핑 GROUP BY  (0) 2025.03.12
정렬 ORDER BY  (0) 2025.03.12
옵티마이저 Optimizer  (0) 2025.03.06
인덱스 Index - (6) :클러스터링 인덱스  (0) 2025.03.06