목차 View란 무엇인가요? 더보기 View란 하나 이상의 테이블로 만들어지는 가상 테이블 입니다. View는 쿼리문의 결과를 나타냅니다. 여러 개의 테이블에서 정보를 규합하거나, 복잡한 쿼리문의 결과를 저장하여 사용자가 편하게 사용할 수 있게 합니다. 또한 테이블의 숨기고 싶은 컬럼은 숨기고 보여주고 싶은 컬럼만 보여줄 수 있어 보안이 증가합니다. 가상 테이블답게 물리적으로 저장되지 않습니다. 다만, 쿼리문을 저장하므로 논리적으로 저장이 됩니다. 하지만 View는 한 번 만들어진 정의를 변경할 수 없습니다. 뷰는 뷰로부터 만들수도 있는데 복잡한 뷰는 성능 저하를 일으킬 수 있습니다. RDB와 NoSQL 더보기 RDB는 관계형 데이터베이스 입니다. 스키마에 따라 데이터를 저장하며 테이블끼리 관계를 맺을 ..
목차 트리거(Trigger) 트리거란 영어로 방아쇠라는 뜻입니다. 방아쇠를 당기면 총기 내부에서 알아서 일련의 작업을 실행하고 총알이 날아갑니다. 이와 같이 데이터베이스에서도 트리거는 특정 테이블에 INSERT, DELETE, UPDATE 와 같은 DML이 실행했을 때, 데이터베이스에서 자동으로 동작하도록 작성된 프로그램 입니다. 즉 사용자가 직접 호출하는 것이 아니라 데이터베이스에서 자동적으로 호출하는 것이 큰 특징입니다. 트리거는 데이터베이스 시스템에서 데이터의 삽입, 갱신, 삭제 등의 변경 이벤트가 발생했을 때 관련 작업이 자동으로 수행되게 하는 절차형 SQL(프로그램) 입니다. 이벤트는 전체 트랜잭션 대상과 각 행에 의해 발생되는 경우 모두를 포함할 수 있으며 테이블과 뷰, DB 작업을 대상으로 ..
목차 NoSQL 개요 NoSQL은 비관계형 데이터베이스를 지칭합니다. 즉 관계형 데이터 모델을 지양하며 대량의 분산된 데이터를 저장하고 조회하는 특화되어 있으며 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소를 의미합니다. NoSQL은 기존 RDBMS 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하며, 관계형 데이터베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태입니다. NoSQL 특징 1. RDBMS와 달리 데이터 간의 관계를 정의하지 않습니다. RDBMS는 데이터 관계를 외래키 등으로 정의하고 JOIN 연산을 수행할 수 있지만, NoSQL은 JOIN 연산이 불가능합니다. 2. RDBMS에 비해 대용량 데이터를 저장할 수 있습니다. 페타바이트 급의 대용량 ..
목차 영속성 컨텍스트 영속성 컨텍스트란 엔티티를 영구 저장하는 환경이라는 뜻 입니다. 에플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 합니다. 엔티티 메니저를 통해 엔티티를 저장하거나 조회하면 엔티티 메니저는 영속성 컨텍스트에 엔티티를 보관하고 관리합니다. // 엔티티 메니저를 사용해 회원 엔티티를 영속성 컨텍스트에 저장 em.persist(member); 영속성 컨텍스트의 특징 엔티티 매니저를 생성할 때 하나 만들어 집니다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근하고 관리할 수 있습니다. 엔티티의 생명주기 비영속(new / transient) : 영속성 컨텍스트와 전혀 관계가 없는 상태 영속(managed) : 영속성 컨텍스트에 저장된 상태 준영속(detach..