Develop/Database
-
2020/12/08 - TIL(Sequelize Associations 1 : N)Develop/Database 2020. 12. 8. 20:18
Assocication 이란? Sequelize의 Association은 관계형 데이터베이스의 JOIN과 같이 관계성을 갖는 데이터 사이의 처리를 위해 사용합니다. 1 : 1 관계 : hasOne() & belongsTo() 1 : N 관계 : hasMany() & belongsTo() N : N 관계 : belongsToMany() & belongsToMany() 1 : N 작성자(writer)가 복수의 댓글(comment)을 갖는 Association을 설정한다고 가정해본다면 작성자는 여러개의 댓글을 달 수 있고, 댓글은 한 명의 작성자에 의해서 등록이 되니 hasMany와 belongsTo를 활용하여 구현할 수 있습니다. 모델 정의 cli를 사용하여 user 와 comment 모델을 생성합니다. n..
-
2020/12/07 - TIL(Sequelize ORM)Develop/Database 2020. 12. 8. 00:41
ORM 이란? ORM(Object-Relational-Mapping)이란 객체와 관계와의 설정을 의미합니다. 객체 지향 프로그래밍은 클래스를 사용하고 관계형 데이터베이스는 테이블을 사용합니다. 여기서 객체 모델과 관계형 모델 간에 불일치가 존재하게 되는데 이 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결하는 것이 ORM입니다. Sequalize란? Sequalize란 node.js 환경에서 MySQL등 관계형 데이터 데이터를 다룰 때 query문을 작성하지 않고 데이터를 쉽게 다룰 수 있도록 도와주는 라이브러리입니다. 설치하기 npm을 사용하여 sequalize를 설치합니다. sequalize-cli는 터미널에서 sequalize를 조작할 수 있게 해 줍니다. 두 가지를 설치 한 뒤..
-
2020/12/04 - TIL(Express MySQL 연동)Develop/Database 2020. 12. 4. 19:11
1. 설치하기 $ npm install express mysql npm을 사용하여 express와 mysql모듈을 설치합니다. 2. 테이블 생성 및 데이터 삽입 CREATE DATABASE testDB; USE testDB; CREATE TABLE users ( id VARCHAR(45) NOT NULL, password VARCHAR(45) NOT NULL, PRIMARY KEY (id)); INSERT INTO users (id, password) VALUES ('testId', '1234'); SELECT password FROM users WHERE id='testId'; 터미널로 MySQL에 접속하여 테이블을 생성하고 테이스용 데이터를 insert 합니다. 3.Node.js와 MySQL 연동 c..
-
2020/12/02 - TIL(DataBase - MySQL)Develop/Database 2020. 12. 2. 21:58
데이터 베이스(DataBase)란? 데이터 베이스는 통합하여 관리되는 데이터의 집합을 의미합니다. 중복된 데이터를 없애고 데이터를 구조화하여, 효율적으로 데이터를 다룰 수 있도록 관리합니다. 데이터 베이스를 관리하는 시스템을 DBMS(Database Management System)라고 부릅니다. SQL(Structed Query Language) SQL은 데이터 베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어입니다. DDL (Data Definition Language) : 데이터 베이스나 데이블을 생성, 삭제하거나 그 구조를 변경하기 위한 명령어(CREATE, ALTER, DROP 등) DML (Data Manipulation Language): 데이터 베이스에 저장된 데이터를 처리하거..