본문 바로가기
  • 디스 앤드 댓 tripper0sim
보석같은 정보/직장•자기개발

엑셀보다 쉬운, SQL 생초보 1주차 개발일지(1)

by 잡필러 2023. 4. 6.
반응형

T-story 블로그에 글을 작성하다 보면 본인의 페이지를 좀 더 잘 꾸미고 싶은 생각이 들게 됩니다.

그냥 보기에 아름답게 꾸미는 것이 아니라, 사이트에 오신 분들이 좀 더 편하게 글의 내용을 잘 이해하게 하고, 한 편으로는 광고를 많은 사람들이 클릭할 수 있는 장소에 배치하고 싶은 욕심도 생깁니다. 

그러기 위해서는 HTML, CSS 정도는 기초라도 알아야 된다는 것을 알게 되었습니다.

 

이러한 이유로 코딩을 배우기 위해 스파르타코딩클럽(https://spartacodingclub.kr/)

 

스파르타코딩클럽

스파르타코딩클럽 | 올해의 브랜드 대상 1위 왕초보를 위한 온라인 코딩강의

online.spartacodingclub.kr

 

에 가입을 했습니다. 배움 카드를 발급받은 후  수강료 41만 원 중 10%인 4만 1천 원만 결제하고 나머지 90%는  국가에서 보충해 주며,  또한  80% 이상 강의를 성실히 수강했을 경우 결재한 금액도 환급받을 수 있는 아주 좋은 기회였습니다.

그래서 한 과목 더 「엑셀보다 쉬운, SQL」 강의도 수강신청하게 되었습니다.

전체 4주  강의 중 첫째 주 강의를 수료하고 배운 것을 얼마나 알고 있는지 개발일지를 작성해 봅니다.

 

왕초보인 나는 이 강의를 잘 선택했다.

코딩이나 데이타베이스에 대해  완전 생초보 문과 출신인 나에게 꼭 맞는 강의라 열심히 첫 주 수업을 무사히 마쳤습니다. 정말 재미를 느끼고 있습니다. 많은 강의들이 SQL을 넘어  데이터베이스까지의 내용을 다루고 있어 사실 비 전공자에겐 어렵습니다.

 

우리가 대부분 실무에서 SQL을 쓰는 경우, 그리고 현장에서 요구하는 SQL을 다룰 줄 아는 사람의 기준은 데이터베이스를 설계하는 사람이 아닙니다. 개발자나 마케터 등이 이미 설계된 데이터베이스에서 특정된 데이터를 꺼내올 것을  요청하는 경우가 거의 대부분입니다. 그 데이터를 수정도 하지 않고 뭔가 새로운 것을 넣지도 않을뿐더러 데이터베이스를 새롭게 만드는 일은 거의 없습니다.

 

이 강의는 이미 설계된 데이터를 가져오는 부분을 반복 연습하고 많은 예제의 실습을 통해  'SELECT문'에 아주 익숙해지도록 되어 있습니다. 반복적으로 써보면서 감과 원리를 익혀 실무에 꼭 도움이 되는 실력을 익히는 것입니다.

 

반응형

 

SQL이란?

구조적 쿼리 언어(SQL)는 데이터베이스 생성 및 조작을 위한 프로그래밍 표준 언어입니다.

☞  쿼리(Query) : 데이터베이스에 정보를 요청하는 것.

관계형 데이터베이스는 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과 데이터 값 상호 간의 여러 관계를 나타냅니다. SQL 문을 사용하여 데이터베이스에서 정보를 저장, 업데이터, 제거, 검색할 수 있습니다. 즉 데이터베이스 성능을 유지 관리하고 최적화하는데 SQL을 사용하는 것입니다.

 

연산하는 직원

 

SQL이 왜 필요할까?

데이터베이스에 어떤 명령을 내리려면 데이터베이스와 약속된 어떤 규칙이나 언어가 있어야 되는데 그 약속된 규칙이나 언어가 바로 SQL입니다.

 

예를 들어 우리가 식당을 운영한다고 하겠습니다. 처음에는 주문이 엑셀로 정리해도 될 정도였습니다.

  A B C D E
/ 주문날짜 고객명 주문메뉴 결재금액 상태
1 2022.04.06 김*석 제육볶음 12000 배송완료
2 2022.04.06 이*박 제육볶음 12000 배송완료
3 2022.04.06 박*진 김치찌개 9000 배송완료
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 2022.04.06 최*판 제육볶음 12000 배송완료
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16 2022.04.06 강*원 오겹살구이 13000 준비중

그런데 맛이 좋고 배달도 신속 정확해서 장사가 엄청 잘 되기 시작했습니다. 하루 수백 건 이상의 주문으로 사장 혼자서는 힘들어져서, 주문을 기록해 주고 일을 도와줄 직원 여러 명을 채용하게 되었습니다.

  A B C D E
/ 주문날짜 고객명 주문메뉴 결재금액 상태
100983 2023.04.06 박*석 제육볶음 13000 배송완료
100984 2023.04.06 이*진 김치찌개 10000 배송완료
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101049 2023.04.06 김*박 제육볶음 13000 배송완료
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101149 2023.04.06 최*원 오겹살 구이 15000 배송완료
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101199 2023.04.06 강*판 김치찌개 1000 준비중

어제 배송완료 된 주문 중에서 가장 많이 주문이 된 메뉴가 어떤 것이고 그 주문 건수는 얼마인지를 직접 세기는 점점 어렵게 되겠습니다.

 

그렇기 때문에 이 데이터베이스에 관리자가 원하는 데이터를 꼭 집어 가지고 올 수 있게 하는 것이 SQL Query문이 하는 역할입니다. 데이터베이스를 써서 매장의 주문테이터를 저장한다고 할 때 두 가지의 이점이 있습니다. 

먼저 방대한 양의 데이터를 저장할 수 있습니다. 그리고 더 중요한 것은 이 방대한 양의 데이터에서 내가 원하는 정보를 매우 신속하게 가지고 올 수 있습니다.

 

데이터베이스의 기능 중 R(Read) 기능

데이터베이스는 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통이라고 생각하면 되겠습니다. 우리가 책장을 사용하는 것과 같습니다. 책장을 단지 책을 쌓아 두고 보관하려고 쓰지는 않습니다. 책을 정리하려고 책장을 씁니다. 나중에 필요한 책을 꺼내보기가 용이하게 하는 역할을 합니다. 책을 그냥 보관할 거면 방에 그냥 던져 놓으면 되는 것입니다.

마찬가지로 데이터베이스를 사용하는 것도 필요한 데이터를 쉽게 대량으로 잘 꺼내오기 위해서 하는 것입니다.

 

데이터베이스의 네 가지 역할

C(create) : 데이터의 생성. 회원 가입 등으로 새로운 데이터가 생기는 경우

 

R(read) : 저장된 데이터를 읽어 오는 것. 위의 표에서 처럼 어제 주문 중에서 13000원짜리 제육볶음을 시킨 사람이 몇 명인가를 데이터에서 꺼내오는 것을 말합니다.

 

U(update) : 저장된 데이터를 변경

 

D(delete) : 저장된 테이터를 삭제하는 것. 실무에서 거의 이루어지지 않는 역할입니다.

 

Create 나 Update는  개발자 중에서 데이터베이스 접근 권한을 가진 분들 위주로 이루어지기 때문에  Read 만 잘해도 개발자가 아닌 분들 또는 주니어 개발자로서는 아주 충분한 역할을 할 수 있게 됩니다.

 

따라서 이 강의에서는 Select, Read에 대해서 집중적으로 배우게 되고, 첫 주는 중간중간 제시된 문제를 스스로 풀어 가면서 가장 기본적인 언어들을 익히게 되었습니다. 

 

1주 차 수업을 마치면서 받은 숙제와 스스로 푼 답을 올려 보겠습니다.

 

숙제) naver e-mail을 사용하면서, 웹개발 종합반을 신청했고 결제는 kakaopay로 이뤄진 주문데이터를 추출하라

 

답)   

SELECT * from orders

where email like '%@naver.com'

and course_title ='웹개발 종합반'

and payment_method ='kakaopay'

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

댓글