2021. 4. 12. 16:13ㆍOracle 공부
이번에는 개념적 데이터 모델링에 대해서 알아 봅시다
※ 원래는 개념을 Day40 일에 한번에 정리하려고 했는데, 생각이 바껴서 따로따로 하는게 나을 것 같습니다.
개념적 데이터 모델링
개념적 데이터 모델링은, 데이터를 파악하고 데이터들의 관계를 설계하는 단계 입니다.
이번에는 이론 뿐 아니라 실습도 같이 해봅시다.
포털 사이트에 "draw io" 를 검색 해 줍시다. ( 구글 로그인 )
※ 툴은 아무거나 자기가 원하는 거 사용하면 됩니다.
맨 위에 나오는 사이트를 클릭하면 아래와 같은 화면이 나올텐데,
Create New Diagram 눌러주시면 됩니다.
그러면, 아래와 같은 화면이 나오는데, 여기서 원하는 다이어그램을 선택하면 되는데요,
저희는 ERD (Entity Relationship Diagram) 을 만들 겁니다.
그러면 아래와 같은 화면이 생성이 되는데요 중간에 있는 애들은 일단 지워주세요
마우스 드래그로 선택하고 delete 눌러주면 됩니다
그리고, 왼쪽에 있는 도형으로 네모 박스를 만들어 주세요
개체(entity) -> 네모 ( 데이터베이스의 테이블 )
속성(attribute) -> 동그라미 ( 데이터베이스의 컬럼 )
관계(relation) -> 마름모
먼저 아래와 같이 entity 를 만들어 줍시다.
entity가 가진 attribute 들을 만들어 줍시다
그리고, 관계를 설정해 주는데,
관계 차수 (Cardinality)
관계 차수란, entity 간의 관계를 나타날 때 몇 대 몇으로 나타냅니다
아래 그림 참조.
Optionality
Optionality란, entity 간의 선택, 필수 를 나타냅니다
아래 그림 참조.
※ 부서는 직원에게 꼭 있어야 하고, 직원에게 부서는 없어도 된다.
즉. 부서는 직원에게 필수 , 직원에게 부서는 선택
선을 더블클릭하면 관계를 지정할 수 있음.
그 다음 릴레이션을 지정해 줍니다.
여기에 있는 회원, 글, 댓글 과의 관계는 전부 1:N 이었습니다.
그래서 1:1 관계와 N : M 관계를 추가해 주겠습니다.
하나의 관리자는 꼭 하나의 회원이어야 하죠 -> 필수적 참여 , 1
하나의 회원은 관리자가 될 수도 있고 안 될 수도 있고 -> 선택적 참여 , 1
하나의 관리자와 하나의 회원은 1:1 관계
하나의 회원은 여러개의 강의를 수강 할 수도 있고 아닐수도 있고 -> 선택적 참여 N
하나의 강의는 여러개의 회원이 수강 할 수도 있고 아닐수도 있죠? -> 선택적 참여 M
하나의 회원과 하나의 강의는 N:M 관계
그런데, 여기서. N : M 은 중간에 맵핑 테이블을 만들어 주어야 합니다. (중요)
그 이유는, 실제 데이터베이스에서 테이블을 구현 했을 때 서로 조인을 못합니다.
정리해서 아래와 같이 만들어 주면 됩니다.
※ 기본키가 될 attribute 는 밑줄
이렇게 개념적 데이터 모델링에 대해서 알아 보았습니다.
고생 하셨습니다
'Oracle 공부' 카테고리의 다른 글
Day40 - 정규화 (0) | 2021.04.12 |
---|---|
Day40 - 논리적 데이터 모델링 (0) | 2021.04.12 |
Day39 - 데이터 모델링 (0) | 2021.04.12 |
Day39 - 권한, 사용자 계정 생성, 수정, 삭제 (0) | 2021.04.09 |
Day38 - index (0) | 2021.04.08 |