if문과 switch문은 뭐가 다를까? if문으로 switch문을 대체할 수 있다. (나는 아직... if문이 더 쉬운 것 같다.) let myChoice = 2; switch(myChoice) { case 1: console.log('토끼를 선택한 당신, ...'); break; case 2: console.log('고양이를 선택한 당신, ...'); break; case 3: console.log('코알라를 선택한 당신, ...'); break; case 4: console.log('강아지를 선택한 당신, ...'); break; default: console.log('1에서 4사이의 숫자를 선택해 주세요.'); } if (myChoice === 1) { console.log('토끼를 선택한 당신, ..
SQL 문 안에서 -컬럼 이름에도 alias를 붙일 수 있고, -테이블 이름에도 alias를 붙일 수 있다. 그리고 둘다 원래 이름 뒤에 AS를 쓰거나, 스페이스 하나를 띄우고 그 뒤에 alias를 쓰면 된다. 하지만 컬럼에 alias를 붙이느냐 텡이블에 alias를 붙이느냐는 용도의 차이가 있다. 컬럼의 alias는 각 컬럼 이름이 실제로 우리에게 그 alias로 변환되어서 보여지게 하기 위한 용도로 쓰인다.ㅇ 이와 달리 테이블의 alias는 조회 결과에서 보기 위한 게 아니라 SQL 문의 전체 길이를 줄여서 가독성을 높이기 위해 사용된다. 그리고 특히 조인(join)을 할 때, 만약 서로 다른 테이블에 같은 이름의 컬럼이 존재한다면, SQL 문 안에서 그 컬럼을 가리킬 때 무슨 테이블의 컬럼인지를 더..
SQL은 어떤 절이 다른 절보다 먼저 나와야 한다는 '순서의 법칙'은 아주 엄격하게 지켜줘야 한다. 만약 이 순서를 지키지 않으면 SQL 문을 실행했을 때 에러가 난다. ** 작성 순서 SELECT FROM WHERE GROUP BY HAVING ORDER BY LIMIT ** 실행순서 FROM WHERE GROUP BY HAVING SELECT ORDER BY LIMIT ** 각 절 안의 내용 FROM: 어느 테이블을 대상으로 할 것인지를 먼저 결정 WHERE: 해당 테이블에서 특정 조건(들)을 만족하는 row들만 선별 GROUP BY: row들을 그루핑 기준대로 그루핑. 하나의 그룹은 하나의 row로 표현 HAVING: 그루핑 작업 후 생성된 여러 그룹들 중에서, 특정 조건(들)을 만족하는 그룹들만 ..
1. LENGTH() 함수 LENGTH() 함수는 문자열의 길이가 몇 글자 인지 보여준다. 2. UPPER(), LOWER() 함수 UPPER()는 문자열을 모두 대문자로 LOWER()는 문자열을 모두 소문자로 3. LPAD(), RPAD() 함수 이 두 함수는 문자열의 왼쪽, 오른쪽을 채워서 n 자리로 만들어 준다. LPAD는 LEFT(왼쪽) + PADDING(채우기)의 줄임말, RPAD는 RIGHT(오른쪽) + PADDING(채우기)의 줄임말 예를 들어 LPAD(age, 10, ’0’)는 age 컬럼의 값을, 왼쪽에 문자 0을 붙여서 총 10자리로 만드는 함수. 보통 어떤 숫자의 자릿수를 맞출 때 자주 사용하는 함수이다. RPAD() 함수는 아래 그림처럼 LPAD() 함수와 반대로 문자열의 오른쪽을 ..
식별자는 엔터티를 대표할 수 있는 유일성을 만족하는 속성이다. 일반적으로 회원 ID, 계좌번호, 주민번호 등이있다. 1. 주식별자(기본키 PK) - 최소성, 대표성, 유일성, 불변성을 모두 만족한다. 2. 키의 종류 데이터베이스 키 설명 기본키(PK) - 후보키 중 엔터티를 대표할 수 있는 키 - 최소성/대표성/유일성/불변성 만족 후보키(Candidate Key) - 유일성과 최소성을 만족하는 키 슈퍼키(Super Key) - 유일성은 만족하지만 최소성은 만족하지 않음 대체키(Alternate Key) - 여러 개의 후보키 중에서 기본키를 선정하고 남은 키 외래키(FK) - 하나 혹은 다수의 다른 테이블의 기본 키 필드를 가리키는 것으로 참조 무결성을 확인하기 위해 사용하는 키 - 허용된 데이터 값만 데..
2. 반정규화(De-Normalizatioin) - 데이터베이스의 성능 향상을 위하여 데이터 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 방법 - 반정규화는 조회(select) 속도를 높이지만 데이터 모델의 유연성은 낮아진다. 1) 반정규화를 수행하는 경우 - 정규화에 충실하면 종속성 활용성은 향상되지만 수행 속도가 느려지는 경우 - 다량의 범위를 자주 처리해야하는 경우 - 특정 범위의 데이터만 자주 처리하는 경우 - 요약/집계 정보가 자주 요구되는 경우 2) 반정규화 절차 절차 설명 대상 조사 및 검토 데이터 처리 범위, 통계성 등을 확인해서 반정규화 대상 조사 다른 방법 검토 - 수행 전 다른 방법이 있는지 검토 - *클러스터링, 뷰, 인덱스 튜닝, 응용프로그램, 파티션 등 검토 반정규화 수..