분류 전체보기 88

개발환경 세팅과 관련된 기본사항 - 디렉토리 구조

1. tool 폴더 생성 : 내부에 jdk, tomcat, IDE(eclipse..)등의 폴더를 만들어 버전별로 관리할 수 있도록 한다. : IDE의 경우 프로젝트 마다 사용되는 버전 및 설정값이 다를 수 있으므로 '버전명_프로젝트 명'으로 명명해 프로젝트마다 관리할 수 있도록 한다. 2. repository 폴더생성 : git으로 관리되는 소스들을 저장하는 공간 : 소스트리와 같은 GUI를 이용해 원격저장소에서 프로젝트 소스코드를 클론받거나 변경사항을 push 할 때 변경사항이 저장되는 공간이라고 이해하면 된다. 3. workspace 폴더생성 : 이클립스와 같은 IDE(통합개발툴)에 대한 metadata(설정 정보들)가 저장되는 공간 : 프로젝트에 이용되는 플러그인, 실행 시 발생하는 에러 log등에..

개발환경 세팅 2023.08.05

Day11. 데이터 그룹화

1. DISTINCT : 테이블에서 중복되는 데이터를 없애는 명령어 SELECT DISTINCT item_type FROM rating 2. GROUP BY : 원하는 자료를 그룹화하는 명령어 : DISTINCTI 함수와 달리 집계함수(count()..)를 사용할 수 있고, 집계 연산 이후에 HAVING 절로 조건에 맞는 정보를 걸러낼 수 있다. : 집계함수를 이용한다는 의미는 새로운 관계를 갖고 있는 가상의 결과를 만들어 낸다는 의미와 같다. SELECT item_type FROM rating GROUP BY item_type; SELECT item_type, count(*) FROM rating GROUP BY item_type; 3. HAVING : 집계를 완료한 데이터에서 원하는 조건만 검색할 수..

Day10. 쿼리에 사용되는 연산자와 함수4

1. 서브쿼리에서 사용되는 연산자: 다음의 연산자들은 서브쿼리에 이용되며, boolean 타입을 반환EXISTS (서브쿼리) : 서브쿼리의 로우가 존재하면 참 IN (서브쿼리) : 서브쿼리의 로우 값 중 하나라도 표현식과 같다면 참 NOT IN (서브쿼리) : 서브쿼리의 로우 값 중 하나라도 표현식과 다르면 참 ANY (서브쿼리) : 서브쿼리의 로우 값 중 하나라도 표현식과 같다면 참 ALL (서브쿼리) : 서브쿼리의 로우 값 모두가 표현식과 같다면 참 2. 패턴매칭 연산자2.1  LIKE 연산자: 특정한 패턴을 가지고 있는 값들만을 조회할 수 있도록 도와줌: 대소문자를 구분하지 않는다: LIKE, NOT LIKE, ILIKE, NOT ILIKE 연산자와 동일 연산자로  ~~, !~~, ~~*, !~..

개발환경 세팅과 관련된 기본사항 -lombok 설치

1. lombok.jar 파일을 다운로드 2. 이클립스 폴더 내부에 lombok.jar 파일을 이동 3. 이클립스 폴더 내부에서 shift+우클릭을 통해 powerShell 창을 열어준다. 4. 'java -jar .\lombok.jar' 명령어를 이용해 specify location 창에서 eclipse.exe 파일 선택해 lombok 설치 ** 롬복이 제대로 설치되지 않는 경우 1. 기존의 이클립스를 모두 종료 후 롬복 설치를 진행한다. 2. eclipse.exe 바로가기가 아닌 eclipse.exe 파일에 해당 이클립스를 설치한다.

개발환경 세팅 2023.07.04

Day9. 쿼리에 사용되는 연산자와 함수3

1. 날짜 및 시간 연산자와 함수 : 덧셈 연산자 SELECT date '2020-07-15' + integer '7' AS result; - '2020-07-22'(DATE 타입) SELECT date '2020-07-15' - time '13:00' AS result; - '2020-07-15 13:00:00'(TIMESTAMP 타입) ; 뺄셈 연산자 SELECT date '2020-07-15' - date '2020-07-01' AS result;- 14 날짜와 정수를 빼면 날짜가 나오고, 시간과 시간을 빼면 INTERVAL 타입의 결과가 출력된다. : 곱셈 연산자 SELECT 60 * interval '1 second' AS result;- 00:01:00 SELECT 2 * time '2:00'..

Day8. 쿼리에 사용되는 연산자와 함수2

1. JSONB 연산자 : 불리언 타입으로 '?' 연산자를 사용해 가장 바깥 단의 JSONB에 해당하는 문자열의 '키 값'이 존재하는지 확인할 수 있다. SELECT '{"username":"sumin","content":"hello world"}'::jsonb ? 'username' AS result;- true : 가장 바깥단의 JSONB에 배열 속 원소가 '키 값'으로 1개 이상 존재하는지 물어볼 때는 '?!' 연산자를 사용한다. SELECT '{"hello":0,"psql":1, "world":2}'::jsonb ?| array ['a','psql'] AS result;- true : 가장 바깥단의 JSONB 배열 속의 원소가 "키 값"으로 모두 존재하는지 물어볼 때는 '?&'연산자를 사용한다. ..

Day7. 쿼리에 사용되는 연산자와 함수

1. 쿼리에 사용되는 연산자와 함수의 종류 논리,비교 연산자와 조건문 함수 배열 연산자와 함수 JSON 연산자와 함수 날짜 및 시간 연산자와 함수 자주 쓰이는 연산자와 함수 1.1 논리,비교 연산자와 조건문 함수 : 논리 연산자는 AND,OR,NOT 3가지로 구성된다. : 논리연산자에서 사용되는 데이터 타입인 BOOLEAN의 결과값은 TRUE, FALSE, NULL 3가지로 구성된다. 1.2 비교범위 연산자 : 조건문 사용시 어떤 표현이 참인지 거짓인지 알아야 할 때 사용하는 비교술어에는 아래와 같은 종류들이 있다. IS TRUE : BOOLEAN 조건이 참인지 거짓인지 알아보는 연산자(참:TRUE, 거짓:FALSE) IS NOT TRUE : BOOLEAN 조건이 참인지 거짓인지 알아보는 연산자(참:FA..

DAY6. Alter Table

1. 만들어진 테이블에 컬럼 추가하기 ALTER TABLE 테이블이름 ADD COLUMN 컬럼이름 데이터 타입 제약조건; : ADD COLUMN 실행 시 기존의 열들은 모두 NULL 값으로 채워지므로, 변경하는 컬럼에 NOT NULL 제약조건을 걸 경우 에러가 발생한다. 새로 추가되는 컬럼에 NOT NULL 제약조건을 넣고싶은 경우 아래의 순서를 따른다. NOT NULL 제약조건 없이 컬럼을 생성한다. 컬럼 값을 수정한다.(UPDATE 테이블명 SET 컬럼명='넣어줄 값' WHERE 참조할 컬럼 = '참조할 값';) NOT NULL 제약조건을 추가한다. (ALTER TABLE 테이블명, ALTER COLUMN 컬럼명 SET NOT NULL;) 2. 만들어진 테이블에 컬럼 삭제하기 ALTER TABLE 테..

DYA5. 데이터의 무결성

1. 무결성이란? : 데이터베이스 내에 보다 정확하고 유효한 데이터만을 유지시키는 속성을 의미한다. : 즉, 불필요한 데이터는 최대한 제거하고, 합칠 수 있는 데이터는 최대한 합쳐서 사용하며, 데이터를 생성,조회,수정,삭제할 때 데이터 값을 일관되고 정확하게 유지하자는 특성을 의미한다. : 데이터베이스에서 무결성을 유지하는 경우, 데이터의 일관성을 확인할 필요가 없어져 오류의 가능성을 줄여준다. 2. 무결성의 제약조건 개체 무결성 참조 무결성 범위 무결성 2.1 개체 무결성 : 모든 테이블이 프라이머리 키를 지녀야 하며, 프라이머리 키로 선택된 컬럼의 값은 고유하고, NULL이 허용되지 않아야 한다는 속성이다. 2.2 참조 무결성 : 외래 키의 값이 빈(null) 값이거나 참조된 테이블의 기본 키 값과 ..