• Home
  • About
    • Monu Kim photo

      Monu Kim

      Strike while the iron is hot

    • Learn More
    • Email
    • Instagram
    • Github
  • Posts
    • All Posts
    • All Tags
    • All Categories
  • Projects

관계형 데이터베이스 모델링

17 Aug 2022

Reading time ~2 minutes

데이터베이스

일정한 규칙, 규약을 통해 구조화되어 저장되는 데이터 모음

  • DBMS : 데이터베이스를 제어, 관리하는 통합 시스템

데이터베이스 모델링

주어진 개념에서 논리적인 데이터 모델을 구성하는 작업

  • 데이터 모델링 순서 : 요구사항파악->개념적 데이터 모델링->논리적 데이터 모델링->물리적 데이터 모델링
    • 요구사항파악 : 데이터가 어떤 형태와 목적으로 사용될지를 파악
    • 개념적 데이터 모델링 : 어떤 개념들이 존재하는지, 어떤 상호작용을 하는 지 파악하고 ER 다이어그램을 산출한다.
    • 논리적 데이터 모델링 : ER 다이어그램에 개념적으로 구체화한 모델을 관계형 데이터베이스에 맞게 구축한다.
    • 물리적 데이터 모델링 : 논리 데이터 모델이 컴퓨터 어디에 어떻게 저장될 것인지 고려해 데이터베이스를 설계, 구현한다.

기본 요소

엔터티

사람,장소,물건,사건,개념 등 여러 개의 속성을 지닌 명사

  • 약한 엔터티와 강한 엔터티
    • 혼자서 존재하지 못하고 종속적이라면 약한 엔터티
    • 독립적으로 존재하며 키 애트리뷰트를 사용해 고유하게 엔터티들을 인식할 수 있다면 강한 엔터티

릴레이션

  • 데이터베이스에서 정보를 구분해 저장하는 기본 단위. 동일한 구조로 이루어진 튜플의 집합
  • 관계형 데이터베이스의 테이블에 해당한다.

속성

릴레이션에서 관리하는 구체적이고 고유한 이름을 갖는 정보

도메인

릴레이션에 포함된 각 속성들이 가질 수 있는 값의 집합

관계

데이터베이스 내 여러 개의 테이블 간의 관계가 정의되어있다.

  • 1:1 : 한 엔터티가 다른 한 엔터티와 서로 단 하나의 관계를 가짐
    • 사용자-이메일
  • 1:N : 한 엔터티가 관계를 맞은 엔터티 쪽의 여러 객체와 관계를 가짐
  • N:M : 양쪽 엔터티 모두에서 1:N 관계를 가짐

키

  • 기본키(primary key) : 유일성과 최소성을 만족한다.
  • 외래키(foreign key) : 다른 테이블의 기본키를 그대로 참조해 개쳬와의 관계를 식별한다.
  • 후보키(candidate key) : 기본키 후보, 역시 유일성과 최소성을 만족한다.
  • 슈퍼키(super key) : 각 레코드를 식별할 수 있는 유일성을 갖춘 키
  • 대체키(alterate key) : 후보키가 복수일 경우 기본키가 되지못한 후보키.

트랜잭션

데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위, 여러 개의 쿼리들을 하나로 묶는 단위

  • ACID(원자성,일관성,독립성,지속성)

PostgreSQL

  • 객체 관계형 데이터베이스 시스템(ORDBMS : 객체 지향 DBMS와 관계형 DBMS를 기반으로 객체가 중심이 되는 DBMS)
  • RDBMS의 기본적인 기능인 트랜잭션과 ACID를 지원한다.

  • VACUUM : 디스트 조각이 차지하는 영역을 회수할 수 있는 장치

구조

  • 클라이언트-서버구조
    1. 인터페이스 라이브러리를 통해 서버 연결을 요청
    2. postmaster 프로세스가 서버와 연결 중계
    3. 클라이언트는 할당된 서버와 연결을 통해 질의 수행

특징

  • 유연한 객체 생성 : 다른 관계형 데이터베이스 시스템과 달리, 연산자, 복합 자료형, 집계 함수, 자료형 변환자, 확장 기능 등 다양한 데이터베이스 객체를 사용자가 임의로 만들 수 있는 기능을 제공한다.
  • 상속 : java 또는 C++ 프로그래밍 언어와 같이 테이블을 만들어 그 테이블 상속 기능을 이용해 하위 테이블을 만들 수 있다.
  • 함수 : ‘저장 프로시저’라고 불리는 SQL문으로 작성된 함수를 서버환경에서 사용할 수 있다.


studyRDBMS Share Tweet +1