본문 바로가기
반응형

프로그래밍 개발/DB11

MongoDB - Index Index Index는 MongoDB에서 데이터 쿼리를 더욱 효율적으로 할 수 있게 해준다. 인덱스가 없이는, MongoDB는 collection scan – 컬렉션의 데이터를 하나하나 조회 – 방식으로 스캔을 하게 돤다. 만약 document의 갯수가 매우 많다면, 많은 만큼 속도가 느려지며 이 부분을 향상시키기 위하여 인덱스를 사용하면 더 적은 횟수의 조회로 원하는 데이터를 찾을 수 있다. Index의 종류 기본 인덱스 _id 모든 MongoDB의 컬렉션은 기본적으로 _id 필드에 인덱스가 존재한다. 만약에 컬렉션을 만들 때 _id 필드를 따로 지정하지 않으면 mongod드라이버가 자동으로 _id 필드 값을 ObjectId로 설정해준다. _id 인덱스는 unique(유일)하고 이는 MongoDB 클라.. 2021. 1. 20.
MongoDB - Document 수정 Document 수정 update() 메소드 MongoDB에서는 update() 메소드를 통하여 데이터를 수정 할 수 있다. db.collection.update( , , { upsert: , multi: , writeConcern: } ) Collection 안의 document(들)을 수정한다. 이 메소드를 통하여 특정 field 를 수정 할 수도 있고 이미 존재하는 document를 대체(replace) 할 수도 있다. update() 메소드의 기본 옵션으로는 단 하나의 document를 수정한다. *query document 업데이트 할 document의 criteria 를 정합니다. find() 메소드 에서 사용하는 query 와 같다. *update document document에 적용할 변.. 2021. 1. 19.
MongoDB - Document Query(조회) 2 Document Query(조회) 2 find() 메소드 활용 sort(), limit(), skip() orders 라는 데이터 추가 db.orders.insert[ ... { "_id": 1, "item": { "category": "cake", "type": "chiffon" }, "amount": 10 }, ... { "_id": 2, "item": { "category": "cookies", "type": "chocolate chip" }, "amount": 50 }, ... { "_id": 3, "item": { "category": "cookies", "type": "chocolate chip" }, "amount": 15 }, ... { "_id": 4, "item": { "category.. 2021. 1. 18.
MongoDB - Document Query(조회) Document Query(조회) find() 메소드 articles라는 데이터 베이스 추가 db.articles.insert([ { "title" : "article01", "content" : "content01", "writer" : "Velopert", "likes" : 0, "comments" : [ ] }, { "title" : "article02", "content" : "content02", "writer" : "Alpha", "likes" : 23, "comments" : [ { "name" : "Bravo", "message" : "Hey Man!" } ] }, { "title" : "article03", "content" : "content03", "writer" : "Bravo", .. 2021. 1. 18.
MongoDB - 생성 및 제거하기 생성 및 제거하기 Database 생성 use DATABASE_NAME 명령어를 통하여 Database를 생성 할 수 있다. 생성 후, 생성된 데이터베이스를사용하게 되고, 데이터베이스가 이미 존재하는 경우엔 현존하는 데이터베이스를 사용한다. > use k0502s switched to db k0502s 위와 같이 몽고DB을 실행시킨 후 명령어를 입력하면 생성을 할 수 있다. > db k0502s 현재 사용중인 데이터베이스를 확인하려면 db 명령어를 입력하면 된다. > show dbs local 0.000GB 만든 데이터베이스 리스트들을 확인하려면 show dbs 명령어를 입력하면 된다. Database 제거 Database를 제거할땐 db.dropDatabase() 명령어를 사용한다. 이 명령어를 사용하.. 2021. 1. 15.
MongoDB - 기본 설치 및 개념 기본 설치 및 개념 MongoDB란? MongoDB는 C++로 작성된 오픈소스 문서지향(Document-Oriented) 적 Cross-platform 데이터베이스이며, 뛰어난 확장성과 성능을 자랑하며 또한, 현존하는 NoSQL 데이터베이스 중 인지도 1위를 유지하고있다. NoSQL란? Not Only SQL 라는 의미이며 기존의 RDBMS의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터저장소이다. 관계형 DB가 아니므로, RDMS처럼 고정된 스키마 및 JOIN 이 존재하지 않는다. Document와 Collection 몽고 DB는 Document Oriented 데이터베이스라는 것인데 Documen로 데이터를 다룬다고 말 할수 있다. 데이터 구조는 한개이상의 key-value pair 으로 이뤄져.. 2021. 1. 14.
Mysql - 테이블 분리하기와 JOIN 테이블 분리하기 테이블 분리하기를 구현하기 위하여 아래와 같이 테이블을 각자 만들어주었다. mysql> DESC topic; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int | NO | PRI | NULL | auto_increment | | title | varchar(30) | NO | | NULL | | | description | text | YES | | NULL | | | created | .. 2021. 1. 9.
MySQL - CRUD CRUD INSERT CRUD 중 C인 Create에 속하는 생성기능에 대해서다. INSERT INTO topic (title,description,created,author,profile) VALUES('ORACLEL','ORACLE is...', NOW(),'k0502s_1','developer'); 위와 같은 형태로 데이터 표에 삽입할 수 있다. 위와 같은 형식으로 INSERT하여 데이터를 넣어보았다. INSERT을 실행 한 후 이름이 topic인 데이터 표를 SELECT * FROM topic이라는 명령어로 확인할 수 있었다. 더 원하는 데이터 추가를 같은 방식으로 계속 넣어 보았다. 결국 위와 같은 데이터 테이블이 완성되었다. SELECT CRUD 중 R인 Read의 읽기의 기능에 대한 것이다... 2021. 1. 2.
MySQL - 테이블 생성 테이블 생성 아래는 테이블을 만드는 코드의 수 많은 예들 중 몇 개일 뿐이다. 아래 코드 말고도 수 많은 코드가 존재하므로 검색으로 더 많은 기능 코드들을 찾을 수 있다. mysql> USE k0502s; Database changed mysql> CREATE TABLE topic( //topic이라는 이름으로 테이블 생성 시작 -> id INT(11) NOT NULL AUTO_INCREMENT, //첫번째로 적는 곳은 컬럼의 이름을 결정한다. -> title VARCHAR(100) NOT NULL, // INT(칸 수)는 정수만 오도록 설정하는 명령어 -> description TEXT NULL, // NOT NULL은 정보가 없어서는 안되게 하는 명령어 -> created DATETIME NOT NU.. 2021. 1. 2.
MySQL - 기본 서버 접속하기 mysql -uroot -p 위와 같이 CMD에 코드를 작성하고 엔터를 치면 패스워드를 입력하고 나온다. 패스워드를 입력하고 엔터를 치면 MySQL에 접속이 완료된다. -u 뒤에 나오는 root는 관리자 이름이다. root는 최상위 관리자이다. -p는 패스워드이다. 뒤에 패스워드를 입력해도 되지만 노출되기 때문에 -p만 쓰고 엔터를 치면 패스워드 입력창이 나오게 된다. 스키마(데이터베이스) 사용하기 mysql> CREATE DATABASE k0502s; //k0502s라는 데이터 베이스 창조 Query OK, 1 row affected (0.01 sec) mysql> SHOW DATABASES; //데이터 베이스 보여주기 +--------------------+ | Database | +-.. 2021. 1. 2.
MySQL - 다운로드 및 실행방법 다운로드 및 실행방법 아래 사이트에서 bitnami 라는 다운로드 사이트가 있다. WAMP 중 M이 MySQL이다. https://bitnami.com/stack/wamp/installer Install WAMP, Download WAMP show MD5 4693f36e1c49dd8f2d13bc031e6b8381 SHA1 e9eb910949151a5401689c4527c2267c3de166ee SHA256 db4b15a834f67f7746e08847823ff65ddb96d86746946c92664f518397372f0a bitnami.com 다운이 완료되고 인스톨까지 마쳤으면 아래와 같이 창이 등장한다. 혹은 인스톨 당시 인스톨한 드라이브로 찾아가 bitnami 파일 폴더를 찾아 스스로 실행시키면 된다... 2021. 1. 2.
반응형