8. Flask (RDB)

2021. 8. 12. 02:42SERVER/Flask

데이터베이스(DB, DataBase)

데이터를 저장하는 공간으로, 서비스를 개발하는 곳에서 빠질 수 없는 중요한 요소

데이터베이스는 크게 두 가지, 관계형 데이터베이스와 NoSQL로 나뉜다

 

 

관계형 데이터베이스(RDB)

키(Key)와 값(Value)들의 간단한 관계를 테이블 화 시킨 데이터베이스

딕셔너리 형태와 같이 { Key : Value }로 이루어져 있으며, 굉장히 정형화 되있는 모델

 

 

RDB의 특징

- 정형화 된 Data

 

- DML을 사용해서 데이터 간 결합, 제약조건 등의 설정을 통해 데이터를 추출할 수 있다

   (DML, Database Management Language)

 

- 테이블 간의 데이터 관계를 설정할 수 있다

 

 

RDB의 형태

- 정형화된 데이터를 저장하고 있다(다른 형태의 데이터가 들어올 수 없다)

 

- 각 Colum(세로줄)마다 데이터의 형태가 동일하다

 

- SQL 질의어(SQL 쿼리)를 사용한다

 


RDB와 Flask의 상호작용

파이썬은 오픈 소스와 상용 DB에 대한 대부분의 DB 엔진을 위한 패키지를 갖고 있다

 

Flask에서 입력받은 내용을 DB에 저장할 수 있다 → 효율적인 데이터 관리 가능

 

SQLAlchemy는 Flask에서 사용하는 SQL 패키지로 객체 관계형 매퍼이다

RDB의 구조와 객체지향언어인 Python의 구조차이로 발생하는 여러 어려운 Query를 효율적으로 관리

 

웹 서버를 구현할 때, DB가 없더라도 구현할 수 있다

단, 저장되는 데이터의 보안 및 무결성은 보장할 수 없게 된다

 

웹 서비스에서 모든 데이터를 브라우저에 저장하여 사용할 수 있다

하지만 이렇게 될 경우 데이터의 보안 및 무결성은 보장할 수 없게 된다

 

웹 서버에서는 DB를 사용하여 데이터를 효율적으로 관리할 수 있다

 


게시판 구현

DB에 저장되는 데이터를 활용해서 사용자를 검색

→ SELECT " " FROM " " WHERE " "

 

DB에 저장되는 데이터를 활용해서 사용자를 추가

이때, 중복 사용자는 방지한다

→ SELECT, INSERT

 

게시판의 내용 생성, 조회, 수정, 삭제 기능

→ SELECT, INSERT, UPDATE, DELETE

 


 

 

 

 

 

 

'SERVER > Flask' 카테고리의 다른 글

9. Flask (ORM)  (0) 2021.08.18
7. Flask (logging)  (0) 2021.08.06
6. Flask (Authentication)  (0) 2021.08.06
5. Flask (CRUD)  (0) 2021.08.05
4. Flask (Blueprint, Jinja Template)  (0) 2021.08.05