[데이터베이스] DB 구조 & 설계 1

ppeuang·2025년 3월 5일

🔥Back to basics🔥

목록 보기
8/9

Primary key가 무엇인지 설명해 주세요.

candidate key 중 선택한 main key로써, 각 row를 unique하게 구분하는 column(또는 column의 집합)을 말합니다. 그래서 기본키는 Null 값을 가질 수 없고, 중복된 값을 가질 수 없습니다. 기본키는 table당 1개만 지정해야합니다.

Relation

table 중 데이터베이스에서 사용되기 위한 조건을 갖춘 것이 relation입니다.
Relation의 제약 조건 중 가장 자주 등장하는 조건은 다음과 같습니다.
1. table의 cell은 단일 값을 갖는다.
2. 어떤 두 개의 row도 동일하지 않다.
하지만 통상적으로 relation과 table이란 용어를 구분하지 않고 사용하기도 합니다.

Primary key

Super Key(슈퍼키)는 각 row를 유일하게 식별할 수 있는 하나 또는 그 이상의 속성들의 집합입니다. 슈퍼키는 유일성만 만족하면 슈퍼키가 될 수 있습니다.

  • 유일성 : 하나의 key 값으로 특정 row만을 유일하게 찾아낼 수 있어야 합니다.
  • 예시
    • (학번)
    • (학번,이름)
    • (학번, 이름, 학과)
    • (주민등록번호)
    • (주민등록번호, 학과, 성별)
    • 등등

Candidate key(후보키)는 Super key 중에서 더이상 쪼개질 수 없는 Superkey를 Candidate Key라고 합니다. 즉 각 row를 유일하게 식별할 수 있는 최소한의 속성들의 집합입니다.

  • 최소성 : 모든 row를 유일하게 식별하는데 꼭 필요한 속성만으로 구성되어야 합니다.
  • 예시
    • (학번)
    • (주민등록번호)

Primary key(기본키)는 candidate key 중 선택한 main key로써, 각 row를 구분하는 유일한 열을 말합니다. 그래서 기본키는 Null 값을 가질 수 없고, 중복된 값을 가질 수 없습니다. 기본키는 table당 1개만 지정해야합니다.

Alternative key(대체키) 는 후보키가 두 개 이상일 경우, 기본키로 지정이 되지 못하고 남은 후보키들을 말합니다.

관계형 데이터베이스의 N:M 관계에 대해서 설명해 주세요.

관계형 데이터베이스에서 양쪽 entity 모두가 서로에게 1:N 관계를 갖는 구조를 말합니다.

1:N

관계형 데이터베이스에서 하나의 entity(table)가 관계를 맺은 entity의 여러 객체를 가질 수 있는 구조를 말합니다.

두 table간의 관계를 mapping cardinality로 표현하고, 종류는 크게 다음과 같습니다.

  • 1:1
  • 1:N
  • N:M

실무에서 가장 자주 등장하는 1:N 구조인 고객-주문 관계를 살펴보겠습니다.



1:N 구조에서는 보통 primary key - foreign key를 사용하여 관계를 맺습니다.

Foreign key(외래키)는 다른 table의 Primary key column과 연결되는(참조되는) table의 column을 의미합니다. 즉, 두 table을 연결할 때 한 table의 외래키가 다른 하나의 table의 기본키가 됩니다.

그림의 예시와 같은 상황에서 고객의 정보가 변경된다고 해도, 주문내역 table은 수정할 필요가 전혀 없게 되어 효율적인 데이터베이스 운영이 가능해집니다.

N:M

관계형 데이터베이스에서 양쪽 entity 모두가 서로에게 1:N 관계를 갖는 구조를 말합니다.

N:M 구조에서는 보통 새로운 table(Mapping table)을 통해서 관계를 맺습니다. 가장 친숙한 N:M 구조인 학생-수업 관계를 살펴보겠습니다.

0개의 댓글