영벨롭 개발 일지

[Django]장고를 위한 최소한의 데이터베이스 DB 본문

Back-end/Django

[Django]장고를 위한 최소한의 데이터베이스 DB

영벨롭 2022. 5. 17. 18:23

[ Django를 위한 최소한의 DATABASE ]

 

★ CRUD

 

 CRUD는 Create, Read, Update, Delete의 약자로 데이터 처리의 기본 덕목이라고 할 수 있습니다. 

 

 CRUD를 통해 데이터베이스와의 상호작용이 이루어집니다. 즉, 데이터베이스 안에 어떠한 대상을 저장하고, 저장된 대상을 가공하는 행동을 CRUD라고 합니다. 

 

 

 

★ 관계형 데이터베이스 RDBMS

 

 먼저 데이터베이스 관리 시스템 DBMS(database management system)는 말 그대로 데이터베이스를 관리할 수 있게 해주는 프로그램이로, 다수의 사용자들이 DB 내의 데이터를 접근할 수 있도록 하는 소프트웨어 도구의 집합입니다. (mysql, oracal, sql light, ...)

 

 RDBMS(relational DBMS)는 DB 안에 있는 데이터들을 표처럼 활용하는 DBMS라고 할 수 있으며, 표 하나하나는 테이블이라고 부릅니다. 

 

학번 이름 전공
20220001 홍길동 컴퓨터공학
20220002 김철수 컴퓨터공학
20220003 신짱구 경영

 

 

★ 기본키 Primary Key

 

 기본키 Primary Key 는 특정 테이블에서 데이터들을 특정 지을 수 있는 가장 중요한 열(column)로, 반드시 존재해야합니다.

 

 또한, 다른 값과 중복되거나 Null 값이 되면 안 됩니다. 

 

 위 테이블에서 기본키는 학번이 되겠죠?

 

학번 ( Primary Key) 이름 전공
20220001 홍길동 컴퓨터공학
20220002 김철수 컴퓨터공학
20220003 신짱구 경영

 

 

 

★ 외래키 Foreign Key 

 

 외래키 Foreign Key는 한 마디로 다른 테이블의 데이터와 연관이 있는 키입니다. 

 

Table 1
학번 이름 전공 수업(Foreign Key)
20220001 홍길동 컴퓨터공학 운영체제
20220002 김철수 컴퓨터공학 데이터베이스

 

Table 2
과목 교수
컴퓨터구조 김교수
운영체제 박교수
데이터베이스 김교수

 

 위 데이터베이스에서 Table1의 '수업'은 Table2의 '과목'의 데이터를 참조합니다. 

 

 이때 Table1의 '수업'은 외래키가 됩니다. 

 

 

반응형