데이터를 테이블 형태로 표현한다.
데이터를 저장한느 기본 구조로 2차원 테이블 형태의 데이터 집합을 의미합니다.
릴레이션 == 테이블 (릴레이션을 실제 데이터베이스 시스템에서는 테이블이라고 부름)
<릴레이션의 특징>
릴레이션(테이블)의 각 행(row)
튜플 == 레코드
릴레이션(테이블)의 열(column)
애트리뷰트는 “값들을 묶는 기준(이름)” 의미를 알 수 있도록 이름을 부여한 것

애트리뷰트 값의 허용 가능한 범위를 의미한다.
INT => 정수
VARCHAR => 문자열
DATE => 날짜
릴레이션(데이터)에 튜플(레코드)을 삽입할 때 일부 애트리뷰트(속성) 값을 지정하지 않았다면 null값을 사용한다. (숫자 0 / 공백 문자 " " / 빈 문자열)
-- NULL의미 : 값 없음/해당 값이 존재X/해당 속성 적용
일반값 or null 다르게 연산에 참여하면 결과는 NULL
릴레이션 스키마
짧게 설명하자면 테이블의 설계도(틀)
ex) 튜플 테이블을 보면 사용자(이름, 나이, 성별)
사용자 = 테이블 이름
이름, 나이, 성별 = 애트리뷰트들
릴레이션 인스턴스
실제 데이터 튜플 테이블의 있는 철수,영희,민수,지은이의 데이터 값들을 설명하는 것이 릴레이션 인스턴스라고 합니다.
릴레이션에서 각 튜플(레코드)을 고유하게 식별하기 위해 사용되는 애트리뷰트(속성)이다.
데이터베이스에 저장되는 데이터가 항상 올바른 상태로 유지되도록 제한하는 규칙이다.
종류로는 도메인, 엔티티, 참조 무결성이 있다.
속성이 가질 수 있는 값의 범위를 제한하는 것
기본키(NULL값을 가질 수 없다, 중복될 수 없다)
외래키 값이 참조하는 테이블의 기본키 값과 일치해야 한다는 규칙
외래키로 사용되는 값은 반드시 참조하는 테이블에 존재하는 값이어야 함