스키마가 거의 변경되지 않고 스키마를 변경하는 동안 인스턴스가 자주 변경됩니다.
비교 차트
비교 근거 | 개요 | 예 |
---|---|---|
기본 | 데이터베이스에 대한 설명. | 특정 순간의 데이터베이스 스냅 샷. |
발생 변경 | 드문 | 빈번한 |
초기 상태 | 빈 | 항상 데이터가 있어야합니다. |
스키마 정의
스키마 는 인텐션 이라고도하는 완벽한 데이터베이스 디자인입니다. 명명 된 객체의 모음입니다. 테이블의 이름, 각 테이블의 컬럼, 데이터 유형, 트리거, 함수보기 패키지 및 기타 오브젝트가 스키마에 포함됩니다. 스키마의 변경 사항은 자주 적용되지 않지만 응용 프로그램 변경 요구 사항에 따라 변경해야하는 경우가 있습니다. 스키마 수정 또는 변경은 스키마 혁명으로 알려져 있습니다.
학생 데이터베이스의 예를 들어 봅시다. 학생 데이터베이스의 스키마 다이어그램에는 이름, 코스 세부 정보, 학업 성취도 및 기타 정보와 같은 학생의 정보에 관한 표가 포함될 수 있습니다. 주어진 스키마 다이어그램에서, 우리는 그들의 속성을 가진 student와 course라는 두 개의 레코드를 생성합니다.
데이터베이스 시스템은 물리적, 논리적 및 외부 / 서브 스키마와 같은 추상 수준에 따라 분리 된 다양한 스키마를 가지고 있습니다. 일반적으로 DBMS는 하나의 물리적 인 논리적 스키마와 여러 개의 하위 스키마를 지원합니다.
- 물리적 스키마 는 디스크 또는 실제 저장소에 데이터를 저장하는 방법을 설명하는 스키마의 가장 낮은 수준입니다.
- 논리 스키마 는 데이터베이스 설계자에게 데이터베이스의 구조를 설명하는 스키마의 중간 레벨입니다. 또한 데이터간에 존재하는 관계를 지정합니다.
- 외부 스키마 또는 하위 스키마 는 최종 사용자에 대한 뷰를 정의하는 스키마의 최상위 레벨입니다.
인스턴스의 정의
인스턴스 는 특정 순간에 데이터베이스에 수집되는 정보이며 상태 또는 확장 이라고도 합니다 . 이 시점에서 데이터베이스의 현재 상태 또는 발생이 프레임 된 스냅 샷입니다. 데이터가 데이터베이스에 삽입되거나 삭제 될 때마다 데이터베이스 상태가 변경되어 데이터베이스 인스턴스가 자주 변경되는 이유가됩니다.
데이터베이스의 스키마는 새 데이터베이스가 정의 될 때 DBMS에 지정되며, 이때 해당 데이터베이스는 비어 있으므로 빈 인스턴스가 있습니다. 데이터베이스의 시작 상태는 데이터베이스에 처음 데이터가로드 될 때 획득됩니다. 그 이후부터는 데이터가 업데이트 될 때마다 새로운 데이터베이스 인스턴스가 생성됩니다. 언제든지 데이터베이스와 관련된 현재 상태가 있습니다. DBMS는 부분적으로 인스턴스가 스키마에 지정된 구조와 제약 조건을 보장하는 데이터베이스의 유효한 인스턴스를 확인하는 데 책임이 있습니다.
인스턴스에서 비슷한 예를 들어 봅시다. 여기서 학생 구성은 속성에 개별 엔티티를 포함합니다.
스키마와 인스턴스의 주요 차이점
- 스키마는 데이터베이스의 디자인 표현이지만 인스턴스는 특정 순간의 데이터베이스 스냅 샷입니다.
- 데이터베이스에서 데이터가 제거되거나 추가 될 때마다 인스턴스가 매우 자주 변경됩니다. 반대로, 스키마 변경은 거의 발생하지 않습니다.
- 예를 들어 스키마와 인스턴스는 프로그램에 비유하여 쉽게 인식 할 수 있습니다. 프로그래밍 언어로 프로그램을 작성할 때 그 프로그램의 변수가 처음 선언됩니다. 이것은 스키마 정의와 유사합니다. 또한 프로그램의 각 변수에는 특정 시간에 연관된 일부 값이 있어야합니다. 이는 인스턴스와 유사합니다.
결론
스키마와 인스턴스는 어떻게 든 관계가 있으며, 스키마는 데이터베이스가 처음 설계된 데이터베이스의 초기 상태입니다. 반면, 인스턴스는 데이터가 데이터베이스에로드되거나 해당 데이터베이스가 변경 사항을 획득 한 상태입니다. 스키마는 데이터베이스의 구조에 대한 자세한 설명이지만 데이터베이스의 특정 순간에 저장된 정보는 인스턴스로 알려져 있습니다.