20240905 개발 공부 - CS(스키마)
스키마
데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것
= 속성 (name, email, phone_number)
속성들의 집합으로 이루어진 개체 (User, Post, Comment)
개체들 사이의 관계 (PK,FK / ManyToOne,OneToMany)
이들이 유지해야 할 제약조건들 을 기술한 것
즉, DB에 어떤 구조로 데이터가 저장되는지 나타내는 것
스키마의 특징
1. 스키마는 데이터 사전에 저장됩니다.
데이터 사전 = 데이터 항목들에 대한 정보를 지정한 중앙 저장소!
식별자, 엔티티의 구성요소, 항목이 저장되는 곳, 항목을 참조하는 곳 등을 저장
2. 특정 데이터 모델을 이용해서 만들어지게 됩니다.
3. 영구적으로 저장됩니다.
4. 인스턴스에 의해 규정됩니다. (입력한 코드에 따라 만들어집니다)
5. 데이터의 구조적 특성을 의미합니다. (입력한 코드에 따라 어떤 구조인지도 함께 보여줍니다)
스키마는 외부,개념, 내부 스키마로 구분할 수 있습니다.
외부 스키마 = 사용자 입장
외부 스키마 의 특징 (사용자가 보는 스키마)
1 ) 전체 데이버 베이스의 한 논리적 부분이라서 서브 스키마 라고도 합니다.
2 ) 데이터들을 어떤 모양으로 사용자에게 보여줄 것인지 나타냅니다.
3 ) 하나의 데이터 베이스에 여러개의 외부 스키마 존재 가능
4 ) 하나의 외부 스키마를 여러 곳에서 사용 가능
5 ) 일반 사용자는 질의어를 이용해서 쉽게 사용 가능
개념 스키마 = 전체적인 설계
개념 스키마 의 특징 (단순한 스키마 = 개념스키마)
1) 데이터 베이스의 전체적인 논리적 구조 (설계)
2) 저장된 데이터와 데이터 간의 관계
3) 개체간의 관계와 졔약조건 명시
4) 데이터 베이스의 보안 및 무결성 규칙에 관한 명세를 정의
5) 사용자가 아닌 만드는 사람 관점에서 데이터베이스를 정의, DB 관리자에 의해서 구성
6) 데이터 베이스 당 하나만 존재 가능
내부 스키마 = 저장장치 입장
내부 스키마 의 특징 (시스템 프로그래머, 설계자가 보는 스키마)
1) 데이터 베이스의 물리적 저장구조를 정의
2) 데이터의 저장 방법을 기술
3) 물리적인 저장장치와 밀접한 계층