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를 바라본다.