본문으로 건너뛰기

데이터 모델 개념

주제 목차 · 다음: 게시판 Board 테이블 설계

이 문서의 결과: dbclient 모듈이 여러 데이터베이스를 어떻게 같은 방식으로 다루는지 설명한다.

HandStack이 지원하는 데이터베이스​

데이터베이스 연동에서 다루는 대로 SQL Server, Oracle, MySQL/MariaDB, PostgreSQL, SQLite를 공식 지원합니다. 학습·실습에는 서버 설치가 필요 없는 SQLite를 권장합니다.

장점설명
서버 불필요프로세스를 따로 띄우지 않아도 됨
단일 파일백업·복구가 파일 복사 수준으로 간단
표준 SQL문법이 다른 데이터베이스로 이식하기 쉬움

dbclient가 데이터베이스 차이를 흡수하는 방식​

화면과 거래 계약은 어떤 데이터베이스를 쓰는지 몰라도 됩니다. dbclient 계약(XML)에 datasource ID만 지정하면, 실제 연결 정보는 서버 설정에서 관리합니다.

<header>
<application>HDS</application>
<project>BOD</project>
<transaction>BOD010</transaction>
<datasource>DB01</datasource>
<use>Y</use>
</header>

DB01이 실제로 SQLite인지 PostgreSQL인지는 서버의 데이터 원본 설정이 결정합니다. 개발 중 데이터베이스를 바꿔야 해도 SQL 문법 차이만 조정하면 되고, 화면·거래 계약은 그대로 둘 수 있습니다.

데이터 모델 설계 순서​

  1. 화면에서 사용자가 입력·조회하는 항목을 나열합니다.
  2. 항목마다 데이터 타입과 필수 여부를 정합니다.
  3. 반복되는 항목(분류, 상태 코드 등)은 별도 코드 테이블로 분리할지 판단합니다.
  4. 테이블 이름과 컬럼 이름을 팀 규칙에 맞게 확정합니다.

이 순서를 게시판 Board 테이블 설계에서 실제로 적용합니다.

이것만 기억하세요​

  1. 화면·거래 계약은 데이터베이스 종류를 몰라도 되고, dbclient의 datasource 설정이 실제 연결을 담당한다.
  2. 학습·실습은 서버 설치가 필요 없는 SQLite로 시작하는 것이 가장 빠르다.