1. 스키마(schema)

  • 데이터베이스에서 데이터가 구성되는 방식과 서로 다른 엔티티 간의 관계에 대한 설명이다
  • 데이터베이스의 청사진과 같다
  • 데이터베이스의 열의 집합체 = 테이블 이다
  • 데이터베이스의 행 = 레코드 이다
  • 행과 열의 필드 공간은 크기를 지정해야 한다

2. 관계형 데이터베이스(relation database)

  • 구조화된 데이터는 하나의 테이블로 표현할 수 있다
  • 사전에 정의된 테이블을 relation 이라고 한다
  • 테이블을 사용하는 데이터베이스를 관계형 데이터베이스(relation database)라고 한다

 1) 용어 정의

  • 데이터(data) : 각 항목에 저장되는 값이다
  • 테이블(table) : relation이라고도 하며, 사전에 정의된 열의 데이터 타입에 맞춰 데이터가 행으로 축적된다
  • 칼럼(column) : 테이블에 있는 한 개의 열을 말한다
  • 레코드(record) : tuple이라고도 하며, 테이블에 있는 한 개의 행을 말한다 
  • 키(key) : 테이블의 각 레코드를 구분할 수 있는 값이다
    - 각각의 레코드는 고유한 값을 가진다
    - 기본키(primary key)와 외래키(foreign key)가 있다
  • 기본키(primary key) : 테이블의 기본 값이며, 변하지않는 고유값이다
  • 외래키(foreign key) : 어떤 값을 참조하고 있는 값을 지칭한다

 2) 관계 종류

  • 1 : 1 관계 (One-to-one relationship)
    - 한 개의 레코드가 다른 테이블의 레코드 한 개와 연결된 관계이다
    - 1 : 1 관계는 직접 저장하는 것이 쉬울 수 있으므로 자주 사용하지 않는다

  • 1 : N 관계 (One-to-many relationship)
    - 한 개의 레코드가 다른 테이블의 여러 개의 레코드와 연결된 관계이다

 

  • N : N 관계 (many to manyrelationship)
    - 여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 연결된 관계이다
    - 아래와 같은 테이블 구조에서는 관계를 표현하기가 복잡하다

     - N : N 관계를 쉽게 표현하기 위하여 JOIN 테이블을 삽입한다 
     - JOIN 테이블을 생성하더라도  JOIN 테이블의 기본KEY는 반드시 있어야 한다

  • 자기참조 관계(Self Referencing Relationship)
    - 한 개의 테이블 내에서 연결되는 레코드를 가지는 관계이다

 

※ 참조링크

▶ DBML : https://www.dbml.org/docs/#project-definition

 

DBML - Full Syntax Docs | DBML

DBML - Full Syntax Docs DBML (database markup language) is a simple, readable DSL language designed to define database structures. This page outlines the full syntax documentations of DBML. Take a look at an example below: Table users { id integer username

www.dbml.org

 

+ Recent posts