1. 속성(Attribute)

속성(Attribute)은 데이터베이스에서 **개체(Entity)**가 가지는 특성을 나타내는 요소이다. 쉽게 말해, 개체의 속성은 해당 개체를 설명하는 데이터 항목이다.

특징

  • 하나의 개체는 여러 개의 속성을 가질 수 있다.
  • 속성은 각 개체의 고유한 정보를 포함할 수 있다.
  • 속성 값은 원자성을 가져야 한다. (즉, 더 이상 나눌 수 없는 단위여야 한다.)

유형

  1. 기본 속성(단순 속성, Simple Attribute)
    • 더 이상 나눌 수 없는 기본적인 속성
    • 예: 학생 개체의 "이름", "학번"
  2. 복합 속성(Composite Attribute)
    • 여러 개의 하위 속성으로 나눌 수 있는 속성
    • 예: "주소" → (도시, 도로명, 우편번호)
  3. 다중값 속성(Multivalued Attribute)
    • 하나의 개체가 여러 개의 값을 가질 수 있는 속성
    • 예: "전화번호" (하나의 개체가 여러 개의 전화번호를 가질 수 있음)
  4. 유도 속성(Derived Attribute)
    • 다른 속성을 이용하여 계산할 수 있는 속성
    • 예: "생년월일"을 통해 "나이"를 유도

예시

학생ID 이름 전화번호 주소

S001 홍길동 010-1234-5678 서울특별시 강남구
S002 김철수 010-9876-5432 부산광역시 해운대구

 

 


2. 관계(Relationship)

관계(Relationship)는 개체(Entity) 간의 연관성을 의미한다. 즉, 서로 관련된 개체를 연결하는 개념이다.

특징

  • 관계는 두 개 이상의 개체 간의 연관성을 표현한다.
  • 관계의 강도에 따라 1:1, 1:N, N:M 관계로 나뉜다.
  • ERD(Entity-Relationship Diagram)에서 **마름모(◇)**로 표현된다.

유형

  1. 일대일(1:1, One-to-One) 관계
    • 하나의 개체가 다른 하나의 개체와만 연결됨
    • 예: "국가 - 대통령" (한 나라에는 한 명의 대통령만 존재)
  2. 일대다(1:N, One-to-Many) 관계
    • 하나의 개체가 여러 개의 개체와 연결될 수 있음
    • 예: "교수 - 학생" (한 교수는 여러 학생을 지도할 수 있음)
  3. 다대다(N:M, Many-to-Many) 관계
    • 여러 개의 개체가 여러 개의 개체와 연결될 수 있음
    • 예: "학생 - 수업" (한 학생은 여러 수업을 들을 수 있고, 한 수업을 여러 학생이 들을 수 있음)

예시

학생ID 학생이름 과목코드 과목명

S001 홍길동 CS101 데이터베이스
S002 김철수 CS101 데이터베이스
S001 홍길동 CS102 운영체제

 


3. 식별자(Identifier, Key)

식별자는 데이터베이스에서 **각 개체를 고유하게 구별할 수 있도록 하는 속성(또는 속성의 집합)**을 의미한다.

특징

  • 식별자는 개체의 유일성을 보장해야 한다.
  • 기본 키(Primary Key)로 설정된 속성은 NULL 값을 가질 수 없다.
  • 식별자는 단일 속성 또는 복합 속성으로 구성될 수 있다.

유형

  1. 기본 키(Primary Key, PK)
    • 테이블 내에서 각 행을 고유하게 식별하는 속성
    • NULL 값을 가질 수 없으며, 중복을 허용하지 않음
    • 예: "학번", "주민등록번호"
  2. 대체 키(Alternate Key)
    • 기본 키가 될 수 있는 후보 키 중에서 선택되지 않은 키
    • 예: 학번과 주민등록번호가 모두 유일한 값이라면, 학번을 기본 키로 선택하고 주민등록번호는 대체 키가 될 수 있음
  3. 외래 키(Foreign Key, FK)
    • 다른 테이블의 기본 키를 참조하는 속성
    • 부모 테이블과 자식 테이블 간의 관계를 설정할 때 사용
    • 예: "학생 테이블"에서 "수강 테이블"의 "학번"을 참조하는 경우
  4. 슈퍼 키(Super Key)
    • 유일성을 보장하는 속성의 집합으로, 기본 키를 포함할 수 있음
    • 예: (학번, 이름), (주민등록번호) 모두 유일성을 보장할 수 있는 경우 슈퍼 키

예시

학번(PK) 이름 주민등록번호

2023001 홍길동 900101-1234567
2023002 김철수 880202-2345678

이 경우,

  • "학번"이 기본 키(Primary Key)
  • "주민등록번호"는 대체 키(Alternate Key)
  • 다른 테이블에서 "학번"을 참조하면 **외래 키(Foreign Key)**가 됨

실전 예제문제

문제 1. 다음 중 속성(Attribute)에 대한 설명으로 가장 적절한 것은?
① 속성은 개체를 설명하는 데이터 항목이다.
② 속성은 항상 여러 개의 값을 가져야 한다.
③ 모든 속성은 기본 속성이어야 한다.
④ 속성은 개체 간의 관계를 정의하는 역할을 한다.

 

정답: ① 속성은 개체를 설명하는 데이터 항목이다.

 

 

문제 2. 관계(Relationship)에 대한 설명으로 옳지 않은 것은?
① 관계는 두 개 이상의 개체를 연결하는 역할을 한다.
② 1:N 관계에서는 한 개체가 여러 개의 개체와 연결될 수 있다.
③ 모든 관계는 반드시 기본 키를 포함해야 한다.
④ N:M 관계는 관계 테이블을 사용하여 표현할 수 있다.

 

정답: ③ 모든 관계는 반드시 기본 키를 포함해야 한다. (관계 자체에는 반드시 기본 키가 필요하지 않음)

 

 

문제 3. 기본 키(Primary Key)에 대한 설명으로 틀린 것은?
① 기본 키는 테이블에서 각 행을 유일하게 식별한다.
② 기본 키는 NULL 값을 가질 수 있다.
③ 하나의 테이블에는 하나의 기본 키만 존재할 수 있다.
④ 기본 키는 중복된 값을 가질 수 없다.

 

정답: ② 기본 키는 NULL 값을 가질 수 있다. (❌기본 키는 NULL 값을 가질 수 없음)


 

'SQLD' 카테고리의 다른 글

SQLD) 제1장 데이터 모델링 요약 정리  (0) 2025.02.17

+ Recent posts