2024. 10. 18. 22:01ㆍ자격증
SQLD 자격증 정보
SQL 개발자 자격시험 객관식 50문항
합격기준 총점 60점 이상, 과락 기준 과목별 40% 미만
데이터 모델링의 이해 | SQL 기본 및 활용 |
10문항, 배점 20점 | 40문항, 배점 80점 |
- 데이터 모델링의 이해 : 데이터 모델의 이해, 엔터티, 속성, 관계, 식별자 - 데이터 모델링과 SQL : 정규화, 관계와 조인, 트랜잭션, NULL 속성 이해, 본질 식별자와 인조식별자 |
- SQL 기본 : 관계형 데이터베이스, SELECT문, 함수, WHERE절, GROUP BY, HAVING 절, 조인, 표준 조인 - SQL 활용 : 서브 쿼리, 집합 연산자, 그룹함수, 윈도우 함수, TOP N 쿼리, 계층형 징의와 셀프 조인, PIVOT 절과 UNNPIBOT절, 정규 표현식 - 관리 구문 : DML, DDL, DCL, TCL |
노랭이 책 참고하여 문제 풀이
데이터 모델링의 이해
데이터 모델링의 특징
데이터 모델링 : 현실세계를 단순화하여 표현하는 기법
데이터 모델의 특징
- 추상화 : 현실 세계를 일정한 형식으로 표현
- 단순화 : 단순하고 쉽게 표현
- 명확화 : 누구나 이해할 수 있도록 불분명함을 제거
데이터 모델링의 세가지 관점
- 데이터 관점 : 어떤 데이터들이 업무와 얽혀있는지, 데이터 간에는 어떤 관게가 있는지
- 프로세스 관점 : 업무가 실제로 처리하고 있는 것이 무엇인지
- 데이터와 프로세스의 상관 관점 : 프로세르의 흐름에 따라서 데이터가 어떤 영향을 받는지
데이터 모델링의 유의사항
- 중복 : 같은 데이터가 중복으로 저장되는 것을 지양
- 비유연성 : 데이터 모델과 프로세스를 유연하게 설계하여 유지 보수가 쉽게 설계
- 비일관성 : 다른 데이터와의 연관성을 고려하여 모델링
데이터 모델링의 세가지 단계
- 개념적 데이터 모델링 : 전사적 데이터 모델링 수행시 행해지면 추상화 레벨이 가장 높음
- 논리적 데이터 모델링 : 데이터베이스에 대한 KE, 속성, 관계 등을 표현
- 물리적 데이터 모델링 : 실제 데이터 베이스로 구현할 수 있도록 성능 등을 고려한 모델링
데이터의 독립성
- 외부 스키마(사용자의 관점) : 프로그램의 사용자가 보는 데이터베이스의 스키마를 정의
- 개념 스키마(통합된 관점) : 모든 사용자가 보는 데이터베이스의 구조
- 내부 스키마(물리적인 관점) : 데이터베이스의 실질적인 저장구조나 컬럼, 인덱스 정의
엔터티 : Table(표)
- 업무에 반드시 필요한 정보
- 유니크한 식별자가 있어야 한다(ex. 고객 번호)
- 2개 이상의 인스턴스
- 반드시 한 개 이상의 속성을 보유
- 다른 엔터티와 한 개 이상의 관계
엔터티의 이름을 정할 때 유의 사항
- 업무에 실제로 사용되는 용어 사용
- 다른 엔터티와 중복 불가
- 영문은 대문자, 한글은 약어 사용 X
- 단수 명사로 표현하며 띄어쓰기 X
엔터티(Entity)
엔터티의 분류
유형 엔터티 & 무형 엔터티
- 유형 엔터티 : 물리적인 형태가 존재하는 엔터티(상품, 회원, 고객)
- 개념 엔터티 : 개념적인 엔터티(부서, 학과, 직위)
- 사건 엔터티 : 행위를 통해 생성(주문, 결제)
발생 시점에 따른 엔터티
- 기본 엔터티 : 독립적으로 생성되며 자식 엔터티를 가질 수 있음(상품, 회원, 고객)
- 중심 엔터티 : 기본 엔터티로부터 파생되며 행위 엔터티를 생성(주문, 계약)
- 행위 엔터티 : 2개 이상의 엔터티로부터 발생(주문내역, 체결내역)
인스턴스 : Row(행)
속성 : Colimn(열)
의미가 더 이상 조개지지 않는 엔터티의 특징을 나타내는 최소 데이터 단위
속성의 특징
- 속성은 한 개의 속성값을 가진다
속성의 특성에 따른 분류
- 기본 속성 : 원래 있는 속성(이름)
- 설계 속성 : 필요해서 만든 속성(학번)
- 파생 속성 : 다른 속성값을 계산하거나 변형하여 만든 속성(평균 학점)
엔터티, 인스턴스, 속성, 속성값 간의 관계
- 한 개의 엔터티는 두개 이상의 인스턴스를 갖는다
- 한 개의 인스턴스는 두개 이상의 속성을 갖는다
- 한 개의 속성은 한 개의 속성값을 갖는다
구성 방식에 따른 속성 분류
- PK(Primary Key)속성 : 기본키, 주식별자 등 엔터티의 인스턴스들을 식별할 수 있는 유니크한 속성, 중복 불가, Null 불가
- FK(Foreign Key)속성 : 외래키, 다른 엔터티에서 가져온 속성, 중복가능, Null 가능
- 일반속성 : PK속성과 FK속성을 제외한 모든 속성
- 도메인(Domain) : 속성이 가질 수 있는 속성 값의 범위
- 용어 사전 : 엔터티의 속성명을 정의할 때 용어의 혼란을 없애기 위해 용어 사전을 만들어 룰을 정한다
관계(Relationship)
엔터티와 엔터티의 관계
- 존재 관계 (관계차수)
- 존재 자체로 연관
- 직원은 팀에 포함
- 팀 1개에 직원은 0,1,M개 모두 가능
- 행위 관계 (관계선택사항)
- 행위를 통해 연관성이 생기는 관계
- 고객이 주문을 통해 주문이라는 엔터티와 관계 생성
- 고객 1개에 주문은 0,1, M개 모두 가능
ERD(Entity Relationship Diagram) : 엔터티 간의 관계를 나타내는 다이어그램
- IE/Crow's Foot : 까마귀발 표기법
- 관계명 : 엔터티 간의 관계는 각자의 관점에서 관계명이 있기 때문에 두개
- ex. 주문 엔터티는 제품 상세 엔터티를 포함
- ex. 제품 상세 엔터티는 주문 엔터티에 포함
- 관계차수 : 두 엔터티 사이에는 1:1, 1:M, N:M 의 관계가 존재
- 관계선택사항 : 필수적인 관계 : |, 선택적인 관계 : O
- 실선 : 식별자 관계, 점선 : 비식별자 관계
ERD(Entity Relationship Diagram) 작성 순서
- 엔터티 구상 및 그리기
- 엔터티 배치(핵심 엔터티 좌측 상단, 이후 우측 하단에 배치)
- 엔터티 간의 관계 설정
- 엔터티 간의 관계명 기술
- 관계의 참여도 기술(1:1, 1:M, N:M)
- 관계의 필수/선택 여부 기술(|, O)
식별자(Identifiers)
인스턴스(row, 행)를 구분 가능하게 해주느 대표 속성(Column, 열)
주식별자 : 기본키, PK(Primary Key)
- 유일성 : 각 인스턴스에 유니크함을 부여하여 식별이 가능하도록 만든다
- 최소성 : 유일성을 보장하는 최소 개수여야 한다
- 불변성 : 속성값이 변하지 않아야 한다
- 존재성 : 속성값이 null일 수 없다
주 식별자 VS 보조 식별자
주 식별자 : 유일성, 최소성, 불변성, 존재성을 가진 대표식별자, 다른 엔터티와 참조 관계로 연결
보조 식별자 : 인스턴스를 식별할 수 있지만 대표 식별자는 아니다. 다른 엔터티와 참조 관계로 연결되지 않음
내부 식별자 VS 외부 식별자
내부 식별자 : 엔터티 내부에서 스스로 생성
외부 식별자 : 다른 엔터티에서 온 식별자
원조 식별자 VS 대리 식별자
원조 식별자 : 가공되지 않은 식별자
대리 식별자 : 주식별자의 속성이 두개 이상인 경우 그 속성들을 묶어서 하나로 사용(주문 번호 EX 주문일자 + 순번)
단일 식별자 VS 복합 식별자
단일 식별자 : 하나의 속성으로 구성
복합 식별자 : 두개 이상의 속성으로 구성
식별자 관계
- 부모 엔터티의 식별자가 자식 엔터티의 주 식별자
- 부모가 있어야 자식이 있다
- 주식별자 NOT NULL
비식별자 관계
- 부모 엔터티의 식별자가 자식 엔터티의 일반 속성
- 일반 속성 NULL 가능 → 부모 없는 자식 가능, 자식 있는 상태에서 부모 삭제 가능
'자격증' 카테고리의 다른 글
SQLD 자격증 정보 및 이론 학습 | 관리 구문(DDL, DML, TCL, DCL) (2) | 2024.10.18 |
---|---|
SQLD 자격증 정보 및 이론 학습 | 데이터 모델과 SQL(정규화, 반정규화) (2) | 2024.10.18 |