자격증/SQLD

SQLD(SQL-Developer) (1)

짱뚱짱 2024. 9. 24. 21:27

👁‍🗨 SQLD(SQL-Developer) 시험 안내

- 객관식 50문항 (1시간 30분 응시)

- 평균 60점 이상 합격

과목명 문항수 배점 과락기준 검정시간
데이터 모델링의 이해 10 20(문항당 2점) 8점 미만 90분
SQL 기본 및 활용 40 80(문항당 2점) 32점 미만
50 100  

 

💙 모델링의 개념

- 현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는 과정

- 데이터베이스의 구조와 관계를 정의하며, 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의

 

💙 모델링의 특징

1. 단순화(Simplification)

  - 현실을 단순화하여 핵심 요소에 집중하고 불필요한 세부 사항을 제거

  - 단순화를 통해 복잡한 현실 세계를 이해하고 표현하기 쉬워짐

 

2. 추상화(Abstraction)

  - 현실세계를 일정한 형식에 맞추어 간략하게 대략적으로 표현하는 과정

  - 다양한 현상을 일정한 양식인 표기법에 따라 표현

 

3. 명확화(Clarity)

  - 대상에 대한 애매모호함을 최대한 제거하고 정확하게 현상을 기술하는 과정

  - 명확화를 통해 모델을 이해하는 이들의 의사소통을 원활히 함

 

💙 데이터 모델링 유의점

1. 중복(Duplication)

  - 한 테이블 또는 여러 테이블에 같은 정보를 저장하지 않도록 설계

 

2. 비유연성(Inflexibility)

  - 사소한 업무 변화에 대해서도 잦은 모델 변경이 되지 않도록 주의

  - 데이터 정의를 프로세스와 분리

 

3. 비일관성(Inconsistency)

  - 데이터베이스 내의 정보가 모순되거나 상반된 내용을 갖는 상태를 의미

  - 데이터간 상호연관 관계를 명확히 정의

  - 데이터 품질 관리 필요

  - 데이터의 중복이 없더라도 비일관성은 발생할 수 있음

 

💙 데이터 모델링 3가지 요소

  - 대상(Entity) : 업무가 관리하고자 하는 대상(객체)

  - 속성(Attribute) : 대상들이 갖는 속성(하나의 특징으로 정의될 수 있는 것)

  - 관계(Relationship) : 대상들 간의 관계

 

💙 데이터 모델링의 3단계

1. 개념적 모델링

  - 업무 중심적이고 포괄적(전사적)인 수준의 모델링

  - 추상화 수준이 가장 높음

  - 업무를 분석 뒤 업무의 핵심 엔터티(Entity)를 추출하는 단계

  - 도출된 핵심 엔터티(Entity)들과의 관계들을 표현하기 위해 ERD 작성

 

2. 논리적 모델링

  - 개념적 모델링의 결과를 토대로 세부속성, 식별자, 관계 등을 표현하는 단계

  - 데이터 구조를 정의하기 때문에 비슷한 업무나 프로젝트에서 동일한 형태의 데이터 사용 시 재사용 가능

  - 동일한 논리적 모델을 사용하는 경우 쿼리도 재사용 가능

  - 데이터 정규화 수행

  - 재사용성이 높은 논리적 모델은 유지보수가 용이해짐

 

3. 물리적 모델링

  - 논리 모델링이 끝나면 이를 직접 물리적으로 생성하는 과정

  - 데이터베이스 성능, 디스크 저장구조, 하드웨어의 보안성, 가용성 등을 고려

  - 가장 구체적인 데이터 모델링

  - 추상화 수준은 가장 낮음(가장 구체적인 모델링이므로)

 

💙 데이터 모델의 표기법(ERD : Entity Relationship Diagram)

  - 엔터티(Entity)와 엔터티 간의 관계(Relationship)를 시각적으로 표현한 다이어그램

  - 1976년 피터 첸(Peter Chen)이 만든 표기법, 데이터 모델링 표준으로 사용

 

💙 ERD 작성 절차 (6단계)

  1️⃣ 엔터티를 도출한 후 그린다 

  2️⃣ 엔터티 배치 

  3️⃣ 엔터티 간의 관계를 설정 

  4️⃣ 관계명을 서술 

  5️⃣ 관계의 참여도 기술

  6️⃣ 관계의 필수 여부를 확인

 

💙엔터티(Entity)의 개념

  - 현실 세계에서 독립적으로 식별 가능한 객체나 사물을 나타냄

  - 엔터티는 업무상 분석해야 하는 대상(Instance)들로 이루어진 집합

  - 인스턴스는 엔터티의 특정한 속성 값들로 구성되며, 엔터티의 개념을 현실에서 구체적으로 나타낸 것

     예) 엔터티와 속성, 인스턴스 등의 관계

  • 엔터티(Entity): 학생
  • 속성(Attribute): 학번, 이름, 학과 등.
  • 식별자(Identifier): 학번(고유한 학번으로 각 학생을 식별)
  • 인스턴스: 특정 학생의 데이터
    • 학번: 2021001
    • 이름: 홍길동
    • 학과: 컴퓨터 공학

 

💙엔터티(Entity)의 특징

1️⃣ 유일한 식별자에 의해 식별 가능

  - 인스턴스가 식별자에 의해 한 개씩만 존재하는 지 검증 필요

  - 유일한 식별자는 그 엔터티의 인스턴스만의 고유 이름

     ex) 이름은 동명이인이 있을 수 있으므로 사번, 학번 등이 고유식별자

 

2️⃣ 해당 업무에 필요하고 관리하고자 하는 정보

  - 설계하는 업무의 시스템 구축에 필요한 정보여야 함

     ex) 학교 시스템 구축 시 학생정보 필요. 다른 업무엔 학생 정보 불필요.

 

3️⃣ 인스턴스들의 집합

  - 영속적으로 존재하는 2개 이상의 인스턴스의 집합

  - 인스턴스가 한 개 밖에 없는 엔터티는 집합이 아니므로 성립이 안됨.

 

4️⃣ 엔터티는 반드시 속성을 가짐

  - 각 엔터티는 2개 이상의 속성을 가짐

  - 하나의 인스턴스는 각각의 속성들에 대한 1개의 속성 값만을 가짐

     ex) 학생 엔터티에서 한 학생의 데이터(인스턴스)의 이름(속성) 정보에는 반드시 한 값만 저장됨

 

5️⃣ 엔터티는 업무 프로세스에 의해 이용

  - 업무적으로 필요해 선정했지만 실제 사용되지 않으면 잘못 설계된 것

  - 모델링 시 발견하기 어려운 경우 데이터 모델 검증이나 상관 모델링 시 단위 프로세스 교차점검으로 문제 도출

  - 누락된 프로세스의 경우 추후 해당 프로세스 추가

  - 반대로 사용되지 않는 고립 엔터티는 제거 필요

 

6️⃣ 다른 엔터티와 최소 1개 이상의 관계 성립

  - 엔터티는 업무적 연관성을 갖고 다른 엔터티와 연관의 의미를 가짐

  - 관계가 없는 엔터티 도출은 부적절한 엔터티이거나 적절한 관계를 찾지 못한것

 

💙엔터티의 분류

1) 유형과 무형에 따른 분류

  1️⃣ 유형엔터티

    - 물리적 형태가 있음(실체가 있는 대상)

    - 안정적이며 지속적으로 활용되는 엔터티

    - 업무로부터 구분하기가 가장 용이한 엔터티

       ex) 사원, 물품, 감사 등

 

  2️⃣ 개념엔터티

    - 물리적인 형태 없음

    - 관리해야 할 개념적 정보로부터 구분되는 엔터티       

        ex) 조직, 보험상품

 

  3️⃣ 사건엔터티   

    - 업무를 수행에 따라 발생하는 엔터티   

    - 발생량이 많고 각종 통계자료에 이용

        ex) 주문, 청구, 미납 등

 

2) 발생 시점에 따른 분류

  1️⃣ 기본엔터티

    - 그 업무에 원래 존재하는 정보

    - 다른 엔터티와 관계에 의해 생성되지 않고 독립적으로 생성

    - 타 엔터티의 부모 역할을 하는 엔터티

    - 다른 엔터티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 가짐

       ex) 사원, 부서, 고객, 상품 등

 

  2️⃣ 중심엔터티

    - 기본엔터티로부터 발생되고 그 업무에서 중심적인 역할

    - 많은 데이터가 발생되고 다른 엔터티와의 관계를 통해 많은 행위 엔터티를 생성

       ex) 계약, 사고, 청구, 주문, 매출 등

 

  3️⃣ 행위엔터티

    - 2개 이상의 부모엔터티로부터 발생

    - 자주 내용이 바뀌거나 데이터 양이 증가

    - 분석 초기 단계보다는 상세 설계 단계나 프로세스와 상관모델링을 진행하면서 도출

       ex) 주문(고객과 상품 엔터티로부터 발생하므로 행위엔터티이기도 함), 사원변경이력, 이력 등

  

💙엔터티의 명명

1️⃣ 현업에서 사용하는 용어 사용

2️⃣ 가능하면 약자 사용은 자제

3️⃣ 단수 명사 사용

4️⃣ 모든 엔터티에서 유일하게 이름 부여

5️⃣ 엔터티 생성 의미대로 이름 부여

 

 

'자격증 > SQLD' 카테고리의 다른 글

SQLD(SQL-Developer) (6)  (2) 2024.10.28
SQLD(SQL-Developer) (5)  (2) 2024.10.24
SQLD(SQL-Developer) (4)  (5) 2024.10.18
SQLD(SQL-Developer) (3)  (4) 2024.10.09
SQLD(SQL-Developer) (2)  (4) 2024.09.27