Data Base/관계형 데이터 모델링
-
데이터 모델링29 - 데이터 표준화는 모델링의 과정이다2Data Base/관계형 데이터 모델링 2023. 9. 28. 15:34
데이터 표준화가 지켜지지않아 일어나는 성능 저하 그림 13-2 데이터 타입의 특성 때문에 실제 저장된 값이 달라진다. 데이터 표준화의 목적은 단순히 용어의 통일과 일관성만이 아니다. 표준 미준수는 성능 저하와 시스템 장애의 직접적인 원인이 되기도 한다. [그림 13-2]의 사례는 조인할 두 테이블 a와b의 연결고리인 컬럼의 데이터 타입이 서로 다른 경우다. 컬럼명과 저장된 값이 같음에도 불구하고 원하는 결과를 얻을 수 없다. 원인은 오라클DBMS의 CHAR타입의 특성 때문이다. CHAR는 고정 길이 타입으로, 정의된 깅이 미만의 값이 들어오면 나머지는 공백으로 채운다. 따라서 1234와 1234⌈ ⌋는 일치하지 않는 값으로 처리되어 원하는 결과를 얻기 못하는 것이다. 그림 13-3 값이 값아도 형변환이 ..
-
데이터 모델링28 - 데이터 표준화는 모델링의 과정이다1Data Base/관계형 데이터 모델링 2023. 9. 28. 14:51
표준과는 모델링과 별개의 영역이 아닌 속성 모델링 과정이다. 데이터 모델에서 속성은 무엇일까? 속성은 데이터가 저장되는 최소 단위며, RDB이론에는 '속성에 단일 값(single value)이 담겨야 한다'고 되어 있다. 또한 속성은 엔티티 특징이나 본직적인 성질 등을 명세한다. 관리하려는 값의 단위를 더 세분화 할지, 값의 성격의 맞는 속성명은 무엇일지,데이터 유형은 어떤 것으로 정할지, 속서에 들어올 수 없는 값 같은 제약 등을 고민하고 결정하는 과정이 속성 모델링이다. 이와 같은 속성 모델링 과정은 결국 속성 수준의 메타데이터(용어)를 정의하는 데이터 표준화 작업에 해당한다. 따라서 표준화는 데이터 모델링의 한 부분임을 이해하고 속성 모델링의 과정으로서 충실하게 다루어야 할 것이다. 데이터 표준화의..
-
데이터 모델링27 - 데이터 집합의 분리, 확장, 통합3Data Base/관계형 데이터 모델링 2023. 9. 28. 13:47
집합 형태의 최종 결정 데이터 집합을 크게 묶어서 통으로 가져갈지, 아니면 필요에 따라 구체적인 여러 개로 나눌지 결정하는 일은 어렵다. 예를 들어 사람을 하나의 집합으로 관리할지, 남자/여자로 나눌지, 유러피안/아시안/아프리칸 으로 분리할지, 그것도 아니면 남자+아시안/남자+유러피안/남자+아프리칸/여자+아시안/여자+유러피안/여자+아프리칸과 같이 개별 관점의 조합(2*3) 수 만큼으로 분할하지 결정하는 것은 대단히 어렵다. 다만 집합을 어떤 형태로 분리하든 그 덩어리 집합의 정체성이 명확하만 하다면 충분히 엔티티로서의 가치를 지닐 것이다. 문제는 그렇게 정의한 단위 집합이 얼마나 합리적이냐 하는 것이다. 모델링에서 이 단계가 가장 어려운 이유는 합리성이 인간의 종합적인 분석력,사고력,통찰력을 필요로 하기..
-
데이터 모델링26 - 데이터 집합의 분리, 확장, 통합2Data Base/관계형 데이터 모델링 2023. 9. 28. 11:27
엔티티 통합과 테이블 통합 엔티티 내부를 들여다보면 서브타입은 엔티티가 어떠한 개체 유형들의 집합인지 상세히 규명하는 도구로 활용될 수 있음을 확인했다. 서브타입에 대해 고민하다 보면 통합의 결과로서 서브타입을 포함한 큰 집합이 만들어지는 것인지, 아니면 집합을 분할하기 위해 서브타입을 기준으로 분리해야 하는 건지 모호할 때가 있다. 집합의 통합과 분리를 이야기할려면 앞서 언급한 논리 모델과 물리 모델의 경계, 그리고 엔티티 통합과 테이블 통합을 구체적인 기준을 가지고 구분해야한다. 먼저 논리모델과 물리 모델을 통합과 분리라는 관점에서 다시 살펴보자 테이블, 파티셔닝 수준의 물리 모델링 단계에서 반드시 수반되는 것이 논리 모델의 수정이다. 논리 모델은 업무에서 어떤 데이터가 어떻게 발생하고 존재하는지 인..
-
데이터 모델링25 - 데이터 집합의 분리, 확장, 통합1Data Base/관계형 데이터 모델링 2023. 9. 27. 17:37
집합의 통합과 분리에 대한 기초적 이해 그림 12-1 데이터의 성격, 정체성, 주제가 동일하지만 별도 엔티티로 분리된 모델 주변에서 흔히 볼 수 있는 개별 구체적 집합으로 분리된 엔티티들을 통해 집합의 통합과 분리에 대한 기본적인 이해를 도우려한다. [그림 12-1]은 실제 업무에서 작성된 모델을 데이터 아키텍트(DA)가 검증 후 정제하도록 가이드한 사례다. 이 사례는 기업 간 기술 인수 혹은 이전을 위한 거래 정보를 대시보드 형태로 관리하는 모델이다. 거래할 기술을 등록하여 수요 기업과 공급기업이 정보를 공유하기 위함인데, 구조를 살펴보면 엔티티 사이에 배타적 관계가 존재함을 쉽게 확인할수 있다. 쉽게 말해 하위 엔티티가 개체화 되었을때 실제 부모로 가질수 엔티티는 부모로 가지고 있는 여러 엔티티중 하..
-
데이터 모델링24 - 엔티티 모델링의 어려움을 극복할 방법론과 전략3Data Base/관계형 데이터 모델링 2023. 9. 26. 17:54
서브타입과 E-R패턴 3 그림 11-14 두 개의 서브타입셋이 공존 그림 11-15 하나의 주요 관점으로 묶은 모습 하나의 엔티티에 서브타입셋(관점,차원)이 2개 이상인 경우 서브타입을 어떻게 바라보아야 하는지 정리해보자. [그림 11-14]의 엔티티에는 와 라는 두 서브 타입셋이 공존한다. 혹자는 이처럼 여러 개의 서브 타입이 존재하는 모델은 잘못된 것이라고 주장하기도 한다. 슈퍼타입인 에 서브타입인 를 엔티티화 할 경우 거주나 주소에 대한 여타다른 속성을 갖는 엔티티가 될 가능성이 내포된다. 그러므로 엔티티로 분리하였을때 다른 속성들이 포함될 여부가 적은 를 엔티티로 분리하고 해당 엔티티의 속성으로 를 넣는것이 바람직하다. 그래서 하나의 주요 관점으로 묶어 [그림 11-15]처럼 표현하는 것이 적절하..
-
데이터 모델링24 - 엔티티 모델링의 어려움을 극복할 방법론과 전략3Data Base/관계형 데이터 모델링 2023. 9. 26. 16:22
서브타입과 E-R패턴 2 그림 11-9 배타적 나눔의 예 그림 11-10 E-R 패턴 #2 - 집합의 중첩 나눔 예) 사원의 직군(겸직 가능) 이제부토 집합의 중첩(비배타적,inclusive)나눔에 의해 만들어지는 두 번째 E-R 패턴을 살펴보자. 직급과 달리, 역할(직무)에 따라 분류해보면 나뉜 집합 간에 중첩이 생기는 것을 확인 할 수 있다. 예를 들어 프로젝트 이해관계자의 역할을 *PM, *PL, 설계/개발자로 간단히 나눌 경우 PL 중 설계/개발을 함께 수행하는 인력을 적지 않게 찾아볼 수 있다. 이러한 분류 데이터를 담으려면 [그림 11-10]과 같은 구조로 표현해야 한다. *PM(Project Manager) : 소프트웨어 프로젝트 모든 관리 업무를 책임지는 사람, 외부 팀과 인터페이스를 담당..
-
데이터 모델링23- 엔티티 모델링의 어려움을 극복할 방법론과 전략2Data Base/관계형 데이터 모델링 2023. 9. 26. 15:04
서브타입과 E-R패턴 1 서브타입을 중심으로 집합을 나누거나 묶어보며 E-R패턴(E와 R은 엔티티와 엔티티들 사이의 관계(Relationship)로, ERD에서의 그것과 동일하다.)이라는 5가지 데이터 모델 유형을 확인해보려 한다. 그림 11-5 RDB이론에서의 속성, 튜플, 관계(Relation) RDB에서의 'R'은 Relationship이 아닌 Relation의 R이다. Relation은 1970 코드(E.F Codd)박사가 발표한 "A Relational Model of Data for Large Shared Data Banks"라는 논문에서 소개한 주제로 '데이터를 2차원 표 구조로 표현하고 관리한다'고 말할 때의 "표"에 해당하는 개념이다. 종종 관계형 데이터베이스를 잘못해석하는 것을 목격할 ..