카테고리 없음

내일 배움 캠프 후발대

하늘유니콘 2023. 4. 13. 20:19

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는 기본적으로 테이블로 이루어져 있으며, 필드와 레코드가 존재한다.

 

- 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는 기본적으로 테이블로 이루어져 있으며, 필드와 레코드가 존재한다.

 

 

중요 *point

예)
id        username password
1         user       1234          데이터베이스: 레코드 row,튜플
2         chlee      12345        장고:인스턴스,오브젝트 


- 데이터베이스 키 종류
    - FK : Foreign Key의 약자이며, 다른 테이블을 참조 할 때 사용된다.


예) 회원정보
    username
    password
    birthday
    gender
    age
    email

    - UK : Unique Key의 약자이며, 중복 값을 허용하지 않는다.

예) 중복되면 안 됨
    age
    email

    - PK : Primary Key의 약자이며, 테이블에서는 반드시 한개의 PK가 존재해야 한다.

        - PK는 두개 이상 존재 할 수 없고, UK와 마찬가지로 중복 값을 허용하지 않는다.

        - Foreign Key를 사용할 경우 참조 할 테이블의 PK를 바라본다. 

 

- http method 종
    - request를 보낼 때 어떤 용도의 요청을 보낼 지 선택하며, CRUD와 1:1 매칭됩니다.
    logout(request)
    return HttpRespose("로그아웃")
    - GET : 데이터 조회(Read)
      def user_view(request):
         if reques.method == "GET" 
            return HttpResponsea("정보주세요!") 
    - POST : 데이터 생성(Create)
         def user_view(request):
         if reques.method == "POST" 
            return HttpResponsea("생성해주세요!") 
    - PUT : 데이터 수정(Update)
           def user_view(request):
         if reques.method == "PUT" 
            return HttpResponsea("수정해주세요!")
    - DELETE : 데이터 삭제(Delete)
          def user_view(request):
         if reques.method == "DELETE" 
            return HttpResponsea("삭제해주세요!")

django 프로젝트 구조

- settings.py
    - django 프로젝트를 실행 할 때 해당 파일을 참조한다.
    - 데이터베이스 설정, 앱 설정, 기본 정책 설정 등을 할 수 있다.

- models.py
    - DB에 테이블을 추가하고 관리 할 때 사용된다.
    - 테이블에 들어갈 필드, 필드의 속성값 등을 설정 할 수 있다.
    - python manage.py makemigrations / miarate 명령어를 통해 설정을 DB에 반영시킬 수 있다.

- views.py
    - django 에서 request 데이터를 받은 후 처리 할 전반적인 로직이 들어간다.
    - urls.py에서 views에 있는 class나 함수를 호출해서 사용하게 된다.

 

모델링 할 때 자주 사용되는 field
- 시간
    - DateField
        - 날짜를 입력하는 필드 ex) 2002-01-01

    - TimeField
        - 시간을 입력하는 필드 ex) 09:31

    - DateTimeField
        - 날짜, 시간을 입력하는 필드 ex) 2002-01-01 09:31

    - 옵션(공통)
        - [선택] auto_now_add : True일 경우 데이터가 생성되는 순간을 기록한다.  데이터가 최초 생성되는 시간과 일치한다.

        - [선택] auto_now : True일 경우 데이터가 저장될 때마다 갱신되며, 데이터 최초 생성 일 혹은 수정 시간이 기록된다.


- 문자
    - CharField
        - 문자열을 입력하는 필드 ex) 게시글 제목입니다.

        - 옵션
            - [필수] max_length : 입력 할 수 있는 최대 문자 수를 지정한다.
            - [선택] choices : 특정 값만 입력될 수 있도록 선택지를 설정한다.

    - TextField
        - 개행 가능한 문자열을 입력하는 필드 ex) 게시글 내용입니다.

- 숫자
    - IntegerField
        - 숫자를 입력하는 필드 ex) -100, 100

    - PositiveIntegerField
        - 양수를 입력하는 필드 ex) 100

 

- 기타
    - FileField
        - 파일을 업로드 하는 필드 ex) image.png

    - BooleanField
        - True 혹은 False를 저장하는 필드

 

 

 

user테이블
id        username   password  john_date
1        user          1234        2023-04-13  19:35     
2        chlee         12345      2023-04-13  19:36
3        sparta        abc         2023-04-13  19:35 

 

 

 

 

 

Artcle테이블
id   user       title                          contanet               create_at
1   2     게시글의 타이틀입니다,  게시글 내용입니다.        2022-05-01