
조인(Join)이란? 조인이란 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 말한다. 조인의 종류 중 대표적인 내부 조인, 왼쪽 조인, 오른쪽 조인, 합집합 조인이 있다. 조인의 필요성 - 관계형 데이터베이스의 구조적 특징으로 정규화를 수행하면 의미 있는 데이터의 집합으로 테이블이 구성되고 각 테이블끼리는 관계(Relationship)을 갖게 된다. - 이와 같은 특징으로 관계형 데이터베이스는 저장 공간의 효율성과 확장성이 향상되게 된다. - 다른 한편으로는 서로 관계있는 데이터가 여러 테이블로 나뉘어 저장되므로 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 조인이 필요하다. 내부조인(Inner Join) 내부조인이란 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 ..

데이터베이스를 설계를 하면서 PK, UK, FK 를 많이 들어 봤을 것이다. 데이터베이스에서 자주 쓰이는 키의 종류이다. 이것에 대해 정확하게 한번 개념 정리하고 가면 좋을 것 같아서 정리 하고자 한다. PK(Primary Key) 주 식별자키로 테이블의 모든 데이터를 식별하는 컬럼이다. - 중복이나, NULL 불가 - 테이블 생성시 단 한개의 PK설정 - 고유 인덱스 자동 생성이 가능 FK(Foreign Key) 외부 식별자키(= 참조키)로 테이블 간의 관계를 의미한다. 두 테이블 간의 종속이 필요한 관계이면, 그 접점이 되는 컬럼을 FK로 지정하여 서로 참조 할 수 있도록 관계를 맺어준다. 테이블 간의 잘못된 매핑을 방지하는 역할도 한다. - FK 선언한 테이블이 하위 테이블 - 참조하는 테이블은 부..

정규화(Normalization)란? 데이터베이스 정규화는 관계형 데이터베이스 데이터 모델의 중복을 최소화하고 데이터의 일관성, 유연성을 확보하기 위한 목적으로 데이터를 분해하는 과정을 뜻한다. 정규화를 하는 목적은 데이터들을 조금 더 효율적으로 관리하는 것에 있다. 정규화의 장점 데이터베이스 변경 시 이상 현상(Anomaly)을 제거할 수 있다. 정규화된 데이터베이스 구조에서는 새로운 데이터 형의 추가로 인한 확장 시, 그 구조를 변경하지 않아도 되거나 일부만 변경해도 된다. 데이터베이스와 연동된 응용 프로그램에 최소한의 영향만을 미치게 되어 응용프로그램의 생명을 연장시킨다. 정규화의 단점 릴레이션의 분해로 인해 릴레이션 간의 JOIN연산이 많아진다. 질의에 대한 응답 시간이 느려질 수도 있다. 데이터..

Redis 란? Redis는 오픈 소스로서 NoSQL로 분류되기도 하고, Memcached와 같이 인 메모리 솔루션으로 분류되기도 한다. 성능은 Memcached에 버금가면서 다양한 데이터 구조체를 지원함으로써 DB, Cache, Message Queue, Shared Memory 용도로 사용될 수 있다. 한편, Redis는 Remote Dictionary Server의 약자로 외부에서 사용 가능한 Key-Value 쌍의 해시 맵 형태의 서버라고 생각할 수 있다. 그래서 별도의 쿼리 없이 Key를 통해 빠르게 결과를 가져올 수 있다. 또한, 디스크에 데이터를 쓰는 구조가 아니라 메모리에서 데이터를 처리하기 때문에 작업 속도가 상당히 빠르다. 즉, 레디스(Redis)는 고성능 키-값 저장소로서 문자열, 리..

트랜잭션이란? 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 트랜잭션의 특징 1. 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다. 2. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위이다. 3. 하나의 트랜잭션은 Commit되거나 Rollback된다. 트랜잭션의 성질 1️⃣ Atomicity(원자성) - 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. (All or Nothing을 생각하면 된다.) - 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 ..
- Total
- Today
- Yesterday
- 알고리즘공부
- 코테공부
- 개발자 취준
- 코딩테스트공부
- 제로베이스 백준 장학금
- 제로베이스 백엔드 스쿨
- 백엔드 개발자 기술 면접 준비
- 코테 준비
- 백엔드 개발자
- 개발자 면접 준비
- 알고리즘 공부
- 코딩테스트 공부
- 프로그래머스
- 백준
- java
- 취업준비
- 코딩테스트 준비
- 코딩테스트
- 취준
- 알고리즘
- 백엔드 개발자 취업 준비
- 취업 준비
- 코테준비
- 자바
- 기술 면접 준비
- 프로그래머스 카카오
- 프로그래머스 자바
- 자바공부
- 개발자 취업 준비
- 주니어 개발자 취업 준비
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |