Database & ORM




데이터베이스

  • 공유의 목적으로 통합 관리되는 자료의 집합.
  • 논리적으로 연관된 하나 이상의 자료의 모음으로 내용을 구조화하여 검색과 갱신의 효율화한 것.

중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체.

데이터베이스 특징

  1. 실시간 접근성 : 사용자의 요구를 즉시 처리할 수 있다.
  2. 지속적인 변화 : 정확한 값을 유지하려고 삽입, 삭제, 수정, 작업 들을 이용해 데이터를 지속적으로 갱신할 수 있다.
  3. 동시 공유 : 사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근하고 이용할 수 있다.
  4. 내용에 대한 참조 : 저장한 데이터 레커드의 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터 값에 따라 참조 할 수 있어야 한다.

데이터베이스 관리 시스템 - DBMS (DataBase Management System)

  • 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어
  • 사용자나 다른 프로그램의 요구를 처리하고 응답하여 데이터를 사용할 수 있도록 함.
  • 일반적으로 DB라고 부름.

데이터베이스 관리 시스템의 장단점

| 장점 | 단점 | |-|-| |* 데이터 중복 최소화
* 데이터 독립성이 확보
* 데이터를 동시 공유
* 데이터 보안이 향상
* 데이터 무결성을 유지
* 장애 발생 시 회복이 가능 | * 비용이 많이 발생
*백업과 회복 방법이 복잡
*중앙 집중 관리로 인한 취약점 존재

데이터베이스 관리 시스템 기능

  • 정의 : 모든 응용 프로그램이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능이다.
  • 조작 : 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능.
  • 제어 : 데이터베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어해야 함.

데이터베이스 관리 시스템의 종류

DBMS

Table

table

table2

SQL

sql

ORM(Object Relation Mapping) 과 객체지향

user_model

user_table

user Model 은 class 로 만들어진 객체 지향 언어로 만들어져 있고,

user table은 table로 만들어진 데이터베이스 이다.

diff

따라서 이 둘을 연결해주는게 ORM 이다!!!

ORM 덕분에 model.py 에 python코드로 데이터베이스를 관리할 수 있고, 서로 상이한 여러가지 SQL문을 사용하지 않아도 되기 때문에 생산성 향상.

자바 spring에는 Jpa가 있다.

orm

orm2

orm3

  • Model & Field : DBMS가 데이터베이스, 즉 테이블의 구조를 잡는데, 그 역할을 하는 곳.
  • Field : 데이터 형들을 정의함.
  • QuerySet API : 쿼리를 날리는 역할.

© 2021. All rights reserved.

----------Heesoo's Tech History----------

by C.H.S