SQLD 데이터 스키마, 엔티티, 관계, 식별자, 데이터 독립성
SQLD 데이터 스키마, 엔티티, 관계, 식별자, 데이터 독립성 — #SQLD #개발자의도구들 #SQLD스키마 #SQLD엔티티 #SQLD식별자 #SQLD데이터독립성 24년...
#SQLD#Naver Blog
#SQLD #개발자의도구들 #SQLD스키마 #SQLD엔티티 #SQLD식별자 #SQLD데이터독립성
24년도 SQLD 제 55회 시험을 대비하며 정리한 글입니다.
\* 본글은 PC버전에 최적화 되어있습니다.
**\* **전체 목차는 여기를 참고해주세요.
데이터 스키마, 엔티티, 식별자
SQL자격검정 실전문제
안다고 생각하고 넘어가기 쉬운, 한번 외우더라도 계속 까먹는 이론, 스키마, 엔티티, 식별자에 대한 부분입니다.
스키마
스키마 구조
- 외부 스키마
| 👉 핵심정리- 여러 사용자(개별) 의 관점으로 구성하는 스키마.- 논리적 데이터 독립성 고려 |
|---|
- 개념 스키마
| 👉 핵심정리 - 통합된 여러 사용자 관점(단일 느낌)- 데이터 모델링은 통합관점의 뷰(View)를 가지고 있는 개념 스키마를 만들어가는 과정이다.- 논리적 데이터 독립성 고려 |
|---|
- 내부 스키마
| 👉 핵심정리- 물리적인 저장구조를 표현 |
|---|
데이터 독립성
| 👉 핵심정리 독립성은 논리적 독립성과 물리적 독립성이 존재한다외부 스키마 - 개념 스키마 - 내부 스키마 계층 구조를 기억하라논리적 독립성: 개념 스키마가 변경되어도 외부 스키마에 영향을 주지 않는 것물리적 독립성: 내부 스키마가 변경되어도 개념 스키마에 영향을 주지 않는 것이다.당연히 외부 스키마에도 영향을 안준다. |
|---|
엔티티
| 👉 핵심정리 - 통합된 여러 사용자 관점(단일 느낌)- 데이터 모델링은 통합관점의 뷰(View)를 가지고 있는 개념 스키마를 만들어가는 과정이다.- 논리적 데이터 독립성 고려 |
|---|
관계
| 👉 핵심정리 관계 표기법관계명(membership)관계차수(Cardinality) 1:1, 1:M, M:N관계선택사양(Optionality)필수관계, 선택관계관계 고려사항두 개의 엔티티 사이에 관심 있는 연관규칙이 존재하는가?두 개의 엔티티 사이에 정보의 조합이 발생하는가?업무기술서, 장표에 관계 연결을 가능하게 하는 동사가 있는가?명사로 변경되어서 나옴업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가? |
|---|
식별자
| 👉 핵심정리 keysuper : 유일성 만족, 최소성은 불만족candidate: super중에서 최소성 만족primary: 주식별자로 사용특성정리유일성: 엔티티 내에서 모든 인스턴스를 유일하게 구분최소성: 속성수는 최소불변성: 식별자의 값이 변하지 않아야 한다.'자주 변하지 않아야 한다'도 맞는 말존재성: NOT NULLalternatice: 그 외식별자의 종류대표성에 따라주식별자 : 구분자o, 대표성 o, 참조관계 연결 o보조식별자 : 구분자o, 대표성 x, 참조관계 연결 x스스로 생성 되었는지?내부 식별자: 엔티티 내부에서 만들어짐외부 식별자: 타 엔티티와 연계되어 받아옴식별자에 외래키가 포함된 경우속성의 수단일 식별자: id 복합 식별자: (name, birthday)대체여부본질식별자: 인조식별자: 일련번호식별자 vs 비식별자식별자:강한 연결관계를 표현하기 위해 사용된다자식 주식별자의 구성에 포함된다실선으로 표현한다반드시 부모 엔티티에 종속 되어 있다.자식 주식별자 구성에 부모 주식별자 포함이 필요하다상속받은 주식별자 속성을 타 엔티티에 이전이 필요하다비식별자:약한 연결관계 표현한다자식 일반 속성에 포함된다.점선 표현약한종속관계자식 주식별자 구성을 독립적으로 구성자식 주식별자구서에 부모 주식별자 부분 필요상속받은 주식별자 속성을 타 엔티티에 차단 필요부모쪽의 관계참여가 선택관계 |
|---|
오답노트
Q. 아래에서 설명하는 스키마 구조 ?
A. 3
💡 업무에 대한 설명 역시 데이터 모델링 자체로도 가능.
3번 답안은 업무에 대한 설명을 별도로 분리해서 보고 있음
Q. 아래에서 설명하는 데이터 모델링의 유의점은?
데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무에도 데이터 모델이 수시로 변경되어 유지보수의
어려움을 가중시킬 수 있다. 데이터 혹은 프로세스의 작은 변화가 어플리케이션과 데이터베이스에
중대한 변화를 일으킬 수 있는 가느엉을 줄인다.
A. 비일관성
Q. 비식별자 관계로 연결하는 경우로 가장 적절하지 않는 것?
1. 엔티티와 엔티티가 1:M 관계의 부모와 자식관계에서 데이터가 부모 없이 자식쪽 엔티티의 인스턴스가
먼저 생성되는 경우 비식별자 관계로 연결해야 한다.
2. 부모 엔티티의 인스턴스가 자식 엔티티의 인스턴스보다 먼저 소멸하는 경우 비식별자 관계로 연결
3. SQL문의 조인관계를 최소화 하는 경우 비식별자 관계로 연결
4. 자식 엔티티의 식별자가 부모 엔티티의 주식별자를 상속받아 생성하는 것보다 별도의 주식별자를
생성하는 것이 더 유리하다고 판단되는 경우 비식별자 관계로 연결해야 한다.
A 3
💡 SQL문의 조인관계를 최소화 하려면 주식별자로 연결해야한다.