데이터베이스와 ORM을 쉽게 설명하기

몽슈뜨·2023년 4월 19일
0

TIL

목록 보기
55/70
post-thumbnail

데이터베이스

데이터를 저장하고 관리하는 시스템

  • 보안
  • SQL

이 두가지 핵심 키워드를 바탕으로 데이터를 유지/보수/관리/추출하는 하나의 관리자이다.

데이터베이스는 다양한 종류가 있으며, 대표적으로 관계형 데이터베이스와 NoSQL 데이터베이스가 있다.

  • 관계형 데이터베이스(RDBMS):
    SQL(Structured Query Language)을 이용하여 데이터를 조작한다. SQL은 데이터베이스에서 데이터를 검색하고 조작하는 데 사용되는 언어이다. SQL을 이용하면 데이터베이스에서 데이터를 쉽게 검색하고 조작할 수 있다.
    관계형 데이터베이스는 테이블 간의 관계를 이용하여 데이터를 저장하고 관리한다.
    예를 들어 학생 정보를 저장하는 데이터베이스에서 학생 정보 테이블과 수강 정보 테이블이 있을 경우, 학생 정보 테이블과 수강 정보 테이블은 학생 번호를 기준으로 관계를 맺을 수 있다.
    이러한 관계를 이용하여 데이터를 저장하고 관리하면 데이터의 일관성과 무결성을 유지할 수 있다.
  • NoSQL 데이터베이스:
    관계형 데이터베이스와 달리 스키마가 없으며, 유연하게 데이터를 저장하고 관리할 수 있다.
    NoSQL 데이터베이스는 대용량의 비정형 데이터를 처리하는 데 적합하다.

ORM

ORM(Object Relational Mapping)은 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 도구이다.

ORM을 사용하면 SQL언어가 아닌 어플리케이션 개발언어로 데이터베이스를 접근할 수 있게 된다.

ORM은 객체와 데이터베이스의 관계를 매핑해주는 도구로 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 도구이다.

장점:

  • ORM을 사용하면 SQL문이 아닌 클래스의 메서드를 통해 데이터베이스를 조작할 수 있어 개발자가 객체 모델만 이용해서 프로그래밍을 하는 데 집중할 수 있게 된다.
  • 객체 지향적인 코드로 인해 더 직관적이고 비즈니스 로직에 집중할 수 있도록 도와주며 CRUD을 위한 긴 SQL 문장을 작성할 필요가 없어 가독성을 높여 준다.

단점:

  • ORM은 객체와 데이터베이스 간의 변환 작업이 필요하기 때문에 성능 저하가 발생할 수 있다.
  • 복잡한 쿼리를 작성하기 어렵다
profile
개발자되면 맥북사줄께

0개의 댓글