데이터 모델 개념
주제 목차 · 다음: 게시판 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 문법 차이만 조정하면 되고, 화면·거래 계약은 그대로 둘 수 있습니다.
데이터 모델 설계 순서
- 화면에서 사용자가 입력·조회하는 항목을 나열합니다.
- 항목마다 데이터 타입과 필수 여부를 정합니다.
- 반복되는 항목(분류, 상태 코드 등)은 별도 코드 테이블로 분리할지 판단합니다.
- 테이블 이름과 컬럼 이름을 팀 규칙에 맞게 확정합니다.
이 순서를 게시판 Board 테이블 설계에서 실제로 적용합니다.
이것만 기억하세요
- 화면·거래 계약은 데이터베이스 종류를 몰라도 되고, dbclient의
datasource설정이 실제 연결을 담당한다. - 학습·실습은 서버 설치가 필요 없는 SQLite로 시작하는 것이 가장 빠르다.