1. 개념적 데이터 모델링 소개
Entity Relationship Diagram
1. 필터: 현실에서 개념을 추출하는 일종의 필터
2. 언어: 개념에 대해서 다른 사람들과 대화하게 해주는 언어
복잡하고 지옥같은 현실 세계에서 개념을 뽑아 낸다는 것은 무척이나 어려운 일입니다. ERD는 현실을 3개의 관점으로 간단하게 바라 볼 수 있는 기능을 제공해 줍니다. 현실로 부터 개념을 인식하는 도구이면서 그것을 다른사람도 알아 볼수 있게 표현하는 도구입니다. ERD의 기능중 하나는 이로부터 매우 쉽게 표로 전환 할 수 있다는 것입니다. ERD까지만 만들면
1). 정보
정보를 발견하고 이것을 표현할 수 있게 도와줍니다.
2). 정보그룹(entity인가?)
서로 연관된 정보를 grouping해서 인식하고 이것을 다른 사람들에게 표현 할 수 있게 해줍니다.
3). 정보 그룹 관계
정보 그룹 사이의 관계를 인식하고 그것을 다른 사람에게 표현할 수 있게 해줍니다.
2. 관계형 데이터베이스 다운 개념의 구조
ERD 작성하기
위의 기획서를 바탕으로 해서 ERD를 작성하기에 앞서서 연관된 정보들을 묶어 주는 큰 덩어리부터 찾아봅니다. 그래서 오른쪽과 같이 두가지 모델을 얻을 수 있는데, 이중에서 관계형 데이터 베이스와 어울리는 모델이 2번째 것입니다.
첫번째 모델은 왼쪽에 표로 표현을 할 수 있는데, 첫번재 표는 가능하지 않는 표이고, 아래 표는 가능은 하나, data를 무분별하게 하용하게 된다던지 하는 중복의 문제가 발생 할 수 있습니다.
이것을 주제에 따라서 테이블을 나눌 수 있습니다. 이렇게 나뉜 테이블을 중복의 문제가 덜하며, 각각 필요할 때 사용할 수 있으므로, 효율적으로 data를 사용할 수 있습니다. 또한 그때그때 필요에 따라서 join과 같은 것을 사용하여 data를 가공하고 붙여서 사용할 수 있습니다. 그래서 첫번째 모델보다는 동등한 위치를 가지는 두번째 모델이 관계형 데이터베이스 모델링에 적합합니다.
3. ERD의 구성요소
이렇게 찾아낸 개념을 개념적 모델링, ERD에서는 Entity라고 합니다.
Entity
여기에서 글쓴이의 경우에는 속성으로 하기가 조금 애매할 수 있습니다. 글쓴이는 글쓴이 자체가 가지는 속성들이 있습니다. 그렇기 때문에 글의 속성이라고도 할 수 있지만 다른 Entity로 분류하는게 더 좋을 것 같습니다.
Entity간의 관계
4. Entity의 정의
이 둘간의 관계를 원인과 결과의 관점에서 생각해 볼 수 있습니다. 정보를 입력하는 ui가 원인이 되어서 database가 변경되는 결과를 낳을 수도 있고, Data라는 원인에 의해서 ui에 내용이 표시되는 결과가 됩니다. ui과 database는 상호간에 원인과 결과의 관계 있습니다. 그렇기 때문에 상호간의 원인과 결과를 순차적으로 점검하지 않는다면 좋은 모델링이 나오기 어렵습니다. 그렇기 때문에 기획자와 구현자가 다르다면, 데이터 모델링까지는 최소한 함께 동행하는 것이 이상적일 것입니다. 데이터 모델링은 기획에 기획은 데이터 모델링에게 놓치지 않는 틈이 있는 것 같습니다.
기획서를 통해서 제일 먼제 해야하는 것은 Entity를 추출하는 것입니다. Entity를 추출하고, 그에 연관된 데이터들을 grouping하고 따른 구성요소를 찾는 것은 위와 같이 읽는 것에서는 찾기 힙들다고 합니다. 쓰기와 관련된 page에서 더 쉽게 찾을 수 있습니다.
Entity 정의
5. 속성 정의
'컴퓨터 프로그래밍 > 관계형 데이터 모델링' 카테고리의 다른 글
관계형 데이터 모델링_업무파악 (0) | 2020.06.16 |
---|---|
관계형 데이터 모델링_전체흐름 (0) | 2020.06.16 |