ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쿼리(Query) 쉽게 이해해봅시다
    컴퓨터관련 2021. 10. 22. 22:38

    한 문장으로 정의하자면 쿼리(Query)는 사용자가 데이터베이스와 대화할 때 쓰는 언어라고 보면 됩니다. 현실에서 예로 들자면 미국인한테 질문을 할 때 영어를 쓰는 것 처럼 데이터베이스와 대화를 나누려면 쿼리로 대화를 해야하는 겁니다. 

     


    데이터베이스마다 조금씩은 다르긴 하지만 큰 맥락에서 보면 쿼리의 사용법은 비슷합니다. 결국엔 사용자가 데이터베이스에게 뭔가를 요청하는 것이지요.

    예를 들면 유튜브에서 최근에 컴백한 에스파의 무대를 보고싶다고 합시다.
    그럼 사용자는 검색창에서 “에스파”라는 키워드를 검색하면 유튜브에서는 관련된 영상들을 쫙 띄워줍니다. 
    검색의 일련과정은 어떻게 진행될까요? 엄청 큰 데이터베이스에 에스파와 관련된 자료들이 저장되어 있을 겁니다. 그럼 쿼리를 통해서 데이터베이스에서 “에스파”가 들어가 있는 제목, 해쉬태그 등 해당 키워드와 연관된 자료를 뽑아서 사용자가 가독하기 쉬운 형태로 화면에 띄워줍니다. 

    이런식으로 데이터베이스에게 요청을 하게 되는데 거의 정해진 요청은 세가지 입니다.
    일상생활에서 컴퓨터나 핸드폰을 통해 수도 없이 많이하는 행동인 조회, 추가, 수정(삭제) 입니다.
    조회는 날씨 앱에서 오늘의 기온이나 바람세기 등을 확인하는 행동, 추가는 오늘의 일정을 추가하는 행동, 수정은 카톡 프로필을 수정하는 행위 등이 있을 겁니다.

    간단한 예시를 볼까요? 아래표와 같이 오늘의 날씨를 저장 데이터베이스가 있다고 봅시다. 실제 데이터베이스 안에는 아래 표같은 것들이 많이 저장되어 있습니다.

    숫자(PK) 지역(LOCATION) 날짜(ONDATE) 온도(DEGREE)
    1 서울 21. 10. 22. 12°C
    2 서울 21. 10. 23. 15°C
    3 대전 21. 10. 22. 13°C


    오늘 서울 날씨가 궁금하면 데이터베이스에게 어떻게 요청해야 할까요?
    평소 사용하는 언어 처럼 육하원칙처럼 잘 지켜서 질의를 하시면 됩니다!
    쿼리에서 누구는 테이블명, 어떻게는 서울, 언제는 오늘 날짜가 되겠지요? 아래는 실제 질의문을 예시로 들었을 때 입니다.

     

    SELECT DEGREE FROM WEATHER WHERE LOCATION="서울" AND ONDATE="21.10.22"


    쿼리도 문법이 있어서 원하는게 있을때 필요한 값 부분들을 수정해주시면 되는겁니다.

    살짝 아쉬울 수도 있으니 추가와 수정도 간단히 짚고 넘어가 봅시다.

    오늘의 일정을 추가한다고 하면, 오늘의 일정 테이블안에 항목을 추가 하면 되겠죠?
    카톡프로필을 수정한다면 어떻게 될까요? 테이블에서 나를 찾은 후 나의 상태를 변경하면 되겠죠? 

    개념 자체는 이해하기 어렵지 않죠? 다만 질의 문법이나 이해도가 시스템이 커지면 커질수록 개발자의 역량에 따라 차이가 나게됩니다. 우리집 책상에서 책 한권을 찾는거랑 중앙 도서관에서 책 한권을 찾는건 결과는 같아보여도 같은 난이도의 일이 아닌 것 처럼요. 도서관에서 색인이 있는 것 처럼 데이터베이스도 비슷한 기능이 있습니다. 더 자세하게 하기 위해선 데이터베이스의 구조나 기능 등 더 다양한 것을 공부해야합니다.

    댓글

Designed by Tistory.