관계형 데이터베이스

suebeen·2021년 8월 9일
0

DB

목록 보기
1/5
post-thumbnail

이번주는 한기용님이 데이터베이스에 대한 강의를 해주신다. 오늘은 백엔드의 역할과 데이터베이스의 중요성, 그리고 간단한 개념 정도를 배웠다.

백엔드: 프론트엔드 뒤에 숨어서 사용자에게 보이지는 않지만 실제 데이터를 저장/추가하고 사용자가 요구한 일을 수행하는 부분. 여기에 다양한 데이터베이스들이 사용됨

이 부분이 프로그래머스의 백엔드 데브코스를 신청한 이유 중 하나다. 너무 매력적인 부분이라고 생각한다. 😊

백엔드 개발자로써 중요한 부분

  • 데이터 모델을 잘 만들고 그걸 프런트 개발자와 공유/협업
  • 속도 개선을 위한 쿼리 성능 모니터링하고, 필요시 성능 개선 수행
    → 어떤 경우에는 이를 전담하는 사람이 존재(DBA-DataBase Administrator)

관계형데이터베이스 소개

구조화된 데이터를 저장하고 질의할 수 있도록 해주는 스토리지

  • 테이블 정의를 위한 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

관계형 데이터 베이스를 조작하는 프로그래밍 언어가 SQL

  • star schema : 정보를 중복되는 것을 방지, 스토리지의 낭비가 덜하고 업데이트가 쉬움
  • Denormalized schema : NoSQL이나 데이터 웨어하우스에서 사용하는 방식
    이는 스토리지를 더 사용하지만 조인이 필요없기에 빠른 계산이 가능하다.

SQL 문법 정리를 참고하여 프로그래머스의 SQL 고득점 Kit를 풀어봤다.

아직 모든 문제는 풀지 못했지만 강의를 들으며 남은 문제들을 풀어볼 예정이다.

0개의 댓글