1.엔티티 추출 하기

엔티티는 사람 ,조직 ,물건 ,설계, 돈 등과 같이 실체가 존재하는 것이다.

명사를 추출하고 ,유사한 내용끼리 그룹을 지어서 엔티티를 찾아낸다.

1)명사 정제하기

요구 사항으로 부터 명사만 나열하고 업무와 관련 된 사항만 추출한다.

다른 이름과 중복되지 않게,지나치게 길지 않게,의미 없는 수사를 붙히지 않는다.

학생: 학번 ,이름, 주소,생년월일,전공과목,전화번호,수강과목,지도교수
과목: 과목번호,과목명,과목개요,섹션
교수: 이름,전공 분야,보유 기술,지도 학생
학과: 학과명,학과 전화번호,학과장,학과 위치

2)명사 그룹 만들기

명사 끼리 그룹을 지으면서 , 다른 그룹에 속하는 단어들은 제거 한다.

**학생**: 학번 ,이름, 주소,생년월일,전화번호,~~전공학과,수강과목,지도교수~~
**과목**: 과목번호,과목명,과목개요,~~섹션~~
**교수**: 이름,전공 분야,보유 기술,~~지도 학생~~
**학과**: 학과명,학과 전화번호,~~학과장~~,학과 위치

3)엔티티 추출하기

섹션은 과목이라는 엔티티가 존재 하지 않는 다면 없어지게 된다. 이를 약한 엔티티라고 한다.

4)엔티티에 대해서 정의 내리기

5)엔티티 표기하기

ER 다이어 그램으로 엔티티를 표기한다.

2.관계 설정 하기

데이터 베이스는 연관된 데이터의 만남이므로 , 즉 관계가 정의 되지 않으면 엔티티들은 서로 아무런 정보를 줄수 없다.

2)관계 설정

3)카디널리티

카디널리티는 특정 테이블의 유니크한 값의 개수를 의미한다.

테이블의 카디널리티

고객ID 이름 이메일
1 홍길동 [email protected]
2 김유신 [email protected]
3 이순신 [email protected]
4 홍길동 [email protected]

이 테이블의 카디널리티는 고유한 고객ID의 수로 계산할 수 있다. 위의 예에서 고객ID는 1, 2, 3, 4로 총 4개의 고유한 값이 있으므로, 이 테이블의 카디널리티는 4이다.

속성의 카디널리티

위 테이블에서 이름 속성으로 카디널리티를 결정한다면 고유한 이름은 홍길동, 김철수, 이영희로 총 3개 이다. 따라서 이름 속성의 카디널리티는 3이다.

SQL 쿼리를 사용한 카디널리티 계산

SELECT COUNT(DISTINCT 이름) FROM 고객;

관계의 카디널리티

두 테이블의 관계에서 카디널리티는 일반적으로 두 엔티티의 대응 유형과 수(대응하는 원소수)를 의미한다.

KakaoTalk_20220516_112525605.jpg

관계 표시하기

KakaoTalk_20220516_112525677.jpg

3.에트리뷰트(속성) 결정하기

엔티티는 반드시 하나 이상의 키 속성(애트리뷰트)를 갖고 있어야 한다.