2021. 8. 12. 02:42ㆍSERVER/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 |