ERD를 그려야 할 때 보통은 프로그램을 설치해서 썼었다
최근에 ERD 그려야 할 일이 생겨서 서치하다가 발견했다
ERD 그리기 수월하고 편하다
ERD(Entity Relationship Diagram)란
개체-관계 모델
데이터 모델링 분야에서 개체-관계 모델이란 구조화된 데이터에 대한 일련의 표현이다
`구조`화된 데이터를 저장하기 위해 데이터베이스를 쓴다 이 데이터의 `구조` 및 그에 수반한 제약 조건들은 다양한 기법에 의해 설계될 수 있다 그 기법 중 하나가 개체-관계 모델링이다
개체(Entity)
실세계에 존재하는 다른 객체와 구별되는 유무형의 사물
개체를 설명하는 여러 속성들로 구성
관계(Relationship)
개체와 개체 사이의 연관성
속성
개체를 구체적으로 설명하는 특성
- 단순 속성과 복합 속성
- 단일값 속성과 다중값 속성
- 유도 속성과 저장 속성
- 널(null) 속성
① 단순 속성과 복합 속성
⑴단순 속성
더 이상 작은 구성요소로 나눌 수 없는 속성
ex) 학생이름, 성별, 나이
박데브, 남성, 20
⑵복합 속성
더 작은 구성요소로 나눌 수 있는 속성
ex)생년월일(년월일)
② 단일값 속성과 다중값 속성
⑴단일값 속성
한 개체에 대해 단 하나의 값만을 갖는 속성
ex)학생이름, 생년월일
⑵다중값 속성
한 개체에 대해 여러 개의 값을 갖는 속성
ex) {전화번호}
③ 유도 속성과 저장 속성
⑴유도 속성
다른 속성의 값으로부터 값이 유추될 수 있는 속성
ex) 나이()
현재 년도에서 생년월일 빼면 나오는 나이 속성
⑵저장 속성
유도 속성을 위해 사용될 수 있는 속성
ex)학생번호, 학생이름, 생년월일, 전화번호
④ 널(null) 속성
아직 결정되지 않았거나 존재하지 않는 값을 가진 속성 (공백, 0과는 다름)
제약 조건
데이터 모델은 데이터, 의미, 구조, 연관성 및 데이터의 조건을 표현하기 위한 도구
ER 모델은 개체와 관계에 대한 표현의 정확성을 위해 데이터가 항상 준수해야 하는 제약조건을 정의할 수 있는 방법을 제공
제약 조건 종류
- 사상수
- 참가 제약조건
- 키 속성
① 사상수
관계 집합에 참가한 개체 집합들에 대해 각각의 개체가 얼마만큼의 관계를 맺을 수 있는지 명시한 수
(화살표가 있으면 1)
⑴일대일
⑵일대다
⑶다대다
② 참가 제약조건
⑴전체적 참가
어떤 개체 집합의 모든 개체가 관계 집합에 참여 하는 조건
(=> <= 이중선으로 표시)
⑵부분적 참가
어떤 개체 집합의 일부 개체가 관계 집합에 참여 하는 조건
(→ ← 홀선으로 표시)
모든 강좌는 반드시 강의하는 교수가 존재한다
모든 교수가 강의를 하지는 않는다
③ key 속성
각 개체를 구별하는데 사용되는 유일한 값을 가지는 속성의 집합
개체를 고유하게 구분하는 역할
관계 집합의 특정 관계를 찾는 역할
⑴특수 속성과 관계
ⓐ관계 집합의 속성: 두 개체 집합의 관계에서 생성되는 값을 저장하는 속성
`고객`이 `주문`을 한다면 `주문 시각`이라는 관계 집합이 생길 수 있다
ⓑ재귀적 관계: 한 개체 집합이 자기 자신과 관계 집합을 형성하는 관계
⑵특수 개체와 관계
ⓐ약한 개체 집합
개체의 존재 유무가 관계를 맺고 있는 개체의 존재에 종속되는 개체 집합
ⓑ강한 개체 집합
약한 개체 집합과 연결되는 일반 개체 집합
=> 강한 개체가 삭제되면 약한 개체도 삭제된다
이렇게 편하게 그릴 수 있다!
'ETC' 카테고리의 다른 글
[#. ETC] Github와 Slack 연동하기 (0) | 2021.06.24 |
---|---|
[#. ETC] modulo 연산 사이트, 약수 구하기 사이트, 확장된 유클리드 알고리즘 사이트 (0) | 2021.05.24 |
[#. VSCode] Mac에서 VSCode 제거하기, 삭제하기 (0) | 2021.03.23 |
[#. ] 프로그램 설치 없이 블러, 모자이크 Blur Pixelize 기능 사용 후 저장 가능한 웹사이트 facepixelizer (0) | 2021.02.09 |
[#. ] CSR(Client Side Rendering)과 SSR(Server Side Rendering)이란? 차이점 (0) | 2021.01.19 |