DB모델링 개요

CHOISUJIN·2023년 3월 14일
0
post-thumbnail

📍 설계 용어 정리

☑️ Database

한 조직에 필요한 정보를 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합/저장해놓은 것

☑️ DBMS(DataBase Management System)

데이터베이스에서 데이터를 추출, 조작, 정의, 제어 등을 할 수 있게 해주는 데이터베이스 전용 관리 프로그램

☑️ MVC Model1 패턴

: JSP에서 로직과 출력을 처리하는 패턴으로 요청 시 JSP에서 비즈니스 로직을 직접 처리하고 그 결과를 바로 클라이언트에게 출력(응답)함

  • 장점 : 구조가 단순하고 JSP 페이지 하나에 작성하기 때문에 구현이 쉬움
  • 단점
    1. 비즈니스 로직과 출력을 위한 VIEW과 하나로 합쳐져 있어 JSP가 복잡해짐
    2. 프론트엔드와 백엔드 코드가 같이 작성되기 때문에 협업에 좋지 않음

☑️ MVC Model2 패턴

: 역할별 작업이 가능하도록 분담하는 설계 패턴으로
Model은 비즈니스 로직(Service, DAO, VO),
VIEW는 클라이언트의 요청과 요청한 정보의 응답 결과를 보여주는 화면(JSP, HTML)
Controller는 클라이언트의 요청을 전달받아 응답처리를 위한 Service를 호출하고 결과를 View에 전송한다
VIEW <- Service <- Controller <- DAO

  • 장점
  1. View, Controller가 분리되어 있어 구현이 쉬움
  2. 각 레이어가 독립적으로 구성되어 있어 개발 및 유지 보수에 좋음
  • 단점 : 초기 구조 설계 단계에서 많은 시간이 걸림

📍 DB모델링 개요

☑️ 모델링

현실 세계를 단순화 시켜 표현하는 기법

☑️ 소프트웨어 개발과정

소프트웨어(프로그램) 개발 프로세스
요구사항 분석 -> 프로그램 설계 -> 프로그램 구현 -> 통합/테스트 -> 유지보수

☑️ DB 모델링의 주요 개념

  • 엔티티(Entity) == Table
    업무의 관심 대상이 되는 정보를 갖고 있거나 그에 대한 정보를 관리할 필요가 있는 유형, 무형의 사물(개체) (유형, 무형, 문서, 이력, 코드)

    [엔티티 조건]
    1. 업무의 관심 대상이 되는 사물이어야 한다
    2. 마땅한 속성을 소유해야 된다
    3. 두개 이상의 인스턴스를 소유해야 한다

  • 속성(Attribute) == Column
    엔티티에서 관리해야 할 최소 단위 정보 항목(관심이 있는 항목)을 말하며 엔티티는 하나 이상의 속성을 포함

    [속성 명명 규칙]

    1. 속성의 의미가 분명히 드러나게 작성할 것(명확)
    2. 해당 업무에서 사용하는 이름을 부여할 것
    3. 서술식(수식어, 소유격)X, 약어X
    4. 엔티티에서 유일하게 식별 가능하도록 지정할 것(중복X)
  • 인스턴스(Instance) == Row
    엔티티의 속성으로 실제로 구현된 하나의 값

  • 관계(Relationshop)
    두 엔터티 사이의 관련성을 나타냄 (상호 공유하는 속성이 있다는 의미)

  • 카디널리티(Cardinality)
    - 각 엔터티에 속해 있는 인스턴스들 간에 수적으로 어떤 관계에 있는지 나타냄
    - 종류로는 1:1, 1:N, M:N 의 관계가 있다

  • 주식별자(Primary Identifier) == PK
    엔터티 내 각 인스턴스를 구별하는 기준이 되는 속성

  • 외래식별자(Foreign Identifier) == FK
    관계가 있는 엔티티 간의 연결고리 연결을 하는 속성

📍 개념적 설계
요구분석 단계에서 정의된 핵심 개체와 그들 간의 관계를 바탕으로 ERD를 생성하는 과정

📍 논리적 설계
개념 설계에서 추상화된 데이터를 구체화하여 개체, 속성을 테이블화하고 상세화하는 과정 (상세화 과정 : 정규화, 식별자 확정, M:M 관계 해소, 참조 무결성 규칙 정의)

📍 물리적 설계
논리적 설계의 산출물인 ERD의 요소들을 관계형 데이터베이스의 요소들로 전환하는 과정

profile
매일매일 머리 터지는 중 ᕙ(•̀‸•́‶)ᕗ

0개의 댓글