728x90
FastAPI
ORM(Object Relational Mapping)
객체와 관계형 데이터베이스의 데이터를 자동으로 연결해준다.
데이터베이스 데이터 <- 매핑 -> Object 필드
장단점
장점
- DB를 변경할 때 쿼리를 하나하나 수정하지 않아도 된다.
- SQL injection 를 방지할 수 있다.
단점
- ORM을 또 별도로 배워야 한다.
- 복잡한 쿼리가 필요한 경우 성능 저하를 일으키거나 ORM으로 치환해서 작성하기가 난해할 수 있다.
SQLAlchemy
Python에서 사용하는 ORM이다
공식 사이트 - https://www.sqlalchemy.org/
깃허브 - https://github.com/sqlalchemy/sqlalchemy
sqlalchemy 설치 명령어
pip install sqlalchemy
FastAPI 공식 사이트 자습서에서의 폴더 구조를 아래처럼 구성
- __init__.py: app 디렉토리를 Python 패키지로서 인식하게 해주는 역할
- crud.py: 데이터베이스 조작(create, read, update, delete)에 관련된 함수들을 정의
- database.py: 데이터베이스 연결 및 세션 관리와 같은 데이터베이스 설정을 다루는 파일
- main.py: FastAPI 애플리케이션의 주 진입점, API 엔드포인트를 정의하고, 라우팅 및 요청 처리를 수행
- models.py: 데이터베이스 테이블을 정의하는 클래스들이 위치하는 파일
- schemas.py: API 요청 및 응답 데이터의 유효성 검사와 직렬화를 위한 Pydantic 스키마를 정의하는 파일
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성되었습니다.
'코딩캠프 > AI 웹개발 취업캠프' 카테고리의 다른 글
[AI 웹개발 취업캠프] Python FLASK로 웹사이트 만들기(2) (0) | 2023.08.19 |
---|---|
[AI 웹개발 취업캠프] 24Day - FastAPI(4) (0) | 2023.08.18 |
[AI 웹개발 취업캠프] 23.08.17 과제 (0) | 2023.08.17 |
[AI 웹개발 취업캠프] 23.08.16 과제 (0) | 2023.08.16 |
[AI 웹개발 취업캠프] 22Day - FastAPI(2) (0) | 2023.08.16 |