[DB] 테이블 용어 정리

2023. 6. 1. 15:07·DataBase/DB theory

테이블(Table) 관련 용어


 

릴레이션

- 투플(행)들의 집합

  • 각 릴레이션은 오직 하나의 레코드 타입만 포함 (행 이니까)
  • 한 애트리뷰트 내의 값들은 모두 같은 유형
  • 각 애트리뷰트(열)들의 순서는 중요하지 않음 : 집합은 순서는 의미가 없음.
  • 동일한 투플이 두 개 이상 존재하지 않음 -> 키가 존재함
  • 한 투플의 각 애트리뷰트는 원자값(리스트)을 가짐.
  • 투플들의 순서는 중요하지 않음.
  • 각 애트리뷰트의 이름은 한 릴레이션 내에서만 고유하면 됨.

 

​- 릴레이션 키

  • 각 투플을 고유하게 식별할 수 있는 하나 이상의 애트리뷰트들의 모임
  • 두 릴레이션을 서로 연관시킬 때 사용
  • 인덱스를 만들 때 사용

 

릴레이션 스키마(relation schema) - 내포

  • 릴레이션의 이름과 릴레이션의 애트리뷰트들의 집합
  • 표기법 : 릴레이션이름 (애트리뷰트1, 애트리뷰트2, ... 애트리뷰트N)

 

릴레이션 인스턴스(relation instance) - 외연

  • 릴레이션에 어느 시점에 들어 있는 투플들의 집합
  • 시간의 흐름에 따라 계속 변함
  • 일반적으로 릴레이션에는 현재의 인스턴스만 저장

* 내포 = 스키마

* 외연 = 인스턴스

 

 

Tuple(=Record)

  • 테이블에서 행을 의미. 
  • 튜플은 릴레이션에서 같은 값을 가질 수 없다.
  • 튜플의 수는 카디날리티(Cardinality)라고 한다.

 

Attribute( =Field)

  • 테이블에서 열을 의미.
  • 같은 말로는 칼럼이라고도 하며 어트리뷰트의 수는 디그리(Degree)라고도 한다.

 

도메인(domain)

  • 한 애트리뷰트에 나타날 수 있는 값들의 집합
  • 동일한 도메인이 여러 애트리뷰트에서 사용될 수 있음

​

차수

  • 한 릴레이션(테이블)에 들어 있는 애트리뷰트들의 수
  • 유효한 릴레이션의 최소 차수는 1
  • 릴레이션의 차수는 자주 바뀌지 않음

​

카디날리티

  • 릴레이션의 투플 의 갯수
  • 유효한 릴레이션은 카디날리티 0을 가질 수 있음
  • 릴레이션의 카디날리티는 시간이 지남에 따라 계속해서 변함

 

 

 

참고) 널값의 3가지 의미

  • 부적절한 값
  • 적절하지만, 알려지지 않은 값
  • 적절한 값이고 알려진 값이지만, 데이터베이스에 입력하지 않은 값
'DataBase/DB theory' 카테고리의 다른 글
  • [DB] 무결성 제약 조건
  • [DB] 데이터베이스 키(KEY) 종류
  • [DB] 스키마(Schema) 개념
  • [DB] 데이터 모델
s_y_130
s_y_130
  • s_y_130
    About SY
    s_y_130
  • 전체
    오늘
    어제
    • 분류 전체보기 (436) N
      • JAVA (54)
        • 더 자바 8 (0)
        • JAVA (41)
        • JAVA (JVM) (13)
      • Computer Science (86)
        • CS Basic (7)
        • OOP (11)
        • Design Pattern (16)
        • Network (8)
        • HTTP (6)
        • WEB (22)
        • OS (16)
      • DataBase (29)
        • DB theory (15)
        • MySQL (14)
        • Redis (0)
      • Collection Framework (1)
        • 구현 (1)
      • Data Structure (14)
        • Linear (9)
        • Non-Linear (5)
      • Algorithm (19)
        • Basic (12)
        • 응용 (2)
        • 완전 탐색(Brute Force) (1)
        • 다익스트라 (1)
        • Algorithm Problem (3)
      • Spring (104)
        • 스프링 핵심 원리 - 기본편 (9)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (7)
        • 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (11)
        • 스프링 DB 1편 - 데이터 접근 핵심 원리 (6)
        • 스프링 DB 2편 - 데이터 접근 활용 기술 (10)
        • 스프링 핵심 원리 - 고급편 (13)
        • 스프링 부트 - 핵심 원리와 활용 (9)
        • Spring Security 6.x (2)
        • Spring Batch (2)
        • Spring Cloud로 개발하는 MSA (1)
        • 재고시스템으로 알아보는 동시성이슈 해결방법 (4)
        • 개념 (27)
        • 테스트 (0)
        • Annotation (1)
        • Error Log (2)
      • TEST (0)
        • 부하 테스트 (0)
        • Practical Testing: 실용적인 테스트.. (0)
      • JPA (40)
        • 자바 ORM 표준 JPA 프로그래밍 (12)
        • 1편- 실전! 스프링 부트와 JPA 활용 (7)
        • 2편- 실전! 스프링 부트와 JPA 활용 (4)
        • 실전! 스프링 데이터 JPA (6)
        • 실전! Querydsl (6)
        • 개념 (5)
      • 백엔드 부트캠프[사전캠프] (35)
        • TIL (12)
        • 문제풀이 (23)
      • 백엔드 부트캠프 (5) N
        • Calculator (3)
        • Kiosk (2) N
      • Open Source (0)
      • Book Study (1)
        • Morden Java in Action (1)
        • Real MySQL 8.0 Vol.1 (0)
        • TDD : By Example (0)
      • AWS (0)
        • EC2 (0)
      • git (2)
      • AI (22)
        • Machine Learning (17)
        • Deep Learning (0)
        • TensorFlow (1)
        • PyTorch (1)
        • YOLO (1)
        • Data Analysis (0)
        • Ai code Error (1)
        • Numpy (1)
      • MY (0)
      • WEB (15)
        • Django (3)
        • WEB 개념 (1)
        • React (1)
        • Maven (10)
      • Python (6)
      • 기초수학 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_y_130
[DB] 테이블 용어 정리
상단으로

티스토리툴바