728x90
반응형

DB설계 4

Data Independence (데이터 독립성)

개요데이터 독립성(Data Independence)은 데이터베이스 구조의 변경이 응용 프로그램에 미치는 영향을 최소화하는 개념이다. 데이터베이스 관리 시스템(DBMS)의 핵심 목표 중 하나로, 데이터의 물리적·논리적 구조를 변경하더라도 기존 프로그램이 영향을 받지 않도록 하는 것이 목적이다. 이는 시스템 유지보수성과 확장성을 크게 향상시키는 중요한 설계 원칙이다.1. 개념 및 정의데이터 독립성은 데이터의 구조와 응용 프로그램 간의 의존성을 제거하여, 데이터 구조 변경 시에도 응용 프로그램을 수정하지 않도록 하는 능력을 의미한다.이는 ANSI/SPARC 3단계 스키마 구조(외부, 개념, 내부 스키마)를 기반으로 구현되며, 데이터 표현과 접근 방식을 분리하여 유연한 시스템 설계를 가능하게 한다.2. 특징구분..

Topic 2026.04.18

Data Dictionary (데이터 사전)

개요데이터 사전(Data Dictionary)은 데이터베이스에 저장된 데이터의 구조, 의미, 관계 등을 정의한 메타데이터 집합이다. 데이터의 일관성과 정확성을 유지하고, 시스템 간 데이터 이해를 돕는 핵심 도구로 활용된다. 특히 데이터 거버넌스, 데이터 품질 관리, DW/BI 시스템 구축에서 필수적인 요소로 자리 잡고 있다.1. 개념 및 정의데이터 사전은 데이터 요소에 대한 정의, 속성, 관계, 제약 조건 등을 체계적으로 정리한 메타데이터 저장소이다.즉, 데이터 자체가 아니라 "데이터에 대한 데이터(Metadata)"를 관리하는 시스템으로, 데이터의 의미를 명확히 하고 조직 내 공통 기준을 제공하는 것이 목적이다.2. 특징구분설명비고메타데이터 관리데이터 정의 및 구조 관리데이터 설명표준화데이터 명명 규칙..

Topic 2026.04.17

View (뷰)

개요뷰(View)는 데이터베이스에서 하나 이상의 테이블을 기반으로 생성되는 가상의 테이블이다. 실제 데이터를 저장하지 않고, SELECT 쿼리 결과를 논리적으로 표현하는 객체로서 데이터 접근을 단순화하고 보안을 강화하는 데 중요한 역할을 한다. 복잡한 쿼리를 캡슐화하여 재사용성을 높이고, 사용자에게 필요한 데이터만 제공할 수 있어 실무에서 널리 활용된다.1. 개념 및 정의뷰(View)는 특정 쿼리 결과를 저장하지 않고, 실행 시점에 동적으로 생성되는 논리적 테이블이다. 사용자는 뷰를 일반 테이블처럼 조회할 수 있지만, 실제 데이터는 원본 테이블에 존재한다.뷰의 핵심 목적은 데이터 접근을 단순화하고, 보안과 유지보수성을 향상시키는 것이다. 특히 복잡한 JOIN이나 필터 조건을 숨기고 사용자에게 간단한 인터..

Topic 2026.04.16

DB Smell

개요'Code Smell'처럼 'DB Smell'은 데이터베이스에서 유지보수성과 확장성을 해치는 구조적 결함 또는 나쁜 설계 습관을 의미합니다. 즉시 오류를 발생시키진 않지만, 장기적으로는 성능 저하, 비즈니스 로직 중복, 데이터 품질 저하 등의 문제를 유발합니다. 이 글에서는 대표적인 DB Smell의 유형, 원인, 진단 방법, 개선 전략을 실무 중심으로 소개합니다.1. DB Smell이란? 항목 설명 정의데이터베이스 설계·구현 상에서 나타나는 구조적 문제 또는 나쁜 냄새(징후)발생 위치테이블 구조, 컬럼 설계, 관계 모델, 인덱스, 트리거, 제약 조건 등위험 요소데이터 중복, 무결성 저하, 성능 문제, 비표준 설계 유입DB Smell은 궁극적으로 기술 부채로 이어지며, 코드뿐 아니라 데이터 모델에서..

Topic 2025.04.21
728x90
반응형