DBMS에 따라 스키마와 데이터베이스에 대한 정의가 다르다.
: DBMS가 동작할 때의 단위, OS입장에선 '프로세스', DBMS에 따라서는 '서버 프로세스' 혹은 '서버'라고 불림.
: 데이터베이스가 실행 가능하게 메모리에 올라가 있는 상태
: 작동하는데에 필요한 모든 파일을 의미 (in Oracle)
: 데이터베이스의 구조와 제약 조건을 정의한 것.
기본적인 데이터베이스의 4계층은 위와 같습니다.
인스턴스는 동일하지만 데이터베이스와 스키마의 구분이 없음.
즉, 데이터베이스 = 스키마라고 여겨집니다.
CREATE SCHEMA test DEFAULT CHARACTER SET utf8;
CREATE DATABASE test DEFAULT CHARACTER SET utf8;
위 구문은 같은 결과를 나타냅니다.
4계층 구조처럼 보이지만, 한 인스턴스에 하나의 데이터베이스만 관리한다는 제약이 있음.
ANSI (미국립표준협회)의 기준은 4계층이 표준입니다.
하지만 3계층, 4계층 뭐가 더 낫다는 없으니, DBMS에 따라 두 계층을 구분해서 사용하는 것이 좋습니다.