스키마(Schema)

최경락 (K_ROCK_)·2022년 2월 4일
0

스키마(Schema)

  • 스키마(Schema) 란, 위키백과에 따르면 아래와 같은 정의를 가진다.

데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조.

  • 그냥, 쉽게 이해하자면 DB내부의 테이블들의 구조와 관계를 표현하는 것 이라고 봐도 좋을 듯 하다.
  • 데이터를 디자인하는 것.

Table

field 1field 2field 3
record 1record 1record 1
record 2record 2record 2
  • SQL에서 어떤 데이터들을 저장한 표이며, 하나의 데이터베이스는 다수의 테이블을 포함한다.
  • 테이블을 만들기 위해서는 각 열이 가지는 이름과 데이터 타입을 지정해주어야 하며, 이를 필드(field) 혹은 컬럼(column)이라고 한다.
  • 각각의 필드에 들어간 값들을 가지는 행을 레코드(record) 혹은 튜플(Tuple)이라고 한다.
  • 저장된 값들을 데이터라고 한다.
  • 각각의 레코드들은 키(Key)를 가질 수 있으며, 해당 값은 중복되지 않는 고유한 값이여야한다.
    → 보통 id로 많이 사용한다.
  • 이렇게 지정된 Key내부키(Primary Key) 라고 하며, 이는 외부 테이블에서 외래키(Foreign Key)로써 참조 될 수 있다.

엔티티(Entity)

  • 엔티티(Entity)는 객체처럼 여러 데이터를 가지고 있는, 테이블로 이루어진 정보의 단위이다.
  • 엔티티는 데이터를 저장하는 실체와 같으며, 일종의 명사라고 볼 수 있다.
    → 사람이라는 엔티티에 이름, 나이, 성별, 거주지라는 데이터가 포함된다고 생각 할 수 있다.
이름나이성별거주지
김평범25인천
박평범12서울

→ 사람이라는 엔티티(테이블)를 표로 표현했을 때.

관계

1 : 1

  • 레코드와 레코드가 1 : 1로 관계를 가지는 경우.
  • 하지만 보통 이 경우엔 스키마를 사용하기 보다는 직접 데이터를 할당하는 것이 더 효율적이다.

1 : N

  • 어떤 테이블의 레코드 하나가 다른 테이블에서 여러개의 레코드와 관계가 있는 경우.
  • 예를 들어 교수님과 강의실의 경우를 들 수 있다.
    → 하나의 교수님이 여러 강의실에서 강의를 한다.
  • 이 경우 1에 속하는 테이블의 idN에 속하는 테이블의 외부키로써 참조 될 수 있다.

N : N

  • 두 테이블 사이의 레코드들이 서로서로 관계가 있는 경우
  • 예를 들어 강의실과 대학생의 경우를 들 수 있다.
    → 대학생들이 여러 강의실을 돌며 수업을 듣는다.
  • 이 경우 테이블과 테이블 사이에 조인 테이블(Join table)을 사용하여 서로의 관계를 연결한다.
    N : N의 테이블 사이에 조인 테이블을 놓음으로써, 각각의 테이블을 조인 테이블의 1 : N으로 만든다.

자기 참조 관계(Self Referencing Relationship)

  • 본 테이블 내부의 값을 참조해야하는 경우.
  • 예를 들어 한 반의 학생들과, 그 짝을 연결하는 경우.

+

  • 서로 다른 테이블간의 관계를 설정할 때, 외부 테이블의 자료를 어떻게 취급 할 것 인가에 따라 DB를 탐색하는 복잡도가 변할 수 있다.

0개의 댓글