노 커넥션 풀 애플리케이션에서 데이터베이스 커넥션 획득 과정 1. 애플리케이션 로직은 DB 드라이버를 통해 커넥션 조회 2. DB 드라이버는 DB와 TCP/IP 커넥션을 연결 , 이 과정에서 3 way handshake 같은 TCP/IP 연결 을 위한 네트워크 동작이 발생 3. DB 드라이버는 TCP/IP 커넥션이 연결되면 ID, PW와 기타 부가정보를 DB에 전달 4. DB는 ID, PW를 통해 내부 인증을 완료하고, 내부에 DB 세션을 생성 5. DB는 커넥션 생성이 완료되었다는 응답 6. DB 드라이버는 커넥션 객체를 생성해서 클라이언트에 반환 애플리케이션도 TCP/IP 커넥션을 새로 생성하기 위해 리소스를 사용하고, DB도 커넥션과 세션을 생성해야합니다. 이는 SQL 실행하는 시간뿐만 아니라 커넥..
COUNT count함수는 null을 세지 않는다. count(*)와 count(null이 있는 속성)시에는 결과가 다르다. CASE SQL에서의 case문은 조건 충족 시 break 없어도 멈춘다. SELECT CASE WHEN false THEN '참입니다' ELSE '거짓입니다' END as 대신 then 사용한다. EXTRACT hour, dayofweek, minute, second 등 다양한 정보를 빼낼 수 있다. select extract(YEAR FROM created_at) as year from `thelook_ecommerce.users` Join 없이 where로 Join인척 하기 select from a, b where a.user_id = b.id select from a joi..
인덱스의 개념 자주 사용되는 칼럼으로 생성해 테이블 전체를 찾지 않고도 데이터 조회 동작 속도를 높여주는 자료구조 인덱스가 설정되지 않으면 Table Full Sacn이 일어나 성능이 저하되거나 치명적인 장애로 이어질 수 있다. 사용자가 직접 접근할 수는 없고, 검색과 질의에 대한 처리에만 사용된다. 조회속도는 빨라지지만 쓰기(INSERT, UPDATE, DELETE)속도는 별도의 자료구조의 수정도 필요하므로 낮아진다. 인덱스를 저장하기 위한 데이터베이스 전체 크기의 10%정도의 저장공간도 필요하다. 위와 같은 특징들로 인해 수정보다 검색이 필요한 테이블에서 사용한다 인덱스의 특징 인덱스는 하나 혹은 여러개의 컬럼에 대해 설정할 수 있다. WHERE절을 사용하지 않고 인덱스가 걸린 컬럼을 조회하는 것은 ..
데이터베이스 정규화? 이상현상이 있는 릴레이션을 분해하여 이상현상을 없애는 과정으로 단계별로 구분해 정규형이 높아질수록 이상현상을 줄인다. 이상현상? 데이터베이스에서 정규화를 수행하지 않으면, 데이터의 중복이 발생하고 전체적인 무결성의 저하로 이어진다. 이러한 원인은 이상현상으로 인해 실제 값과 데이터베이스에 저장된 값이 일치하지 않는 문제가 발생한다. 이상현상을 설명할 대학교 릴레이션이다. 학번 학생명 학과명 동아리 1 바트 컴퓨터공학과 피아노 2 호머 물리학과 마술 3 마지 신소재공학과 밴드 삽입 이상 튜플 삽입 시 특정 속성에 해당하는 값이 없어 NULL을 입력해야하는 현상 새로 개설된 탁구 동아리를 테이블에 추가 해야하지만 동아리원이 없어 특정 속성에 해당하는 값이 없어 NULL을 입력해야한다. ..
2월 2주차 스터디 발표자료 DB, DBMS, RDB 등에 대한 개념정리 데이터베이스란? 여러사람에 의해 공유되어 사용될 목적으로 통합하여 관리하는 데이터의 집합 DBMS란? 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 데이터를 관리해주는 소프트웨어 RDBMS란? DBMS의 한 종류로 관계형 데이터베이스를 이용한다. 관계형 데이터베이스? RDB(관계형 데이터베이스)는 테이블, 행, 열의 정보를 구조화하고 테이블을 조인하여 정보 간 관계 또는 링크 설정을 통해 여러 데이터 포인트 간의 관계를 쉽게 얻을 수 있다. 관계형 데이터베이스의 모든 테이블에는 행에서 고유하게 식별가능 한 기본 키라는 속성이 있으며, 외래 키(다른 기존 테이블의 기본키를 참조)를 사용하여 각 행에서 서로 다른 테이블 간의 관계..