[TIL] RDBMS

최하온·2024년 3월 29일
0

TIL

목록 보기
58/71
post-thumbnail

Q2. RDBMS의 정규화에 대해 설명해주세요.

관계형 데이터 베이스

: 데이터가 테이블에 저장되어 있고, 다른 테이블과 관계가 연결되어 있어 상호작용과 파악이 용이함

이상현상

삽입이상 : 저장 시 불필요한 데이터도 같이 넣어짐
삭제이상 : 삭제 시 원하지 않는 데이터도 같이 삭제됨
갱신이상 : 특정 부분만 수정이 되어 기존 데이터와 모순이 발생함

정규화

: RDBMS 설계 시 중복을 최소화하여 구조를 짜는 것.

  • 잘 지킬 시 무결성 유지 지키지 않을 시 이상 현상이 발생.
  • 테이블 분해에 따라 여러 단계로 나뉨

단계별 정규화

1NF(1 Normal Form) : 컬럼이 원자값을 가져야함
2NF : 완전 함수 종속을 만족하도록 테이블을 분해 = 부분적 종속이 없어야 함
3NF : 이행 종속성이 없어야 함 => 모든 속성이 기본 키에만 의지, 다른 후보 키에 의지 X
BCNF : A->B 성립 시 모든 결정자 A가 후보키가 되도록 테이블을 분해

📃 함수 종속성(functional dependency)
: 테이블에서 한 필드값(A)이 다른 필드값(B)을 결정하는 관계를 함수 종속이라고 함.
A 결정자 B 종속자

📃 완전 함수 종속
: 어떤 속성이 기본키에 대해 완전히 종속인 경우
: 종속자가 기본키에만 종속

📃 부분 함수 종속
: 기본키가 복합키일 경우 기본키를 구성하는 속성 중 일부에게 종속된 경우

📃 이행 함수 종속
: A->B, B->C 이라는 종속 관계가 있을 때 A->C 가 성립 되는 경우
: A를 알면 B를 알고 C까지 알 수 있는 경우

Q2. Primary Key, Foreign Key에 대해 설명해주세요.

기본키

: 후보키들 중 유일성과 최소성이 만족하는 열

  • 레코드를 식별 할 때 기준이 된다.

외래키

: 다른 테이블에 관계를 연결시켜줄 때 사용 되는 열

0개의 댓글