RDB의 설계에서 중복을 최소화 하도록 데이터를 구조화 하는 프로세스를 말한다.정규화의 목표는 이상이 있는 관계를 재구성 하여 작고 잘 조직된 관계를 생성하는 것에 있다.이를 위해 데이터를 분해하는 과정이 바로 정규화 작업이다.각 attribute가 적절한 entity
@transaction을 공부하기 전에, 먼저 transaction의 올바른 정의가 무엇인지 알아야 할 필요가 있다.트랜잭션은 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 하는 일련의 연산들을 의미한다.
SQL에서 view는 SQL 쿼리의 결과 셋을 기반으로 만들어진 일종의 가상 테이블이다.view는 실제 테이블과 같이 행과 열을 가지고 있는데, 이 때 뷰에 속한 각 필드들은 데이터베이스에 들어 있는 하나 이상의 실제 테이블로부터 온다. view table을 생성함으로
DB Concurrency 문제는 DB에 두 명 이상의 유저가 동시에 접근할 때 발생할 수 있는 문제이다. 즉, Concurrency는 transaction이 순차적으로 실행되는 것이 아니라 순서에 상관없이 동시에 실행되는 것을 말한다.예를 들어, 두 유저가 동시에 계
PostgreSQL에서 slow query를 로깅해 성능 개선에 사용할 수 있다.이를 통해 어떤 쿼리가 느린 쿼리인지 확인해 쿼리 개선을 하면 된다.파라미터 설정 주의할 점은 파라미터 특성이 dynamic인 경우 파라미터를 수정하면 바로 적용 되지만 static일 경우
데이터베이스의 검색 속도 향상에는 index가 사용된다. 이 index는 어떤 일을 하는지, 그리고 어떻게 사용해야 검색 속도를 향상시킬 수 있는 지를 알아본다.보통의 테이블은 id를 pk로 갖는다. id는 정수로 구성되며 1씩 증가하는 값이기 때문에 id를 이용해 테
무결성(Integrity)란 데이터의 정확성, 일관성 및 유효성이 유지되는 특성을 말한다.데이터가 정확하고 완전해야 한다.즉, 개발자가 의도한 상태로 존재해야 한다.무결성에는 제약 조건이 존재한다.pk(기본키)는 NULL이 올 수 없으며 unique 해야 한다.개체 식