본문 바로가기
Django/Django Rest Framework

5. Django DRF database 용어 정리

by S.T.Lee 2022. 6. 18.
  • RDBMS(RDB) : Relational DataBase Management system의 약자로 MySql, OracleDB 등 관계형 데이터베이스를 지칭한다.
    • 다른 사람한테 입금을 했을 때 돈이 빠져나가고 가는 도중에 에러가 나서 공중 분해가 되는걸 막기 위해 유효성 검사를 확실히 할때 사용된다.
  • Sql : Structured Query Language의 약자로 데이터베이스의 CRUD를 위해 사용되는 언어이다.
    • CRUD : Create(생성), Read(읽기), Update(갱신), Delete(삭제)
  • NoSql : Not Only Sql의 약자로 관계형 데이터베이스가 아닌 다른 형태로 데이터를 저장하며, mongoDB 등이 여기에 해당한다.
    • RDBMS만큼 유효성을 지켜주지는 않는다.(유효성 검사가 힘들다)
    • 엄청 빠르다
  • Table : DB는 기본적으로 테이블로 이루어져 있으며, 필드와 레코드가 존재한다.
    • django에서는 아래와 같이 사용되며, 레코드는 django에서 object라는 이름으로 사용된다.
# models.py 
class User(models.Model): 
	username = models.CharField("사용자 계정", max_length=50, primary_key=True) 
    password = models.CharField("비밀번호", max_length=200, unique=True) 
    
# User라는 테이블에 username, password라는 필드가 존재함 
# 사용자가 회원가입을 할 때마다 레코드가 하나씩 추가됨. 
# 즉, 레코드란 데이터베이스에 저장 되는 값들을 지칭하는 것
  • 키 종류
    • FK : Foreign Key의 약자이며, 다른 테이블을 참조 할 때 사용된다.
    • UK : Unique Key의 약자이며, 중복 값을 허용하지 않는다.
      • 여러개 있어도 된다.
    • PK : Primary Key의 약자이며, 테이블에서 반드시 존재해야 한다.
      • PK는 두개 이상 존재 할 수 없고, UK와 마찬가지로 중복 값을 허용하지 않는다.
      • 무조건 하나만 있다.(ex Django에서 자동적으로 설정해주는 id값)
      • Foreign Key를 사용할 경우 참조 할 테이블의 PK를 바라본다.