DB
정규화 / 반정규화 란??
2025.06.04
정규화(Normalization)와 반정규화(Denormalization)는 관계형 데이터베이스 설계에서 데이터 구조의 효율성과 성능을 조절하는 두 가지 접근 방식 ✅ 정규화 (Normalization)목적:데이터 중복 제거,데이터 무결성 유지,데이터 구조의 논리적 정합성 확보 장점:데이터 무결성 향상변경 시 일관성 유지저장 공간 최적화단점:조인이 많아져 성능 저하 가능실시간 처리에 불리할 수 있음 ✅ 반정규화 (Denormalization)목적:조회 성능 향상복잡한 조인 최소화방법:테이블 병합중복 데이터 허용집계 필드 추가컬럼을 별도로 분리하거나, 계산 결과 컬럼 저장장점:조회 성능 향상, 특히 대용량/실시간 시스템에서 유리조인 감소로 인한 단순한 쿼리 작성 가능단점:데이터 중복 증가 → 무결성 문제 ..
DB
JPA
2025.01.16
**JPA(Java Persistence API)**는 자바 애플리케이션에서 데이터를 관계형 데이터베이스에 매핑하고 관리하기 위한 표준 스펙, ORM(Object-Relational Mapping) 기술을 사용하여 객체 지향 프로그래밍과 관계형 데이터베이스의 차이를 효율적으로 해결하는 데 도움
DB
Mybatis
2024.12.02
MyBatis는 Java 기반의 SQL 매퍼 프레임워크로, 기존의 JDBC를 단순화하고, 개발자가 SQL을 작성하면서도 객체와 관계형 데이터베이스를 쉽게 연결할 수 있도록 돕는 도구입니다. 객체 지향 프로그래밍과 SQL을 통합한 프레임워크로, 복잡한 ORM(Object Relational Mapping)보다 SQL 작성의 자유도를 높여줌MyBatis의 주요 특징SQL 중심의 개발MyBatis는 개발자가 직접 SQL을 작성.ORM 프레임워크(예: Hibernate)와 달리, 자동 생성된 SQL이 아닌 개발자가 작성한 SQL을 그대로 사용SQL과 Java 코드의 명확한 분리를 제공Mapper XML 또는 어노테이션 지원SQL은 XML 파일로 작성하거나, Java 코드에 어노테이션으로 작성가능XML 파일을 통..
DB
Spring <-> Oracle 연동방법
2024.11.29
root-contextDB.xml --> org.apache.commons commons-dbcp2 2.7.0 -->  oracleDB.properties더보기더보기jdbc.driverClassName=oracle.jdbc.driver.OracleDriver jdbc.url=jdbc:oracle:thin:@localhost:1521:XE jdbc.username=hr jdbc.password=hr
DB
DB-트리거
2024.10.28
CREATE TRIGGER trigger_name timing[BEFORE|AFTER] event[INSERT|UPDATE|DELETE]ON table_name[FOR EACH ROW][WHEN conditions]BEGIN statementEND------ Trigger : 자동실행되는 procedure 이다.create table emp08 as select employee_id,first_name , job_idfrom employees where 1=0;desc emp08;select * from emp08;create or replace trigger trigger_01after insert on emp08 begin dbms_output.put_line('-----------------..