웹프로그래밍/node.js

데이터베이스

hyun_jo_o 2019. 6. 4. 14:26

데이터 베이스

SQL

 - 테이블 형식의 데이터베이스

 - MySQL, PostgreSQL, Aurora, Sqlite

 

NoSQL

 - 테이블 형식이 아니라 도큐먼트 형식의 데이터베이스 (json 형식)

 - 데이터베이스의 형식을 쉽게 변경할 수 있다.

 - MongoDB, DynamoDB

 

In Momory DB

 - 메모리 안에 데이터 베이스를 저장해 놓는 형식 (서비스의 성능 향상을 위해 사용함)

 - Redis, Memcashed


SQL 쿼리 기초

insert users ('name') values ('alice');

 

select * from users;

 

update users set name = 'bek' where id = 1;

 

delete from users where id = 1;


 

ORM

  • 데이터베이스를 객체로 추상화해 논 것을 ORM(Object Relational Mapping)이라고 한다
  • 쿼리를 직접 작성하는 대신 ORM의 메소드로 데이터 관리할 수 있는 것이 장점이다.
  • 노드에서 SQL ORM은 시퀄라이져(Sequelize)가 있다.

insert users ('name') values ('alice');

-> User.create({name: 'alice'})

 

select * from users;

-> User.findAll()

 

update users set name = 'bek' where id = 1;

-> User.update({name: 'bek'}, {where: {id: 1}});

 

delete from users where id = 1;

-> User.destroy({where: {id: 1}});

 

모델

  • 데이터베이스 테이블을 ORM으로 추상화한 것을 모델이라고 한다
  • 우리가 사용할 유저 모델을 만들어 보자
  • sequelize.define(): 모델 정의
  • sequelize.sync(): 데이터베이스 연동