본문 바로가기

728x90

Programming

[03. MongoDB] 001. MongoDB 란 MongoDB는 NoSQL로 빅데이터처리에 적합한 DB이다. 다운로드 링크는 아래와 같다. MongoDB(v4.2.2): 무료버전인 Community Server Download Center: Enterprise Server Download MongoDB Enterprise Server, which provides advanced security and performance options for the most demanding apps. Download and use for free for development. www.mongodb.com Compass(v1.20.2): MongoDB GUI Download Center: Compass MongoDB Compass, the GUI for MongoDB.. 더보기
[02. PostgreSQL] 009. TCL – COMMIT, ROLLBACK, SAVEPOINT 이 명령어는 쿼리를 확정하고 되돌리기 위해 사용된다. 1) COMMIT BEGIN; INSERT INTO postgresql.stock_order VALUES(uuid_generate_v1(), '2019-01-11', '000660 KS Equity', 80000, 200); COMMIT; 2) ROLLBACK BEGIN; INSERT INTO postgresql.stock_order VALUES(uuid_generate_v1(), '2019-01-11', '000660 KS Equity', 80000, 200); ROLLBACK; 3) SAVEPOINT BEGIN; INSERT INTO postgresql.stock_order VALUES(uuid_generate_v1(), '2019-01-11', .. 더보기
[02. PostgreSQL] 008. DCL – GRANT, REVOKE GRANT와 REVOKE는 사용자에게 권한을 부여하고 취소하는 명령어다. DB관리자가 사용자별로 사용권한을 할당할 때 유용하게 사용되지만 소규모로 만든 DB로 사용자가 유일한 경우에는 크게 필요는 없다. 1) GRANT GRANT INSERT ON postgresql.stock_order TO PUBLIC; GRANT ALL ON postgresql.stock_order TO PUBLIC; - 권한의 종류 SELECT : 특정 TABLE/VIEW 의 column에 대한 access를 승인 INSERT : 특정 TABLE의 모든 column 에 데이타의 삽입에 대한 권한 승인 UPDTAE : 특정 TABLE의 모든 column 의 갱신에 대한 권한 승인 DELETE : 특정 TABLE 의 row 의 삭제에.. 더보기
[02. PostgreSQL] 007. DML – INSERT, SELECT, UPDATE, DELETE 가장 중요한 시간이다. 솔직히 SQL은 INSERT, SELECT, UPDATE, DELETE 4가지만 알면 90%는 끝난 것이다. DB전문가가 아닌 이상 현업에서는 이걸로 충분하다. 1) INSERT 이 명령어는 데이터를 입력하는데 사용된다. 테이블에서 uuid타입을 사용하고 있는 경우 이를 생성하기 위해 아래와 같이 uuid 생성 모듈을 설치한다. CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; 현재의 타임과 컴퓨터의 맥어드레스를 이용한 uuid를 생성하기 위해서는 uuid_generate_v1()를 사용하고 단순히 완전 랜덤으로 생성하기 위해서는 uuid_generate_v4()를 사용하면 된다. INSERT INTO postgresql.stock_order VALUE.. 더보기
[02. PostgreSQL] 006. DDL – RENAME 이 명령어는 컬럼의 이름을 변경하기 위해 사용된다. 기존 컬럼의 이름을 새로운 이름으로 변경하는 방법은 다음과 같다. ALTER TABLE postgresql.stock_trade RENAME ticker TO code; 더보기
[02. PostgreSQL] 005. DDL – TRUNCATE 이 명령어는 데이터를 삭제하는 명령어이다. 총 4가지 옵션으로 데이터를 삭제할 수 있다. 1) 테이블에 적용된 시퀀스를 재시작(RESTART IDENTITY) TRUNCATE TABLE postgresql.stock_trade RESTART IDENTITY; 2) 테이블에 적용된 시퀀스를 재시작하지 않고 데이터만 삭제(CONTINUE IDENTITY) TRUNCATE TABLE postgresql.stock_trade CONTINUE IDENTITY; 3) 외래키로 연결된 다른 데이터들도 같이 삭제(CASCADE) TRUNCATE TABLE postgresql.stock_order CASCAD; 4) 다른 테이블에 연결된 데이터가 하나라도 있으면 삭제하지 않음(RESTRICT) TRUNCATE TABLE.. 더보기
[02. PostgreSQL] 004. DDL – DROP 이 명령어는 테이블을 삭제할 때 사용된다. 우선 테이블 목록을 조회해보자. SELECT * FROM PG_TABLES; 위의 명령어로 테이블 목록을 조회할 수 있다. schemaname이 postgresql인 것에 우리가 만든 테이블 stock_order, stock_trade이 있다. 필자가 스키마 이름을 postgresql로 지정했기 때문이다. 삭제하고자하는 테이블을 다음과 같이 삭제한다. DROP TABLE stock_order, stock_trade; 더보기
[02. PostgreSQL] 003. DDL – ALTER 이 명령어는 존재하는 테이블에 컬럼을 추가하거나 삭제, 또는 수정하기 위해 사용된다. 테이블에 새로운 컬럼을 추가하는 방법은 다음과 같다. ALTER TABLE postgresql.stock_order ADD new_column numeric; 테이블에 존재하는 컬럼을 삭제하는 방법은 다음과 같다. ALTER TABLE postgresql.stock_order DROP COLUMN new_column; 컬럼의 데이터 타입을 변경하는 방법은 다음과 같다. ALTER TABLE postgresql.stock_order ALTER COLUMN ticker TYPE varchar; 컬럼에 NOT NULL 제약조건을 추가하는 방법은 다음과 같다. ALTER TABLE postgresql.stock_order AL.. 더보기
[02. PostgreSQL] 002. DDL – CREATE CREATE란 명령어를 사용하여 테이블을 만들어보자. stock_order라는 테이블을 만드는 쿼리이다. 총 5가지의 컬럼을 가졌는데 id는 primary key, order_date는 날짜형, ticker는 문자형, price와 qty는 숫자형으로 설정되었다. 여기서 primary key(기본키)란 테이블에서 데이터를 유일하게 구분하는 키라 하며 이것은 다른 테이블의 foreign key(외래키)와 연결되어 테이블간 연결에 사용된다. 관계형 데이터베이스임을 알 수 있는 부분이다. stock_trade 테이블을 만들면서 왜래키를 지정했다. 즉 실제로 stock_order 테이블에서 발생한 주문 번호를 stock_trade 테이블의 체결된 데이터와 연결시키는 것이다. 실제로 데이터전문가가 아니며 엄청 복잡.. 더보기
[02. PostgreSQL] 001. PostgreSQL이란 PostgreSQL은 관계형 데이터베이스로 오픈소스이다. 무료 DB를 사용하고자 한다면 부담없이 사용할 수 있다. 다운로드 링크는 아래와 같다. PostgreSQL Database Download | EnterpriseDB PostgreSQL Database Download www.enterprisedb.com 설치하고 pgAdmin을 실행하면 다음과 같은 화면이 나오면 설치가 완료된 것이다. 설치버전은 12.1이다. 더보기
728x90