1. 데이터베이스 상속(Inheritance)이란? 상속은 객체지향 데이터베이스의 개념 중 하나이다. PostgreSQL은 테이블 생성 시 하나 이상의 다른 테이블로부터의 상속 기능을 제공하며, 이를 잘 활용하면 데이터베이스 설계에 새로운 가능성들을 열어준다. 데이터뿐만 아니라 부모 테이블의 컬럼 속성 및 인덱스 등의 특징들도 자식 테이블로 상속되기에 상황에 따라 효율적인 설계가 가능하다. 2. 데이터베이스 상속(Inherits) 방법 다음 예제는 PostgreSQL 공식 문서의 예제이다. Capitals - 이름, 인구, 고도, 요약어를 포함한 수도의 정보가 포함된 테이블 Cities - 이름, 인구, 고도를 포함한 도시 정보가 포함된 테이블 수도는 도시에 포함되기에, 전체 도시 리스트를 보여줄 때, ..
1. 날짜 형태로 형변환 데이터 베이스에서 날짜형태로 형 변환을 하는 것은 다음과 같은 방법으로 쉽게 가능하다. -- Unix타임(int)형 변환 SELECT to_timestamp(1658792421) -- varchar 타입 변환 SELECT to_timestamp('20231026','yyyymmdd') -- 날짜형을 char로 변환 SELECT to_char(to_timestamp(1658792421), 'DD-MM-YYYY') 2. 유효한 날짜형태 검증 데이터 정제가 완료되지 않아 조회하려는 데이터에 날짜유형에서 벗어난 데이터 ('20231301',202301', '20231232' 등)가 하나라도 있을 경우 조회 자체가 안된다. 그럴 경우 날짜 규격에 맞지 않는 데이터를 보정 후 연산해야 하는..
1. 실행 계획 확인 --Synopsis EXPLAIN [ ( option [, ...] ) ] 쿼리문 EXPLAIN [ ANALYZE ] [ VERBOSE ] 쿼리문 option 자리에 사용할 수 있는 것들: ANALYZE [ boolean ] VERBOSE [ boolean ] COSTS [ boolean ] BUFFERS [ boolean ] TIMING [ boolean ] FORMAT { TEXT | XML | JSON | YAML } * 이후 설명에서 사용될 테스트 데이터는 아래의 "7. 테스트 데이터 생성" 부분 쿼리 확인 2. EXPLAIN이란? EXPLAIN을 통한 실행 계획 확인은 PostgreSQL PLANNER가 만든 쿼리 플랜을 보여준다. 조건에 부합하는 자료를 찾기 위해 어떤 테..
1. 뷰(VIEW) 테이블의 사용 (생성, 삭제, 수정) -- 기본 생성 CREATE VIEW comedies AS SELECT * FROM films WHERE kind = 'Comedy'; -- 삭제 DROP VIEW comedies --Synopsis CREATE [ OR REPLACE ] VIEW name [ ( column_name [, ...] ) ] AS query -- or CREATE VIEW name [ ( column [, ...] ) ] AS query [ WITH [ CASCADE | LOCAL ] CHECK OPTION ] 2. 뷰(VIEW)의 개념 및 특징 정의된 쿼리를 실행시켜 가상의 테이블 형태로 보여주며 테이블을 조회하는 것과 같은 방식으로 조회가 가능하다. VIEW는 물..
1. CREATE TABLE AS 사용 -- 기본 CREATE TABLE films_recent AS SELECT * FROM films WHERE date_prod >= '2002-01-01'; --Synopsis CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name [ (column_name [, ...] ) ] [ [ WITH | WITHOUT ] OIDS ] AS query 2. CREATE TABLE AS 옵션 - TEMPORARY / TEMP 임시 테이블로 생성되며 세션이 종료될 시 삭제된다. - WITH OIDS / WITHOUT OIDS CREATE TABLE AS로 생성된 테이블이 OID를 포함하는지 여부이다. 사용하기 ..
1. 시퀀스(Sequence)의 사용 1-1. 생성, 삭제, 조회 -- 101부터 시작하는 기본 시퀀스 생성 CREATE SEQUENCE serial START 101; -- 시퀀스 다음값 조회 SELECT nextval('serial'); -- 시퀀스 현재값 조회 select currval('serial'); -- 시퀀스 삭제 DROP SEQUENCE serial; -- 시퀀스로 INSERT하기 INSERT INTO distributors VALUES (nextval('serial'), 'nothing'); -- COPY FROM 후에 시퀀스 시작값 변경하기 BEGIN; COPY distributors FROM 'input_file'; SELECT setval('serial', max(id)) FROM..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.