Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

테이블 설계 #13

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

테이블 설계 #13

wants to merge 3 commits into from

Conversation

hek316
Copy link
Collaborator

@hek316 hek316 commented Dec 4, 2024

주식 매매 프로젝트 테이블 설계

1. Member 테이블 (회원 정보)

컬럼 이름 데이터 타입 설명
member_id (PK) Long 회원 고유 ID
email String 이메일
name String 회원 이름
pw String 비밀번호
status MemberStatus 계정 상태 (활성, 비활성 등)
lastAccessTime LocalDateTime 마지막 로그인 시간

2. Account 테이블 (계좌 정보)

컬럼 이름 데이터 타입 설명
account_id (PK) Long 계좌 고유 ID
member_id (FK) Long Member 테이블과 연결된 회원 ID
accountNum String 계좌 번호
balance BigDecimal 계좌 잔액

3. Stock 테이블 (주식 목록)

컬럼 이름 데이터 타입 설명
stockSymbol (PK) String 주식 종목 코드
stockName String 주식 회사명
currentPrice BigDecimal 현재 주식 가격
marketCap BigDecimal 시가총액
sector String 산업 분야 (예: 기술, 금융 등)

4. Stock_Trading_History 테이블 (주식 거래 내역)

컬럼 이름 데이터 타입 설명
trade_id (PK) Long 거래 ID
account_id (FK) Long Account 테이블과 연결된 계좌 ID
stockSymbol (FK) String Stock 테이블과 연결된 주식 종목 코드
tradeType String (NOT NULL) 거래 유형
orderStatus orderStatus 주문 상태
quantity Integer 거래 수량
pricePerUnit BigDecimal 주당 가격
totalPrice BigDecimal 총 거래 금액
orderTime LocalDateTime 주문 시간

5. Cash_Dividend 테이블 (현금 배당금)

컬럼 이름 데이터 타입 설명
dividend_id (PK) Long 배당금 ID
account_id (FK) Long Account 테이블과 연결된 계좌 ID
stockSymbol (FK) String Stock 테이블과 연결된 주식 종목 코드
dividendPerShare BigDecimal 주당 배당금
totalDividendAmount BigDecimal 배당금 금액
dividendDate LocalDateTime 배당금 지급일

주요 연관 관계

  • MemberAccount: 1:N 관계 (한 명의 회원은 여러 계좌를 가질 수 있음)
  • AccountStock_Trading_History: 1:N 관계 (한 계좌는 여러 거래 내역을 가질 수 있음)
  • StockStock_Trading_History: 1:N 관계 (한 종목은 여러 거래 내역에 등장할 수 있음)
  • AccountCash_Dividend: 1:N 관계 (한 계좌은 여러 주식의 배당금을 받을 수 있음)
  • Stock ↔ **Cash_Dividend **: 1:N 관계 (한 종목은 여러 현금 배당 내역에 등장할 수 있음)

최종 테이블 설계 요약

  1. Member 테이블은 사용자의 기본 정보를 저장합니다.
  2. Account 테이블은 사용자의 계좌 정보를 저장하고, 각 계좌가 여러 거래를 가질 수 있도록 합니다.
  3. Stock 테이블은 주식 종목에 대한 정보를 저장하며, 각 주식에 대한 거래 내역을 관리합니다.
  4. Stock_Trading_History 테이블은 주식 거래 내역을 저장하며, 거래 유형과 주문 상태를 추적합니다.
  5. Cash_Dividend 테이블은 배당금을 지급 받은 내역을 저장하며, 각 배당금이 어느 계좌로 지급되었는지 추적합니다.

close #5

@hek316 hek316 requested a review from f-lab-cacio December 4, 2024 13:54
@hek316 hek316 self-assigned this Dec 4, 2024
@f-lab-cacio
Copy link

f-lab-cacio commented Dec 7, 2024

기능 단위(ex. 회원가입, 주식계좌 등록, ...)로 테이블 작업도 하는게 어떤가요??
기능단위로 작업하는 과정에서 완성된 테이블과, 현재 pr의 테이블 스키마를 비교해보는 것도 좋겠네요~

@hek316
Copy link
Collaborator Author

hek316 commented Dec 9, 2024

기능 단위(ex. 회원가입, 주식계좌 등록, ...)로 테이블 작업도 하는게 어떤가요?? 기능단위로 작업하는 과정에서 완성된 테이블과, 현재 pr의 테이블 스키마를 비교해보는 것도 좋겠네요~

넵 기능별로 작업해보고 차후 비교해보겠습니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[회원가입] 테이블 설계
2 participants