관리 메뉴

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

데이터베이스 기본 3 - 데이터 모델링의 종류와 개념적 모델링 본문

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

데이터베이스 기본 3 - 데이터 모델링의 종류와 개념적 모델링

huenuri 2024. 8. 21. 15:11

인공지능 사관학교에서는 7+1 수업을 운영한다. 마지막 8교시 때는 자유롭게 자신이 하고 싶은 공부를 하는 것이다. 지난 금요일에는 갑자기 수업을 안해서 전 시간에 학습한 것을 더 푸는 시간인줄 알았었다.
그러니까 월요일에 데이터베이스 4교시 수업은 없었고 3교시까지 진도를 나갔을 거라 예상해본다.

원래 오후 수업이었는데 지난주 금요일만 아침 수업으로 변경된 것 같았다. 아마 월요일 수업까지 마쳐야 하니 그전까지 진도를 다 빼려고 그런 것 같기도 하다.
이번 시간에는 데이터베이스의 개요와 데이터 모델링에 대해서 학습해볼 것이다. 화요일 1교시 전까지의 간극을 매울 수 있을 듯하다.


 

데이터베이스 개요

데이터베이스 예시

이것은 중고거래 사이트의 데이터베이스를 도식화한 것이다. 회원 정보를 관리하기 위해서도 많은 과정들이 필요하며, 개발자라면 이를 읽을 수 있어야 한다.

 

이렇게 데이터베이스를 만들기 위해서는 데이터모델링이 필요하다.


 

 

 

데이터 모델링

데이터 모델링이란?

데이터 모델링은 개념적 -> 논리적 -> 물리적 모델링을 거쳐 데이터베이스로 만들어진다. 이는 개논물로 외울 수 있다고 한다.

 

 

 

데이터 모델링 과정

예시를 살펴보자

 

 

 

 

다음과 같은 과정으로 이루어진다


 

 

 

 

데이터 모델링 1 - 개념적 모델링

개념적 모델링이란?

 

 

 

 

반드시 알아야 할 키워드

 

 

 

 

 

엔터티(Entity)란?

엔터티는 우리말로 독립체, 객체라는 단어이다. 하지만 이 말보다는 엔터티라고 자주 사용된다. 엔터티 역사적으로 이렇게 정의했다고 한다.

 

 

 

 

 

엔터티의 정의


엔터티는 저장되고 관리되는 데이터의 집합을 뜻한다. 그냥 모든 데이터의 자료라고 해도 될 것 같다.

 

 

 

 

 

요구사항에서 엔터티를 찾는 방법

엔터티는 동사가 될수 없고 한정적이 아닌 포괄적이어야 한다.

 

 

 

 

 

 

이 자료에서 가장 중요한 키워드가 엔터티가 된다. 직원과 책이 가장 핵심어이므로 이를 엔터티로 찾을 수 있다.

 

 

 

 

 

 

속성(Attribute)


속성은 엔터티가 가지는 항목이다.

 

 

 

 

 

요구사항에서 속성을 찾는 방법

 

 

 

 

 

인스턴스(Instance)

인스턴스는 프로그래밍에서 클래스를 배울 때 많이 등장하는 개념이다. 실제화된 것을 인스턴스라고 말하는데, 여기서는 속성이 가지는 각각의 값을 말한다.
이 둘이 조금 헤깔리는데 이렇게 정의할 수 있을 것 같다. 속성은 하나의 주제로 대표될 수 있는 항목이고, 인스턴트는 속성에서 떼어나온 각각의 데이터들이다.


 

 

실습하기

 

 

 

 

 

 


 

 

학습을 마치고

여기까지가 월요일 수업 내용이다. 솔직히 뒷 부분 학습을 하는데 너무 졸려서 비몽사몽으로 했다. 조금 쉬었다가 진해해야 할 것 같다.
이번 시간에는 데이터 모델링의 종류와 기본적인 개념을 살펴보았다. 엔터티, 속성, 인스턴스가 무엇인지 잘 구분하고 숙지해야 한다. 많이 졸려서 학습 후기는 간단하게 써본다.

조금 쉬었다가 오라클 접속을 다시 한번 시도하고, 본격적인 SQL의 세계로 들어가보려고 한다. 많이 하면 2시간 정도 할 수 있을 것 같다.