본문으로 건너뛰기

데이터 모델 개념

주제 목차 · 다음: 게시판 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로 시작하는 것이 가장 빠르다.