[Spring] 05. ORM 개념 및 JPA와 하이버네이트
·
CS
📍 ORM (Object-Relational Mapping) 이란? 객체 지향 프로그래밍 언어에서 데이터베이스와 상호 작용하기 위한 기술이다. ORM은 객체와 데이터베이스 테이블을 매핑하여 SQL 쿼리를 작성하지 않고도 데이터베이스 작업을 수행할 수 있도록 돕는다.즉, ORM을 사용하면 데이터베이스의 테이블을 클래스, 레코드를 객체, 필드를 객체의 속성으로 취급하여 프로그래밍 언어에서 직접 데이터베이스 조작을 수행할 수 있다.► ORM의 장점생산성 향상: SQL을 직접 작성하지 않고 메서드 호출을 통해 데이터 조작이 가능하므로 개발 속도가 빨라진다.유지보수성 향상: 코드와 데이터베이스가 객체 중심으로 통일되어 이해와 수정이 쉽다.보안성 강화: SQL 인젝션과 같은 보안 문제를 줄이는 데 도움이 된다. ..
[ DB - 3 ] 인덱싱(Indexing)이란? : 인덱싱을 하는 이유
·
CS
💡 [DB] 이전 글 다시 보기[ DB - 2 ] 트랜잭션(Transaction): 데이터 무결성이란[ DB -1 ] 관계형 데이터베이스(RDB)와 NoSQL의 차이점 📍 인덱싱(Indexing)이란? 데이터베이스에서 검색 속도를 향상시키기 위해 특정 컬럼에 적용하는 기법이다.데이터를 효율적으로 조회할 수 있도록 추가적인 자료구조를 생성하여 테이블의 특정 열을 기반으로 빠르게 접근한다. 📍 인덱스의 특징주요 목적대규모 테이블에서 검색 속도를 높이기 위해 사용된다.특히, 자주 조회되는 컬럼(조건문, 정렬 등에 사용)에 인덱스를 적용한다.자료구조일반적으로 B-Tree 자료구조를 사용하여 구현된다.B+-Tree는 B-Tree의 변형으로 검색 성능이 더 빠르지만, 수정, 삭제 시 오버헤드가 더 크다. 사용..
[ DB - 2 ] 트랜잭션(Transaction): 데이터 무결성이란
·
CS
💡 [DB] 관련 글 다시 보기 [ DB - 3 ] 인덱싱(Indexing)이란? : 인덱싱을 하는 이유[ DB -1 ] 관계형 데이터베이스(RDB)와 NoSQL의 차이점 📍 DB가 백엔드 개발자에게 중요한 이유백엔드 개발자는 WAS(Web Application Server)와 DB(Database)의 상호작용을 이해하고, 성능 이슈 및 오류를 처리할 수 있어야 한다.WAS에서 발생하는 오류뿐만 아니라 DB의 응답성 저하 또한 시스템 성능에 영향을 미칠 수 있으므로, DB의 구조와 동작 원리를 이해하는 것이 중요하다.효율적인 데이터 처리와 관리, 최적화된 질의(Query) 작성 및 문제 상황의 원인 분석을 위해 DB 지식은 필수적이다. 📍 트랜잭션이란?트랜잭션(Transaction)이란 데이터베이스..
[ DB -1 ] 관계형 데이터베이스(RDB)와 NoSQL의 차이점
·
CS
💡 [DB] 관련 글 읽기 DB - 2 ] 트랜잭션(Transaction): 데이터 무결성이란[ DB - 3 ] 인덱싱(Indexing)이란? : 인덱싱을 하는 이유   1. 관계형 데이터베이스(RDB, Relational Database)데이터를 테이블(표) 형식으로 저장하는 데이터베이스.행(Row)과 열(Column)로 데이터를 관리하며, 데이터 간의 관계를 정의하고 연결.특징:정해진 스키마를 기반으로 데이터를 저장.데이터 중복을 최소화하기 위해 정규화를 사용.강력한 트랜잭션 처리(ACID 특성)로 데이터 무결성을 보장.2. NoSQL (Not Only SQL)테이블 형식이 아닌 다양한 방식으로 데이터를 저장하는 데이터베이스.정형화된 데이터뿐만 아니라 비정형 데이터(문서, JSON 등)를 저장 가능..