업무규칙, 제약조건

agnusdei·2025년 5월 5일
0

Database

목록 보기
19/30

1. 정의

1-1. 업무규칙 (Business Rule)

조직의 업무 처리 방식, 규정, 정책을 정보 시스템에서 구현 가능하도록 정형화한 비즈니스 로직입니다.

  • 비즈니스 측면에서의 규칙으로, 데이터의 생성, 처리, 흐름, 변경 조건 등을 정의합니다.
  • 주로 요구사항 분석 단계에서 도출되며, 시스템의 행위를 제어합니다.

예: 고객은 한 번에 하나의 계좌만 개설할 수 있다.

1-2. 제약조건 (Constraint)

데이터 무결성을 보장하기 위해 데이터베이스 차원에서 강제되는 정형화된 규칙입니다.

  • 업무규칙 중에서 시스템적으로 강제 가능한 규칙
  • DBMS의 객체 수준에서 정의 (예: PK, FK, UNIQUE, CHECK)

예: 고객 테이블의 주민등록번호는 NULL이 될 수 없다.


2. 차이점 및 관계

구분업무규칙 (Business Rule)제약조건 (Constraint)
주체조직의 비즈니스 로직데이터베이스 시스템
구현 위치프로그램 로직, 트리거, 절차테이블 정의 (DDL)
적용 범위광범위 (정책, 절차, 업무 플로우 포함)데이터 무결성에 초점
예시"하루에 인출 한도는 300만원""계좌 잔액은 음수가 될 수 없다(CHECK)"
변경 가능성비교적 잦음구조적 변경이 수반되므로 보수적

정리: 업무규칙업무의 규범적 조건, 제약조건은 그 중 시스템적으로 강제 가능한 최소 조건


3. 업무규칙의 유형

유형설명예시
구조 규칙 (Structural)정보 객체 간 관계 또는 속성 제약고객은 하나 이상의 주문을 가진다
행위 규칙 (Behavioral)특정 트리거 조건 발생 시의 처리 로직VIP 고객은 할인율 10% 적용
유도 규칙 (Derivation)파생 데이터 정의총 주문액 = 수량 * 단가
조건 규칙 (Condition)조건에 따라 처리 흐름 결정주문 수량이 100개 초과 시 승인 필요

4. 제약조건의 종류 (DBMS 기준)

제약조건설명예시
PRIMARY KEY기본 키 제약고객ID는 유일하고 NULL 불가
FOREIGN KEY참조 무결성 제약주문.고객ID → 고객.고객ID
UNIQUE고유 제약이메일 주소는 중복 불가
NOT NULLNULL 불가 제약주민등록번호는 NULL 불가
CHECK논리 조건 제약급여 > 0

5. 시스템 구현 시 고려사항

  • 업무규칙은 설계 시 분석하고 문서화하여, 코드/트리거/프로시저 등으로 반영
  • 제약조건은 가능하면 DB 레벨에서 우선적으로 구현하여 데이터 무결성 확보
  • 업무규칙 중 시스템으로 강제 불가능한 사항은 정책/교육/프로세스로 보완

6. 예시 시나리오 비교

항목업무규칙제약조건
"사용자는 하루에 한 번만 비밀번호 변경 가능"O (비즈니스 규칙으로 로직 구현)X (DB 제약으로 표현 어려움)
"이메일은 중복되면 안 됨"OO (UNIQUE 제약으로 가능)

7. 결론

업무규칙과 제약조건은 시스템의 신뢰성, 정확성, 일관성을 보장하기 위한 핵심 설계 요소입니다. 기술사는 다음을 고려해야 합니다:

  • 업무규칙 도출 → 정형화 → 구현 가능성 판단
  • 가능한 부분은 DB 제약조건으로 설계
  • 그 외는 프로그램 로직 또는 정책으로 보완

어린이 버전 요약

업무규칙은 “이 회사에서는 이렇게 해요!”라는 약속이고,
제약조건은 “이건 꼭 지켜야 해요!”라는 컴퓨터의 룰이에요.
컴퓨터가 직접 지킬 수 있는 약속은 제약조건으로 만들어요!


0개의 댓글