Database
SQL과 NoSQL의 차이
웹 애플리케이션을 개발할 때, 데이터베이스를 MySQL과 같은 SQL을 사용할 지 MongoDB와 같은 NoSQL을 사용할 지 프로젝트에 적합한 데이터베이스를 선택해야 한다. 이번 포스트에선 SQL과 NoSQL 데이터베이스의 핵심적인 개념과 차이점을 알아볼 것이다. SQL 관계형 데이터베이스 SQL은 '구조화된 쿼리 언어(Structured Query Language)'의 약자이다. SQL을 사용하면 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 수정, 삭제 및 검색할 수 있다. 이러한 관계형 데이터베이스의 데이터는 정해진 데이터 스키마를 따라 데이터베이스 테이블에 저장되며, 관계를 통해 연결된 여러 개의 테이블에 데이터가 분산되는 특징이 있다. 엄격한 스키마 데이터는 테이블(table..

ORM(Object Relational Mapping)이란?
ORM(Object Relational Mapping) ORM은 Object Relational Mapping(객체-관계-매핑)의 약자이다. 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 Framework이다. 객체지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하기 때문에 객체 모델과 관계형 모델간에 불일치가 존재 → ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결 즉, 객체를 통해 간접적으로 데이터베이스 데이터를 다룬다. ORM의 장점 완벽한 객체지향적인 코드 ORM을 이용하면 SQL문이 아닌 클래스의 메소드를 통해 데이터베이스를 조작할 수 있어, 개발자가 객체 모델만 이용해서 프로그래밍을 집중할 수 있게 한다. SQL문을 사..