수업 1제약 조건 구현: NOT NULL, UNIQUE, CHECK, 외래 키 캐스케이드 및 ON DELETE/UPDATE 전략비즈니스 규칙을 강제하기 위해 NOT NULL, UNIQUE, CHECK, 외래 키 제약 조건을 구현합니다. CASCADE 및 RESTRICT를 포함한 ON DELETE 및 ON UPDATE 전략을 설계하여 데이터 무결성을 보호하면서 실제 비즈니스 워크플로우를 지원합니다.
필수 데이터 강제のための NOT NULL 사용UNIQUE 및 복합 키 설계비즈니스 규칙のための CHECK 제약 조건외래 키 옵션 및 트레이드오프ON DELETE 및 ON UPDATE 동작 선택수업 2테이블 정의: 사용자 (애플리케이션 인증) — 컬럼, 해싱, 솔트, 계정 상태, PK애플리케이션 인증을 위한 보안 사용자 테이블을 생성합니다. 사용자 이름, 이메일, 비밀번호 해시, 솔트, 계정 상태를 위한 컬럼을 정의합니다. 비밀번호 정책, 잠금 플래그, 감사 및 소유권 필드와의 관계를 다룹니다.
사용자 식별자 및 로그인 필드비밀번호 해시 및 솔트 저장계정 상태 및 잠금 플래그역할, 권한, 프로필 링크사용자 활동 감사 컬럼수업 3테이블 정의: 고객 — 컬럼, 타입, 제약 조건, PK 및 중요한 FK명확한 기본 키, 고유 제약 조건, 관련 엔티티에 대한 외래 키를 가진 고객 테이블을 정의합니다. 이름, 연락처, 주소에 적합한 데이터 타입을 선택하고 검색, 세분화, 감사 요구사항을 지원하는 컬럼을 설계합니다.
고객 식별자 및 기본 키 선택이름, 연락처, 주소 컬럼이메일 및 코드에 대한 고유 제약 조건주문 및 송장에서의 외래 키고객 감사 및 메타데이터 컬럼수업 4엔티티 모델링 및 정규화: 요구사항을 테이블과 관계로 매핑고객, 주문, 주문항목, 송장, 사용자를 명확한 관계를 가진 엔티티로 모델링합니다. 중복을 줄이기 위해 정규화 규칙을 적용하고, 비즈니스 규칙을 테이블에 매핑하며, 성능을 위해 제어된 비정규화가 정당화되는 경우를 결정합니다.
엔티티 및 관계 식별1NF, 2NF, 3NF 규칙 적용일대다 및 다대다 모델링선택적 및 필수 관계 처리안전한 비정규화 시기와 방법수업 5인덱스 전략: 후보 인덱스 (단일 컬럼 및 복합) 및 근거고객, 주문, 주문항목, 송장, 사용자에 대한 인덱스 전략을 계획합니다. 쿼리 패턴에 기반한 단일 컬럼 및 복합 인덱스를 선택하고, 읽기 성능과 쓰기 오버헤드, 저장소 고려사항을 균형 있게 맞춥니다.
고가치 쿼리 패턴 식별단일 컬럼 대 복합 인덱스중요 쿼리에 대한 커버링 인덱스외래 키 및 상태 필드 인덱싱인덱스 사용 모니터링 및 튜닝수업 6테이블 정의: 송장 — 컬럼, 타입, 주문 및 고객과의 관계주문, 고객, 결제와의 관계를 가진 송장 테이블을 설계합니다. 총액, 세금, 상태를 위한 컬럼을 정의하고 참조 무결성을 보장합니다. 부분 결제, 신용 메모, 규정 준수를 위한 번호 체계를 다룹니다.
송장 식별자 및 번호 규칙송장을 고객 및 주문에 연결총액, 세금, 통화 컬럼송장 상태 및 생애주기 추적신용 메모 및 조정 처리수업 7데이터 타입 선택: 숫자, 소수점, UUID 대 직렬, 타임스탬프 및 타임존 처리식별자, 금액, 타임스탬프에 적합한 데이터 타입을 선택합니다. 돈에 대한 숫자와 소수점 비교, 키에 대한 UUID 대 직렬, 타임존 인식 타임스탬프를 논의합니다. 정밀도, 저장소, 이식성 고려사항을 다룹니다.
화폐 가치에 대한 숫자 대 소수점UUID 대 직렬 기본 키이름을 위한 문자 및 텍스트 컬럼타임존 인식 타임스탬프 모범 사례날짜 전용 및 간격 필드 처리수업 8테이블 정의: 주문 및 주문항목 — 컬럼, 타입, 복합 키, FK 무결성기본 및 복합 키, 외래 키 무결성, 필수 컬럼을 포함한 정규화된 주문 및 주문항목 테이블을 정의합니다. 수량, 가격, 상태를 캡처하고 고객 및 송장과의 일관된 관계를 보장하는 방법을 배웁니다.
주문 및 주문항목 핵심 컬럼기본 및 복합 키 선택고객, 사용자, 송장 외래 키수량, 가격, 할인 모델링상태 필드 및 생애주기 추적수업 9집계 송장/주문 보고를 위한 물리화 뷰 및 파생 테이블주문 및 송장을 요약하는 물리화 뷰와 파생 테이블을 탐구합니다. 수익, 세금, 고객 활동에 대한 집계를 설계하고, 새로고침 전략, 실시간과 배치 보고 간의 성능 트레이드오프를 배웁니다.
핵심 보고 집계 식별요약 및 롤업 테이블 설계물리화 뷰 새로고침 전략늦게 도착한 및 수정된 데이터 처리보고 테이블 인덱싱 및 파티셔닝수업 10다중 테넌시 및 소프트 삭제를 위한 설계 (tenant_id, deleted_at 접근법)여러 테넌트와 소프트 삭제를 지원하는 스키마를 설계합니다. tenant_id 전략, 행 수준 격리, 테넌트당 스키마 트레이드오프를 비교합니다. deleted_at 컬럼, 필터링 패턴, 역사적 데이터 보존 제약 조건을 구현합니다.
tenant_id 컬럼 대 테넌트당 스키마행 수준 보안 및 테넌트 격리deleted_at 소프트 삭제 필드 구현소프트 삭제된 행 제외 쿼리 패턴소프트 삭제된 레코드 복원 및 감사