컴퓨터언어(271)
-
[SQL vs NoSQL]관계설정
SQL : 테이블을 같은 비중으로 합침 SELECT 합친후출력할필드명1, ... FROM 기준이되는테이블 INNER JOIN 한곳으로모을곳 ON 조건 MongoDB : Object의 한 Key의 Value에 또다른 Object가 들어간다. db.webdev.insert( { _id: 4, name: "html", category: "structure", editor: [ { name: "Notepad", company: "Apple", convenience: 0 }, { name: "Visual Studio Code", company: "Microsoft", convenience: 100 }, ] } )
2020.05.13 -
[MongoDB] CRUD (SQL과 비교하기)
use 파일명 MongoDB SQL 테이블들을 저장하는 파일 불러오기 use languages 해당 프로그램에 따라 GUI 또는 명령어 입력 db.콜렉션명.insertOne({필드명1: 필드값1, ...}) MongoDB SQL 기존에 없던 테이블 자체를 새로 추가 시 db.webdev.insertOne({_id:2, name:"javascript", category:"script"}) CREATE TABLE webdev ( id INT NOT NULL, name STRING, category STRING, PRIMARY KEY (id) ) 기존에 있는 테이블에 새 레코드 추가 시 INSERT INTO webdev VALUES (2, "javascript", "script") db.콜렉션명.find(레코..
2020.05.13 -
[Mongo DB] Install Manually on Mac OS(비추) => Home Brew로 가세요
1. 아래 링크에서 다운로드 받는다. https://www.mongodb.com/download-center/community Download Center: Community Server Download MongoDB Community Server, the most popular non-relational database built to address the needs of modern applications. www.mongodb.com 2. 압축을 해제한다. 3. 터미널을 켠다. 4. 터미널에서 아래 명령어를 입력하여 다운받아 압축해제한 폴더를 /usr/local/mongodb 경로로 옮긴다. sudo mv [현재 압축해제한 그 폴더를 여기에 드래그앤드롭하고 한칸 띄우기 ->] /usr/local/m..
2020.05.12 -
[SQL] CRUD
CREATE TABLE student ( id INT NOT NULL, name STRING, address STRING, PRIMARY KEY (id) ) SELECT name FROM students WHERE address = "Seoul" ALTER TABLE students ADD scholarship MONEY UPDATE students SET scholarship = 3000000 where id = 2 DELETE FROM students WHERE id = 1
2020.05.12 -
[DB] SQL? NoSQL?
SQL NoSQL 뜻 Structured Query Language 구조화된 Not only SQL 꼭 구조화된 것만은 아닌 주요 언어 MySQL, Postgres MongoDB, Redi 형태 일반적으로 DB하면 생각나는 그 "테이블"중심 JSON 객체 등 문서중심 특성 자료 저장 시 반복되는 레코드를 줄이기 위해 테이블 분할 Null 또는 자료추가에 유연한 대처가능 용도 주문관리 등 같은 카테고리 내 여러 테이블 간 관계설정 필요시 인스타 등 [각 회원 - 개인정보/포스팅] 일대다 관계 필요시 자료방대 시 수직적 증가 -> 비용이 커짐 수평적 증가 -> 속도 원활 (*단 관계 복잡할 경우 SQL이 적합)
2020.05.12 -
[Express Routing] Parameter를 이용한 URL 효율적 관리
웹을 개발할 때는 수많은 페이지를 만들고 이를 URL과 연동하여 관리한다. 이때 중요한 것은 그 많은 페이지를 "효율적"으로 관리해야 하는데, 여기서 효율적이라는 의미는 app.get() 같은 함수의 남발을 지양하는 것을 뜻한다. 물론 일일이 관리할 수야 있겠지. 하지만 /something/category/item... 처럼 점점 계층화되고 페이지가 더 많아진다면, 그만큼 그때마다 손봐야 한다. 그래서 우리는 상황에 따라 유동적이고 경제적으로 대응할 방법이 필요해지고, Express에서 제공하는 Parameter는 이를 해결해준다. app.get('/posts/:id', function (req, res) { res.render('post') }) 만약 어떤 글의 주소가 루트 라우트에서 posts 경로를..
2020.05.12