Data Base
-
데이터 모델링9 - 현실적인 논리 모델Data Base/관계형 데이터 모델링 2023. 9. 19. 13:04
개념 모델, 논리 모델, 물리 모델, 그리고 현실적인 논리 모델 본격적인 엔티티 모델링데 들어가기 전에 데이터 모델을 보는 3가지 관점인 개념 모델, 논리 모델, 물리 모델에 대해 좀 더 살펴보기 위해 모델링에서 다소 논쟁거리가 될 수 있는 주제 몇가지를 알아보자 이것에 대해 논의 하다 보면 자연 스럽게 이 모델들의 깊이를 이해하게 될 것이다. 3가지 모델의 교과서적 정리 '개념적'이라는 말의 뜻 때문에 오해할 여지가 있으나, 개념 모델은 개괄적이고 추상적인 모델이 아니다. 개념 모델은 모델을 상세화 하기 전에 1)주요 엔티티를 정의하고, 2)엔티티의 주 식별자와 주요 속성O(모든 속성X)까지 도출하여 3)엔티티 간의 관계까지 정리한 수준의 모델을 의미한다. 💡 tip) 목차의 존재이유 보고서나 책등 무..
-
데이터 모델링8 - 데이터 모델링은 2차원 표에 어떻게 데이터를 담을 것인지 고민하는 과정Data Base/관계형 데이터 모델링 2023. 9. 18. 17:56
데이터 독립성과 데이터 모델링의 실질적 정의 물리데이터와 논리데이터 모델을 우리말로 번역하면 모형 정도가 될 것이다. 모형은 사전적 의미 그대로 실물을 모방하여 간단하게 만든 물건이다. 그렇다면 데이터 모델의 실물은 무엇일까? 우리는 데이터라는 콘텐츠를 담을 그릇이 필요하 것이고, 이 그릇을 IT스럽게 얘기하면 구조 정도로 표현할 수 있을 테니, 실물은 결국 데이터의 저장 구조가 될 것이다. 따라서 우리가 만드는 모델은 데이터가 최종적으로 저장되는 구조를 백지 위에 네모 박스와 선으로 그린 그림이다. 윈도우에서 디스크 조각 모음을 해본 경험이 있다면, 사람이 파일시스템에서 정보의 최소 단위로 인식하는 파일이 실제로는 디스크의 여기저기에 물리적으로 흩어진 블록조각들의 모음이라는 사실을 이해할 것이다. 연속..
-
데이터 모델링7 - 범주화와 추상화Data Base/관계형 데이터 모델링 2023. 9. 18. 12:08
범주화와 추상화 데이터 모델링에 범주화(classification)와 추상화(abstraction)개념을 더하면 데이터 모델링이 무엇인지 훨씬 또렷해진다. 복잡한 현실 업무의 속성과 규칙을 모델로 정형화하려면 먼저 비지니스 문제 영역의 데이터를 관찰해서 그 안에 숨어 있는 유형과 관계를 찾아내야 한다. ERD와 같은 형태로 형상화하기 위해서는 문제 영역을 자연스럽게 일정한 크기의 덩어리로 나누게 되는데, 이 과정에서 범주화와 추상화 라는 개념이 필요하다. 1)범주화는 앞서 언급했듯 유사한 것들을 일정하게 묶는 프로세스며, 2)추상화는 문제 영역에서 가장 핵심적인 특성만을 추리는 과정이다. 💡tip) 추상화 관점 소프트웨어 공학 전반에서 중요한 개념으로 사용되는 추상화는 그 정의도 다양하다 다음 정리는 서..
-
데이터 모델링6 - 엔티티의 본질Data Base/관계형 데이터 모델링 2023. 9. 18. 11:10
범주화에 대한 흥미로운 실험 이 셋 중 관련이 더 높은 둘을 묶은 다면 어떤 것들을 묶을 것인가? 이 질문에서 동양인과 서양인의 반응이 극명하게 갈리는데 동양인은 바나나와 원숭이를 서양인은 판다와 원숭이를 묶는다. 이유는 간단하다. 동양인의 인식체계는 현상과 관계를 중시한다. 따라서 '원숭이는 바나나를 좋아한다.'라는 행위적 관점에서 바라보므로 이 둘이 더 밀접하다는 결론데 도달한다 반면 서양인의 인식 체계는 범주에 의한 분류, 사물의 본질을 중시한다. 여기서 본질(essence)은 사전적 의미 그대로 '대상의 가장 핵심적이고 필수적인 속성'을 뜻하낟. 그 결과 같은 포유 동물인 원숭이와 판다가 식물인 바나나보다 가깝다고 느낀다. 흥미로운 점은 동서양 문화와 철학, 언어, 교육적이 배겨에 기인한 이러한 ..
-
데이터 모델링5 - 데이터 모델링의 목표(OLTP,OLAP)Data Base/관계형 데이터 모델링 2023. 9. 15. 18:19
OLTP와 OLAP의 서로 다른 세계, 그리고 데이터 모델링의 목표 사실 앞선 게시물에서 사용한 디멘션과 팩트 개념은 데이터웨어하우스(Data Warehouse,DW)나 비지니스 인텔리전스(Business Intelligence,BI)라는 정보 분석 영역의 언어이다. 사실 앞선 게시글에서 살펴본 판매량 데이터 모델은 어떤 영역에서는 효율적이지 않은 구조일 수도 있다. 왜그런지 알려면 기관(기업)의 정보 흐름을 알아야한다. 데이터웨어 하우스에 대해 살펴보기전에 다음의 데이터를 성격과 목적에 따라 두 분류로 구분해보자 1. 은행 고객 A의 계좌 X의 잔액 (결과) 2. 이동통신 고객 B의 서비스 회선 010-1234-5678번의 최근 1년간 시간대별 통화량 (가공) 3. 제조회사 C의 상품 재고량 (결과) ..
-
데이터 모델링4 - 데이터 관점에서 모델링Data Base/관계형 데이터 모델링 2023. 9. 8. 15:57
디멘션 모델링, 데이터의 관점에서 모델링하다 표 4-1 다양한 관점에서 본 상품 판매량 2021년 지역 중분류 지역 소분류 상품 유형A 상품 유형B 상품 번호A0 상품 번호A1 상품번호 B0 상품 번호B1 강원도 춘천시 3 4 1 2 원주시 43 5 6 87 ... ... ... ... ... 경기도 ... ... ... ... ... ... ... ... ... ... ... 위 표는 한 회사의 상품 판매량 집계 결과이다. 표와 같이 판매데이터를 관리하려 하면 데이터 모델링을 어떻게 해야 할까? 표를 유심히 관찰해보면 각 셀의 값을 결정하는데 지역,상품, 기간(년도)이라는 3가지 정보가 영향을 주었음을 확인할 수 있다. 판매량을 집계하는 기준이 존재하는 것이다. 예를 들어 위 표 87이라는 값은 상품 ..
-
데이터 모델링3- 데이터 저장 구조Data Base/관계형 데이터 모델링 2023. 9. 8. 11:38
애플리케이션 화면과 RDB테이블은 다르다 애플리케이션 화면에서 주문은 체계적으로 조직화된 하나의 집합체로 보인다. 여러 개의 부분이 모여 전체를 이루고 있지만, 구조적으로는 주문서 한장으로 보인다. 데이터 모델링은 최종 사용자에게 보이는 하나의 집합체에서 데이터의 구조적인 '부분'을 분리하는 작업이다. 그림 3-2 애플리케이션 화면에 보이는 데이터가 RDB에 저장되는 모습 데이터 모델링에 대한 이론적 학습목표 하나의 집합체로 보이는 뷰에서 데이터 구조로서의 부분을 분리해야 하는 이유 부분으로서의 테이블(relation)을 분리하는 기분과 규칙 등 방법론 집합체(주문서)에서 각 부분과 그 저장 구조(분리한 테이블)를 고민하는 과정이 결국 관계형 데이터 모델링이다. 설문 데이터 모델링 예시 그림 3-3 간단..
-
데이터 모델링2 - 데이터 이해하기Data Base/관계형 데이터 모델링 2023. 9. 6. 14:28
업무를 이해한다는 것과 업무 데이터를 이해하는 것의 차이 어떤 회사의 구매 업무를 데이터 모델링한다고 가정해보자. 회사의 여러 부서에 필요한 상품,솔루션,소프트웨어 등을 구매하는 구매팀의 주요 업무 처리 절차인 메가 프로세스(mega process)는 다음과 같다. 1. 다른 팀으로부터 상품 구매를 의뢰받는다. 2. 구매팀의 상품 유형별 담당자가 상품을 판매하는 회사, 가격등에 대한 시장조사를 수행한다. 3. 후보 회사들과 협상이나 입찰을 통해 최종 구매 회사, 상품, 가격을 결정하거나,기업간 B2B 웹사이트에서 직접 주문하기도 한다. 4. 선정된 구매 건을 품의한다. 구매를 요청한 팀에도 이를 통보한다. 5. 품의 완결 후 업체와 구매 계약을 맺고 계약금을 지급한다. 6. 상품을 납품받으면 잔금을 지급..