-
모델링은 실체를 두고 사이즈같은 제약적인 조건 때문에 이를 똑같이 만들지 않고 단순하게 표현하는 기법이다.
실체는 모델을 가지고 구현한 것이다.
<DB모델링>
개발자와 고객의 의사소통 때문에 모델링이 필요하다. -> 모델링한 것을 문서화하기 위해서 필요하다.
<소프트웨어 개발과정>
1) 요구사항 분석
-정보 전략 계획의 수립
-업무 분석
2) 프로그램 설계
-논리 DB설계(데이터 관점)
-프로세스 모델링
-상관 모델링
-물리DB설계
-프로그램(로직) 설계
3) 프로그램 구현
-DB구축(데이터 관점)
-프로그램 개발
4) 통합테스트
-DB 튜닝(데이터 관점)
-프로그램 테스트
5) 유지보수
-RUN & 유지보수
DB모델링의 주요 개념
1) 엔티티(=테이블)
-업무의 관심 대상이 되는 정보를 가져야하고 그에 대한 정보를 관리할 필요가 있는 유형, 무형의 사물(개체)
(유형, 무형, 문서, 이력(입출고), 코드)
2) 속성(=컬럼)
-엔티티에서 관리해야 할 최소 단위 정보 항목(관심이 있는 항목)을 말하며
엔티티는 하나 이상의 속성을 포함한다.
-기본 속성 : 엔티티에서 쓰는 기본적인 속성
-유도 속성 : 다른 값에 의해 유도되는 속성(평균, 합계, 등급)
3) 인스턴스(=행)
-엔티티의 속성으로 실제로 구현된 하나의 값.
4) 엔티티 조건
-사물이어야하고 적절한 속성을 소유해야하고 두 개 이상의 인스턴스를 소유해야한다.
5) 속성 명명규칙
-속성의미가 분명해야하고 업무에서 사용하는 이름을 부여해야한다. (서술식X, 약어X)
6) 관계
-두 엔티티 사이의 관련성을 나타낸다.
7)**카디널리티**
-각 엔티티에 속해 있는 인스턴스들 간에 수적으로 어떤 관계에 있는지 나타낸다.
(1:1, 1:N, M:N의 관계) <- 부모 : 자식(대부분)
ex. 학생 -> 학생 취미
-> 학생 취미2 (취미는 여러가지 존재할 수 있다.)
8) 주식별자(Primary Identifer)
-엔티티 내 각 인스턴스를 구별하는 기준이 되는 속성
9) 외래식별자(Foreign Identifer)
-관계가 있는 엔티티 간의 연결고리 역할을 하는 속성
ex. EMPLOYEE테이블에서 DEPT_CODE
EMPLOYEE테이블에서 JOB_CODE
EMPLOYEE테이블에서 SAL_LEVEL...
10) 개념적 설계
-요구분석 단계에서 정의된 핵심 개체와 그들 간의 관계를 바탕으로
ERD를 생성하는 단계
11) 논리적 설계
-개념설계에서 추상화된 데이터를 구체화하여 개체, 속성을 테이블화하고 상세화하는 과정
12) 물리적 설계
-논리적 설계 단계에서 표현된 데이터를 실제 컴퓨터의 저장장치에 어떻게 표현할 것인가
(관계형 데이터베이스로 전환한다)
<개념적 모델링>
1) 엔티티 도출
-엔티티 후보 풀과 엔티티 리스트를 그린다.
-분석 대상 문서를 보고 명사를 찾아 표시한다.
-명사 하나하나에 대해 속성인지 엔티티인지 구분한다.
-중복된 명사, 유사한 의미의 명사는 하나로 정리한다.
-엔티티 후보풀에 있는 명사들을 검토한다.
-도출된 엔티티에 대하여 구축될 시스템에서 데이터를 관리할 필요가 있는지 판단한다.
ERD
-'개체 관계도', 엔티티와 속성들을 그림으로 그려 관계를 도출한 것
주식별자(Primary Identifier)
=고유식별자
-엔티티에 소속된 인스턴스들을 구별하는 기준 역할.
-유일성, 최소성, 불변성, 존재성
-여러 속성일 수 있음(복합 키)
-인위적 주식별자 : 속성 중 주식별자 속성이 없다면 새로운 속성을 만든다.
외래 식별자(Foreign Identifier)
-부모의 주식별자와 공통 속성이 자식에게도 존재하면 해당 속성을 외래 식별자로 지정
엔티티 간의 부모-자식 관계
-먼저 생성된 정보에 따라 결정된다. --> 애매할 때 카디널리티를 생각해보면 알 수 있다.
1:N(부모:자식) -->먼저 생성된 것이 부모, 그 다음에 생성된 것이 자식
참여도
-필수, 선택
(부모-학생, 자식-학생별취미)
카디널리티
-인스턴스들을 수적으로 표현한 것
-인스턴스가 1개와 대응된다면 | 로 표시, 다수와 대응된다면 까마귀발 표기법 표시
관계의 참여도
| = 필수
O = 선택
********완전중요**********
외래식별자 지정
*ERD 표기법 (식별-비식별 관계)
식별 관계
-1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자의 일부가 되는 관계
-PFK로 표시(외래 식별자가 주식별자의 역할도 함)
-실선으로 관계 표시
비식별 관계
-1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자 역할을 하지 못하고
단순히 새로운 속성으로 추가되는 관계
-FK로 표시(단지 외래식별자의 역할만 함)
-점선으로 관계 표시
1. 일단 비식별 관계로 먼저 연결한다.
2. 자식 엔티티 입장에서 데이터를 생각해본다.
ERD 표기법(관계)
한 개의 XXX에 한 개의
여러 개의 XXX가 ~~다.
1) 1:1 관계
-한 명의 학과장은 한 학과에 속해 있다.( 1:1 )
-한 학과는 한 명의 학과장을 갖고 있다.( 1:1 )
2) 1:N 관계
-한 교수는 여러 개의 수업과목을 맡을 수 있다.( 1:N )
-한 수업 과목은 여러 교수에 배당될 수 있다.( 1:N )
-한 수업 과목은 한 교수에 배당된다.( 1:N )
-교수 - 수업과목 M:N(구현 불가능) 분석중요!!
3) M:N 관계
-덜 완성된 모습 (M:N관계는 해소해줘야 한다.)
-중간에<릴레이션 엔티티>가 들어가야 한다.-정교화를 통해 해소한다.
'DB모델링' 카테고리의 다른 글
DB모델링[2]_예제문제 (0) 2022.03.29