5. 데이터 독립성의 구성요소
- 개념 스키마: 통합된 모든 사용자 관점과 관련
- 내부스키마: 물리적 저장구조 표현
- 외부 스키마: View 단계는 사용자 관점으로 구성
- 논리적 데이터 독립성을 고려하는 단계는 외부단계-개념적 단계(물리적 데이터 독립성 고려는 개념-내부단계)
7. ERD 설명
- |→1 / o→0 / 새발→N ⇒ 1:N 관계(고객과 주문 2개 테이블)
- 고객테이블(부모엔터티)의 고객번호는 PK. 유니크&NOT NULL
- 주문테이블(자식엔터티)의 제품번호가 PK. 고객테이블의 고객번호 참조(FK)
- 부모 엔터티에 데이터가 입력될 때 자식 엔터티에 해당 값 존재 여부와 상관없이 입력 가능 → 새로운 고객 데이터 입력하는 것은 주문테이블에 해당 고객번호 존재 여부와 상관없이 가능.
9. 엔터티로 가장 적절한 것?
- S병원 → 1개.(엔터티로 성립X WHY? 2개 이상이어야 하기에) / 유일한 식별자X
- 환자 → 2개 이상의 속성/인스턴스 가져야 함 —> 여러 명(2개 이상 인스턴스) / 이름, 주소(2개 이상 속성)
- 이름, 주소 → 엔터티의 속성으로 볼 수 있음(인스턴스X)
13. 엔터티에 이름 부여하는 적절한 방법?
- 엔터티 생성 의미대로 자연스럽게 부여 / 실제 업무에 사용하는 용어
- 약어X, 단수명사 / 유일 이름(중복X)
14. 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
- 속성
- 엔터티: 업무에 필요한 정보 저장, 관리 위한 집합 / 인스턴스의 집합
15. 속성에 대한 설명?
- 엔터티 설명, 성격 구체적으로 나타냄 → 구체적 정보 제공
- 하나의 엔터티 → 2개 이상의 인스턴스 집합
- 하나의 인스턴스에서 각각의 속성 → 1개의 속성값
- 속성도 집합이다
16. 정규화 작업
-
제1정규화: 하나의 행과 컬럼의 값이 반드시 한 값만 입력되도록 행 분리
-
제2정규화: 제1정규화 진행한 테이블에 대해 완전함수종속 만들도록 테이블 분해(완전함수종속: PK가 2개 이상일 때 발생, PK의 일부와 종속되는 관계가 있뎐 분리.) → 부분함수종속성 깨기
(부분함수종속: 일반 속성이 기본키 한 개에만 종속 / 완전함수종속: 일반 속성이 기본키 모두에 종속)
20. 데이터 모델링의 관계
- ERD: 존재에 의한 관계 / 행위에 의한 관계 → 관계 연결 시, 단일화된 표기법
- UML: 클래스다이어그램의 관계 중 연관관계/의존관계 있고 각각 실선,점선 표기
- 연관관계: 존재적 관계, 의존관계: 행위적 관계
- 연관관계 → 소스코드에서 멤버변수로 선언하여 사용 / 의존관계 → 오퍼레이션에서 파라미터 등으로 이용
22. 데이터 독립성 - 논리적/물리적
- 논리적 독립성: 응용프로그램에 영향 없이 통합구조 변경(논리적 구조 변경) 가능 / 개념 스키마 변경되어도 외부 스키마에는 영향X
- 물리적 독립성: 응용프로그램, 개념스키마에 영향 없이 저장장치 구조변경(물리적 구조 변경) 가능 / 내부(물리) 스키마 변경되어도 외부,개념(논리) 스키마에 영향X 물리적 구조 변경 → 데이터베이스의 파일 구조 변화, 데이터베이스의 색인 구조 변화…
28. 식별자로 적절?
- 주식별자 지정 시 이름과 같이 동명이인 발생 가능성이 있는 경우(유일성x)는 주식별자로 X
34. 속성 (a, b, c, d, e)로 구성된 릴레이션에서 다음과 같이 함수 종속성이 존재할 때, 이 릴레이션의 후보키로 적절하지 않은 것?
[ ab →cde, e → b, d →ab]
- ab는 자신인 ab와 cde를 결정하므로 모든 속성 결정 → 후보키
- e → b 양쪽에 a 추가하면 ae →ab → cde이므로 ae는 모든 속성 결정 → 후보키
- d →ab, ab → cde 이므로 d → cde d는 모든 속성 결정 → 후보키
36. 아래 엔터티에 필요한 정규화와 분리된 스키마 구조로 적절한 것?

- 엔터티에 포함되는 속성은 모두 PK에 종속되어야 함. 즉, 관리점번호~통신번호 속성들이 모두 관서번호, 납부자 번호에 종속되어야 함. 현재는 직급명, 통신번호만 종속 상태 → 부분함수종속 상태.
- 2차 정규화를 통해 PK에 종속되어 있지 않은 일반 속성인 관리점번호, 관서명, 상태, 관서등록일자는 현재 관서번호에 종속되어 있으므로 관서번호를 PK로하여 종속되도록 정규화해주어야 함.
38. 테이블에서 나타날 수 있는 현상?
- 칼럼에 의한 반복적 속성값을 갖는 형태(A유형기능분류코드1~~)는 속성의 원자성을 위배한 1차 정규화 ‘대상’ → 현재 1차 정규화된 형태 X
- 유형기능분류코드에 대해 WHERE절에 조건으로 들어오는 값이 있으므로 PK와 이에 대한 인덱스 있으면 성능 저하
- 조회 성능을 위해 유형기능분류코드 각각에 대해 개별로 인덱스를 모두 생성할 경우 입력, 수정, 삭제 때 성능이 저하되므로 제1차 정규화 수행 후 인덱스 적용하는 것이 좋다. → 반복적 속성 나열 형태엔느 각 속성에 대해 ‘OR’ 연산자로 연결된 조건들이 사용되는데, 이 때 어느 하나의 속성이라도 인덱스 정의X , 성능 저하 / 모든 반복 속성에 인덱스 정의 → 입력, 수정, 삭제 성능 저하
39. 아래 논리 데이터 모델을 3차 정규화까지 수행 시 도출되는 엔터티 수?
(1) 제1차 정규형: 반복X
- LAB실~ 반복 / 대출도서번호~ISBN 반복(WHY? 1번의 대출에 여러 도서 빌릴 수 있기에)
- 학생 / LAB실 이용 / 도서대출 / 대출도서
[학생] # 학번 성명 학과번호 *학과명
[LAB실이용신청] # LAB실이용신청학번(FK) # LAB실이용신청순번 LAB실이용신청일 LAB실이용시작일 LAB실이용만기일 LAB실이용승인교수번호 *LAB실이용승인교수명
[도서대출] # 대출번호 대출자번호(FK) 대출자명 대출자신분구분(학생,교수) 대출일자
[대출도서] # 대출번호(FK) # 대출도서번호(FK) o 반납일자
[도서] # 도서번호 *도서명 o 출판사명 o 출판년월 o 대표저자명 o ISBN
(2) 제2차 정규형: 일반 속성은 식별자 전체 속성에 완전 종속
- 대출도서 엔터티에서 대출번호, 대출도서번호가 식별자 2개인데, 일반속성인 대출도서명~ISBN은 모두 대출도서번호에 종속
- 대출도서를 대출도서 + 도서 엔터티로 분리
[도서대출] # 대출번호 대출자번호(FK) 대출자신분구분(학생,교수) *대출일자
[대출도서] # 대출번호(FK) # 대출도서번호(FK) o 반납일자
[도서] # 도서번호 *도서명 o 출판사명 o 출판년월 o 대표저자명 o ISBN
(3) 제3차 정규형: 식별자 제외한 나머지 속성 간 종속X
- 학생 엔터티: 학과번호, 학과명 종속관계이므로 분리 → 학생 엔터티를 학생 + 학과로 분리
- LAB실 이용 엔터티: LAB실이용승인교수번호, LAB실이용승인교수명은 종속관계이므로 분리 → LAB실 이용 엔터티를 LAB실 이용 + 교수로 분리
[학생] # 학번 성명 학과번호(FK)
[학과] # 학과번호 *학과명
[LAB실이용신청] # LAB실이용신청학번(FK) # LAB실이용신청순번 LAB실이용신청일 LAB실이용시작일 LAB실이용만기일 LAB실이용승인교수번호(FK)
[교수] # 교수번호 *교수명
⇒ 학생 / 학과 / LAB실 이용 / 교수 / 도서대출 / 대출도서 / 도서 →7개
40. 어떤 릴레이션 R 이 ‘제2정규형’이고, 기본키에 속하지 않은 속성 모두가 기본키에 이행적 함수종속이 아닐 때 ‘제3정규형’에 속한다.
- 릴레이션이란 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위. 즉, 릴레이션은 DB 테이블.
41. 데이터 모델링 정규화
- 정규화는 ‘논리 데이터 모델’ 상세화 과정의 대표적 활동, 논리 데이터 모델의 일관성 확보, 중복 제거하여 속성들이 가장 적절한 엔터티에 배치되도록 함.
- 제3정규형을 만족하는 엔터티의 일반속성은 주식별자 전체에 종속적 → WHY? 제3정규형 만족은 제2정규형도 만족이니까
44. 수강지도 엔터티 만들었을 때 이에 해당하는 정규형과 정규화 대상으로 적절한 것?

- PK에 대해 반복되는 값 존재X → 1차 정규형 만족
- 지도교수명, 학과명이 학번에만 종속되어 있으므로 부분함수종속성 → 2차 정규화 대상
47. 테이블 변환시 적절?
- 이미 제1정규화 수행되어 있는 테이블은 제1정규화 수행한 것에 해당X
- 정규화 → 성능 저하
48. 순차적으로 수행되는 작업 A, B가 반드시 모두 수행되거나 모두 수행X여야 한다면?
- A, B 하나의 트랜잭션으로 묶어 처리 → 원자성 특성
- A,B 수행 후 동시 커밋(부분 커밋X)
49. NULL값 설명
- NULL값에 어떤 숫자 더해도 NULL
- NULL값에 어떤 숫자 비교해도 UNKNOWN
- NULL=NULL → FALSE/UNKNOWN
- 집계 함수 계산 시 NULL은 계산에서 제외