[DB] 스키마(Scehma)

·2022년 10월 6일
0

데이터베이스 설계

데이터베이스의 상세한 구조를 결정하는 작업 과정으로 사용자의 요구 사항과 데이터 분석을 통해 데이터의 요소, 구성, 관계를 식별하고 도면, 표 등으로 개념화 하는 것을 말한다.

관계형 데이터베이스의 용어정리

관계형 데이터베이스(Relational database)는 테이블을 사용한다. 이때, 테이블은 구조화된 데이터들을 말하며 relation이라고도 말할 수 있다.

  • 데이터(Data) : 각 항목에 저장되는 값
  • 테이블(table or relation) : 사전에 정의된 열의 데이터 타입대로 작성된 행의 집합
  • 열(column or field) : 테이블의 한 열
  • 레코드(record or tuple) : 테이블 한 행에 저장된 데이터
  • 키(key) : 테이블의 각 레코드를 구분할 수 있는 값이며 각 레코드마다 고유한 값을 가진다.
    • 기본 키(Primary key)
    • 외래 키(foreign key)
  • 엔티티(Entity) : 객체와 같은 하나의 정보 단위(하나의 테이블)

스키마(Scehma)

  • 관계형 데이터베이스, 즉 테이블에 정보를 구성하고 SQL 쿼리 언어를 사용하는 데이터베이스와 관련하여 가장 일반적으로 사용된다.
  • 데이터베이스 스키마란 특정 데이터베이스의 구조 또는 구성에 대한 형식적인 설명, 청사진이라고 할 수 있다.

    💡 데이터베이스 스키마는 두가지의 기본 구성 요소가 존재한다.
    ☝️ 물리적 데이터베이스 스키마 : 데이터가 스토리지 시스템에 물리적으로 저장되는 방식과 스토리지 형태(파일, Key-Value, 인덱스 등)을 말한다.
    ✌️ 논리적 데이터베이스 스키마 : 데이터에 적용되는 논리적 제약 조건을 설명하고 필드, 테이블, 관계, 보기, 무결성 제약 조건등을 정의한다.

데이터베이스 스키마의 설계

  • 데이터베이스 전체의 논리적 보기를 나타내는 추상적인 구조 또는 개요
  • 데이터 범주과 해당 범주 간의 관계를 정의함으로써 데이터를 쉽게 검색, 조작 등의 행위를 할 수 있도록 지원한다.

스키마 설계를 위한 테이블 관계 종류

1:1 관계

  • 하나의 테이블의 하나의 레코드가 또 다른 하나의 테이블의 하나의 레코드가 일대일로 대응하며 연결되어 있는 것.
  • 연결을 위해 외래키를 사용한다.
  • 자주 사용되지 않는다.

1:N 관계(일대다)

  • 하나의 레코드가 다른 테이블의 여러개의 레코드와 연결된 경우
  • 반대의 경우는 성립하지 않는다.

N:N 관계(다대다)

  • 여러개의 레코드가 다른 테이블의 여러개의 레코드와 관계가 있는 경우
  • 1:N 관계와 비슷하지만 양방향으로 관계를 가져 연결된 경우이다.
  • 해당 관계는 별도의 JOIN 테이블을 만들어 관리한다.

자기참조 관계(Self Referencing)

  • 하나의 테이블 내에서 발생하는 관계성이다.
profile
🧑‍💻백엔드 개발자, 조금씩 꾸준하게

0개의 댓글