이번주는 한기용님이 데이터베이스에 대한 강의를 해주신다. 오늘은 백엔드의 역할과 데이터베이스의 중요성, 그리고 간단한 개념 정도를 배웠다.
백엔드: 프론트엔드 뒤에 숨어서 사용자에게 보이지는 않지만 실제 데이터를 저장/추가하고 사용자가 요구한 일을 수행하는 부분. 여기에 다양한 데이터베이스들이 사용됨
이 부분이 프로그래머스의 백엔드 데브코스를 신청한 이유 중 하나다. 너무 매력적인 부분이라고 생각한다. 😊
구조화된 데이터를 저장하고 질의할 수 있도록 해주는 스토리지
- 테이블 정의를 위한 DDL(Data Definition Language)
테이블의 포맷을 정의해주는 언어
ex) CREATE TABLE, DROP TABLE, ALTER TABLE- 테이블 데이터 조작/질의를 위한 DML(Data Manipulation Language)
DDL로 정의된 테이블에 레코드를 추가, 수정, 삭제 혹은 읽어들이기 위해 사용하는 언어
ex) SELECT, INSERT INTO, UPDATE FROM, DELETE FROM, TRUNCATE
OLTP: 프로덕션 데이터베이스 → 빠른 속도에 집중
OLAP: 데이터 웨어하우스 → 처리 데이터 크기에 집중
관계형 데이터 베이스를 조작하는 프로그래밍 언어가 SQL
- star schema : 정보를 중복되는 것을 방지, 스토리지의 낭비가 덜하고 업데이트가 쉬움
- Denormalized schema : NoSQL이나 데이터 웨어하우스에서 사용하는 방식
이는 스토리지를 더 사용하지만 조인이 필요없기에 빠른 계산이 가능하다.
SQL 문법 정리를 참고하여 프로그래머스의 SQL 고득점 Kit를 풀어봤다.
아직 모든 문제는 풀지 못했지만 강의를 들으며 남은 문제들을 풀어볼 예정이다.