본문 바로가기
Database/SQL

[유선생] SQL 개발자 (3)

by oncerun 2022. 2. 12.
반응형

 

SQL을 작성하기 앞서 우리가 사용할 Relational Database Management System에 대해서 정리할 필요가 있다. 

 

세상에는 수많은 데이터가 있고 현재 데이터를 보관하는 장소는 데이터베이스 서버라는 곳에 데이터를 저장한다.

 

이 데이터를 저장하는 곳은 여러 가지 콘셉트를 가지고 다양하게 존재한다.

 

  • 관계형 데이터베이스
  • 객체지향 데이터베이스
  • XML 데이터베이스
  • Key-Value Store
  • 계층형 데이터베이스

 

이 중 관계형 데이터베이스 흔히 RDB라고 불리는 데이터베이스는 관계형 데이터 모델에 기초를 두었다. 

관계형 데이터 모델이란 관계 대수(relational algebra)라는 것에서 착안되었는데 바로 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 나타낸다. 

관계형 데이터베이스 설계에서는 이로한 행과 열을 가지는 표형식의 데이터를 "테이블"이라는 기초 단위로 표현한 후 이 테이블 간의 관계를 정의하는 것이 시작이다.

 

이러한 관계형 데이터베이스 RDB를 관리 / 감독하기 위한 시스템으로

RDBMS(Relational Database Management System)이 있고

이는 우리가 많이 사용하는 Oracle, DB2, SQL Server, PostgreSQL, MySQL, SQLite 등이 존재한다.

 

여기까지 데이터베이스의 종류와 RDBMS를 정했다면 데이터베이스가 이해할 수 있는 언어인 SQL을 사용해 데이터를 입력/수정/가공/삭제를 진행한다. 

SQL 작성방법은 기초적이어서 누구나 원하는 대로 SQL을 작성하여 목적을 달성할 수 있겠지만

어떻게 작성하느냐에 따라 성능 차이가 확연하게 드러나기에 탄탄한 기초와 튜닝하는 연습이 필요하다.

 

 

함수

 

오라클에서 함수는 사용자 정의도 가능하지만 패키지처럼 미리 다양한 함수를 정의하여 제공해준다. 

내 기준에서 자주 사용했던 함수들과 알면 유용하다고 생각되는 함수를 몇 개 남겨놓는다.

다만 함수는 자주 사용하다보면 사용법이 외워지며, 필요할 때마다 찾아 쓰는 것이 더 효율적이다. 

 

WHERE절

 DML문을 수행할 때 원하는 데이터만 골라 수행할 수 있도록 해주는 구문

여기서 암기해야 할 부분이 있는데 바로 WHERE절의 논리 연산자이다. 

 

SQL문을 작성하다 보면 WHERE절에 많은 논리 연산자가 들어가게 된다. 이때 논리 연산자의 처리 순서를 지키지 않으면 신뢰할 수 없는 데이터가 추출된다.

명시된 순서와 상관없이 () -> NOT -> AND -> OR순으로 처리된다. 

 

 

CHAPTER 2의 SQL 기본편을 마무리할 것이다.

 

사실 기초를 여러 번 복습한 나에게는 세세히 파고들기에 무리가 있고, 문제 또한 SQLD에 초점이 맞혀있고 그리 어렵지 않다고 느껴져서 흥미가 그리 가지는 않았다. 

 

이 책은 대개 지루한 이론은 짧고 해당 이론을 가지고 여러 문제를 푸는데 집중되어 있다.

이는 자신의 생각을 통해 문제를 풀고 해설을 통해 생각이랑 해답을 맞춰가는 식으로 공부하는 데 매우 잘 짜인 구조를 가지고 있어 중간에 지루할 틈이 없다. 

 

 

이다음 편인 SQL 활용이 남았다. 이 부분이 핵심으로 사실 기본 편 넘기고 싶었다. 

다음 주 주말에는 167p ~ 184p까지 실제로 쿼리를 작성하고 결과를 보면서 공부를 진행할 예정이다. 

 

- DataGrip 사용법익히는중 ㅜ

 

 

 

 

 

 

반응형

'Database > SQL' 카테고리의 다른 글

데이터 모델에 대한 좋은 방법  (0) 2022.11.26
SQL 코딩테스트 연습  (0) 2022.10.17
[유선생] SQL 개발자 (2)  (0) 2022.02.04
SQL 개발자  (2) 2022.01.23
Join 연산을 이용한 select문  (0) 2021.02.27

댓글