일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 테스트 코드
- jwt
- docker
- cache
- jpa
- lambda
- stream
- MSA
- StringBuilder
- select_type
- redis
- 열 속성
- Spring
- 재정의
- VUE
- AOP
- SQL
- 바이너리 카운팅
- 조합
- 인덱스
- KEVISS
- equals
- java
- 필드 주입
- hashcode
- Test
- DDL
- 생성자 주입
- static
- DI
- Today
- Total
목록전체 카테고리 (196)
백엔드 개발자 블로그
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/5r7tI/btssHxWTwbQ/gP8lOmSDvaL8sUq4Ek0VS0/img.png)
정규화란? 하나의 릴레이션에 하나의 의미만 존재하도록 릴레이션을 분해하는 과정이며, 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법입니다. 정규화의 목적? 다양한 목적이 있지만, 대표적으로 두 가지가 있습니다. 첫째, 불필요한 데이터 (data redundancy)를 제거해 불필요한 중복을 최소화한다. 하나의 테이블에 모든 정보를 다 넣게 된다면, 동일한 정보들이 불필요하게 중복되어 저장될 수 있습니다. 둘째, 삽입/갱신/삭제 시 발생할 수 있는 각종 이상 현상(Anomaly)을 방지하기 위해서, 테이블의 구성을 논리적이고 직관적으로 한다. 그 외에 DB 구조 확장 시 재디자인을 최소화, 다양한 관점에서의 query를 지원하기 위해서 등등의 목적이 있습니다. 정규화의 과정 정..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cZjO5g/btssBZNBGVe/ozcTMcLiYcScS4XEZZkuK1/img.png)
트랜잭션의 정의 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 연산들을 의미합니다. 이러한 관점에서 데이터베이스 응용 프로그램은 트랜잭션의 집합으로 정의 할 수 있습니다. 트랜잭션의 필요성 트랜잭션은 작업의 완전성을 보장해주는 것입니다. 논리적인 작업들을 모두 완벽하게 처리하거나 또는 처리하지 못할 경우 이전 상태로 복구하여 작업의 일부만 적용되는 현상이 발생하지 않게 만들어 주는 기능입니다. 계좌이체를 예를 들어 보겠습니다. 많은 사람들은 ATM기계에서 카드를 이용해 계좌이체를 한 경험이 있을 것입니다. 이 때 ATM기계를 작동하는 도중에 기계오류나 정전 등과 같은 예기치 못한 상황이 발생하여 카드가 ..
ORM이란? Object-Relational Mapping 즉, 객체와 관계형 데이터베이스 매핑의 줄임말입니다. 우리가 OOP(Object Oriented Programming)에서 쓰는 객체라는 개념을 구현한 클래스와 RDB(Relational DataBase)에서 쓰이는 데이터인 테이블을 매핑(연결)하는 것을 의미합니다. ORM을 이용하면 SQL Query가 아닌 직관적인 코드(메소드)로서 데이터를 조작할 수 있습니다. 예를들어, Member 테이블의 데이터를 출력하기 위해서 MySQL에서는 SELECT * FROM Member; 라는 query를 실행해야 하지만, ORM을 사용하면 Member 테이블과 매핑된 객체를 member라 할 때, member.findAll(); 라는 메소드 호출로 데이터 ..