본문 바로가기

내배캠/TIL

TIL/24/20230413

728x90

django / database 용어 정리

RDBMS(RDB) : Relational DataBase Management system의 약자로 MySql, OracleDB 등 관계형 데이터베이스를 지칭한다.

Sql : Structured Query Language의 약자로 데이터베이스의 CRUD를 위해 사용되는 언어이다.

CRUD : Create(생성), Read(읽기), Update(갱신), Delete(삭제)

NoSql : Not Only Sql의 약자로 관계형 데이터베이스가 아닌 다른 형태로 데이터를 저장하며, mongoDB 등이 여기에 해당한다.

Table : DB는 기본적으로 테이블로 이루어져 있으며, 필드와 레코드가 존재한다.

# models.py

# User 테이블
class User(models.Model):
    # username 필드
    username = models.CharField("사용자 계정", max_length=50, primary_key=True)
    # password 필드
    password = models.CharField("비밀번호", max_length=200, unique=True)

# User라는 테이블에 username, password라는 필드가 존재함
# 사용자가 회원가입을 할 때마다 레코드가 하나씩 추가됨.
# 레코드는 row 혹은 튜플 이라고도 불리며 django에서는 object, instance라고도 불린다.
# 즉, 레코드란 데이터베이스에 저장 되는 값들을 지칭하는 것

데이터베이스 키 종류

  • FK : Foreign Key의 약자이며, 다른 테이블을 참조 할 때 사용된다.
  • UK : Unique Key의 약자이며, 중복 값을 허용하지 않는다.
  • PK : Primary Key의 약자이며, 테이블에서는 반드시 한개의 PK가 존재해야 한다.
    • PK는 두개 이상 존재 할 수 없고, UK와 마찬가지로 중복 값을 허용하지 않는다.
    • Foreign Key를 사용할 경우 참조 할 테이블의 PK를 바라본다.
  • http method 종
    • request를 보낼 때 어떤 용도의 요청을 보낼 지 선택하며, CRUD와 1:1 매칭됩니다.
    • GET : 데이터 조회(Read)
    • POST : 데이터 생성(Create)
    • PUT : 데이터 수정(Update)
    • DELETE : 데이터 삭제(Delete)

 


django 프로젝트 구조

  • settings.py
    • django 프로젝트를 실행 할 때 해당 파일을 참조한다.
    • 데이터베이스 설정, 앱 설정, 기본 정책 설정 등을 할 수 있다.
  • models.py
    • DB에 테이블을 추가하고 관리 할 때 사용된다.
    • 테이블에 들어갈 필드, 필드의 속성값 등을 설정 할 수 있다.
    • python manage.py makemigrations / miarate 명령어를 통해 설정을 DB에 반영시킬 수 있다.
  • views.py
    • django 에서 request 데이터를 받은 후 처리 할 전반적인 로직이 들어간다.
    • urls.py에서 views에 있는 class나 함수를 호출해서 사용하게 된다.
  • urls.py
    • 웹에서 django 프로젝트로 request를 전달 할 때 받아줄 경로를 설정할 수 있다.
      • ex) http://my-django.project.com/my/config/path/
728x90

'내배캠 > TIL' 카테고리의 다른 글

TIL/26/20230417  (0) 2023.04.18
TIL/25/20230414  (0) 2023.04.17
TIL/23/20230412  (0) 2023.04.13
TIL/21/20230410  (0) 2023.04.11
TIL/20/20230407  (0) 2023.04.07