데이터베이스
논리적 데이터 모델
상상모음
2025. 3. 7. 16:24
논리적 데이터 모델 (Logical Data Model)
논리적 데이터 모델이란?
주요 특징:
개념적 데이터 모델을 정형화된 형태로 변환
속성(Attribute) 을 정의하고 정규화(Normalization) 를 적용
데이터의 관계(Relationship) 를 명확하게 표현
키(Key)와 제약 조건(Constraints) 을 정의하여 데이터 무결성 보장
논리적 데이터 모델의 구성 요소
- 논리적 데이터 모델에서도 개념적 모델과 마찬가지로 개체(Entity) 를 정의
- 단, 개념적 모델에서 단순히 "학생"이라는 개념을 표현했다면, 논리적 모델에서는 테이블(Table)로 변환됨
✔ 예시:
| 학생 테이블 (Student) |
| StudentID (PK) |
| Name |
| Age |
| Major |
2. 속성 (Attribute)
- 각 개체(Entity)의 세부 정보(속성) 를 정의
- 속성은 개체(Entity)의 열(Column)으로 변환됨
✔ 예시:
학생(Student) 테이블의 속성
| 속성명 | 설명 | 데이터 타입 |
| StudentID (PK) | 학생을 식별하는 고유 키 | INT |
| Name | 학생의 이름 | VARCHAR(50) |
| Age | 학생의 나이 | INT |
| Major | 전공 | VARCHAR(50) |
3. 관계 (Relationship)
- 개체 간의 관계를 정의
- 외래 키(Foreign Key, FK) 를 사용하여 관계를 표현
✔ 예시:
- 학생(Student)이 강의(Course)를 수강(Enroll)하는 관계
- ERD (Entity Relationship Diagram) 예시
Student (학생) ----(등록)---- Course (강의)
✔ 테이블 설계 예시:
| 학생(Student) | 강의(Course) | 수강(Enrollment) | ||
| StudentID (PK) | → | CourseID (PK) | → | EnrollmentID (PK) |
| Name | CourseName | StudentID (FK) | ||
| Age | Instructor | CourseID (FK) |
4. 키(Key)와 제약 조건 (Constraints)✔ 주요 키 종류
| 키 유형 | 설명 | 예제 |
| 기본 키 (Primary Key, PK) | 개체를 고유하게 식별하는 키 | StudentID |
| 외래 키 (Foreign Key, FK) | 다른 테이블의 기본 키를 참조하는 키 | StudentID in Enrollment |
| 대체 키 (Candidate Key) | 기본 키로 선택될 수 있는 후보 키 | 주민등록번호(SSN) |
| 슈퍼 키 (Super Key) | 기본 키를 포함하는 속성 집합 | (StudentID, Name) |
✔ 제약 조건 (Constraints)
| 제약 조건 | 설명 | 예제 |
| NOT NULL | NULL 값을 허용하지 않음 | StudentID NOT NULL |
| UNIQUE | 중복된 값을 허용하지 않음 | Email UNIQUE |
| CHECK | 특정 조건을 만족해야 함 | Age > 0 |
| DEFAULT | 기본값 설정 | CreatedAt DEFAULT CURRENT_TIMESTAMP |
논리적 데이터 모델링의 주요 기법✔ 정규화 과정
| 정규화 단계 | 설명 | 예제 |
| 1NF (제1정규형) | 모든 속성이 원자값(Atomic Value)을 가져야 함 | 중복 데이터 제거 |
| 2NF (제2정규형) | 부분 함수 종속 제거 (완전 함수 종속 유지) | 기본 키 전체를 기준으로 종속성 유지 |
| 3NF (제3정규형) | 이행적 함수 종속 제거 | 한 속성이 다른 속성을 의존하지 않도록 |
개념적 데이터 모델과 논리적 데이터 모델의 차이
| 비교 항목 | 개념적 데이터 모델 | 논리적 데이터 모델 |
| 목적 | 현실 세계 데이터 개념화 | 정형화된 데이터베이스 구조 설계 |
| DBMS 의존 여부 | DBMS 독립적 | DBMS 독립적 |
| 구성 요소 | 개체, 속성, 관계 | 개체, 속성, 관계, 키, 정규화 |
| 표현 방식 | ERD 다이어그램 | 테이블 설계, 스키마 |
정리
논리적 데이터 모델을 설계한 후, 물리적 데이터 모델(Physical Data Model)로 변환하여 실제 데이터베이스를 구축하게 됩니다!
- 논리적 데이터 모델은 개념적 모델을 보다 구체적으로 설계하는 과정
테이블 구조, 속성, 키, 관계, 제약 조건 등을 정의
정규화(Normalization) 를 통해 데이터 무결성을 유지 - 논리적 데이터 모델을 보다 체계적으로 설계하기 위해 정규화(Normalization) 기법을 적용합니다.
- 데이터의 무결성을 보장하기 위해 키(Key)와 제약 조건을 설정합니다.
- 1. 개체 (Entity)
- 논리적 데이터 모델 (Logical Data Model, LDM)은 개념적 데이터 모델을 보다 정형화된 형태로 변환한 모델입니다.
즉, 데이터베이스에 저장될 데이터를 논리적으로 표현하는 과정으로, 특정 데이터베이스 관리 시스템(DBMS)에 독립적입니다.
논리적 데이터 모델링의 개념
논리적 데이터 모델링 과정
개체와 관계로 정의된 개념적 데이터 구조를 데이터베이스가 채택한 논리적 데이터 모델을 사용하여
논리적 데이터 구조로 표현하는 과정
논리적 데이터 모델은 완전히 논리적이기 때문에 어떤 물리적 저장 구조에 의한 구현을 의미 하지는 않는다.
논리적 데이터 모델의 종류:
관계 데이터 모델
계층 데이터 모델
네트워크 데이터 모델
객체지향 데이터 모델
객체-관계 데이터 모델