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의 '수업'은 외래키가 됩니다.
반응형