데이터 모델
데이터베이스를 만들 때 데이터를 어떻게 저장하고, 연결하고, 관리할지 정리한 설계도입니다.
데이터를 다루는 규칙과 구조를 정해주는 역할을 하며, 데이터를 효율적으로 사용할 수 있도록 도와줍니다.
데이터 모델의 종류
개념적 데이터 모델
데이터베이스를 만들기 전에 전체적으로 어떤 데이터가 필요하고, 데이터끼리 어떤 관계가 있는지를 알아보는 단계입니다. 예를 들어, 학교 데이터를 만든다면, "학생", "선생님", "수업"처럼 중요한 것들(Entity)을 먼저 정리하고, 이들이 서로 어떻게 연결되는지 생각합니다.
요약하자면, 비즈니스(현실 세계) 중심의 데이터를 설계하고 기술적인 내용은 제외하고, 데이터의 큰 그림을 그리는데 집중하여 사용자와 소통하기 쉽게 만들어줍니다.
논리적 데이터 모델
개념적 모델을 더 구체적으로 정리해서, 실제 데이터베이스로 만들 준비를 하는 단계입니다.
예를 들어, "학생"이라는 엔티티(Entity) 에 어떤 정보(이름, 학번, 반등)가 들어갈지 하나하나 정리하는 것입니다.
데이터의 세부적인 구조를 정의해서 데이터베이스에 들어갈 데이블, 컬럼(열), 데이터 타입 같은 구체적인 내용을 포함합니다.
물리적 데이터 모델
논리적 모델을 실제 데이터베이스에 구현하는 단계입니다.
예를 들어, "학생" 테이블을 MySQL 이나 Oracle 같은 데이터베이스 프로그램에 실제로 만드는 과정입니다.
데이터가 컴퓨터에 저장되는 방식을 구체적으로 정의하고 SQL 같은 기술적인 내용도 포함해야 합니다.
데이터 모델의 구성요소
엔터티( Entity )
데이터베이스에서 저장하려는 대상( 사물, 사람, 개념 )을 뜻합니다.
즉 엔터티는 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 "어떤 것(Thing)"이라고 말할 수 있습니다.
"어떤 것" 이라고 부르는 것처럼 엔터티는 추상적인 의미를 가지며 학교나 학생처럼 현실세계에서 눈에 보이는 개념일 수도 있고 주문이나 결제처럼 눈에 보이지 않는 개념일 수도 있습니다.
엔터티는 업무에서 필요로 하는 정보여야 하며 엔터티는 유일한 식별자가 있어야 합니다.
속성 ( Attribute )
정보를 나타내는 최소의 단위로써 엔티티의 성질, 분류, 상태 등을 나타내는 세부 항목입니다.
즉, 엔터티가 가지고 있는 특징이나 정보를 뜻합니다.
엔티티와 마찬가지로 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 하며 하나의 속성에는 한 개의 값만을 가집니다. 하나의 속성에 여러 개의 값이 있는 다중 값일 경우 별도의 엔티티를 이용하여 분리하여야 합니다.
관계 ( Relationship )
엔터티끼리 연결된 방식을 나타냅니다.
두 개 이상의 엔터티 간의 연관성을 나타내며 관계는 데이터베이스에서 외래 키(Foreign Key)로 구현됩니다.
관계의 종류로는 간단하게 일대일(1:1), 일대다(1:N), 다대다(M:N) 이 있습니다.
예를 들어 "학생"은 "수업"을 듣는다 (1:N) , "선생님"은 "수업"을 가르친다 (1:N)가 일대다 관계입니다.
'데이터베이스 이론' 카테고리의 다른 글
데이터베이스 키(KEY) (1) | 2024.12.27 |
---|---|
훑어보는 데이터베이스 설명 (0) | 2024.12.27 |