DATOR


천천히 가는것이 빠른 것이여~

내가 내가 아니야. 내 목소리가 내 목소리가 아니야. 내 말이 내 말이 아니야. 내가 들어도 들은 것이 아니야. 내 생각이 내 생각이 아니야. 내 마음이 내 마음이 아니야. 내가 내가 아닐 수도 있겠군. 어느 봄날 점심시간. 순간 철학자가 되었다. 내가 말하는 목소리와 녹음한 목소리가 다르다는 것에 대하여 동료와 이야기를 나누다가 꼬리에 꼬리를 물고 생각의 파장이 확장되었다. 위 시를 한줄 한줄 음미해 보면 왠지 철학자? 도사?가 된것 같다. 내가 내가 아니다 ? 한번쯤 고민해 볼 화두 인것 같다. 우리말은 참으로 오묘하여 이치에 맞지 않는 ...

» More

입출고.In/Out.수량관리

데이터의 입력, 출력을 살펴 본다. 데이터 모델링을 하면서 가장 난해한 부분은 이벤트, 트랜잭션과 같은 테이블을 설계하는 일인것 같다. 마스터 데이터들은 집합의 개체가 구체적으로 정의되어 있고 고유의 특성을 표현하는 속성들도 구체적으로 알 수 있다. 데이터가 많이 발생하고 빈번한 트랜잭션을 관리하는 테이블들은 구조만을 갖고서는 도대체 어떻게 데이터를 관리하고 있는지 그 속내을 알아 채기가 쉽지 않다. 대부분 시스템에서는 입력과 출력, Input과 Output에 대한 이벤트를 관리하는 테이블들이 하나씩은 있을 것이다. 대표적인 것들이 재고관리에서 ...

» More

자판기 데이터모델 시나리오 #2

자판기와 관련된 데이터 모델을 설계해 봅니다. ( 계속 ) 두번째는 주어진 사물에 대한 추상화를 통해서 개념적으로 재 구성해 보는 방식을 택할 것이다. 단순하고 확장성이 보장된 형태이다. 이해를 돕기 위해서 재료를 투입하는 것을 좀 단순하게 표현해 보도록 한다. < 두 번째 모델링 : 개념적 추상화 > [그림 1] 첫번째 모델링에서와 동일한 자판기 실물과 개념도이다. 그러나 이제 데이터 모델이 좀 바뀌었다. 가장 큰 특징은 자판기슬롯 엔티티에 "슬롯번호"라는 속성일 것이다. 자판기의 콜라, 사이타, 커피를 꽂을 수 있는 투입구를 속성으...

» More

자판기 데이터모델 시나리오 #1

자판기와 관련된 데이터 모델을 설계해 봅니다. < 목적> 우리 주변에서 있는 사물들에서 발생하는 이벤트를 데이터 모델로 어떻게 형상화 되는지 살펴 본다. 데이터의 입력/출력, 입고/출고, Input/Output이 어떻게 구현될 수 있는지 살펴 본다. 보이는 대로 모델링 방식과 추상화한 모델링의 방식을 살펴본다. < 시나리오 > 우리가 관리하는 자판기는 여러 종류가 있다. 자판기에서 판매하는 재료는 음료수캔, 커피, 과자, 생활용품 등이다. 어떤 자판기는 음료수캔 재료만을 취급하지만 , 복합 자판기는 음료수 + 커피 + 생활용품을 모두 다룰 수 있다. 자판기에 재...

» More

REGEXP.토큰파싱.가로세로.행열.in변수

가로데이터 <==> 세로데이터 데이터를 다루다 보면 가로를 세로로, 세로를 가로로, 자유롭게 변환해야 하는 경우가 있다. 가로로 배열된 형태의 1건 데이터를 세로 ROW형태로 M건 생성하는 사례를 살펴 본다. 데이터 이행, 프로그램작성, 데이터조작, 엑셀가공 등 활용할 기회가 많이 있으니 몇개 정도는 이곳에 기록해 놓고 두고두고 사용하려 한다. 이런 SQL을 외우기는 힘들다. Copy해서 내것으로 만들자. Input 문자 : 1개의 컬럼에 4개의 정보가 있다. 각 문자는 " , " 구분자로 분리되어 있다 A,BB,CCC,DDD Output 문자 : 정보갯수 (토큰수) 만...

» More

부모~ 테이블 찾기

부모 테이블은 어디 있는 거야 ? 관련된 테이블이 있어야 되는데 어디 있지 ? 현재 운영 중인 테이블들을 살펴보면 수상한 테이블들을 종종 발견하게 된다. ASIS 테이블들을 리버스하여 분석하다 보면 " 헉 ~ 세상에 데이터를 이렇게 정의하여 사용하기도 하는구나 ! " 하면서 깜짝 놀라곤 한다. 어떤 테이블은 경악을 금치 못할 정도로 실망스럽기도 하고, 어떤 테이블은 혀를 내두를 정도로 복잡하게 데이터 처리를 하기도 하며, 어떤 것은 와우~ 모델러가 깜짝 놀랄 정도로 한수 배울수 있도록 데이터 로직을 처리하기도 한다. 아마도 관계형 데이터 모델...

» More

모델링 빠름 빠름

빠름 ~ 빠름 ~ 데이터 모델러에겐 여러가지 재능이 필요하다. 요즘에는 필요한 능력중에서 속도전이 매우 중요함을 실감하고 있다. 어느 선전 문구에서 빠름 ~ 빠름을 강조하고 있듯이 데이터 관련 작업들에는 빠름이 필요한 상황이 많이 있다. 빠름 하면 언듯 떠오르는 데이터 분야가 SQL 튜닝일것이다. 몇초를 줄이기 위해서 다양한 DB기법, 인덱스, SQL사용이 적용된다. 가끔은 SQL을 작성하거나 프로그램을 작성할때도 1인당 작업해야할 본수에 따라서 1일에 몇개의 프로그램을 작성해야 하는 경우가 있다. 데이터 마이그레이션 작업시에도 기계적으로 타이핑 하...

» More

Simple 룰/규칙/조건 테이블 구현

이런 조건 형태의 테이블과 데이터를 경험 한 적이 있나요? 독특하고, 신선하게(?) 사용되고 있는 테이블 형태를 하나 소개 하고자 한다. 나는 이런 유형의 테이블을 "컬럼형태 조건" 테이블이라고 부른다. "조건"이라는 명칭이 붙으면 머리부터 지끈 거리기 시작한다. 지금까지 보아온 로직을 처리하기 위한 테이블들은 테이블의 정의, 성격, 의미를 파악하는 것보다 데이터의 발생과 활용하는 방법이 더욱 중요하다. 아무리 논리모델에 정의를 상세히 표현하고 속성에 설명을 장황하게 설명해 놓아도 정확한 테이블의 활용법을 알 수 없는 경우가 많다. 이런 류의 테...

» More

만능 테이블 (User Define Table) #2...

사용자 정의 형태의 테이블 활용 사례를 살펴 보자. 1. 잡동사니 형태의 테이블 통합하기. 온라인에서 판매하는 상품을 생각해 보자. 쇼핑몰에는 온 세상에서 판매 할 수 있는 모든것을 관리하고 있다. 때문에 상품에 따라 공통점이 전혀 없는 특성(속성, 프로파일)들이 존재한다. > 자동차를 판매한다면 연식, 차량번호, 제조년도, 배기량, 색상, 도어갯수, 좌석수 등 > 잠바를 판매한다면 성별구분, 사이즈, 색상, 계절, 재질 등 > 케익을 판매한다면 주성분, 기한일자, 생크림여부, 크기, 모양 등 > 아파트를 판매한다면 평수, 방갯수, 화장실갯수, 건설사, 시공...

» More

만능 테이블 (User Define Table) #1...

테이블이란 무엇인가 ? 10여년을 SELECT * FROM , UPDATE, DELETE 등의 SQL을 날리면서 사용하여 왔으며 지금은 여러 고객사에서 개발자, 설계자들과 함께 테이블을 설계하고 있으면서도 문득 테이블은 뭐지 ? 라는 질문을 던져 보곤 한다. 뭐 거창하게 데이터 모델에서 정의하는 멋진 문구가 생각나지 않아도 된다. 지금 당장 나의 머리속에 떠오르는 것은 ~ 데이터를 저장하는 공간 !. 그럼 왜 저장하고 있는 것일까 ? 저장이라는 행위가 나중에 써 먹기 위해서 특정한 곳에 모아서 간수하느 것이다. 그럼 나중에 써먹기 위해서 아무렇게나 저장해...

» More