컬럼명(논리/물리) 개념

2024. 7. 31. 13:00DB/Design

논리 컬럼명 (Logical Column Name)

논리 컬럼명은 데이터베이스 설계 시 개념적 모델 또는 논리적 모델 단계에서 사용되는 컬럼 이름을 말합니다. 이 단계에서는 데이터베이스가 실제로 구현되지 않았고, 비즈니스 요구 사항과 데이터 구조를 정의하는 데 중점을 둡니다. 논리 컬럼명은 비즈니스 용어와 더 가까운 이름으로 지정되며, 이해하기 쉽고 의미가 명확해야 합니다.

예:

  • CustomerName
  • OrderDate
  • ProductDescription

물리 컬럼명 (Physical Column Name)

물리 컬럼명은 데이터베이스가 실제로 구현될 때 사용되는 컬럼 이름을 말합니다. 물리적 모델 단계에서는 데이터베이스 시스템의 제약 사항, 성능, 표준화 등을 고려하여 컬럼 이름을 최종적으로 결정합니다. 물리 컬럼명은 주로 데이터베이스 관리 시스템(DBMS)의 명명 규칙을 따르며, 간결하고 일관성 있는 이름을 사용합니다. 때로는 줄임말이나 축약된 이름을 사용하여 컬럼 길이를 줄이기도 합니다.

예:

  • cust_name
  • ord_date
  • prod_desc

논리 컬럼명과 물리 컬럼명 비교

논리 컬럼명물리 컬럼명설명

CustomerName cust_name 비즈니스 용어를 나타내는 논리 컬럼명과, 더 간결한 물리 컬럼명
OrderDate ord_date 논리 컬럼명은 비즈니스 용어, 물리 컬럼명은 DBMS 규칙과 일관성
ProductDescription prod_desc 논리 컬럼명은 명확한 의미를 가지고 있으며, 물리 컬럼명은 축약된 형태

중요성

  • 이해와 협업: 논리 컬럼명은 비즈니스 분석가, 데이터 모델러, 개발자 등이 데이터 모델을 쉽게 이해하고 논의할 수 있게 합니다.
  • 효율성: 물리 컬럼명은 데이터베이스의 성능을 최적화하고, 명명 규칙을 일관되게 유지하여 관리 및 유지보수를 용이하게 합니다.
  • 변환: 데이터베이스 설계 도구나 모델링 툴을 사용하면 논리 컬럼명을 물리 컬럼명으로 자동 변환할 수 있는 기능을 제공합니다.

 

실습 예제

논리 및 물리 모델의 실습 예제를 통해 이해를 돕겠습니다.

논리 모델

Table: Customers
-------------------
CustomerID       : Number
CustomerName     : String
CustomerEmail    : String
RegistrationDate : Date

Table: Orders
-------------------
OrderID          : Number
OrderDate        : Date
CustomerID       : Number
TotalAmount      : Number

물리 모델

CREATE TABLE customers (
  cust_id NUMBER PRIMARY KEY,
  cust_name VARCHAR2(100),
  cust_email VARCHAR2(100),
  reg_date DATE
);

CREATE TABLE orders (
  ord_id NUMBER PRIMARY KEY,
  ord_date DATE,
  cust_id NUMBER,
  total_amt NUMBER,
  FOREIGN KEY (cust_id) REFERENCES customers(cust_id)
);

 

이 예제에서 논리 모델에서는 비즈니스 용어를 사용하여 컬럼명을 지정하였고, 물리 모델에서는 간결하고 일관성 있는 컬럼명을 사용하여 데이터베이스를 구현하였습니다.

요약

  • 논리 컬럼명: 비즈니스 요구 사항을 반영한 이름으로 이해하기 쉽고 명확함.
  • 물리 컬럼명: DBMS의 제약 사항과 성능을 고려한 이름으로 간결하고 일관성 있음.
  • 중요성: 논리 및 물리 컬럼명은 데이터베이스 설계와 구현에서 협업, 이해, 효율성을 높이는 데 중요함.