클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

데이터베이스 기본 1 - 데이터 모델링과 논리적 모델링 본문

알고리즘 및 자료 관리/데이터베이스

데이터베이스 기본 1 - 데이터 모델링과 논리적 모델링

huenuri 2024. 8. 21. 14:54

5월 28일 둘째날 수업의 내용을 정리해본다. 잠시 들어보니 서론 없이 바로 데이터 모델링으로 들어가는 것 같다. 책보다 좀더 깊이있는 데이터베이스 수업인 것 같아 기대가 된다.

그럼 기본 학습에 들어가보자!


 

 

1. 데이터 모델링이란?

 

관계(Relationshiop)

두 엔터키 사이에는 어떤 관계가 있을까?

대여라는 관계가 생성된다. 학생은 도서관에서 책을 빌릴 수 있고, 책은 학생에게 대여된다.

 

 

ERD(Entity Relationship Diagram)

ERD는 엔터티(Entity)와 엔터티 간의 관계(Relationship)을 발견하고 이를 그림(Diagram)으로 표현한 것이다.
개념적 모델링의 최종 산출물이라고 할 수 있다.

 

ERD 그리는 순서

사각형으로 엔터티를 그리고, 중요한 엔터티는 왼쪽 상단에 배치한다.

현업에서는 선으로 모든 것이 설명되므로 생략하는 경우가 많다.

이를 해석할 수 있어야 하는데 왼쪽부터 오른쪽으로 진행된다. 이 예시에서 보면 1:N 관계이다.

학생은 책을 여러번 빌려갈 수 있다.
책은 학생 한 명에게만 빌려진다.

학생은 꼭 책을 빌리지 않아도 상관 없으니 다음의 단계가 필요하다.

1은 반드시 참여해야 하고, 0은 안 빌릴 수도 있다는 것이다.

학생은 책을 0권, 1권, 다수를 빌릴 수 있다.
책은 무조건 1명의 학생에게만 빌려진다.

이 외의 여러 가지의 경우도 해석할 수 있어야 한다.

이런 식으로 그리면 된다.


속성은 동그라미로 표현하고, 그 안에 내용을 적는다. 관계는 선 안에 적으면 된다(필수 참여, 선택 참여).

프로젝트를 만들 때 이런 식으로 ERD를 작성할 수 있다.

학생은 1개의 과정만 등록해야 한다.
과정은 0개, 1개, 다수로 학생에게 등록된다.

  • 0은 아직 과정을 선택하지 않은 학생

 

 

데이터 모델링의 단계


 

 

 

2. 논리적 모델링

논리적 모델링이란?

 

1) 속성 입력

엔터티의 속성이 많아지면 동그라미가 많아져서 복잡해진다. 그렇기에 이렇게 표로 깔끔하게 정리하는 것이 논리적 모델링이다.

 

 

 

2) 식별자(PRIMARY KEY) 선택

학생에서는 학생 ID가, 책에서는 책번호가 식별자이다. 이 둘이 모든 인스턴스값을 식별할 수 있다.
사람에게 식별자는 주민등록번호가 될 수 있다. 이것은 태어나면서부터 주어지고 죽기 전까지 사용할 수 있는 사람을 구별하는 고유의 번호가 된다.

 

 

 

식별자란?

 

식별자가 없으면 엔터티가 될 수 없다.

 

 

정규화

데이터베이스에서 중복 데이터가 보이면 그것을 먼저 해결하려고 한다.

 

정규화 진행

 

엔터티에 이러한 정보를 넣으려고 한다. 근데 과목이 3개, 성적표가 3개일 경우는 어떻게 입력해야 할까?

 

이런 식으로 아래에 적으면 된다.
여기서의 문제는 중복된 데이터가 존재한다는 것이다.

두 정보를 떼어내면 중복된 데이터가 발생하지 않는다. 하지만 성적표의 정보가 어느 학생 것인지 알 수 없게 된다. 그렇기에 관계 설정이 필요하다.

 

 

3) 관계 설정을 한다

빌려줌으로써 외래키가 된다. 이제는 학생이 누구의 성적인지 알 수 있게 된 것

 

 

논리적 모델링으로 변환


 

 

 

실습하기

원래는 수업 시간에 하는 건데 집에서 혼자 공부할 때도 진짜 수업에 참여하듯이 실습도 진행해보려고 한다.

 

ERD 만들어보기

강사님께서 설명하신 것과 같지만 한번 그려보았다.


 

 

 

1교시 공부를 마치고

 

50분 분량밖에 되지 않은 학습이었지만 2배 이상 걸린 것 같다. 이제 어떻게 공부해야 할지 감이 좀 잡혀서 다음 수업부터는 좀더 속도를 낼 수 있을 것 같다.
책에서 공부한 것은 이론적인 설명뿐이었는데 강의를 들으니 이해가 쏙쏙 되어 더욱 좋았다.

아침시간까지 4교시 수업까지 모두 듣고 정리해볼 것이다!