자격증/SQLD

[SQLD 자격증] 1과목 | 관계, 식별자

seminj 2023. 3. 6. 23:27
728x90
반응형

ERD(Entity-Relationship Model)

  • 하나의 엔터티는 1개 이상의 관계를 가져야함 (통계성, 코드성 엔터티 제외)
  • 관계의 구분 : 행위에 의한 관계, 존재에 의한 관계
  • >> ERD에서는 두 관계를 구분없이 동일한 표기법으로 표현함
    (단, 클래스다이어그램에서는 구분하여 연관관계와 의존관계로 실선과 점선의 표기법으로 다르게 표현함)

  • 두 개의 엔터티 사이에서 관계를 도출할 때 체크하는 사항
    1. 관심있는 연관규칙 여부 
    2. 정보의 조합 여부
    3. 업무기술서, 장표에 관계연결을 가능하게 하는 동사 여부
    4. 업무기술서, 장표에 관계연결에 대한 규칙 서술 여부
  • ERD 작성순서
    1. 엔터티 도출 & 그리기
    2. 엔터티 배치 ( 가장 중요한 엔터티를 좌측 상단에 배치, 추가 발생하는 엔터티는 우측과 하단에 배치 )
    3. 엔터티 간의 관계를 설정
    4. 엔터티 간의 관계명 기술
    5. 관계의 참여도 기술 ( 1:1 , 1:N , M:N )
    6. 관계의 필수여부 기술 (필수적 관계 : I , 선택적 관계 : O )
  • 식별관계(실선)와 비식별관계(점선)

하나의 주문은 반드시 한 명의 고객에게 주문된다. 한 명의 직원은 하나의 부서에 소속되거나
소속 부서가 없을 수도 있다.
식별관계 비식별관계
1. 고객 엔터티의 기본키인 고객번호를 주문 엔터티의 기본키 중 하나로 공유하는 것 1. 부서 엔터티의 기본키를 직원 엔터티의 기본키로 갖는 것이 아닌, 일반 칼럼으로 참조함.
2. 식별 관계는 실선으로 표현한다. 2. 비식별 관계는 점선으로 표현한다.
3. 고객(강한 개체)의 기본키 값이 변경되면 식별관계에 있는 엔터티(주문, 약한 개체)의 값도 변한다.
반드시 부모 엔터티에 종속됨.
3. 자식 주식별자 구성은 독립적으로 구성.
4. 강한 연결관계. 4. 약한 연결관계.

 

  • 참여도 및 필수여부 기술

한 명의 고객은 여러 번 주문할 수 있다.
하나의 주문은 반드시 한 명의 고객에 의해 주문된다.
(고객이 반드시 있어야 주문이 발생할 수 있다.)
주문은 안할 수도 있다.
(고객은 있지만, 주문은 없을 수 있다.)
한 부서에 직원이 여러명 포함되거나
소속 직원이 없을 수도 있다.

 

식별자

  • 대표성 여부
    • 주식별자(Primary Key): 유일성, 최소성, 대표성을 만족하는 식별자이며 타 엔터티와 참조 관계로 연결될 수 있다.
    • 보조식별자 : 유일성, 최소성은 만족하지만 대표성을 갖지 못하는 식별자이다.

 

  • 속성의 수
    • 단일 식별자
    • 복합 식별자 : 2개 이상의 속성으로 구성된 식별자

 

  • 스스로 생성 여부
    • 내부 식별자 : 엔터티 내에서 생성된 식별자
    • 외부 식별자 : 타 엔터티와의 관계를 통해 받아오는 식별자 (Foreign Key)
  • 대체여부
    • 본질 식별자 : 업무에 의해 만들어지는 식별자
    • 인조 식별자 : 복잡한 원조 식별자 대신에 인위적으로 만들어진 식별자 (ex. 일련번호)

 

주식별자

  • 유일성 : 주식별자에 의해 엔터티 속 모든 인스턴스들이 유일하게 구분될 수 있어야 함
  • 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
  • 불변성 : 지정된 주식별자의 값은 자주 변하지 않는 것이어야 함
  • 존재성 : 주식별자가 지정되면 반드시 값이 있어야 함 (Not NULL)

 

문제

 

정답

 


 

SQLD 목차 바로가기

SQLD 과목 목차 링크
1과목 
데이터 모델링의 이해

(10문항 출제)
데이터 모델링의 이해 데이터모델링의 이해, 엔터티, 속성
관계, 식별자
데이터 모델과 성능 성능 데이터 모델링, 정규화, 반정규화 설명 & 문제풀이
SQLD 2과목
SQL 기본및 활용

(40문항 출제)
SQL 기본 관계형 데이터베이스 개요 및 DCL(GRANT, REVOKE) 설명 & 문제풀이
DDL(CREAT, ALTER, DROP, RENAME, TRUNCATE) 설명 & 문제풀이
DML(INSERT, UPDATE, DELETE) 설명 & 문제풀이
TCL(ROLLBACK, SAVEPOINT, COMMIT) 설명 & 문제풀이
DML(SLELECT) 기본구조 설명 & 문제풀이
DML(SELECT) 함수(문자형, 숫자형, 날짜형, 형변환) 설명 & 문제풀이
DML(SELECT) DECODE, CASE WHEN, ORDER BY 설명 & 문제풀이
WHERE 절 연산자, 문자열 연산자, 임시테이블, VIEW 설명 & 문제풀이
NULL 함수, GROUP BY, HAVING, ROWNUM & ROWID 설명 & 문제풀이
SQL 활용 GROUP 함수 설명 & 문제풀이
JOIN, UNION, MINUS, 서브쿼리 설명 & 문제풀이
계층형 조회 설명 & 문제풀이
WINDOW 함수 전체 설명 & 문제풀이
SQL 최적화 기본원리 테이블 파티션, 옵티마이저, 인덱스 설명 & 문제풀이
옵티마이저 JOIN, PL-SQL, 분산 데이터베이스 설명 & 문제풀이

 

728x90
반응형