정규화정규화(DB Normalization)의 개념 - 최소한의 데이터만을 하나의 엔터티에 넣는식으로 데이터를 분해하는 과정 - 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 과정이라 볼 수 있음 - 데이터 중복을 제거하고 데이터 모델의 독립성을 확보 - 데이터 이상현상을 줄이기 위한 데이터서베이스 설계 기법 - 엔터티를 상세화하는 과정으로 논리 데이터 모델링 수행 시점에서 고려됨 - 제 1정규화부터 제 5정규화까지 존재, 실질적으로는 제 3 정규화까지만 수행 이상현상(Abnormality) - 정규화를 하지 않아 발생하는 현상(삽입이상, 갱신이상, 삭제이상) - 특정 인스턴스가 삽입 될때 정의되지 않아도 될 속성까지도 반드시 입력되어야하는(삽입이상) 현상이 발생함 ex)..
분류 전체보기
데이터모델의 이해 컬럼 -> 속성(Attribute)행 -> 인스턴스(Instance)테이블 -> 엔터티(Entity)모델링의 개념 - 현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는 과정 - 데이터베이스의 구조와 관계를 정의하며, 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의모델링의 특징1. 단순화(Simplification) - 현실을 단순화하여 핵심 요소에 집중하고 불필요한 세부사항을 제거 - 단순화를 통해 복잡한 현실 세계를 이해하고 표현하기 쉬워짐 2. 추상화(Abstraction) - 현실세계를 일정한 형식에 맞추어 간략하게 대략적으로 표현하는 과정 - 다양한 현상을 일정한 양식인 표기법에 따라 표현 3. 명확화(Clarity) - 대상에..
JPA는 객체와 관계형 데이터베이스 간의 차이를 중간에서 해결해주는 ORM(Object-Relational Mapping) 프레임워크이며, 자바 진영의 ORM 기술 표준이다. JPA의 장점 지루하고 반복적인 CRUD SQL을 알아서 처리해줄 뿐만 아니라 객체 모델링과 관계형 데이터베이스 사이의 차이점도 해결해준다.개발자는 SQL을 직접 작성하는 것이 아니라 어떤 SQL이 실행될지 생각만 하면된다.성능에 대한 걱정은 네이티브 SQL 기능을 사용해 직접 SQL을 작성할 수 있다.SQL이 아닌 객체 중심으로 개발할 수 있으므로 생산성과 유지보수가 확연히 좋아지며 테스트를 작성하기도 편리해진다.데이터베이스가 변경되어도 코드를 거의 수정하지 않고 데이터베이스를 손쉽게 변경할 수 있다. SQL을 직접 다룰 때 발..
LomBok은 반복적이고 지루한 코드를 줄이고 간결하고 가독성 코드를 작성할 수 있도록 도와주는 유용한 라이브러리 이다. 롬복은 어노테이션 기반으로 사용가능 하며 @Getter, @Setter, @NoArgsConstructor, @AllArgsConstructor, @ToString 등과 같은 어노테이션을 제공하여, 접근자 및 설정자, 생성자등의 메서드를 자동으로 생성한다. @Getter, @Setterimport lombok.*; @Getter @Setter public class Person { private String name; private int age; /* Getter와 Setter 메서드를 @Getter, @Setter 어노테이션으로 대체한다. public String getName()..