본문 바로가기

728x90

Programming/Database

[03. MongoDB] 007. Index Index는 필드를 따로 저장해서 조회 및 정렬 시 사용한다. Index를 생성하면 검색을 보다 빨리할 수 있기 때문에 유용하게 사용된다. 1) db..createIndex(keys, options): 생성 db.stock_trade.createIndex( { qty: 1 } )를 입력하면 qty를 오름차순으로 인덱싱한다. -1은 내림차순으로 인덱싱한다. Compass에서는 Indexes탭에서 CREATE INDEX버튼을 누르면 생성할 수 있다. Options에 대한 자세한 설명은 공식문서를 참고하자. db.collection.createIndex() — MongoDB Manual The options document contains a set of options that controls the crea.. 더보기
[03. MongoDB] 006. Cursor Cursor는 db..find()가 반환하는 객체이다. find()를 통해 찾은 document에 추가적인 적용을 할 수 있다. - cursor.count() db.stock_trade.find( { “type”: “Long” } ).count()를 입력하면 type이 Long인 document의 수를 출력한다. - cursor.limit() db.stock_trade.find( { “type”: “Long” } ).limit(2)를 입력하면 type이 Long인 document 중 2번째까지 출력한다. - cursor.sort() db.stock_trade.find().sort( { “qty”: -1 } )를 입력하면 document를 qty를 기준으로 Descending Sort한다. 1은 Ascen.. 더보기
[03. MongoDB] 005. Query Query 연산자를 통해 조금 더 자세한 검색을 할 수 있다. 실습을 위해 inventory라는 collection을 만들어 다음의 document를 입력해보자. [ { "_id": 1, "item": { "name": "ab", "code": "123" }, "qty": 15, "tags": [ "A", "B", "C" ], “stock”: 100 }, { "_id": 2, "item": { "name": "cd", "code": "123" }, "qty": 20, "tags": [ "B" ] , “stock”: 30 }, { "_id": 3, "item": { "name": "ij", "code": "456" }, "qty": 25, "tags": [ "A", "B" ] , “stock”: 50 },.. 더보기
[03. MongoDB] 004. Document MongoDB Shell에서 Document와 관련된 명령어를 요약하면 다음과 같다. 1) db..insert(): document 추가 한줄씩 추가할 수도 있고 bulk로 추가할 수도 있다. db.stock_trade.insert([{"ticker": "005930 KS Equity", "type": "Long", "qty": 100}, {"ticker": "005930 KS Equity", "type": "Short", "qty": 100}]) Compass에서는 ADD DATA버튼으로 쉽게 추가할 수 있다. 2) db..find(query, projection): document 검색 다음과 같이 Key/Field값으로 특정 조건을 입력하여 document를 검색할 수 있다. db.stock_tra.. 더보기
[03. MongoDB] 003. Collection MongoDB Shell에서 Collection과 관련된 명령어를 요약하면 다음과 같다. 1) db.createCollection(): Collection을 생성 db.createCollection( , { capped: , autoIndexId: , size: , max: , storageEngine: , validator: , validationLevel: , validationAction: , indexOptionDefaults: , viewOn: , // Added in MongoDB 3.4 pipeline: , // Added in MongoDB 3.4 collation: , // Added in MongoDB 3.4 writeConcern: } ) - capped: capped collecti.. 더보기
[03. MongoDB] 002. Database MongoDB Shell에서 Database와 관련된 명령어를 요약하면 다음과 같다. 1) db: 현재 사용하고 있는 데이터베이스 2) db.stats(): 현재 사용하고 있는 데이터베이스 정보 출력 3) use database: 사용하고자하는 데이터베이스로 Switch 4) db.dropDatabase(): 현재 사용하고 있는 데이터베이스 삭제 Compass에서 Database를 생성하는 방법은 CREATE DATABASE 버튼을 누르면 된다. 적절한 Database이름과 Collection 이름을 입력하고 생성하면 된다. 다른 명령어들을 알고 싶다면 공식 문서를 참고하자. Database Methods — MongoDB Manual Note For details on specific methods, .. 더보기
[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.. 더보기
728x90