이유's Programming

    [ 4 -2 ] 인덱스 스캔 방식 -

    인덱스에는 다양한 스캔 방식이 있고 그중 중요한 것이 이제 Index Range Scan 과 Index Full Scan 방식이다. 출처 References http://wiki.gurubee.net/pages/viewpage.action?pageId=4949506&

    [ 4 -1 ] 인덱스 기본 원리 / Balanced Tree ( B Tree)

    [ 4 -1 ] 인덱스 기본 원리 / Balanced Tree ( B Tree)

    인덱스는 우리가 흔히 아는 색인이라고 생각을 하면 이해가 조금더 빠를 수 있다가. 가나다 순이고 키워드가 같을 땐 페이지 순으로 찾는다. 이처럼 좀 빨리 찾고 싶을 때 우리가 색인을 이용하는 것처럼 데이터 베이스도 인덱스로 DBMS 도 찾는다. root 노드가 1. 인덱스 기본 구조 인덱스 기본 구조의 노드는 -> B* Tree 가 일반적.이다. 이 처럼 정말 나무를 뒤집어 놓았으므로 맨 위쪽 뿌리를 설정해줄 수 있으며 해당 루프, 브랜치 , 리프까지 모두 갖춘 노드를 의미한다. ROWID : 테이블 레코드를 찾아가기 위해 필요한 주소 정보 키 값이 같을 경우에는 ROWID 순으로 정렬된다는 사실 ~~ 이는 정방향 스캔과 역방향 스캔이 둘다 가능하도록 양방향 연결 리스트 ( Double Linked Li..

    SQL 연산자

    SQL 연산자는 sql 문장에서 사용하도록 기본적으로 예약되어 있는 연산자임 따라서 모든 데이터 타입에 대해서 수행할 수 있도록 한다. 연산자 연산자의 의미 BETWEEN A AND B A 와 B 사이의 값을 갖는다 IN ( list) 리스트에 있는 값 중에서 어느 하나라도 일치한다. LIKE '비교문자열' 비교문자열과 형태가 일치한다. IS NULL NU.LLL 값인 경우를 의미한다. IN 연산자에 대한 예시 SELECT PLAYER_NAME AS 선수명, POSITION AS 포지션, BACK_NO AS 백넘버, HEIGHT AS 키 FROM PLAYER WHERE TEAM_ID IN ('KO2', 'K07') 이럴 경우 소속팀 코드가 K02 거나 K07 일 경우에 선택되는 것.

    Redux 에서 Mobx 상태관리 도입기 - 참고

    medium.com/@buen_cielo/redux-%EC%97%90%EC%84%9C-mobx-%EC%83%81%ED%83%9C%EA%B4%80%EB%A6%AC-%EB%8F%84%EC%9E%85%EA%B8%B0-2-4ecc78f6e981 Redux 에서 Mobx 상태관리 도입기-2 Mobx 에서 필요한 규칙 정해보기 medium.com 여기서 생각되었던 건 store 를 그냥 단순히 store 개념으로 만드는 것이 아니라 우선 어떤 구조가 있다는 것을 알면 좋겠다.

    [ 3 -1 ] DBMS 내장 함수

    dbms 에서 사용할 수 있는 함수는 다양한 기준으로 분류할 수 있는데.. 오라클과 같은 벤더에서 제공하는 함수인 내장함수와 그리고 사용자가 정의할 수 있는 함수인 ( User Defined Function ) 이 있다. 요기서는 이제 벤더에서 제공하는 함수인 내장 함수에 대해 말해볼 것이다. 내장행 함수의 단일의 행으로 결과 값이 나오는 함수는 여러 종류가 있다. - 문자형 함수 문자형 함수 함수 설명 Lower ( 문자열) 문자열의 알파벳 문자를 소문자로 Upper ( 문자열 ) 문자열 알파벳 문자를 대문자로 ASCHII 문자나 숫자를 ASCHII 코드로 CHAR/CHAR (ASCHII 번호) ASCHII 번호를 문자나 숫자로 바꾼다. CONCAT ( 문자열 1, 문자열 2) 문자열 1과 문자열 2를..

    [ 식별자 ] 본질식별자와 인조식별자

    [ 식별자 ] 본질식별자와 인조식별자

    INSERT INTO 주문상세 VALUES ( 주문상세번호.SEQ.NEXTVAL, 110001, 1234, '귤 1 BOX', '우리집' ) DBMS 에서 중요한 식별자는 엔터티에서 데이터를 식별할 수 있는 속성이다. 이처럼, 식별자는 대체여부에 따라 본질식별자 그리고 인조 식별자로 나뉘어질 수 있다. * 본질 식별자 ; 업무에 의해 만들어진 식별자 * 인조 식별자 : 업무적으로는 만들어지진 않지만 본질식별자가 복잡한 구성을 갖고 있으므로 인위적으로 만든 식별자. 해당 주문 상세 테이블에 대한 식별자는 이제 주문상세 번호이다. 해당 주문 상세 번호는 이제 필요한 해당 단일 식별자로 구성된 키값이기 때문에 시퀀스 객체로 해결이 가능하다 다음은 시퀀스 객체로 구현된 SQL 이다. INSERT INTO 주문상..

    [ 2 -1 ] 관계와 조인의 이해

    [ 2 -1 ] 관계와 조인의 이해

    이제 정말 DBMS 에서 중요한 내용인 관계에 대해서 확인해보자~. 관계는 사전적으로 정의하면 ' 상호 연관성이 있는 상태' 즉 어떤 테이블과 어떤 테이블이 서로 관계가 있어 연결된 상태이다. 아까 살펴본 대로, 1:다 / 1:1 / 다:1 / 다:다 등 다양한 관계가 존재하였다. 이 관계를 현상적으로 본다면, 부모의 식별자를 자식에게 상속시키는 행위다. 부모의 식별자를 이제 자식의 일반속성으로 상속하면 비식별관계라고 우리가 칭하였다.! - 즉 관계를 맺는다는 건 식별자를 상속하고 상속된 속성을 매핑키로 사용하는 것 ! - 우리는 이 관계를 JOIN이라는 옵션을 통해서 수행될 수 있는 것이다. 위처럼 고객테이블이 부모테이블이 되고 주문테이블이 자식 테이블이 되어 해당 고객테이블의 고객번호가 주문테이블의 ..

    2-2. 정규화 ( 제 3 정규형, 반정규화와 성능 )

    2-2. 정규화 ( 제 3 정규형, 반정규화와 성능 )

    저번시간에 배워봤던 정규화에 대해서 알아봤고 이제는 제 3정규형에 대해 알아보자. 제 3정규형 : 엔터티의 일반속성 간에는 서로 종속적이지 않는다. 앞서 말씀 드린대로 정규형은 이제 조금씩 조금씩 다듬는 것이다. 여기서 제 3 정규형에 대한 말은 "이행적 종속" 과 연관이 있다. 예를 들면 요런 테이블이 있다고 가정해보자. 이럴 경우에 봤을 때 몇가지 문제가 생긴다. * 데이터 갱신 이상 문제 예를 들면, 고객이 이름을 바꿔 고객명을 바꿀 때 모든 주문 상세 테이블의 고객명을 따로따로 업뎃을 해주어야한다. 예를 들면, 에이미가 베이미로 바꾼다고 하면 -> 두 번의 작업을 해주어야하는 것이다. 요렇게 되면 주문과는 전혀 연관 없는 트랜잭션이므로 이를 확인해주어야한다. 이럴 경우 두번의 쓸데없는 작업이 생기..