데이터베이스 : 일정한 규칙을 통해 구조화되어 저장되는 데이터의 모음
DBMS : 데이터베이스를 제어, 관리하는 통합 시스템
구조 : 응용 프로그램(spring, node.js, ...) <-> DBMS(MySQL, Oracle, ...) <-> 데이터베이스

 

엔티티

  • 앤티티 : 여러 개의 속성을 지닌 명사를 의미
  • A, B라는 엔티티가 있는 경우
    • A 엔티티가 존재하는 경우에만 B 엔티티가 존재할 수 있으면, B 엔티티를 약한 엔티티라고 한다.
    • 이와 반대로 혼자서 존재할 수 있는 A 엔티티는 강한 엔티티라고 한다.

 

릴레이션

  • 릴레이션 : 데이터베이스에서 데이터를 구분하여 저장하는 기본 단위
  • 엔티티에 관한 데이터를 데이터베이스는 릴레이션 하나에 담아서 관리한다.
  • 관계형 데이터베이스에서는 '테이블'이라고 하며, NoSQL 데이터베이스에서는 '컬렉션'이라고 한다.

 

속성

  • 개념적인 의미로, ERD에서 사용하는 개념이다.

 

도메인

도메인 : 속성이 가질 수 있는 값의 집합

 

필드와 레코드(튜플)

  • 필드 : 물리적인 의미로, 속성을 테이블에서 지칭할 때 사용하는 개념이다.
    • 따라서 타입을 갖는다.
    • varchar는 가변 길이 문자열로, 입력된 데이터에 따라 용량을 가변시켜 저장한다.
    • varchar(10,000)으로 선언해도 10글자의 이메일을 저장할 경우 10글자에 해당하는 바이트 + 길이기록용 1바이트로 저장한다.
  • 레코드, 튜플 : 각 필드에 데이터가 채워진 테이블의 행을 말한다.

 

테이블 간의 관계를 조금 더 명확하게 하고 테이블의 인덱스를 위해 설정되는 장치로, 기본키, 외래키, 후보키, 슈퍼키, 대체키가 있다.

  • 슈퍼키 < 후보키 < 기본키, 대체키
  • 슈퍼키 : 유일성을 지닌다. 유일성은 중복되는 필드값이 없는 것을 말한다.
  • 후보키 : 유일성과 최소성을 지닌다. 최소성은 가장 적은 필드를 포함하는 것을 말한다.
  • 기본키, 대체키 : 후보키 중에서 선택된 키를 말하며, 선택되지 않은 후보키는 대체키이다.
    • 속성 중에서 중복되는 값을 가지는 속성을 지우다가 중복되지 않는 값을 가진 속성을 찾아서 기본키로 하는 것을 자연키라고 한다.
    • 자연키는 언젠가 변한다는 특징이 있다.
    • 인위적으로 고유 식별자를 위한 속성을 추가하여 기본키로 만드는 것을 인조키라고 한다.
    • 인조키는 자연키와 달리 변하지 않는다.
  • 외래키 : 다른 테이블의 기본키를 그대로 참조하는 값으로 테이블과의 관계를 식별하는 데 사용한다.
    • 중복된 값이 존재해도 문제없다.
    • null이거나 존재하는 기본키 값을 참조해야 한다.

'CS > 데이터베이스' 카테고리의 다른 글

조인의 원리  (0) 2025.02.28
인덱스  (0) 2025.02.27
데이터베이스의 종류  (0) 2025.02.26
트랜잭션과 무결성  (0) 2025.02.26
ERD와 정규화 과정  (0) 2025.02.19

+ Recent posts