논리 모델과 물리 모델

논리 모델과 물리 모델

데이터베이스 설계는 논리 모델과 물리 모델 두 가지 관점에서 이루어집니다. 이 두 모델은 같은 데이터를 다루지만, 접근 방식과 초점이 다릅니다. 이 글에서는 논리 모델과 물리 모델의 개념을 구분하고, 테이블, 행(Row), 열(Column)을 논리적 관점에서 개체타입(Entity Type), 개체(Entity), 속성(Attribute)로 어떻게 대응시키는지 설명하겠습니다.

논리 모델과 물리 모델

논리 모델(Logical Model)

  • 정의: 데이터의 구조와 관계를 추상화하여 표현한 모델.

  • 특징:

    • 현실 세계의 데이터를 개념적으로 표현합니다.

    • 데이터의 구조, 속성, 제약 조건에 초점을 둡니다.

    • 독립적으로 설계되어 데이터가 어떻게 저장되는지(물리적 구조)에 의존하지 않습니다.

  • 사용 목적:

    • 데이터베이스 설계 초기에 데이터의 논리적 구조를 정의합니다.

    • 개체(Entity), 속성(Attribute), 관계(Relationship)을 정의합니다.

물리 모델(Physical Model)

  • 정의: 데이터를 저장하고 처리하기 위한 물리적 구조를 나타낸 모델.

  • 특징:

    • 실제 데이터가 저장되는 방식에 초점을 둡니다.

    • 데이터베이스 테이블, 열(Column), 행(Row), 인덱스와 같은 요소를 정의합니다.

    • 특정 데이터베이스 시스템(MySQL, PostgreSQL 등)의 구현 세부 사항을 포함합니다.

  • 사용 목적:

    • 데이터를 효율적으로 저장하고 검색하기 위한 구체적인 구현을 설계합니다.

비교 항목 논리 모델 물리 모델
초점 데이터의 구조와 관계 데이터의 저장 및 접근 방식
구성 요소 개체(Entity), 속성(Attribute), 관계(Relationship) 테이블(Table), 열(Column), 행(Row)
독립성 물리적 구현에 독립적 특정 데이터베이스 시스템에 종속적

물리 모델과 논리 모델의 대응 관계

관계형 데이터베이스에서는 물리 모델과 논리 모델이 다음과 같이 대응됩니다:

물리 모델 논리 모델
테이블(Table) 개체타입(Entity Type)
행(Row) 개체(Entity)
열(Column) 속성(Attribute)

세부 설명

  1. 테이블(Table)개체타입(Entity Type)

    • 테이블은 데이터가 저장되는 물리적 구조입니다.

    • 논리적으로는 특정 유형의 데이터를 정의하는 **개체타입(Entity Type)**에 해당합니다.

    • 예: 학생(Student) 테이블은 학생 데이터를 저장하며, 이는 학생 개체타입에 해당합니다.

  2. 행(Row)개체(Entity)

    • 테이블의 각 행은 하나의 데이터를 나타내며, 논리적으로는 **개체(Entity)**를 의미합니다.

    • 예: 학번 2023001, 이름 홍길동, 전공 컴퓨터공학학생 개체를 표현합니다.

  3. 열(Column)속성(Attribute)

    • 테이블의 각 열은 데이터를 저장하는 필드로, 논리적으로는 **속성(Attribute)**을 나타냅니다.

    • 예: 학번, 이름, 전공은 학생 개체의 속성입니다.

논리 모델과 물리 모델의 대응

물리 모델: 학생 테이블

학번(Student_ID) 이름(Name) 전공(Major)
2023001 홍길동 컴퓨터공학
2023002 김영희 전자공학
2023003 이철수 기계공학

논리 모델

  • 개체타입(Entity Type): 학생(Student)

    • 속성(Attribute)

      • 학번(Student_ID)

      • 이름(Name)

      • 전공(Major)

  • 개체(Entity)

    • 개체 1: 학번 2023001, 이름 홍길동, 전공 컴퓨터공학

    • 개체 2: 학번 2023002, 이름 김영희, 전공 전자공학

    • 개체 3: 학번 2023003, 이름 이철수, 전공 기계공학

논리 모델과 물리 모델의 설계 흐름

  1. 논리 모델 설계

    • 현실 세계의 데이터를 추상화하여 개체, 속성, 관계를 정의합니다.

    • 예: 학생이라는 개체타입을 정의하고, 학번, 이름, 전공을 속성으로 추가.

  2. 물리 모델 설계:

    • 논리 모델을 기반으로 실제 데이터베이스 테이블을 설계합니다.

    • 예: 학생 개체타입을 테이블로 구현하고, 학번, 이름, 전공을 테이블의 열(Column)로 정의.

  3. 구현:

    • 설계된 물리 모델을 데이터베이스 시스템(MySQL, PostgreSQL 등)에 적용하여 실제 데이터를 저장하고 관리합니다.

정리

  • 논리 모델은 현실 세계 데이터를 추상적으로 정의하며, 물리 모델은 이를 데이터베이스에 저장하기 위한 구조로 변환합니다.

  • 테이블, 행, 열과 같은 물리적 개념은 각각 개체타입, 개체, 속성과 대응됩니다.

  • 논리 모델과 물리 모델을 명확히 이해하면 데이터베이스 설계와 구현을 효율적으로 수행할 수 있습니다.

개념 스키마 총정리

0 0 votes
Article Rating
Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback

[…] 논리 모델과 물리 모델 […]

trackback

[…] 논리 모델과 물리 모델 […]

Loading...