관계형 데이터베이스의 구성요소에 대해서 설명하세요.

 

-> Table, Attribute, row, column 등등?

 

모범답안 : 

  • 데이터가 테이블에 저장
  • 구성요소 : 행(튜플), 열(속성)
  • 행은 순서가 없지만, 열은 순서가 있다.
  • 스키마 : 이름과 데이터 유형을 정의
  • 키 : 테이블에서 특정 행을 유일하게 식별할 수 있게하는 특징, 열 혹은 복수의 열 모음
  • 테이블의 각 행에는 primary key값이 반드시 있어야 한다.
  • 외부키
  • 이용하여 다른 테이블과 링크할 수 있다.
  • 그 값이 다른 테이블의 키 열의 값과 같은 열

Key란? Key의 종류에 대해서 설명하세요.

 

-> 테이블에서 특정행을 유일하게 식별할 수 있는 속성, 열, 복수의 열 모음

종류 : 

Primary Key : 

  • 릴레이션에서 튜플을 구별하기 위해 여러 개의 후보키를 사용할 필요는 없습니다. 데이터베이스 설계자는 여러 후보키 중에서 기본적으로 사용할 키를 선택하는데 이것이 기본키입니다.

Foriegn Key

  • 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키입니다.

Alternative Key

  • 기본키로 선택되지 못한 후보키들입니다.

Candidate Key

  • 유일성과 최소성을 만족하는 속성 또는 속성들의 집합입니다. 최소성은 키를 구성하는 여러 속성 중에 하나라도 없으면 튜플을 유일하게 구별할 수 없는 꼭 필요한 최소한의 속성들로만 키를 구성하는 특성입니다.

Super Key

  • 유일성의 특성을 만족하는 속성 또는 속성들의 집합입니다.

ACID란?

 

-> 데이터베이스 트랜잭선이 안전하게 수행되는 것을 보장하기 위한 성질

Atomicity (원자성) - 한번에 다 되거나, 다 안되거나

Consistency (일관성) - 일관성 있는 데이터베이스 유지

Isolation (고립성) - 트랜잭션 작업중에는 다른 트랜잭션에 영향 X

Durability (지속성)- 데이터 조작 완료 후 조작이 영구적이 되어 결과를 잃지 않음

 


참조 : https://github.com/brave-people/brave-tech-interview/blob/main/contents/database.md

 

+ Recent posts