구름 핀테크 교육

[2일차] DBMS 기초, 테이블 설계 연습(Entity 도출)

quqirium 2026. 4. 30. 17:54

260430 수업

  • DBMS 기초 교육
  • NoSQL 특징

오후 실습

Entity 도출 연습

 

1. 어제의 주식 매수 흐름도를 텍스트로 서술

러프하게 막 씀

 

2. 가독성이 별로 안좋지만, 아무튼 이 텍스트로부터 Entity를 추출해본다.

 

고객, 계좌, 종목, 주문내역, 거래내역, 보유주식, 증거금, FDS검증, 기기/세션

이렇게 9개를 작성했다.

 

3. 유형, 속성 정하기

가이드를 참조해 유형을 정하고 각 Entity가 가질 수 있는 속성이 뭔지 고려해보고 작성한다.

이 때 주의할 점은 외래 키를 적절히 참조하는 것인 것 같다.

 

+ 중간 피드백

1. 속성 요소 중 Entity로 분리 가능한 요소의 경우 따로 빼기
테이블 정규화 작업이라고 생각하면 될 것 같다.

2. 비정형 데이터를 정형 데이터로 바꾸는 과정에서의 데이터 추출
① 각 Entity에서 비정형 데이터가 뭔지 생각하기
② 추출할 정형 속성 생각하기
③ 어떤 형태로 정의할지 생각하기
이 부분이 생각할 포인트도 많고 엄청 복잡하다고 느껴졌다.

 

비정형 데이터란

 

앱이 서버에 쏘는 날것의 로그들

ex) {"ip":"1.2.3.4", "device":"iPhone", "lat":37.5 ...} 와 같은 JSON 로그, 거래소에서 오는 전문 메시지, 이벤트 로그 등

이런 것들을 내가 정의하고자 하는 속성(정형 데이터)으로 추출하는 작업이 필요하다.

 

주문내역, 거래내역, 투자성향, FDS 검증 등의 Entity에서 비정형 원천 찾아내고

-> 이것으로부터 추출할 정형 속성을 매칭하고

-> 어떤 식으로 정의할지(Y/N인지, 위험점수인지 / 처리시간을 ms 단위로 저장할지, 구간코드로 정의할지 .etc)

 

최종 작성표

 

Entity명 유형
(키/메인/행위)
주요 속성 (3개 이상) 비즈니스 설명
고객 고객ID, 이름, 생년월일, 휴대폰번호, CI값, 가입일시 증권사 앱에서 주식 거래를 이용하는 핵심 주체 (사용자)
투자성향 행위 투자성향ID, 고객ID(FK), 성향등급(5단계), 설문점수, 설문일시, 유효만료일, 설문방식, 유효여부 고객 설문을 바탕으로 고객의 투자 성향을 5단계로 분류한 기록으로 설문은 1년마다 재시행하여 성향등급 갱신
계좌 메인 계좌번호, 고객ID(FK), 계좌유형, 예수금, 거래가능여부, 계좌잠금여부, 비밀번호오류횟수 주식 거래 입출금 등에 필요한 고객 소유 증권 계좌
종목 종목ID, 종목명, 종목군, 종목유형, 거래가능여부, 증거금률, 상장일 거래 대상인 주식의 종목으로 고객이 선택하는 필수 옵션으로 종목 자체의 상태 관리
종목 실시간 시세 메인 시세ID, 종목ID(FK), 현재가, 기준가, 대용가, 시가총액, 조회일시 장중 주식 종목별 실시간으로 갱신되는 시세 데이터
종목 일별 시세 행위 일별시세ID, 종목ID(FK), 기준일자, 전일종가, 전일거래량, 거래대금, 등락률 주식 종목별로 일 단위로 쌓이는 시세 데이터
주문내역 행위 주문ID, 종목ID(FK), 종목명, 주문옵션, 주문가격, 주문수량, 주문일자, 고객ID(FK), 거래소, 총체결수량, 거부수량, 정정수량, 취소수량, 상태, 주문시각, 처리시간 고객이 특정 종목에 대한 매수 주문을 넣을 시 기록되는 모든 상세 정보로 체결 여부와 관련된 이력을 기록
거래내역 행위 고객ID(FK), 계좌번호(FK), 종목ID(FK), 주문ID(FK), 거래일자, 거래종류, 세금/수수료, 거래금액, 체결일시, 거래수량, 단가, 입출금액 고객의 주문 건이 체결된 경우 성사된 거래에 대한 모든 상세 정보 기록
보유 주식 메인 고객ID(FK), 계좌번호(FK), 종목ID(FK), 보유수량, 평가손익, 수익률, 평가금액, 매입금액, 평균단가, 전일대비등락률, 보유비중 고객이 계좌별로 보유한 주식 종목에 대한 모든 상세 정보로 거래 시간 내에서 실시간 변동 반영
증거금 메인 증거금ID, 계좌번호(FK), 주문ID(FK), 종목ID(FK), 증거금률, 필요증거금액, 가용예수금, 산출일시 주문 시 종목별 증거금률에 따라 계산되는 필요 증거금으로 주문 가능 여부의 판단 값
FDS 검증 메인 FDS검증ID, 고객ID(FK), 계좌번호(FK), 주문ID(FK), 검증일시, 검증결과(통과/실패), 이상거래유형, 처리결과(거래허용/취소) 이상거래탐지 시스템의 검증 이력으로 거래 시도마다 기록
기기/세션 메인 세션ID, 고객ID(FK), 기기ID, 기기유형, 인증방식, 세션토큰, 생성일시, 만료일시, 인증결과(성공/실패) 고객의 기기와 세션 관리에 관한 상세 정보 기록

 

비정형->정형 부분은 생각만 해보고 어떻게 반영할지를 모르겠어서 일단 손대진 않았다.

어떤식으로 데이터가 전송되는지를 자세히 모르니 비정형 데이터를 찾아내는 것부터가 난관인듯


 

어제부터 든 생각인데 개인 과제긴 하지만 다른 분들은 어떻게 작성했는지 보고싶긴하다. 어떤 주제로 어떤 식으로 해석했는지는 각자 다르다고 생각하기 때문에!