TIL | 면접 카타 3번, 4번

bubblegum·2024년 3월 29일
0

Today I learn(TIL)

목록 보기
42/84
post-thumbnail

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

관계형 데이터베이스에서의 정규화는 데이터를 효율적으로 저장하고 중복을 최소화하여 데이터베이스의 일관성, 유지보수성, 유연성을 향상시키는 프로세스입니다. 이를 통해 데이터 중복이 줄어들고, 데이터의 무결성을 보장할 수 있게 됩니다.

정규화는 일반적으로 다음과 같은 과정을 거칩니다:

  1. 제 1 정규형(1NF): 테이블의 모든 열이 원자 값(Atomic value)을 가지도록 분해합니다. 즉, 하나의 열에는 한 가지의 값만 들어가도록 합니다. 이를 통해 중첩된 데이터를 없애고, 테이블의 각 셀에는 원자적인 데이터만 남게 됩니다.

  2. 제 2 정규형(2NF): 모든 비주요 속성이 주요 속성에 완전 함수 종속(fully functional dependent)되도록 합니다. 이는 모든 비주요 속성이 기본키에 의존하는 것을 의미합니다. 주요 속성에 의존하지 않는 부분 함수 종속을 제거하여 테이블을 분해합니다.

  3. 제 3 정규형(3NF): 이행적 함수 종속(Transitive functional dependency)을 제거합니다. 즉, 한 열의 값이 다른 열의 값에 의존하지 않도록 테이블을 분해합니다. 이를 통해 중복 데이터를 줄이고 데이터의 일관성을 높입니다.

또한 보다 고급화된 형태로 제 4, 제 5 정규형, BCNF(Boyce-Codd Normal Form) 등이 있으며, 특정 상황에 맞게 적용될 수 있습니다.

정규화는 데이터의 무결성과 일관성을 유지하는 데에 중요하며, 데이터베이스 설계 시 반드시 고려되어야 합니다. 하지만 지나치게 정규화된 데이터베이스는 쿼리의 복잡성을 증가시킬 수 있으므로 적절한 균형을 유지하는 것이 중요합니다.

참고링크
데이터베이스 정규화 기본 사항에 대한 설명
RDBMS 정규화(Normalization) - 1/2
RDBMS 정규화(Normalization) - 2/2
RDBMS 의 정규화 (Normalization)

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

관계형 데이터베이스에서 Primary Key(기본 키)와 Foreign Key(외래 키)는 데이터의 무결성을 유지하고 관계를 설정하는 데에 사용됩니다.

  1. Primary Key (기본 키):

    • 기본 키는 테이블 내에서 각 행을 고유하게 식별하는 데 사용됩니다.
    • 주로 테이블 내의 한 열(또는 여러 열의 조합)로 정의되며, 이 값은 고유해야 합니다. 즉, 동일한 값이 두 번 이상 나타나서는 안 됩니다.
    • 기본 키를 사용하여 데이터베이스 시스템이 데이터를 빠르게 검색하고, 각 행을 식별할 수 있습니다.
    • 예를 들어, 사용자 테이블의 경우 각 사용자를 식별하기 위해 사용자 ID 열을 기본 키로 설정할 수 있습니다.
  2. Foreign Key (외래 키):

    • 외래 키는 다른 테이블의 기본 키를 참조하는 열입니다. 즉, 한 테이블의 행이 다른 테이블의 특정 행을 식별하는 데 사용됩니다.
    • 외래 키 제약 조건은 데이터 무결성을 유지하기 위해 사용됩니다. 이 제약 조건은 부모 테이블의 기본 키 값이나 NULL 값만이 참조 테이블에 나타날 수 있다는 것을 보장합니다.
    • 외래 키를 사용하여 테이블 간의 관계를 설정하고 데이터의 무결성을 유지할 수 있습니다.
    • 예를 들어, 주문 테이블의 경우 각 주문을 특정 사용자에게 연결하기 위해 사용자 ID를 외래 키로 사용할 수 있습니다.

기본 키와 외래 키는 관계형 데이터베이스 설계에서 매우 중요한 개념이며, 데이터의 일관성과 무결성을 유지하는 데에 큰 역할을 합니다.

profile
황세민

0개의 댓글

관련 채용 정보