코딩/SQL

관계 데이터 모델의 기본개념

고냉씨 2024. 1. 12. 23:17

정의

하나의 개체에 관한 데이터를 하나의 릴레이션(테이블)에 저장

 

기본 용어

  1. 릴레이션 : 하나의 개체에 관한 데이터를 2차원의 테이블 구조로 저장
  2. 속성 (attribute) : 릴레이션의 column (파일 관리 시스템 관점에선 field 라고 함)
  3. 튜플 (tuple) : 릴레이션 row - (record)
  4. 도메인(domain) : 하나의 속성이 가질 수 있는 모든 값의 집합- 쉽게말하면 속성의 데이터타입으로 정의  Ex ) ‘20자리의 문자열 값’ 이라는 도메인
  5. 널 (null) : 속성 값을 아직 모르거나 해당 값이 없음
  6. 차수 (degree) : 하나의 릴레이션에서 속성의 전체 개수
  7. 카디널리티 (Cardinality) : 하나의 릴레이션에서 튜플의 전체 개수

 

릴레이션의 스키마

스키마는 릴레이션의 논리적 구조로

릴레이션의 이름 + 릴레이션의 모든 속성 + 그 속성의 도메인으로 정의

Ex) 고객테이블 (id, name, age)

  • 자주 변하지 않는 정적인 특징을 가짐

 

릴레이션의 인스턴스

어느 한 시점에 릴레이션에 존재하는 튜플들의 집합

  • 어느 한 시점이라고 표현하는 이유는 튜플의 삽입/삭제/수정이 자주 발생하는 동적인 특징을 가지기 때문

실제 들어가있는 값.

 

릴레이션의 특성

  • 튜플의 유일성 : 하나의 릴레이션에는 동일한 튜플이 존재할 수 없다.
  • 튜플의 무순서 : 튜플 순서 무의미 함.
  • 속성의 무순서 : 속성 순서 무의미 함.
  • 속성의 원자성 : 속성 값으로 원자값만 사용
  • 원자성 : 한 속성에 다중값을 가지지 않는 것 Ex ) 이름 

SQL

관리용 언어

DB

  • 데이터저장창고
  • ex) 유튜브영상, 인스타그램 사진, 댓글, 좋아요

Table

  • 데이터를 저장하는 틀
  • 데이터의 저장단위 행(row) 열(column)

CRUD

  • 데이터생성 create
  • 데이터조회 read, 데이터삭제 delete, 수정update

Query

  • 데이터베이스에 명령
  • 키워드 table 어떤내용, 어떤타입으로 저장할건지