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 |
댓글