도서 19

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) 값이거나 참조된 테이블의 기본 키 값과 ..

Day4. 데이터 타입

1.데이터 타입 : 각 컬럼 속에 있는 데이터의 성질 : 대표적인 타입들은 아래와 같다 숫자형 화폐형 문자형 날짜 및 시간 불리언형 배열형 제이슨형 1.1 숫자형 데이터 타입 INTEGER(4byte) : 정수데이터 사용시 이용 NUMERIC(정수형 자릿수, 소수점 이하 자릿수)(가변적): 실수 데이터 사용시 이용 FLOAT(4byte, 8byte): 실수 데이터 사용시 이용 SERIAL(4byte)- 실수 데이터 사용시 이용: INTEGER 기본값으로 1씩 추가되며, 값이 자동 생성, 프라이머리 키 데이터 타입으로 주로 사용. 1.2 화폐형 데이터 타입 : 금액을 저장하는 데이터 타입으로 분수의 형태로 금액을 저장한다. : 분수의 정밀도는 lc_monetary 설정을 따르고, 테이블에서는 소수점 두 자..

Day3.sql 명령어

1. SQL Shell 명령어 \q: psql 를 종료합니다. \l: 데이터베이스를 조회 \c: 입력한 데이터베이스로 이동 \e:외부편집기로 SQL 쿼리를 입력하도록 도와준다 \dt:현재 데이터베이스에서 테이블을 조회 2. 테이블 생성,삭제 명령어 CREATE TABLE '테이블 이름'( '컬럼명' '자료형', '컬럼명' DATE, '컬럼명' VARCHAR(80) ); DROP TABLE '테이블명'; 3. 데이터베이스 생성,삭제 명령어 CREATE DATABASE '데이터베이스 이름'; DROP DATABASE '데이터베이스 이름'; 4. 데이터 추가 명령어 INSERT INTO '테이블명' VALUES(value1, valu2, value3); - 순서를 지정해서 데이터 추가하기 INSERT INTO..

Day2.PostgreSQL 프로세스 구조

1. PostgreSQL 프로세스 구조 클라이언트-서버 모델을 기반으로 하고 있음 클라이언트(수요자)는 요청한 결과값을 받아내는 것을 원하고, 서버(공급자)는 클라이언트의 요청에 따라 데이터베이스를 조작한 결과값을 내보내는 역할을 한다. 클라이언트와 서버를 연결해주는 매개체를 인터페이스라고 하며, 이들의 집합을 인터페이스 라이브러리라고 한다. 2. PostgreSQL 데이터베이스의 계층구조 클러스터:데이터베이스들의 집합으로 계층구조 최상단에 위치 스키마:개체들의 논리적인 집합.스키마를 구성하는 개체로는 테이블,뷰,인덱스,함수,데이터 타입,연산자 등이 있으며 각각의 이름으로 식별할 수 있기 때문에 중복을 허용하지 않는다. 데이터베이스를 생성시 자동으로 기본 스키만인 public 스키마가 만들어진다. Pos..

Day1.데이터베이스란 무엇인가?

1. 데이터: 현실에 존재하는 사실적인 자료들의 집합 ex>온도,IQ.. 1.1 데이터의 특성 통합데이터: 중복되는 데이터를 줄이는 것 저장데이터:컴퓨터 내부에 저장되어 있는 데이터 운영데이터:조직을 운영하는데 도움이 되는 데이터 공유데이터:개개인의 필요가 아닌 공동의 필요에 의해 저장되는 데이터 2. 데이터베이스: 논리적으로 연관된 데이터들을 체계화해서 여러 사람이 공유할 목적으로 통합한 것 2.1 데이터베이스의 특성 실시간 접근성: 실시간 처리에 의한 응답이 가능해야 함 지속적인 변화: 데이터의 Insert,Delete,Update에 의해 항상 최신 데이터를 유지해야 함 동시공유: 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 함 내용에 따른 참조: 데이터베이스에 있는 데이터를 참조할..