///////
Search
🏓

DB설계

1. DB 설계 _ 221012 김준호

1. 요구사항 분석

업무를 시작하기 전에, 해당하는 업무에 대해서 파악하는 단계.
데이터베이스를 사용해 실제 업무를 처리하는 사용자에게 필요한 데이터의 종류와 처리 방법 같은 다양한 요구 사항을 수집하고 이를 분석한 결과를 요구 사항 명세서로 작성한다.

2. 개념적 설계

일의 데이터 간의 관계를 구상하는 단계이며, 요구 사항 분석 단계의 결과물인 명세서를 가지고 시작한다.
사용자의 요구 사항을 개념적 데이터 모델을 이용해 표현합니다. 핵심 엔터티와 그들간의 관계를 발견하고, 그것을 표현하기 위해서 엔터티-관계 다이어그램(ER 다이어그램)을 생성합니다.

3. 논리적 설계

개발에 사용할 DBMS에 적합한 논리적 데이터 모델을 이용해 개념적 설계 단계에서 생성한 개념적 구조를 기반으로 논리적 구조를 설계합니다. 즉, 구체화된 업무 중심의 데이터 모델을 만들어내야 합니다.
업무에 대한 Key, 속성, 관계등을 표시하며, 정규화 활동을 수행합니다.
정규화는 데이터 모델의 일관성을 확보하고 중복을 제거하여 신뢰성있는 데이터 구조를 얻는데 목적이 있습니다.

4. 물리적 설계

데이터베이스의 물리적 구조는 데이터베이스를 저장 장치에 실제로 저장하기 위한 내부 저장 구조와 접근 경로 등을 의미합니다. 데이터 베이스를 선택하고, 실제 테이블을 만드는 작업입니다.
코드 예시 1
코드 예시 2

Entity

Entity는 정의 가능한 사물, 실체, 객체 실무론으로는 앤터티라고 부른다.
Database에서 Table을 의미한다.

Entity Attribute

각각의 Eintity에는 속성을 포함하며, 필드(컬럼)명을 쓰면 된다.
엔터티(Entity) : 업무에 필요, 데이터를 저장 및 관리하는 테이블을 의미
속성(Attribute) : 엔터티의 한 부분으로서 업무에 필요하고 최소값의 단위를 의미. 필드(컬럼)명이라고 이해하면 된다.
도메인(Domain) : 속성의 값, 타입, 제약사항 등에 대한 갑의 범위를 표현.

Entity 분류

구분
내용
예시
유형 엔티티
물리적인 형태
고객, 상품, 거래처 등
무형 엔티티
물리적인 형태가 없고 개념적으로만 존재하는 엔티티
인터넷 장바구니 등
문서 엔티티
업무 절차상에서 사용되는 문서나 장부, 전표에 대한 엔티티
거래명세서, 주문서 등
이력 엔티티
업무상 반복적으로 이루어지는 행위나 사건의 내용을 일자, 시간별로 저장하기 위한 엔티티
입고 이력, 출고이력, 구매이력 등
코드 엔티티
무형 엔티티의 일종으로 각종 코드를 관리하기 위한 엔티티
국가코드, 각종 분류 코드