alt

[2026개정] SQLD 1과목 미리보기 #데이터모델링 #엔터티

2026년 11월 9일 공유

SQLD 데이터 모델링 입문과 엔터티

개요

  • 콘텐츠 유형: 강의
  • SQLD가 다루는 관계형 데이터베이스와 SQL의 기본 개념을 소개하고, 데이터 모델링의 목적·특징·절차와 엔터티의 개념 및 분류를 설명한다.
  • 1과목은 총 10문제로 구성되며 과락 기준이 있으므로 기본 개념을 충실히 익히는 것이 중요하다.

핵심 개념

데이터베이스와 모델링

  • DBMS는 데이터베이스를 생성·관리하는 프로그램이다. 데이터의 조회와 수정 등을 SQL로 처리할 수 있게 한다.
  • SQLD는 주로 RDBMS에서 사용하는 SQL과 관계형 데이터를 다룬다. 관계형 데이터는 행과 열로 구성된 표 형태로 저장된다.
  • 데이터가 저장되는 구조는 테이블이며, 테이블의 열은 컬럼, 행은 개별 데이터 사례다.
  • 데이터 구조를 설계하는 단계에서는 테이블·행·컬럼을 각각 엔터티·인스턴스·속성이라고 부른다.

데이터 모델링

  • 업무에 필요한 데이터를 파악해 데이터의 형태, 구조, 속성, 제약 조건, 관계를 정의하는 과정이다.
  • 현실을 그대로 복제하는 것이 아니라, 필요한 핵심을 추려 정해진 규칙에 따라 표현한다.
  • 모델링의 주요 산출물은 **ERD(엔터티-관계 다이어그램)**이며, 엔터티·속성·관계가 표현된다.
  • 모델링의 세 가지 관점:
  • 데이터 관점: 업무에 필요한 데이터와 구조를 파악한다.
  • 프로세스 관점: 업무의 흐름과 단계별 데이터 처리를 파악한다.
  • 데이터와 프로세스 관점: 프로세스별 데이터의 생성·변경·삭제 흐름을 함께 정의한다.

모델링의 특징과 주의점

  • 간략화: 불필요한 세부 사항은 덜어내고 핵심을 표현한다.
  • 추상화: 정해진 규칙과 표기법을 사용해 대상을 간략하게 나타낸다.
  • 명확화: 의미와 단위가 모호하지 않도록 일관되게 정의한다.
  • 설계 시 다음을 주의한다.
  • 같은 정보를 여러 테이블에 중복 저장하지 않는다.
  • 업무 변화가 데이터 구조에 과도한 영향을 주지 않도록 업무와 데이터 구조를 분리한다.
  • 데이터의 의미와 단위를 일관되게 유지한다.

모델링 절차

  1. 개념적 모델링: 업무의 핵심 엔터티를 도출한다. 추상화 수준이 가장 높다.
  1. 논리적 모델링: 엔터티의 속성·식별자·관계를 정의하고, 필요에 따라 정규화를 수행한다. ERD의 주요 요소를 구체화하는 단계다.
  1. 물리적 모델링: 논리 모델을 바탕으로 DBMS에서 실제 테이블 등 데이터 구조를 구현한다.
  • 단계가 진행될수록 구체성이 높아지고 추상화 수준은 낮아진다.
  • 논리 모델은 유사한 업무에서 참고·재사용할 수 있으며, SQL의 표준화와 유지보수에 도움이 된다.

스키마와 ERD

  • 스키마는 데이터베이스의 구조와 제약 조건 등, 데이터에 관한 상세 정보를 설명하는 메타데이터다.
  • 스키마는 관점에 따라 구분한다.
  • 외부 스키마: 사용자별로 필요한 데이터 관점
  • 개념 스키마: 데이터베이스 전체의 논리적 구조
  • 내부 스키마: 데이터의 저장 구조와 파일 구성 등 물리적 관점
  • 논리적 독립성은 외부 스키마와 개념 스키마의 독립성, 물리적 독립성은 개념 스키마와 내부 스키마의 독립성이다.
  • ERD에는 엔터티·속성·관계가 표현된다. 대표적인 표기법으로 IE 표기법과 바커 표기법이 있다.

세부 정리

엔터티·속성·인스턴스

  • 엔터티: 업무상 관리할 필요가 있고, 독립적으로 식별할 수 있는 데이터의 집합이다. 설계 후에는 테이블로 구현된다.
  • 속성: 엔터티가 관리하는 세부 정보로, 테이블의 컬럼에 해당한다.
  • 인스턴스: 엔터티에 속하는 개별 사례로, 테이블의 행에 해당한다.
  • 식별자: 인스턴스를 구분하는 기준이다. 예를 들어 학생 엔터티에서는 변경 가능성이 낮고 중복되지 않는 학번이 적절한 식별자가 될 수 있다. 주민등록번호처럼 민감한 정보는 식별 가능하더라도 업무상 사용에 주의해야 한다.
  • 엔터티는 업무에 필요한 정보를 담아야 하며, 일반적으로 두 개 이상의 인스턴스와 두 개 이상의 속성을 가진다. 또한 다른 엔터티와 하나 이상의 관계를 맺는지 검토해야 한다.
  • 주식별자는 한 엔터티의 인스턴스를 구분하는 기준이며, 실제로는 여러 속성의 조합으로 구성될 수도 있다.

엔터티의 분류

1. 실체의 유무에 따른 분류
  • 유형 엔터티: 물리적으로 존재하는 대상. 예: 사원, 학생, 지점.
  • 개념 엔터티: 물리적 실체 없이 관리 대상이 되는 정보. 예: 부서, 요금제, 금융 상품.
  • 사건 엔터티: 주문·가입·신청처럼 활동이나 사건의 기록을 저장한다.
2. 발생 시점에 따른 분류
  • 기본 엔터티: 업무의 기반이 되는 독립적인 정보. 예: 고객, 사원, 부서, 상품.
  • 중심 엔터티: 기본 엔터티를 바탕으로 주요 업무 활동에서 발생한다. 예: 주문.
  • 행위 엔터티: 중심 업무의 상세 내용이나 이력·변화를 기록한다. 예: 주문 이력, 결제 이력, 거래 이력.

엔터티 명명과 표현

  • 업무에서 사용하는 용어를 쓰고 의미가 명확하게 드러나도록 한다.
  • 약어 사용은 최소화하며, 일반적으로 단수 명사를 사용한다. 다만 SQL 예약어와의 충돌 등 필요한 경우에는 이름을 조정할 수 있다.
  • ERD에서는 엔터티를 사각형으로 표시하고, 엔터티 간 선으로 관계를 나타낸다. 관계명·참여도·필수 여부 등은 표기 규칙에 따라 표현하며, 관계명은 상황에 따라 생략할 수 있다.
공개 노트 모두 보기