택시짱의 개발 노트

6장. 데이터베이스 본문

책 읽고 정리/깔끔한 파이썬 탄탄한 백엔드

6장. 데이터베이스

택시짱 2020. 10. 25. 18:29

- 데이터베이스 시스템(database system)은 이름 그대로 데이터를 저장 및 보존하는 시스템이다. 데이터베이스에 저장되어 있는 데이터를 읽어 들일수 있으며, 새로운 데이터를 저장할 수도 있고, 기존의 데이터를 업데이트할 수도 있다.

 

- 일반적으로 데이터베이스 시스템은 크게 2가지 종류로 분류된다. 관계형 데이터베이스 시스템(RDBMS, Relational Database Management System) 그리고 "NoSQL"로 명칭되는 비 관계형(Non-relational) 데이터베이스다.

 

- 관계형 데이터베이스에서 테이블들의 상호 관련성 종류에는 다음의 3가지가 있다.

    - one to one

    - one to many

    - many to many

 

- 관계형 데이터베이스에서 외부 키(foreign key)를 사용해서 테이블들을 연결하여 데이터 값의 종복을 최소화하게 데이터를 구조화하는 프로세스를 정규화(normalization)라 한다.

 

- 관계형 데이터베이스에서 트랜젝션은 일련의 작업들이 마치 하나의 작업처럼 취급되어서 모두 다 성공하거나 아니면 모두 다 실패하는 것을 말한다.

 

- SQL(Structured Query Language)은 MySQL 같은 관계형 데이터베이스에서 데이터를 읽거나 생성 및 수정하기 위해 사용하는 언어다.

    - SELECT 구문은 관계형 데이터베이스 시스템에서 데이터를 읽어 들일 때 사용하는 SQL 구문 이다.

    - INSERT 구문은 데이터를 생성할 때 사용된다.

    - UPDATE 구문은 기존의 데이터를 수정할 때 사용한다.

    - JOIN 구문은 여러 테이블을 연결할 때 사용한다.

    - 테이블 생성은 CREATE TABLE 구문으로 한다.

 

- sqlalchemy 라이브러리를 사용하여 파이썬 코드에서 데이터베이스에 연결하여 SQL을 실행 시킬 수 있다.

 

- sqlalchemy의 create_engine 함수를 사용하여 데이터베이스에 연결하고 text 함수를 사용하여 실행할 SQL을 만든다.

 

- Flask가 create_app이라는 이름의 함수를 자동으로 팩토리(factory) 함수로 인식해서 해당 함수를 통해서 Flask를 실행 시킨다.

반응형
Comments