Database (데이터베이스)

tpids·2024년 6월 3일

DB

목록 보기
2/25

데이터베이스?

  • 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합
  • 필요한 데이터를 저장하는 공간(서버)
  • 데이터 베이스는 필요한 데이터를 가상 공간에 모아 놓고 알맞은 상황에 알맞은 정보를 제공

데이터 모델링?

  • 현실 대상을 데이터베이스로 저장할 수 있도록 설계 및 구축을 하는 과정

개념적 데이터 모델링

  • 복잡한 현실세계의 대상을 단순화, 추상화, 명확화 하는 작업
  • 엔터티와 속성을 도출하고 엔터티 간의 관계를 설정하여 ERD로 그려내는 과정

엔터티(Entity)

  • 정보 저장을 위한 집합
  • 업무에 필요하고 유용한 정보를 관리하기 위한 집합적인 것
  • 엔터티 안에는 2개 이상의 인스턴스가 있어야 하며, 하나 이상의 속성이 있어야하며, 하나 이상의 관계를 가진다.

속성(attribute)

  • 엔터티의 공통적인 특징을 표현
  • 우리가 얻고자 하는 정보

인스턴스(instance)

  • 엔터티 안에 개별적인 것들

관계(Relationship)

  • 엔터티 사이의 관계

ERD?

  • 엔터티와 엔터티간의 관계를 발견하고 이를 다이어그램으로 표현하는 행위

개념적 데이터 모델링

  1. 엔터티를 그린다 (속성은 제외)

  2. 엔터티를 적절히 배치한다.

  3. 관계를 설정한다. (서로 관계가 있는 엔터티끼리 선으로 연결)

  4. 관계명을 기술한다 (생략가능)

  5. 관계의 참여도(=Cardinality)를 기술한다.
    -> 참여도란? 엔터티 안의 인스턴스들이 얼마나 참여하는지를 의미 1:1, 1:N, N:N 관계 등이 있으며, N 쪽에는 까치발(>)로 표시

  6. 관계의 필수여부(=Optionality)를 기술한다.
    -> 필수여부란? 엔터티의 안의 인스턴스들이 반드시 참여하는지를 의미 필수 참여는 (I)을 표시하고, 선택 참여는(O)으로 표시

논리적 데이터 모델링

  • ERD를 기준으로 보다 상세한 구조를 작성한 것
  • 속성 입력, 식별자 선택, 정규화, 관계설정 등을 정의하는 과정
  • 프로젝트 진행 시 데이터베이스 설계 원리를 찾을 때 참고 (설계도)

논리적 데이터 모델링

  1. 속성을 아래로 모두 입력
  2. 각 엔터티에서 식별자(PRIMARY KEY) 선택
  3. 정규화 실시
  4. 관계설정(FOREIGN KEY) 구현
  5. 속성 추가 -> 현재 존재하는 속성들만으로는 요소들을 구분하는 것이 어려울 때

식별자?

  • 엔터티가 가진 고유하고 유일한 특징

정규화?

  • 중복되는 데이터가 저장되지 않도록 엔터티를 쪼개는 행위

물리적 데이터 모델링

  • 논리적 모델링 결과를 가지고 실제 DB 구축
profile
개발자 공부중

0개의 댓글