본문 바로가기

[DB]DataBase/[SQL]

[SQLD] Null 속성

728x90
반응형

NULL이란

  • DBMS에서 아직 정해지지 않은 값을 의미
  • 모델 설계 시 각 컬럼별로 NULL을 허용할지 말지를 결정(Nullable Column)

NULL의 연산

  • NULL 값과의 연산(+, -, *, / 등)은 NULL 값을 리턴
  • NULL 값과의 비교 연산(=, >, >=, <, <=)은 거짓(FALSE)을 리턴
  • 특정 값보다 크다, 작다고 표현할 수 없음

NULL 특성

  • NULL 값은 아직 정의되지 않은 값으로, 0 또는 공백과 다르다.
    • 0은 숫자이고, 공백은 하나의 문자이다.
  • 테이블을 생성할 때 NOT NULL 또는 PRIMARY KEY로 정의되지 않은 모든 데이터 유형은 NULL 값을 포함할 수 있다.
  • NULL 값을 포함하는 연산의 경우 결과값도 NULL 이다.
    • 모르는 데이터에 숫자를 더하거나 빼도 결과는 마찬가지로 모르는 데이터인 것과 같다.
  • 집계함수(SUM, AVG, MIN, MAX 등)는 NULL을 제외한 연산 결과를 리턴한다.
  • 결과값을 NULL이 아닌 다른 값을 얻고자 할 때, NVL/ISNULL 함수를 사용한다.
  • NULL 값의 대상이 숫자 유형 데이터인 경우는 주로 0(Zero)으로, 문자 유형 데이터인 경우는 공백보다는 'x'와 같이 해당 시스템에서 의미 없는 문자로 바꾸는 경우가 많다.

NULL의 ERD 표기법

  • IE 표기법에서는 NULL 허용 여부를 알 수 없다.
  • 바커 표기법에서는 속성 앞에 동그라미가 NULL 허용 속성을 의미한다.

반응형

'[DB]DataBase > [SQL]' 카테고리의 다른 글

[SQLD] 관계형 데이터베이스 개요  (0) 2024.03.10
[SQLD] 본질 식별자 vs. 인조식별자  (0) 2024.03.06
[SQLD] 트랜잭션  (0) 2024.03.03
[SQLD] 관계와 조인  (0) 2024.03.02
[SQLD] 정규화(Normalization)  (0) 2024.03.01