개발/sqld

[SQL/1과목] 데이터 모델링 기본 개념

2ivii 2025. 7. 16. 15:36

SQL과 SQLD란 무엇일까

SQL이란?

SQL은 Structured Query Language의 약자로, 관계형 데이터베이스에서 데이터를 관리하고 처리하는 데 사용되는 표준 언어이다. 즉, SQL을 사용하면 데이터베이스에 저장된 정보를 검색, 삽입, 수정, 삭제하는 등의 작업을 수행할 수 있다. 

 

그럼 SQLD란?

SQLD (SQL Developer)는 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하고 데이터를 조작하고 추출하는 데 필요한 SQL을 정확하고 최적으로 작성할 수 있는 개발자를 뜻하고, SQLD자격증은 이를 증빙한다.

나는 이 SQLD 자격증을 따보려한다 ! 제대로 된 공부 시작 전, 기초를 잠깐 정리해보자. 이 영상의 내용을 정리하였다!
https://www.youtube.com/watch?v=QB_GYdHUHmA


우선, 자주 나오는 엔터티, 속성, 인스턴스가 뭔지 그림의 표로 봐보자.

 

  • 엔터티(Entity): 학생을 표현하는 테이블 전체 (예: "학생테이블")
  • 속성(Attribute): 학생의 특징을 나타내는 각 열 (예: 학번, 이름, 전화번호 등)
  • 인스턴스(Instance): 한 명의 학생에 대한 정보가 담긴 각 행 (예: "1000 홍길동 010-0000-0000 …")

얘네는 SQL에서 데이터를 구조화하고 다루기 위한 기본 단위로,
엔터티는 테이블, 속성은 컬럼, 인스턴스는 레코드(행)로써 데이터를 저장하고 조회·관리하는 데 사용된다.

이를 바탕으로 실제 데이터베이스를 설계하는 과정이 바로 모델링이다. 그리고 이 세가지는 이 모델링의 요소이다! 모델링에 대해 더 알아보자!

모델링이란?
  • 현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는 과정
  • 데이터베이스의 구조와 관계를 정의하며, 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의
데이터 모델링 3가지 요소
  • 대상(Entity) : 업무가 관리하고자 하는 대상(객체)
  • 속성(Attribute) : 대상들이 갖는 속성(하나의 특징으로 정의될 수 있는 것)
  • 관계(Relationship) : 대상들 간의 관계
모델링의 특징
  1. 단순화
    • 현실을 단순화하여 핵심 요소에 집중하고 불필요한 세부 사항을 제거
    • 단순화를 통해 복잡한 현실 세계를 이해하고 표현하기 쉬워짐
  2. 추상화
    • 현실세계를 일정한 형식에 맞추어 간략하게 대략적으로 표현하는 과정
    • 다양한 현상을 일정한 양식인 표기법에 따라 표현
  3. 명확화
    • 대상에 대한 애매모호함을 최대한 제거하고 정확하게 현상을 기술하는 과정
    • 명확화를 통해 모델을 이해하는 이들의 의사소통을 원활히 함

즉, 모델링이란 복잡한 자료들을 단순하고 명확하게 표현하는 작업으로, 핵심만 뽑아 구조화해 이해하기 쉽도록 만드는 것이다 ! 이 과정에서 불필요한 정보는 줄이고(단순화), 공통된 형식으로 표현하며(추상화), 모호함 없이 정확하게 전달해(명확화) 효율적인 의사소통을 도와준다.


이렇게 효율적으로 동작해야되기에, 유의할 점이 있다

모델링 시 유의할 점
  1. 중복
    • 한 테이블 또는 여러 테이블에 같은 정보를 저장하지 않도록 설계
  2. 비유연성
    • 사소한 업무 변화에 대해서도 잦은 보델 변경이 되지 않도록 주의
    • 데이터 정의를 프로세스와 분리
  3. 비일관성
    • 데이터베이스 내의 정보가 모순되거나 상반된 내용을 갖는 상태를 의미
    • 데이터간 상호연관 관개를 명확히 정의
    • 데이터 품질관리 필요
    • 데이터의 중복이 없더라도 비일관성은 발생할 수 있음
데이터 모델링의 3단계
  1. 개념적 모델링
    • 업무 중심적이고 포괄적(전사적)인 수준의 모델링
    • 추상화 수준이 가장 높음
    • 업무를 분석 뒤 업무의 핵심 엔터디(Entity)를 추출하는 단계
    • 도출된 핵심 엔터티(Entity)들과의 관계들을 표현하기 위해 ERD 작성
  2. 논리적 모델링
    • 개념적 모델링의 결과를 토대로 세부속성, 식별자, 관계 등을 표현하는 단계
    • 데이터 구조를 정의하기 때문에 비슷한 업무나 프로젝트에서 동일한 형태의 데이터 사용 시 재사용 가능
    • 동일한 논리적 모델을 사용하는 경우 쿼리도 재사용 가능
    • 데이터 정규화 수행
    • 재사용성이 높은 논리적 모델은 유지보수가 용이해짐
  3. 물리적 모델링
    • 논리 모델링이 끝나면 이를 직접 물리적으로 생성하는 과정
    • 데이터베이스 성능, 디스크 저장구조, 하드웨어의 보안성, 가용성 등을 고려
    • 가장 구체적인 데이터 모델링
    • 추상화 수준은 가장 낮음(가장 구체적인 모델링이므로)

여기서 이제 , ERD라는 게 나온다 !
ERD가 무엇인지 알아본 후, 기초다지기는 끝내겠다

ERD란?

ERD는 데이터 모델링의 표기법으로, 엔터디와 언터티간의 관계를 시각적으로 표현한 다이어 그램이다. 1976년 피터 첸이 만든 표기법으로 데이터 모델링 표준으로 사용 중이라고 한다

ERD를 그리는 법은 다음과 같다. 

  1. 엔터티를 도출한 후 그린다
  2. 엔터티 배치
  3. 엔터티 간의 관계를 설정
  4. 관계명을 서술
  5. 관계의 참여도 기술
  6. 관계의 필수 여부를 확인

아래는 내가 전에 프로젝트를 하며 만든 ERD이다.. 이런 다이어그램이 ERD이다 !