스파르타 코딩클럽에서 등록한 내일배움단으로 SQL 수업을 드디어 진행하게 된다.
앞으로 SQL관련 강의 내용 및 복기/복습을 통해 정리한 내용을 조금씩 포스팅할 예정이다.
일단..
SQL에 숙달되려면 반복적으로 써보면서 감과 원리를 익혀가는 것이 중요하다고 한다. (a.k.a. 삽질)
- DB와 SQL이 왜 필요할까?
DB에서 내가 원하는 형태로 데이터를 가져올 수 있게 SQL 쿼리문이 존재한다.
방대한 양의 데이터를 저장 가능하고, 방대한 양의 데이터에서 내가 원하는 정보를 SQL을 이용하여 굉장히 신속하게 가져 올 수 있다.
- 데이터 베이스(DB)?
책을 보관 할꺼면 그냥 한곳에 때려 박으면 된다. 그러나 이때 원하는 내용의 책을 가져오려면 힘이 든다.
하지만 책장에 차곡차곡 정리해서 보관했을 때에는 내가 필요할 때, 원할 때 해당 내용의 책을 꺼내기가 쉽다.
즉, 데이터를 잘 꺼내오기 위해서 DB를 써서 잘 정리하는 것 이다.
'데이터는 단 1%의 결점도 없어야 한다, 그래서 데이터를 관리하는게 어렵다'
모든 데이터는 CRUD에 해당하는 기능을 지원한다.
C (Create) : 데이터의 생성을 의미
R (Read) : 저장된 데이터를 읽어오는 것을 의미
U (Update) : 저장된 데이터를 변경
D (Delete) : 저장된 데이터를 삭제 (실무에서 거의 안 이루어진다고 한다)
강의 내용에 없지만 추가로 읽었던 책의 내용과 함께 정리하자면!
클라이언트의 관점에서, 클라이언트는 서버에 요청을 보낸다. '타임라인에 사진을 올리는' 요청이라고 생각하면 이 요청을 크게 4가지 요소로 나눌 수 있다. 위에 설명한 CRUD 이다. C는 사진을 '올리는' 요청 R은 사진을 '불러오는' 요청 U는 '바꾸는' 요청 D는 '지우는' 요청 개발자들은 데이터를 볼 때 항상 CRUD의 관점에서 생각해야 한다. CRUD 중 특정 기능이 없는 기획이라면, 그 기획 의도가 명확해야 하며, 이유도 설명할 수 있어야 한다. 클라이언트는 서버에게 요청을 보낼때 적합한 처리를 해서 응답을 준다. 하지만 컴퓨터는 한글을 모르기에, 어떤 요청인지 구분할 수 있도록 하는 '체계'가 필요하다. 그 체계가 바로 API이다. 사람들은 좀 더 체계적으로 API를 관리하고 싶어 했으며 그 영향으로 좀 더 체계적인 API라는 사회 운동이 만들어진다. 그런 API를 REST(Representational State Transfer)한 API, 즉 RESTful API라고 부른다고 한다. (RESTful API는 모든 회사에서 통용되는 절대 규칙이 아니며 일종의 사회 운동으로 상황마다 다양한 방식으로 변형해서 사용한다) 요청을 보낼 때 다음과 같은 어떤 요청을 보냈는지 파악할 수 있는 Method를 붙여서 함께 전송한다. Create(생성해줘): POST Read(불러와 줘): GET Update(바꿔줘): PUT(전체) / PATCH(일부) Delete(지워줘): DELETE * Method는 '방법'이라는 의미이지만 개발자의 세상에선 수학의 x라는 입력값에 따라서 y라는 결과가 나오는 것, 즉 '함수'와 같은 의미로 사용한다. * 함수에서 x를 '변수', '파라미터(Parameter)'라고 표현한다. * 예를 들면 로그인 요청에서 필요한 ID와 비밀번호를 '로그인 요청에 필요한 요청 변수' 혹은 '파라미터'라고 표현한다. |
- SQL은 왜 필요한가?
간단하게 말하자면 DB와 대화를 하기 위해서 언어가 필요한데, 그것이 바로 SQL이다.
앞으로 내가 우선적으로 학습 할 내용
1주차에 Select, Where
2주차에 Group by, Order by
3주차에 Join
4주차에 Subquery 그 외
등으로 CRUD에서 'Read'에 해당하는 영역이다.
참고
비전공자를 위한 이해할 수 있는 IT 지식(최원영 지음)
'SQL' 카테고리의 다른 글
group by 사용해보기 (0) | 2022.05.05 |
---|---|
group by, order by 가 뭔데? (통계 관련 최대 / 최소 / 평균 / 개수) (0) | 2022.05.05 |
Select, Where 실전 퀴즈 풀어보며 익히기 (0) | 2022.05.05 |
Where 절과 자주 같이 쓰는 문법 써보기 (0) | 2022.05.03 |
Select 쿼리문 (0) | 2022.05.03 |