itisjustK
코딩과 사람 사는 이야기
itisjustK
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • 일이삼사오육칠팔구십일이삼사오육칠팔구십일이삼사오육칠.. (0)
    • Web (43)
      • html & css (9)
      • django & python (15)
      • java script (9)
    • iOS (51)
      • Swift (42)
      • SwiftUI (5)
    • CS (25)
      • 자료구조 (6)
      • 운영체제 (3)
      • 데이터베이스 (9)
      • 네트워크 (7)
    • PS (34)
      • 알고리즘 & 자료구조 (0)
    • Life (36)
    • Retrospective (15)
    • Book (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • nosql
  • binding
  • 생활코딩
  • 독립서점
  • 연결리스트
  • AppleDevloperAcademy
  • 생활코딩 #이고잉 #HTML #코딩 #개발자
  • mongodb
  • 개발자
  • 킨디
  • crud
  • POSTECH
  • SWIFT
  • 점주
  • CS
  • 어플
  • SwiftUI
  • CoreData
  • 세그멘테이션
  • ios

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
itisjustK

코딩과 사람 사는 이야기

CS/데이터베이스

[CS - 데이터베이스] 데이터베이스 테이블 용어 정리

2023. 1. 25. 20:13

선수 개념

Relation

보통 relation이라고 하면 table이라고 생각하면 되고, 통상적으로 같은 의미로 말한다.

굳이 차이점을 따져서 말하자면, table 중 데이터베이스에서 쓰이기 위한 조건을 만족하는 것을 relation이라고 한다.

여기서 말하는 조건은 1) table의 cell은 단일값을 가진다. 2) 어떠한 row도 동일하지 않다. (겹치는 row가 없다.) 이다.

유일성

어떤 특성 또는 key 값으로 특정된 하나의 row만을 유일하게 찾아낼 수 있어야 한다.

최소성

모든 row를 식별하는데 꼭 필요한 특성만으로 이루어져야 한다.


키 종류

슈퍼키 (Super Key)

특정된 하나의 row를 유일하게 찾아낼 수 있는 속성들의 집합. ‘집합’이므로 하나 또는 두개 이상일 수도 있다.

슈퍼키는 유일성만 만족하면 된다. (하나의 row를 찾아낼 수 있기만 하면 된다.)

예시) (학번), (주민등록번호), (학번, 이름), (이름, 주민등록번호, 성별) 등

후보키 (Candidate Key)

각 row를 유일하게 식별할 수 있는 최소한의 속성들의 집합. 슈퍼키 중에서 특성이 하나인 것들.

후보키는 유일성과 최소성을 만족해야 한다. (하나의 특성으로 row를 찾아낼 수 있다.)

예시) 학번, 주민등록번호

기본키 (Primary Key)

후보키 중에서 선택한 main key.

기본키로 row를 식별할 수 있다. 그렇기 때문에, 기본키는 null값을 가질 수 없고, 중복되지 않아야 한다. 테이블당 1개의 기본키만 가진다.

대체키 (Alternative Key)

여러 개의 후보키 중 기본키가 되지 못하고 남아있는 것들

외래키 (Foreign Key)

두 테이블의 데이터 간 연결을 설정하고 강제 적용하여 외래 키 테이블에 저장될 수 있는 데이터를 제어하는 데 사용되는 열.

외래 키 참조에서는 한 테이블의 기본 키 값을 가지고 있는 열을 다른 테이블의 열이 참조할 때 두 테이블 간에 연결이 생성.

복합키 (Composite Key)

테이블에서 row를 식별할 수 있는 두 개 이상의 column으로 구성된 후보 키

 

저작자표시 (새창열림)

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

[CS - 데이터베이스] DB의 Index  (0) 2023.02.13
[CS - 데이터베이스] Transaction과 Deadlock  (0) 2023.01.28
[CS - 데이터베이스] RDB와 NoSQL  (2) 2023.01.26
[CS - 데이터베이스] RDB의 테이블 결합 (left outer join, inner join)  (0) 2023.01.26
[CS - 데이터베이스] 관계형 데이터베이스의 관계 (1:1, 1:N, N:M)  (0) 2023.01.26
    'CS/데이터베이스' 카테고리의 다른 글
    • [CS - 데이터베이스] Transaction과 Deadlock
    • [CS - 데이터베이스] RDB와 NoSQL
    • [CS - 데이터베이스] RDB의 테이블 결합 (left outer join, inner join)
    • [CS - 데이터베이스] 관계형 데이터베이스의 관계 (1:1, 1:N, N:M)
    itisjustK
    itisjustK

    티스토리툴바