1. 정의 : 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합 → 특정 로직의 쿼리를 함수로 만들어 놓은 것 ex. 페이징 쿼리와 같이 자주 사용되는 쿼리가 있다면, 함수로 한 번 만들어 놓고 사용하게 되면 성능 상으로나 코드 재사용성 등에 이점이 있을 것 2. 일반 쿼리문 vs. 저장 프로시저 일반 쿼리문 작동 방식 저장 프로시저 정의 단계 처음으로 저장 프로시저를 실행 이후의 저장 프로시저 실행 장점 SQL Server의 성능을 향상 시킬 수 있음 → 저장 프로시저를 처음에 실행하면 최적화, 컴파일 단계를 거쳐 그 결과가 캐시에 저장되게 되는데, 이후에 해당 SP를 실행하게 되면 캐시에 있는 것을 가져와 사용하므로 실행 속도가 빨라지게 됨 유지보수 및 재활용 측면에서 좋음 → 응용프로그..
Redis? Remote Dictionary Server : 메모리 기반의 key-value 구조 데이터 관리 시스템 비관계형 데이터베이스 String, Set, Sorted Set, Hash, List 데이터 형식 지원 ** 인메모리 데이터베이스가 빠른 이유 ? → 컴퓨터의 주 메모리에 데이터를 저장하는 방식으로, 기존의 보조기억장치를 사용하는 데이터베이스에 비해 빠름 → 중앙처리장치(CPU)는 주 메모리에 저장된 데이터에 직접 접근이 가능하고 그 때문에 훨씬 더 빠르게 주 메모리의 데이터를 읽고 쓸 수 있음. 2. 특징 영속성을 지원하는 인메모리데이터베이스 Single Threaded이기 때문에 한 번에 하나의 명령만 처리할 수 있음 (하지만 get, set 명령어의 경우 초당 10만개 이상 처리할 ..
정의 : 여러 트랜잭션이 동시에 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 여부를 결정하는 것 SERIALIZABLE REPEATABLE READ READ COMMITTED READ UNCOMMITED→ 자동 커밋(Auto Commit)이 false인 상태에서만 발생 → 격리(고립) 수준이 높은 순서 트랜잭션 격리 수준에 따라 발생 할 수 있는 문제점 더티 리드(Dirty Read) : 특정 트랜잭션에 의해 데이터가 변경되었지만, 아직 커밋되지 않은 상황에서 다른 트랜잭션이 해당 변경 사항을 조회할 수 있는 문제를 말함 반복 불가능한 조회(Non-Repeatable Read) : 같은 트랜잭션 내에서 같은 데이터를 여러 번 조회했을 때 읽어온 데이터가..
정의 : 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행되어야 할 일련의 연산들을 의미 데이터베이스의 상태를 변화시킨다는 것 ? → 질의어(SELECT, INSERT, DELETE, UPDATE)를 이용하여 데이터베이스를 접근 하는 것을 의미 트랜잭션의 특징 원자성 (Atomicity) : 트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야 한다는 것 일관성 (Consistency) : 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 함 독립성 (Isolation) : 둘 이상의 트랜잭션이 동시에 실행되고 있을 경우, 어떤 하나의 트랜잭션이라도 다른 트랜잭션의 연산에 끼어들 수 없다는 것 지속성 (Durability) : 트랜잭션이..
[1] 정규화(Normalization) : Attribute 간의 종속성으로 인한 이상현상이 발생하는 릴레이션을 분해하여 재디자인함으로써 이상현상을 없애는 과정 : 데이터의 중복 방지, 무결성을 충족하기 위해 데이터베이스를 설계하는 방법 정규화의 원칙 정보의 무손식 : 분해된 릴레이션이 표현하는 정보는 분해되기 전의 정보를 모두 포함해야 함 최소 데이터 중복 : 이상 현상을 제거, 데이터 중복을 최소화 분리의 원칙 : 하나의 독립된 관계성은 하나의 독립된 릴레이션으로 분리해서 표현 정규화의 장점 각종 이상 현상들의 해결 새로운 속성의 추가로 인해 DB 구조를 확장하는 경우, 구조의 변경을 최소화할 수 있음 정규화된 릴레이션 간의 관계가 현실 세계에서의 개념들 간의 관계를 잘 보여줌 [2] 반정규화(De..
[1] 이상(Anomaly) : 데이터베이스에서 정규화를 수행하지 않으면, 데이터의 중복이 발생하면서 무결성이 저하됨. → 테이블을 설계할 때 정규화가 올바르게 수행되지 않아 데이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류를 말함 삽입 이상(Insertion anomaly) : 특정 데이터가 존재하지 않아 중요한 데이터를 데이터베이스에 삽입할 수 없을 때 발생 삭제 이상(Deletion anomaly) : 특정 정보를 삭제하면, 원치 않는 정보도 삭제되는 현상 업데이트 이상(Update anomaly) : 테이블의 특정 데이터를 업데이트 했는데, 정상적으로 변경되지 않은 경우, 그리고 너무 많은 행을 업데이트 하는 것 [2] 인덱스(Index) : 데이터베이스 테이블의 검색 속도를 향상시키기 위..