개발기초

데이터베이스와 ORM

Veams 2023. 4. 18.

 

https://herbertograca.com/2017/08/03/layered-architecture/

데이터베이스

데이터베이스(Database)는 데이터를 저장하고, 검색하고, 수정하고, 삭제하는 작업을 수행하는 시스템을 말한다. 특정 조직이나 개인이 필요한 정보를 쉽게 검색하고 관리할 수 있도록 해준다.

 

데이터베이스는 일반적으로 테이블(table)로 구성되며, 각 테이블은 열(column)과 행(row)으로 이루어져 있다. 이러한 데이터는 일반적으로 CRUD(Create, Read, Update, Delete) 작업을 통해 관리된다. 또한 데이터베이스는 여러 사용자의 동시 액세스를 처리할 수 있도록 하는 동시성 제어 기능도 제공하여, 데이터의 일관성 및 무결성을 보장한다.

 

데이터베이스는 데이터베이스 관리 시스템(DBMS, Database Management System)을 사용하여 관리된다. DBMS는 데이터베이스를 생성, 수정, 삭제, 검색할 수 있는 인터페이스를 제공하며, 데이터베이스의 안정성과 보안을 보장한다.

 

데이터베이스는 구조화된 데이터와 구조화되지 않은 데이터 모두 저장할 수 있다. 대부분의 데이터베이스는 SQL(Structured Query Language) 또는 NoSQL(Not Only SQL) 언어를 사용하여 데이터에 액세스한다. SQL은 관계형 데이터베이스(RDBMS)에 주로 사용되며, NoSQL은 분산 데이터베이스에 사용된다. 대표적인 데이터베이스 관리 시스템에는 MySQL, Oracle, MongoDB, PostgresSQL 등이 있다.

 

ORM

ORM(Object Relational Mapping)은 객체지향 프로그래밍에서 객체를 데이터베이스에 매핑하는 기술이다. 객체는 클래스로 정의되며, 클래스의 인스턴스는 객체이다. ORM은 객체와 데이터베이스 간의 관계를 자동으로 생성하고 유지한다.

 

ORM을 사용하면 개발자는 데이터베이스에 직접 접근하는 대신, 객체를 조작하고 메서드를 호출하여 데이터베이스에 액세스할 수 있다. ORM은 개발 생산성을 높이고, 코드의 가독성과 유지보수성을 향상시키는 장점을 제공한다.

 

ORM을 사용하면 개발자는 SQL 쿼리를 직접 작성하지 않고도 객체를 데이터베이스에 저장하고 검색할 수 있다. ORM은 데이터베이스 스키마를 모델링 클래스와 연결하여 매핑 규칙을 사용하여 데이터베이스와 객체 간에 데이터를 매핑한다.

댓글